Home
last modified time | relevance | path

Searched refs:smmu (Results 1 – 25 of 90) sorted by relevance

1234

/linux-6.3-rc2/drivers/iommu/arm/arm-smmu/
A Darm-smmu.c630 smmu_domain->smmu = smmu; in arm_smmu_init_domain_context()
734 smmu_domain->smmu = smmu; in arm_smmu_init_domain_context()
1137 smmu = cfg->smmu; in arm_smmu_attach_dev()
1152 if (smmu_domain->smmu != smmu) { in arm_smmu_attach_dev()
1390 cfg->smmu = smmu; in arm_smmu_probe_device()
1441 smmu = cfg->smmu; in arm_smmu_probe_finalize()
1643 smmu->impl->reset(smmu); in arm_smmu_device_reset()
1748 smmu->smrs = devm_kcalloc(smmu->dev, size, sizeof(*smmu->smrs), in arm_smmu_device_cfg_probe()
1796 smmu->cbs = devm_kcalloc(smmu->dev, smmu->num_context_banks, in arm_smmu_device_cfg_probe()
1823 smmu->va_size = smmu->ipa_size; in arm_smmu_device_cfg_probe()
[all …]
A Darm-smmu-impl.c52 struct arm_smmu_device smmu; member
59 struct cavium_smmu *cs = container_of(smmu, struct cavium_smmu, smmu); in cavium_cfg_probe()
94 cs = devm_krealloc(smmu->dev, smmu, sizeof(*cs), GFP_KERNEL); in cavium_smmu_impl_init()
98 cs->smmu.impl = &cavium_impl; in cavium_smmu_impl_init()
100 return &cs->smmu; in cavium_smmu_impl_init()
203 switch (smmu->model) { in arm_smmu_impl_init()
205 smmu->impl = &arm_mmu500_impl; in arm_smmu_impl_init()
215 smmu->impl = &calxeda_impl; in arm_smmu_impl_init()
223 smmu = qcom_smmu_impl_init(smmu); in arm_smmu_impl_init()
226 smmu->impl = &mrvl_mmu500_impl; in arm_smmu_impl_init()
[all …]
A Darm-smmu-nvidia.c35 struct arm_smmu_device smmu; member
43 return container_of(smmu, struct nvidia_smmu, smmu); in to_nvidia_smmu()
51 nvidia_smmu = container_of(smmu, struct nvidia_smmu, smmu); in nvidia_smmu_page()
128 dev_err_ratelimited(smmu->dev, in nvidia_smmu_tlb_sync()
165 dev_err_ratelimited(smmu->dev, in nvidia_smmu_global_fault_inst()
167 dev_err_ratelimited(smmu->dev, in nvidia_smmu_global_fault_inst()
200 void __iomem *cb_base = nvidia_smmu_page(smmu, inst, smmu->numpage + idx); in nvidia_smmu_context_fault_bank()
223 struct arm_smmu_device *smmu; in nvidia_smmu_context_fault() local
229 smmu = smmu_domain->smmu; in nvidia_smmu_context_fault()
265 struct arm_smmu_device *smmu = smmu_domain->smmu; in nvidia_smmu_init_context() local
[all …]
A Darm-smmu-qcom.c19 return container_of(smmu, struct qcom_smmu, smmu); in to_qcom_smmu()
39 qcom_smmu_tlb_sync_debug(smmu); in qcom_smmu_tlb_sync()
64 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_get_fault_info() local
91 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_resume_translation() local
308 smmu->smrs[i].valid = true; in qcom_smmu_cfg_probe()
366 arm_mmu500_reset(smmu); in qcom_sdm845_smmu500_reset()
440 return smmu; in qcom_smmu_create()
446 qsmmu = devm_krealloc(smmu->dev, smmu, sizeof(*qsmmu), GFP_KERNEL); in qcom_smmu_create()
450 qsmmu->smmu.impl = impl; in qcom_smmu_create()
453 return &qsmmu->smmu; in qcom_smmu_create()
[all …]
A Darm-smmu.h368 struct arm_smmu_device *smmu; member
380 struct arm_smmu_device *smmu; member
469 return smmu->base + (n << smmu->pgshift); in arm_smmu_page()
474 if (smmu->impl && unlikely(smmu->impl->read_reg)) in arm_smmu_readl()
475 return smmu->impl->read_reg(smmu, page, offset); in arm_smmu_readl()
482 if (smmu->impl && unlikely(smmu->impl->write_reg)) in arm_smmu_writel()
483 smmu->impl->write_reg(smmu, page, offset, val); in arm_smmu_writel()
490 if (smmu->impl && unlikely(smmu->impl->read_reg64)) in arm_smmu_readq()
491 return smmu->impl->read_reg64(smmu, page, offset); in arm_smmu_readq()
498 if (smmu->impl && unlikely(smmu->impl->write_reg64)) in arm_smmu_writeq()
[all …]
A Darm-smmu-qcom-debug.c13 void qcom_smmu_tlb_sync_debug(struct arm_smmu_device *smmu) in qcom_smmu_tlb_sync_debug() argument
17 struct qcom_smmu *qsmmu = container_of(smmu, struct qcom_smmu, smmu); in qcom_smmu_tlb_sync_debug()
23 dev_err(smmu->dev, "TLB sync timed out -- SMMU may be deadlocked\n"); in qcom_smmu_tlb_sync_debug()
29 ret = qcom_scm_io_readl(smmu->ioaddr + cfg->reg_offset[QCOM_SMMU_TBU_PWR_STATUS], in qcom_smmu_tlb_sync_debug()
32 dev_err(smmu->dev, in qcom_smmu_tlb_sync_debug()
35 ret = qcom_scm_io_readl(smmu->ioaddr + cfg->reg_offset[QCOM_SMMU_STATS_SYNC_INV_TBU_ACK], in qcom_smmu_tlb_sync_debug()
38 dev_err(smmu->dev, in qcom_smmu_tlb_sync_debug()
41 ret = qcom_scm_io_readl(smmu->ioaddr + cfg->reg_offset[QCOM_SMMU_MMU2QSS_AND_SAFE_WAIT_CNTR], in qcom_smmu_tlb_sync_debug()
44 dev_err(smmu->dev, in qcom_smmu_tlb_sync_debug()
47 dev_err(smmu->dev, in qcom_smmu_tlb_sync_debug()
A DMakefile4 arm_smmu-objs += arm-smmu.o arm-smmu-impl.o arm-smmu-nvidia.o
5 arm_smmu-$(CONFIG_ARM_SMMU_QCOM) += arm-smmu-qcom.o
6 arm_smmu-$(CONFIG_ARM_SMMU_QCOM_DEBUG) += arm-smmu-qcom-debug.o
A Darm-smmu-qcom.h10 struct arm_smmu_device smmu; member
34 void qcom_smmu_tlb_sync_debug(struct arm_smmu_device *smmu);
36 static inline void qcom_smmu_tlb_sync_debug(struct arm_smmu_device *smmu) { } in qcom_smmu_tlb_sync_debug() argument
/linux-6.3-rc2/drivers/iommu/
A Dtegra-smmu.c88 ((smmu)->soc->num_tlb_lines & (smmu)->tlb_mask)
446 as->smmu = smmu; in tegra_smmu_as_prepare()
519 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_set_platform_dma() local
535 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_set_pde() local
563 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_pte_lookup() local
581 struct tegra_smmu *smmu = as->smmu; in as_get_pte() local
632 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_pte_put_use() local
647 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_set_pte() local
884 struct tegra_smmu *smmu = group->smmu; in tegra_smmu_group_release() local
921 group->smmu = smmu; in tegra_smmu_device_group()
[all …]
/linux-6.3-rc2/drivers/iommu/arm/arm-smmu-v3/
A Darm-smmu-v3.c1273 smmu = master->smmu; in arm_smmu_write_strtab_ent()
2412 smmu = master->smmu; in arm_smmu_attach_dev()
2429 smmu_domain->smmu = smmu; in arm_smmu_attach_dev()
2435 } else if (smmu_domain->smmu != smmu) { in arm_smmu_attach_dev()
2660 master->smmu = smmu; in arm_smmu_probe_device()
2938 ret = arm_smmu_init_one_queue(smmu, &smmu->cmdq.q, smmu->base, in arm_smmu_init_queues()
2949 ret = arm_smmu_init_one_queue(smmu, &smmu->evtq.q, smmu->page1, in arm_smmu_init_queues()
2966 return arm_smmu_init_one_queue(smmu, &smmu->priq.q, smmu->page1, in arm_smmu_init_queues()
3620 smmu->ias = max(smmu->ias, smmu->oas); in arm_smmu_device_hw_probe()
3626 smmu->ias, smmu->oas, smmu->features); in arm_smmu_device_hw_probe()
[all …]
A Darm-smmu-v3-sva.c50 struct arm_smmu_device *smmu; in arm_smmu_share_asid() local
66 smmu = smmu_domain->smmu; in arm_smmu_share_asid()
86 arm_smmu_tlb_inv_asid(smmu, asid); in arm_smmu_share_asid()
204 if (!(smmu_domain->smmu->features & ARM_SMMU_FEAT_BTM)) in arm_smmu_mm_invalidate_range()
314 arm_smmu_tlb_inv_asid(smmu_domain->smmu, cd->asid); in arm_smmu_mmu_notifier_put()
375 if ((smmu->features & feat_mask) != feat_mask) in arm_smmu_sva_supported()
378 if (!(smmu->pgsize_bitmap & PAGE_SIZE)) in arm_smmu_sva_supported()
389 if (smmu->oas < oas) in arm_smmu_sva_supported()
395 if (smmu->asid_bits < asid_bits) in arm_smmu_sva_supported()
421 if (!(master->smmu->features & ARM_SMMU_FEAT_SVA)) in arm_smmu_master_sva_supported()
[all …]
/linux-6.3-rc2/Documentation/devicetree/bindings/iommu/
A Darm,smmu.yaml32 - const: qcom,smmu-v2
56 - const: qcom,smmu-500
96 - const: qcom,smmu-v2
117 - const: arm,smmu-v2
122 - const: arm,smmu-v1
124 - arm,smmu-v1
125 - arm,smmu-v2
129 - cavium,smmu-v2
312 the smmu ptw
363 the smmu ptw
[all …]
/linux-6.3-rc2/drivers/memory/tegra/
A Dtegra210.c20 .smmu = {
36 .smmu = {
52 .smmu = {
68 .smmu = {
84 .smmu = {
100 .smmu = {
116 .smmu = {
132 .smmu = {
148 .smmu = {
164 .smmu = {
[all …]
A Dtegra114.c31 .smmu = {
47 .smmu = {
63 .smmu = {
79 .smmu = {
95 .smmu = {
111 .smmu = {
127 .smmu = {
143 .smmu = {
159 .smmu = {
175 .smmu = {
[all …]
A Dtegra124.c32 .smmu = {
48 .smmu = {
64 .smmu = {
80 .smmu = {
96 .smmu = {
112 .smmu = {
128 .smmu = {
144 .smmu = {
160 .smmu = {
176 .smmu = {
[all …]
A Dtegra30.c54 .smmu = {
71 .smmu = {
88 .smmu = {
105 .smmu = {
122 .smmu = {
139 .smmu = {
156 .smmu = {
173 .smmu = {
190 .smmu = {
207 .smmu = {
[all …]
/linux-6.3-rc2/arch/arm64/boot/dts/marvell/
A Darmada-8040.dtsi20 <0x0 &smmu 0x480 0x20>,
21 <0x100 &smmu 0x4a0 0x20>,
22 <0x200 &smmu 0x4c0 0x20>;
36 iommus = <&smmu 0x444>;
40 iommus = <&smmu 0x445>;
44 iommus = <&smmu 0x440>;
48 iommus = <&smmu 0x441>;
52 iommus = <&smmu 0x454>;
56 iommus = <&smmu 0x450>;
60 iommus = <&smmu 0x451>;
A Darmada-7040.dtsi20 <0x0 &smmu 0x480 0x20>,
21 <0x100 &smmu 0x4a0 0x20>,
22 <0x200 &smmu 0x4c0 0x20>;
27 iommus = <&smmu 0x444>;
31 iommus = <&smmu 0x445>;
35 iommus = <&smmu 0x440>;
39 iommus = <&smmu 0x441>;
A Dcn9130-crb-A.dts22 <0x0 &smmu 0x480 0x20>,
23 <0x100 &smmu 0x4a0 0x20>,
24 <0x200 &smmu 0x4c0 0x20>;
A Dcn9130-crb-B.dts19 <0x0 &smmu 0x480 0x20>,
20 <0x100 &smmu 0x4a0 0x20>,
21 <0x200 &smmu 0x4c0 0x20>;
/linux-6.3-rc2/drivers/acpi/arm64/
A Diort.c429 if (smmu->event_gsiv && smmu->pri_gsiv && in iort_get_id_mapping_index()
430 smmu->gerr_gsiv && smmu->sync_gsiv) in iort_get_id_mapping_index()
1465 if (smmu->pri_gsiv) in arm_smmu_v3_count_resources()
1468 if (smmu->gerr_gsiv) in arm_smmu_v3_count_resources()
1471 if (smmu->sync_gsiv) in arm_smmu_v3_count_resources()
1490 return smmu->event_gsiv == smmu->pri_gsiv && in arm_smmu_v3_is_combined_irq()
1491 smmu->event_gsiv == smmu->gerr_gsiv && in arm_smmu_v3_is_combined_irq()
1492 smmu->event_gsiv == smmu->sync_gsiv; in arm_smmu_v3_is_combined_irq()
1534 if (smmu->pri_gsiv) in arm_smmu_v3_init_resources()
1589 smmu->pxm); in arm_smmu_v3_set_proximity()
[all …]
/linux-6.3-rc2/Documentation/devicetree/bindings/display/
A Darm,komeda.yaml102 iommus = <&smmu 0>, <&smmu 1>, <&smmu 2>, <&smmu 3>,
103 <&smmu 8>,
104 <&smmu 4>, <&smmu 5>, <&smmu 6>, <&smmu 7>,
105 <&smmu 9>;
/linux-6.3-rc2/Documentation/devicetree/bindings/perf/
A Darm,smmu-v3-pmcg.yaml4 $id: http://devicetree.org/schemas/perf/arm,smmu-v3-pmcg.yaml#
25 - const: arm,smmu-v3-pmcg
26 - const: arm,smmu-v3-pmcg
57 compatible = "arm,smmu-v3-pmcg";
65 compatible = "arm,smmu-v3-pmcg";
/linux-6.3-rc2/arch/arm64/boot/dts/xilinx/
A Dzynqmp.dtsi306 iommus = <&smmu 0x14e8>;
427 iommus = <&smmu 0x868>;
440 iommus = <&smmu 0x869>;
453 iommus = <&smmu 0x86a>;
466 iommus = <&smmu 0x86b>;
479 iommus = <&smmu 0x86c>;
492 iommus = <&smmu 0x86d>;
505 iommus = <&smmu 0x86e>;
718 iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
719 <&smmu 0x4c2>, <&smmu 0x4c3>;
[all …]
/linux-6.3-rc2/include/soc/tegra/
A Dmc.h47 } smmu; member
102 void tegra_smmu_remove(struct tegra_smmu *smmu);
111 static inline void tegra_smmu_remove(struct tegra_smmu *smmu) in tegra_smmu_remove() argument
201 const struct tegra_smmu_soc *smmu; member
218 struct tegra_smmu *smmu; member

Completed in 50 milliseconds

1234