Home
last modified time | relevance | path

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

12345

/linux-6.15/drivers/iommu/arm/arm-smmu/
H A Darm-smmu.c786 smmu_domain->smmu = smmu; in arm_smmu_init_domain_context()
1178 smmu = cfg->smmu; in arm_smmu_attach_dev()
1193 if (smmu_domain->smmu != smmu) { in arm_smmu_attach_dev()
1216 smmu = cfg->smmu; in arm_smmu_attach_dev_type()
1467 cfg->smmu = smmu; in arm_smmu_probe_device()
1516 smmu = cfg->smmu; in arm_smmu_probe_finalize()
1705 smmu->impl->reset(smmu); in arm_smmu_device_reset()
1810 smmu->smrs = devm_kcalloc(smmu->dev, size, sizeof(*smmu->smrs), in arm_smmu_device_cfg_probe()
1858 smmu->cbs = devm_kcalloc(smmu->dev, smmu->num_context_banks, in arm_smmu_device_cfg_probe()
1885 smmu->va_size = smmu->ipa_size; in arm_smmu_device_cfg_probe()
[all …]
H 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()
204 switch (smmu->model) { in arm_smmu_impl_init()
206 smmu->impl = &arm_mmu500_impl; in arm_smmu_impl_init()
216 smmu->impl = &calxeda_impl; in arm_smmu_impl_init()
224 smmu = qcom_smmu_impl_init(smmu); in arm_smmu_impl_init()
227 smmu->impl = &mrvl_mmu500_impl; in arm_smmu_impl_init()
[all …]
H A Darm-smmu-qcom.c55 return container_of(smmu, struct qcom_smmu, smmu); in to_qcom_smmu()
100 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_get_fault_info() local
127 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_resume_translation() local
139 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_set_prr_bit() local
161 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_set_prr_addr() local
303 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_init_context() local
379 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_smmu_init_context() local
615 return smmu; in qcom_smmu_create()
622 qsmmu = devm_krealloc(smmu->dev, smmu, sizeof(*qsmmu), GFP_KERNEL); in qcom_smmu_create()
629 return &qsmmu->smmu; in qcom_smmu_create()
[all …]
H 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
227 smmu = smmu_domain->smmu; in nvidia_smmu_context_fault()
263 struct arm_smmu_device *smmu = smmu_domain->smmu; in nvidia_smmu_init_context() local
[all …]
H A Darm-smmu-qcom-debug.c61 return container_of(smmu, struct qcom_smmu, smmu); in to_qcom_smmu()
68 struct qcom_smmu *qsmmu = container_of(smmu, struct qcom_smmu, smmu); in qcom_smmu_tlb_sync_debug()
83 dev_err(smmu->dev, in qcom_smmu_tlb_sync_debug()
89 dev_err(smmu->dev, in qcom_smmu_tlb_sync_debug()
95 dev_err(smmu->dev, in qcom_smmu_tlb_sync_debug()
98 dev_err(smmu->dev, in qcom_smmu_tlb_sync_debug()
129 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_tbu_halt() local
266 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_iova_to_phys() local
350 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_smmu_iova_to_phys_hard() local
364 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_smmu_verify_fault() local
[all …]
H A Darm-smmu.h379 struct arm_smmu_device *smmu; member
391 struct arm_smmu_device *smmu; member
481 return smmu->base + (n << smmu->pgshift); in arm_smmu_page()
486 if (smmu->impl && unlikely(smmu->impl->read_reg)) in arm_smmu_readl()
487 return smmu->impl->read_reg(smmu, page, offset); in arm_smmu_readl()
494 if (smmu->impl && unlikely(smmu->impl->write_reg)) in arm_smmu_writel()
495 smmu->impl->write_reg(smmu, page, offset, val); in arm_smmu_writel()
502 if (smmu->impl && unlikely(smmu->impl->read_reg64)) in arm_smmu_readq()
503 return smmu->impl->read_reg64(smmu, page, offset); in arm_smmu_readq()
510 if (smmu->impl && unlikely(smmu->impl->write_reg64)) in arm_smmu_writeq()
[all …]
H 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
/linux-6.15/drivers/iommu/
H A Dtegra-smmu.c90 ((smmu)->soc->num_tlb_lines & (smmu)->tlb_mask)
445 as->smmu = smmu; in tegra_smmu_as_prepare()
529 smmu = as->smmu; in tegra_smmu_identity_attach()
550 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_set_pde() local
578 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_pte_lookup() local
596 struct tegra_smmu *smmu = as->smmu; in as_get_pte() local
647 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_pte_put_use() local
662 struct tegra_smmu *smmu = as->smmu; in tegra_smmu_set_pte() local
902 struct tegra_smmu *smmu = group->smmu; in tegra_smmu_group_release() local
939 group->smmu = smmu; in tegra_smmu_device_group()
[all …]
/linux-6.15/Documentation/devicetree/bindings/iommu/
H A Darm,smmu.yaml33 - const: qcom,smmu-v2
66 - const: qcom,smmu-500
134 - const: qcom,smmu-v2
155 - const: arm,smmu-v2
160 - const: arm,smmu-v1
162 - arm,smmu-v1
163 - arm,smmu-v2
167 - cavium,smmu-v2
392 the smmu ptw
449 the smmu ptw
[all …]
/linux-6.15/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3.c2593 smmu_domain->smmu = smmu; in arm_smmu_domain_finalise()
2953 smmu = master->smmu; in arm_smmu_attach_dev()
2955 if (smmu_domain->smmu != smmu) in arm_smmu_attach_dev()
3013 if (smmu_domain->smmu != smmu) in arm_smmu_s1_set_dev_pasid()
3467 master->smmu = smmu; in arm_smmu_probe_device()
3762 ret = arm_smmu_init_one_queue(smmu, &smmu->cmdq.q, smmu->base, in arm_smmu_init_queues()
3773 ret = arm_smmu_init_one_queue(smmu, &smmu->evtq.q, smmu->page1, in arm_smmu_init_queues()
3790 return arm_smmu_init_one_queue(smmu, &smmu->priq.q, smmu->page1, in arm_smmu_init_queues()
4503 smmu->ias = max(smmu->ias, smmu->oas); in arm_smmu_device_hw_probe()
4515 smmu->ias, smmu->oas, smmu->features); in arm_smmu_device_hw_probe()
[all …]
H A Darm-smmu-v3-sva.c105 if (!(master->smmu->features & ARM_SMMU_FEAT_STALL_FORCE)) in arm_smmu_make_sva_cd()
211 bool arm_smmu_sva_supported(struct arm_smmu_device *smmu) in arm_smmu_sva_supported() argument
225 if ((smmu->features & feat_mask) != feat_mask) in arm_smmu_sva_supported()
228 if (!(smmu->pgsize_bitmap & PAGE_SIZE)) in arm_smmu_sva_supported()
239 if (smmu->oas < oas) in arm_smmu_sva_supported()
245 if (smmu->asid_bits < asid_bits) in arm_smmu_sva_supported()
271 if (!(master->smmu->features & ARM_SMMU_FEAT_SVA)) in arm_smmu_master_sva_supported()
302 return iopf_queue_add_device(master->smmu->evtq.iopf, dev); in arm_smmu_master_sva_enable_iopf()
312 iopf_queue_remove_device(master->smmu->evtq.iopf, dev); in arm_smmu_master_sva_disable_iopf()
404 struct arm_smmu_device *smmu = master->smmu; in arm_smmu_sva_domain_alloc() local
[all …]
H A Dtegra241-cmdqv.c174 struct arm_smmu_device smmu; member
322 container_of(smmu, struct tegra241_cmdqv, smmu); in tegra241_cmdqv_get_cmdq()
460 container_of(smmu, struct tegra241_cmdqv, smmu); in tegra241_cmdqv_hw_reset()
492 struct arm_smmu_device *smmu = &vcmdq->cmdqv->smmu; in tegra241_vcmdq_alloc_smmu_cmdq() local
658 container_of(smmu, struct tegra241_cmdqv, smmu); in tegra241_cmdqv_remove()
754 container_of(smmu, struct tegra241_cmdqv, smmu); in tegra241_cmdqv_init_structures()
817 cmdqv = devm_krealloc(smmu->dev, smmu, sizeof(*cmdqv), GFP_KERNEL); in __tegra241_cmdqv_probe()
820 new_smmu = &cmdqv->smmu; in __tegra241_cmdqv_probe()
824 cmdqv->dev = smmu->impl_dev; in __tegra241_cmdqv_probe()
876 if (!smmu->dev->of_node) in tegra241_cmdqv_probe()
[all …]
H A Darm-smmu-v3-iommufd.c21 base_idr = master->smmu->base + ARM_SMMU_IDR0; in arm_smmu_hw_info()
118 mutex_lock(&master->smmu->streams_mutex); in arm_smmu_attach_commit_vmaster()
121 mutex_unlock(&master->smmu->streams_mutex); in arm_smmu_attach_commit_vmaster()
145 if (nested_domain->vsmmu->smmu != master->smmu) in arm_smmu_attach_dev_nested()
334 struct arm_smmu_device *smmu = vsmmu->smmu; in arm_vsmmu_cache_invalidate() local
366 ret = arm_smmu_cmdq_issue_cmdlist(smmu, &smmu->cmdq, last->cmd, in arm_vsmmu_cache_invalidate()
390 struct arm_smmu_device *smmu = in arm_vsmmu_alloc() local
399 if (!(smmu->features & ARM_SMMU_FEAT_NESTING)) in arm_vsmmu_alloc()
402 if (s2_parent->smmu != master->smmu) in arm_vsmmu_alloc()
422 !(smmu->features & ARM_SMMU_FEAT_S2FWB)) in arm_vsmmu_alloc()
[all …]
H A DMakefile3 arm_smmu_v3-y := arm-smmu-v3.o
4 arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_IOMMUFD) += arm-smmu-v3-iommufd.o
5 arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_SVA) += arm-smmu-v3-sva.o
8 obj-$(CONFIG_ARM_SMMU_V3_KUNIT_TEST) += arm-smmu-v3-test.o
H A Darm-smmu-v3.h718 int (*device_reset)(struct arm_smmu_device *smmu);
719 void (*device_remove)(struct arm_smmu_device *smmu);
720 int (*init_structures)(struct arm_smmu_device *smmu);
830 struct arm_smmu_device *smmu; member
852 struct arm_smmu_device *smmu; member
905 void arm_smmu_make_bypass_ste(struct arm_smmu_device *smmu,
961 int arm_smmu_init_one_queue(struct arm_smmu_device *smmu,
965 int arm_smmu_cmdq_init(struct arm_smmu_device *smmu,
997 bool arm_smmu_sva_supported(struct arm_smmu_device *smmu);
1047 tegra241_cmdqv_probe(struct arm_smmu_device *smmu) in tegra241_cmdqv_probe() argument
[all …]
/linux-6.15/drivers/memory/tegra/
H A Dtegra210.c20 .smmu = {
36 .smmu = {
52 .smmu = {
68 .smmu = {
84 .smmu = {
100 .smmu = {
116 .smmu = {
132 .smmu = {
148 .smmu = {
164 .smmu = {
[all …]
H A Dtegra114.c31 .smmu = {
47 .smmu = {
63 .smmu = {
79 .smmu = {
95 .smmu = {
111 .smmu = {
127 .smmu = {
143 .smmu = {
159 .smmu = {
175 .smmu = {
[all …]
H A Dtegra124.c32 .smmu = {
48 .smmu = {
64 .smmu = {
80 .smmu = {
96 .smmu = {
112 .smmu = {
128 .smmu = {
144 .smmu = {
160 .smmu = {
176 .smmu = {
[all …]
H 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.15/arch/arm64/boot/dts/marvell/
H A Darmada-8040.dtsi14 <0x0 &smmu 0x480 0x20>,
15 <0x100 &smmu 0x4a0 0x20>,
16 <0x200 &smmu 0x4c0 0x20>;
30 iommus = <&smmu 0x444>;
34 iommus = <&smmu 0x445>;
38 iommus = <&smmu 0x440>;
42 iommus = <&smmu 0x441>;
46 iommus = <&smmu 0x454>;
50 iommus = <&smmu 0x450>;
54 iommus = <&smmu 0x451>;
H A Darmada-7040.dtsi14 <0x0 &smmu 0x480 0x20>,
15 <0x100 &smmu 0x4a0 0x20>,
16 <0x200 &smmu 0x4c0 0x20>;
21 iommus = <&smmu 0x444>;
25 iommus = <&smmu 0x445>;
29 iommus = <&smmu 0x440>;
33 iommus = <&smmu 0x441>;
/linux-6.15/drivers/acpi/arm64/
H A Diort.c430 if (smmu->event_gsiv && smmu->pri_gsiv && in iort_get_id_mapping_index()
431 smmu->gerr_gsiv && smmu->sync_gsiv) in iort_get_id_mapping_index()
1467 if (smmu->pri_gsiv) in arm_smmu_v3_count_resources()
1470 if (smmu->gerr_gsiv) in arm_smmu_v3_count_resources()
1473 if (smmu->sync_gsiv) in arm_smmu_v3_count_resources()
1492 return smmu->event_gsiv == smmu->pri_gsiv && in arm_smmu_v3_is_combined_irq()
1493 smmu->event_gsiv == smmu->gerr_gsiv && in arm_smmu_v3_is_combined_irq()
1494 smmu->event_gsiv == smmu->sync_gsiv; in arm_smmu_v3_is_combined_irq()
1536 if (smmu->pri_gsiv) in arm_smmu_v3_init_resources()
1591 smmu->pxm); in arm_smmu_v3_set_proximity()
[all …]
/linux-6.15/Documentation/devicetree/bindings/display/
H 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.15/arch/arm64/boot/dts/freescale/
H A Dimx8qm-ss-conn.dtsi13 iommus = <&smmu 0x12 0x7f80>;
18 iommus = <&smmu 0x12 0x7f80>;
23 iommus = <&smmu 0x11 0x7f80>;
28 iommus = <&smmu 0x11 0x7f80>;
33 iommus = <&smmu 0x11 0x7f80>;
/linux-6.15/Documentation/devicetree/bindings/perf/
H 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";

12345