Home
last modified time | relevance | path

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

12345

/openbmc/linux/drivers/iommu/arm/arm-smmu/
H A Darm-smmu.c629 smmu_domain->smmu = smmu; in arm_smmu_init_domain_context()
733 smmu_domain->smmu = smmu; in arm_smmu_init_domain_context()
1135 smmu = cfg->smmu; in arm_smmu_attach_dev()
1150 if (smmu_domain->smmu != smmu) { in arm_smmu_attach_dev()
1389 cfg->smmu = smmu; in arm_smmu_probe_device()
1440 smmu = cfg->smmu; in arm_smmu_probe_finalize()
1642 smmu->impl->reset(smmu); in arm_smmu_device_reset()
1747 smmu->smrs = devm_kcalloc(smmu->dev, size, sizeof(*smmu->smrs), in arm_smmu_device_cfg_probe()
1795 smmu->cbs = devm_kcalloc(smmu->dev, smmu->num_context_banks, in arm_smmu_device_cfg_probe()
1822 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()
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 …]
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
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 …]
H 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
383 arm_mmu500_reset(smmu); in qcom_sdm845_smmu500_reset()
457 return smmu; in qcom_smmu_create()
463 qsmmu = devm_krealloc(smmu->dev, smmu, sizeof(*qsmmu), GFP_KERNEL); in qcom_smmu_create()
467 qsmmu->smmu.impl = impl; in qcom_smmu_create()
470 return &qsmmu->smmu; in qcom_smmu_create()
576 dev_name(smmu->dev)); in qcom_smmu_impl_init()
[all …]
H 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 …]
H 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()
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
H 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
/openbmc/linux/drivers/iommu/
H 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 …]
/openbmc/linux/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3.c1291 smmu = master->smmu; in arm_smmu_write_strtab_ent()
2421 smmu = master->smmu; in arm_smmu_attach_dev()
2438 smmu_domain->smmu = smmu; in arm_smmu_attach_dev()
2444 } else if (smmu_domain->smmu != smmu) { in arm_smmu_attach_dev()
2676 master->smmu = smmu; in arm_smmu_probe_device()
2954 ret = arm_smmu_init_one_queue(smmu, &smmu->cmdq.q, smmu->base, in arm_smmu_init_queues()
2965 ret = arm_smmu_init_one_queue(smmu, &smmu->evtq.q, smmu->page1, in arm_smmu_init_queues()
2982 return arm_smmu_init_one_queue(smmu, &smmu->priq.q, smmu->page1, in arm_smmu_init_queues()
3674 smmu->ias = max(smmu->ias, smmu->oas); in arm_smmu_device_hw_probe()
3686 smmu->ias, smmu->oas, smmu->features); in arm_smmu_device_hw_probe()
[all …]
H 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()
223 arm_smmu_tlb_inv_asid(smmu_domain->smmu, in arm_smmu_mm_arch_invalidate_secondary_tlbs()
339 arm_smmu_tlb_inv_asid(smmu_domain->smmu, cd->asid); in arm_smmu_mmu_notifier_put()
400 if ((smmu->features & feat_mask) != feat_mask) in arm_smmu_sva_supported()
403 if (!(smmu->pgsize_bitmap & PAGE_SIZE)) in arm_smmu_sva_supported()
414 if (smmu->oas < oas) in arm_smmu_sva_supported()
420 if (smmu->asid_bits < asid_bits) in arm_smmu_sva_supported()
446 if (!(master->smmu->features & ARM_SMMU_FEAT_SVA)) in arm_smmu_master_sva_supported()
[all …]
/openbmc/linux/Documentation/devicetree/bindings/iommu/
H A Darm,smmu.yaml33 - const: qcom,smmu-v2
59 - const: qcom,smmu-500
114 - const: qcom,smmu-v2
135 - const: arm,smmu-v2
140 - const: arm,smmu-v1
142 - arm,smmu-v1
143 - arm,smmu-v2
147 - cavium,smmu-v2
372 the smmu ptw
426 the smmu ptw
[all …]
/openbmc/linux/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 …]
/openbmc/openbmc/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-yocto-6.6/n1sdp/
H A D0001-iommu-arm-smmu-v3-workaround-for-ATC_INV_SIZE_ALL-in.patch4 Subject: [PATCH] iommu/arm-smmu-v3: workaround for ATC_INV_SIZE_ALL in N1SDP
20 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 1 +
21 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 1 +
24 diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v…
26 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
27 +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
36 diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v…
38 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
39 +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
/openbmc/linux/arch/arm64/boot/dts/marvell/
H 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>;
H 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>;
H A Dcn9130-crb-A.dts22 <0x0 &smmu 0x480 0x20>,
23 <0x100 &smmu 0x4a0 0x20>,
24 <0x200 &smmu 0x4c0 0x20>;
/openbmc/linux/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()
1463 if (smmu->pri_gsiv) in arm_smmu_v3_count_resources()
1466 if (smmu->gerr_gsiv) in arm_smmu_v3_count_resources()
1469 if (smmu->sync_gsiv) in arm_smmu_v3_count_resources()
1488 return smmu->event_gsiv == smmu->pri_gsiv && in arm_smmu_v3_is_combined_irq()
1489 smmu->event_gsiv == smmu->gerr_gsiv && in arm_smmu_v3_is_combined_irq()
1490 smmu->event_gsiv == smmu->sync_gsiv; in arm_smmu_v3_is_combined_irq()
1532 if (smmu->pri_gsiv) in arm_smmu_v3_init_resources()
1587 smmu->pxm); in arm_smmu_v3_set_proximity()
[all …]
/openbmc/linux/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>;
/openbmc/linux/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";
/openbmc/u-boot/arch/arm/dts/
H A Dzynqmp.dtsi290 iommus = <&smmu 0x14e8>;
400 iommus = <&smmu 0x868>;
412 iommus = <&smmu 0x869>;
424 iommus = <&smmu 0x86a>;
436 iommus = <&smmu 0x86b>;
448 iommus = <&smmu 0x86c>;
460 iommus = <&smmu 0x86d>;
472 iommus = <&smmu 0x86e>;
698 iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
699 <&smmu 0x4c2>, <&smmu 0x4c3>;
[all …]
/openbmc/linux/arch/arm64/boot/dts/xilinx/
H A Dzynqmp.dtsi328 iommus = <&smmu 0x14e8>;
464 iommus = <&smmu 0x868>;
477 iommus = <&smmu 0x869>;
490 iommus = <&smmu 0x86a>;
503 iommus = <&smmu 0x86b>;
516 iommus = <&smmu 0x86c>;
529 iommus = <&smmu 0x86d>;
542 iommus = <&smmu 0x86e>;
762 iommus = <&smmu 0x4c0>, <&smmu 0x4c1>,
763 <&smmu 0x4c2>, <&smmu 0x4c3>;
[all …]

12345