/kernel/linux/linux-6.6/drivers/iommu/arm/arm-smmu/ |
H A D | arm-smmu.c | 18 #define pr_fmt(fmt) "arm-smmu: " fmt 40 #include "arm-smmu.h" 71 static inline int arm_smmu_rpm_get(struct arm_smmu_device *smmu) in arm_smmu_rpm_get() argument 73 if (pm_runtime_enabled(smmu->dev)) in arm_smmu_rpm_get() 74 return pm_runtime_resume_and_get(smmu->dev); in arm_smmu_rpm_get() 79 static inline void arm_smmu_rpm_put(struct arm_smmu_device *smmu) in arm_smmu_rpm_put() argument 81 if (pm_runtime_enabled(smmu->dev)) in arm_smmu_rpm_put() 82 pm_runtime_put_autosuspend(smmu->dev); in arm_smmu_rpm_put() 130 struct arm_smmu_device **smmu) in arm_smmu_register_legacy_master() 173 *smmu in arm_smmu_register_legacy_master() 129 arm_smmu_register_legacy_master(struct device *dev, struct arm_smmu_device **smmu) arm_smmu_register_legacy_master() argument 180 arm_smmu_register_legacy_master(struct device *dev, struct arm_smmu_device **smmu) arm_smmu_register_legacy_master() argument 193 __arm_smmu_tlb_sync(struct arm_smmu_device *smmu, int page, int sync, int status) __arm_smmu_tlb_sync() argument 216 arm_smmu_tlb_sync_global(struct arm_smmu_device *smmu) arm_smmu_tlb_sync_global() argument 228 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_sync_context() local 253 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_context_s2() local 265 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_range_s1() local 293 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_range_s2() local 365 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_add_page_s2_v1() local 397 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_context_fault() local 424 struct arm_smmu_device *smmu = dev; arm_smmu_global_fault() local 511 arm_smmu_write_context_bank(struct arm_smmu_device *smmu, int idx) arm_smmu_write_context_bank() argument 600 arm_smmu_alloc_context_bank(struct arm_smmu_domain *smmu_domain, struct arm_smmu_device *smmu, struct device *dev, unsigned int start) arm_smmu_alloc_context_bank() argument 610 arm_smmu_init_domain_context(struct iommu_domain *domain, struct arm_smmu_device *smmu, struct device *dev) arm_smmu_init_domain_context() argument 824 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_destroy_domain_context() local 888 arm_smmu_write_smr(struct arm_smmu_device *smmu, int idx) arm_smmu_write_smr() argument 899 arm_smmu_write_s2cr(struct arm_smmu_device *smmu, int idx) arm_smmu_write_s2cr() argument 919 arm_smmu_write_sme(struct arm_smmu_device *smmu, int idx) arm_smmu_write_sme() argument 930 arm_smmu_test_smr_masks(struct arm_smmu_device *smmu) arm_smmu_test_smr_masks() argument 966 arm_smmu_find_sme(struct arm_smmu_device *smmu, u16 id, u16 mask) arm_smmu_find_sme() argument 1008 arm_smmu_free_sme(struct arm_smmu_device *smmu, int idx) arm_smmu_free_sme() argument 1024 struct arm_smmu_device *smmu = cfg->smmu; arm_smmu_master_alloc_smes() local 1072 struct arm_smmu_device *smmu = cfg->smmu; arm_smmu_master_free_smes() local 1088 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_add_master() local 1116 struct arm_smmu_device *smmu; arm_smmu_attach_dev() local 1182 struct arm_smmu_device *smmu = to_smmu_domain(domain)->smmu; arm_smmu_map_pages() local 1200 struct arm_smmu_device *smmu = to_smmu_domain(domain)->smmu; arm_smmu_unmap_pages() local 1216 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_flush_iotlb_all() local 1229 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_iotlb_sync() local 1247 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_iova_to_phys_hard() local 1344 struct arm_smmu_device *smmu = NULL; arm_smmu_probe_device() local 1437 struct arm_smmu_device *smmu; arm_smmu_probe_finalize() local 1450 struct arm_smmu_device *smmu = cfg->smmu; arm_smmu_device_group() local 1587 arm_smmu_device_reset(struct arm_smmu_device *smmu) arm_smmu_device_reset() argument 1668 arm_smmu_device_cfg_probe(struct arm_smmu_device *smmu) arm_smmu_device_cfg_probe() argument 1901 acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu) acpi_smmu_get_data() argument 1934 arm_smmu_device_acpi_probe(struct arm_smmu_device *smmu, u32 *global_irqs, u32 *pmu_irqs) arm_smmu_device_acpi_probe() argument 1960 arm_smmu_device_acpi_probe(struct arm_smmu_device *smmu, u32 *global_irqs, u32 *pmu_irqs) arm_smmu_device_acpi_probe() argument 1967 arm_smmu_device_dt_probe(struct arm_smmu_device *smmu, u32 *global_irqs, u32 *pmu_irqs) arm_smmu_device_dt_probe() argument 2003 arm_smmu_rmr_install_bypass_smr(struct arm_smmu_device *smmu) arm_smmu_rmr_install_bypass_smr() argument 2054 struct arm_smmu_device *smmu; arm_smmu_device_probe() local 2195 struct arm_smmu_device *smmu = platform_get_drvdata(pdev); arm_smmu_device_shutdown() local 2215 struct arm_smmu_device *smmu = platform_get_drvdata(pdev); arm_smmu_device_remove() local 2225 struct arm_smmu_device *smmu = dev_get_drvdata(dev); arm_smmu_runtime_resume() local 2239 struct arm_smmu_device *smmu = dev_get_drvdata(dev); arm_smmu_runtime_suspend() local 2249 struct arm_smmu_device *smmu = dev_get_drvdata(dev); arm_smmu_pm_resume() local 2268 struct arm_smmu_device *smmu = dev_get_drvdata(dev); arm_smmu_pm_suspend() local [all...] |
H A D | arm-smmu-impl.c | 5 #define pr_fmt(fmt) "arm-smmu: " fmt 10 #include "arm-smmu.h" 28 static u32 arm_smmu_read_ns(struct arm_smmu_device *smmu, int page, in arm_smmu_read_ns() argument 33 return readl_relaxed(arm_smmu_page(smmu, page) + offset); in arm_smmu_read_ns() 36 static void arm_smmu_write_ns(struct arm_smmu_device *smmu, int page, in arm_smmu_write_ns() argument 41 writel_relaxed(val, arm_smmu_page(smmu, page) + offset); in arm_smmu_write_ns() 52 struct arm_smmu_device smmu; member 56 static int cavium_cfg_probe(struct arm_smmu_device *smmu) in cavium_cfg_probe() argument 59 struct cavium_smmu *cs = container_of(smmu, struct cavium_smmu, smmu); in cavium_cfg_probe() 90 cavium_smmu_impl_init(struct arm_smmu_device *smmu) cavium_smmu_impl_init() argument 110 arm_mmu500_reset(struct arm_smmu_device *smmu) arm_mmu500_reset() argument 151 mrvl_mmu500_readq(struct arm_smmu_device *smmu, int page, int off) mrvl_mmu500_readq() argument 160 mrvl_mmu500_writeq(struct arm_smmu_device *smmu, int page, int off, u64 val) mrvl_mmu500_writeq() argument 170 mrvl_mmu500_cfg_probe(struct arm_smmu_device *smmu) mrvl_mmu500_cfg_probe() argument 194 arm_smmu_impl_init(struct arm_smmu_device *smmu) arm_smmu_impl_init() argument [all...] |
H A D | arm-smmu-nvidia.c | 12 #include "arm-smmu.h" 35 struct arm_smmu_device smmu; member 41 static inline struct nvidia_smmu *to_nvidia_smmu(struct arm_smmu_device *smmu) in to_nvidia_smmu() argument 43 return container_of(smmu, struct nvidia_smmu, smmu); in to_nvidia_smmu() 46 static inline void __iomem *nvidia_smmu_page(struct arm_smmu_device *smmu, in nvidia_smmu_page() argument 51 nvidia_smmu = container_of(smmu, struct nvidia_smmu, smmu); in nvidia_smmu_page() 52 return nvidia_smmu->bases[inst] + (page << smmu->pgshift); in nvidia_smmu_page() 55 static u32 nvidia_smmu_read_reg(struct arm_smmu_device *smmu, in nvidia_smmu_read_reg() argument 63 nvidia_smmu_write_reg(struct arm_smmu_device *smmu, int page, int offset, u32 val) nvidia_smmu_write_reg() argument 76 nvidia_smmu_read_reg64(struct arm_smmu_device *smmu, int page, int offset) nvidia_smmu_read_reg64() argument 84 nvidia_smmu_write_reg64(struct arm_smmu_device *smmu, int page, int offset, u64 val) nvidia_smmu_write_reg64() argument 97 nvidia_smmu_tlb_sync(struct arm_smmu_device *smmu, int page, int sync, int status) nvidia_smmu_tlb_sync() argument 132 nvidia_smmu_reset(struct arm_smmu_device *smmu) nvidia_smmu_reset() argument 150 nvidia_smmu_global_fault_inst(int irq, struct arm_smmu_device *smmu, int inst) nvidia_smmu_global_fault_inst() argument 179 struct arm_smmu_device *smmu = dev; nvidia_smmu_global_fault() local 193 nvidia_smmu_context_fault_bank(int irq, struct arm_smmu_device *smmu, int idx, int inst) nvidia_smmu_context_fault_bank() argument 223 struct arm_smmu_device *smmu; nvidia_smmu_context_fault() local 250 nvidia_smmu_probe_finalize(struct arm_smmu_device *smmu, struct device *dev) nvidia_smmu_probe_finalize() argument 265 struct arm_smmu_device *smmu = smmu_domain->smmu; nvidia_smmu_init_context() local 307 nvidia_smmu_impl_init(struct arm_smmu_device *smmu) nvidia_smmu_impl_init() argument [all...] |
H A D | arm-smmu-qcom.c | 7 #include <linux/adreno-smmu-priv.h> 12 #include "arm-smmu.h" 13 #include "arm-smmu-qcom.h" 17 static struct qcom_smmu *to_qcom_smmu(struct arm_smmu_device *smmu) in to_qcom_smmu() argument 19 return container_of(smmu, struct qcom_smmu, smmu); in to_qcom_smmu() 22 static void qcom_smmu_tlb_sync(struct arm_smmu_device *smmu, int page, in qcom_smmu_tlb_sync() argument 28 arm_smmu_writel(smmu, page, sync, QCOM_DUMMY_VAL); in qcom_smmu_tlb_sync() 31 reg = arm_smmu_readl(smmu, page, status); in qcom_smmu_tlb_sync() 39 qcom_smmu_tlb_sync_debug(smmu); in qcom_smmu_tlb_sync() 42 qcom_adreno_smmu_write_sctlr(struct arm_smmu_device *smmu, int idx, u32 reg) qcom_adreno_smmu_write_sctlr() argument 64 struct arm_smmu_device *smmu = smmu_domain->smmu; qcom_adreno_smmu_get_fault_info() local 91 struct arm_smmu_device *smmu = smmu_domain->smmu; qcom_adreno_smmu_resume_translation() local 177 qcom_adreno_smmu_alloc_context_bank(struct arm_smmu_domain *smmu_domain, struct arm_smmu_device *smmu, struct device *dev, int start) qcom_adreno_smmu_alloc_context_bank() argument 198 qcom_adreno_can_do_ttbr1(struct arm_smmu_device *smmu) qcom_adreno_can_do_ttbr1() argument 272 qcom_smmu_cfg_probe(struct arm_smmu_device *smmu) qcom_smmu_cfg_probe() argument 336 qcom_smmu_write_s2cr(struct arm_smmu_device *smmu, int idx) qcom_smmu_write_s2cr() argument 379 qcom_sdm845_smmu500_reset(struct arm_smmu_device *smmu) qcom_sdm845_smmu500_reset() argument 441 qcom_smmu_create(struct arm_smmu_device *smmu, const struct qcom_smmu_match_data *data) qcom_smmu_create() argument 552 qcom_smmu_impl_init(struct arm_smmu_device *smmu) qcom_smmu_impl_init() argument [all...] |
H A D | arm-smmu.h | 368 struct arm_smmu_device *smmu; member 374 struct mutex init_mutex; /* Protects smmu pointer */ 380 struct arm_smmu_device *smmu; member 425 u32 (*read_reg)(struct arm_smmu_device *smmu, int page, int offset); 426 void (*write_reg)(struct arm_smmu_device *smmu, int page, int offset, 428 u64 (*read_reg64)(struct arm_smmu_device *smmu, int page, int offset); 429 void (*write_reg64)(struct arm_smmu_device *smmu, int page, int offset, 431 int (*cfg_probe)(struct arm_smmu_device *smmu); 432 int (*reset)(struct arm_smmu_device *smmu); 435 void (*tlb_sync)(struct arm_smmu_device *smmu, in 467 arm_smmu_page(struct arm_smmu_device *smmu, int n) arm_smmu_page() argument 472 arm_smmu_readl(struct arm_smmu_device *smmu, int page, int offset) arm_smmu_readl() argument 479 arm_smmu_writel(struct arm_smmu_device *smmu, int page, int offset, u32 val) arm_smmu_writel() argument 488 arm_smmu_readq(struct arm_smmu_device *smmu, int page, int offset) arm_smmu_readq() argument 495 arm_smmu_writeq(struct arm_smmu_device *smmu, int page, int offset, u64 val) arm_smmu_writeq() argument [all...] |
H A D | arm-smmu-qcom-debug.c | 10 #include "arm-smmu.h" 11 #include "arm-smmu-qcom.h" 13 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 in qcom_smmu_tlb_sync_debug() [all...] |
/kernel/linux/linux-5.10/drivers/iommu/arm/arm-smmu/ |
H A D | arm-smmu.c | 18 #define pr_fmt(fmt) "arm-smmu: " fmt 44 #include "arm-smmu.h" 74 static inline int arm_smmu_rpm_get(struct arm_smmu_device *smmu) in arm_smmu_rpm_get() argument 76 if (pm_runtime_enabled(smmu->dev)) in arm_smmu_rpm_get() 77 return pm_runtime_resume_and_get(smmu->dev); in arm_smmu_rpm_get() 82 static inline void arm_smmu_rpm_put(struct arm_smmu_device *smmu) in arm_smmu_rpm_put() argument 84 if (pm_runtime_enabled(smmu->dev)) in arm_smmu_rpm_put() 85 pm_runtime_put_autosuspend(smmu->dev); in arm_smmu_rpm_put() 135 struct arm_smmu_device **smmu) in arm_smmu_register_legacy_master() 178 *smmu in arm_smmu_register_legacy_master() 134 arm_smmu_register_legacy_master(struct device *dev, struct arm_smmu_device **smmu) arm_smmu_register_legacy_master() argument 199 arm_smmu_register_legacy_master(struct device *dev, struct arm_smmu_device **smmu) arm_smmu_register_legacy_master() argument 212 __arm_smmu_tlb_sync(struct arm_smmu_device *smmu, int page, int sync, int status) __arm_smmu_tlb_sync() argument 235 arm_smmu_tlb_sync_global(struct arm_smmu_device *smmu) arm_smmu_tlb_sync_global() argument 247 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_sync_context() local 272 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_context_s2() local 284 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_range_s1() local 312 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_range_s2() local 393 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_add_page_s2_v1() local 428 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_context_fault() local 450 struct arm_smmu_device *smmu = dev; arm_smmu_global_fault() local 537 arm_smmu_write_context_bank(struct arm_smmu_device *smmu, int idx) arm_smmu_write_context_bank() argument 623 arm_smmu_alloc_context_bank(struct arm_smmu_domain *smmu_domain, struct arm_smmu_device *smmu, struct device *dev, unsigned int start) arm_smmu_alloc_context_bank() argument 633 arm_smmu_init_domain_context(struct iommu_domain *domain, struct arm_smmu_device *smmu, struct device *dev) arm_smmu_init_domain_context() argument 847 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_destroy_domain_context() local 918 arm_smmu_write_smr(struct arm_smmu_device *smmu, int idx) arm_smmu_write_smr() argument 929 arm_smmu_write_s2cr(struct arm_smmu_device *smmu, int idx) arm_smmu_write_s2cr() argument 949 arm_smmu_write_sme(struct arm_smmu_device *smmu, int idx) arm_smmu_write_sme() argument 960 arm_smmu_test_smr_masks(struct arm_smmu_device *smmu) arm_smmu_test_smr_masks() argument 996 arm_smmu_find_sme(struct arm_smmu_device *smmu, u16 id, u16 mask) arm_smmu_find_sme() argument 1038 arm_smmu_free_sme(struct arm_smmu_device *smmu, int idx) arm_smmu_free_sme() argument 1054 struct arm_smmu_device *smmu = cfg->smmu; arm_smmu_master_alloc_smes() local 1102 struct arm_smmu_device *smmu = cfg->smmu; arm_smmu_master_free_smes() local 1118 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_add_master() local 1146 struct arm_smmu_device *smmu; arm_smmu_attach_dev() local 1214 struct arm_smmu_device *smmu = to_smmu_domain(domain)->smmu; arm_smmu_map() local 1231 struct arm_smmu_device *smmu = to_smmu_domain(domain)->smmu; arm_smmu_unmap() local 1247 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_flush_iotlb_all() local 1260 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_iotlb_sync() local 1278 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_iova_to_phys_hard() local 1372 struct arm_smmu_device *smmu = NULL; arm_smmu_probe_device() local 1448 struct arm_smmu_device *smmu; arm_smmu_release_device() local 1474 struct arm_smmu_device *smmu = cfg->smmu; arm_smmu_device_group() local 1640 arm_smmu_device_reset(struct arm_smmu_device *smmu) arm_smmu_device_reset() argument 1721 arm_smmu_device_cfg_probe(struct arm_smmu_device *smmu) arm_smmu_device_cfg_probe() argument 1954 acpi_smmu_get_data(u32 model, struct arm_smmu_device *smmu) acpi_smmu_get_data() argument 1987 arm_smmu_device_acpi_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_acpi_probe() argument 2012 arm_smmu_device_acpi_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_acpi_probe() argument 2019 arm_smmu_device_dt_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_dt_probe() argument 2106 struct arm_smmu_device *smmu; arm_smmu_device_probe() local 2257 struct arm_smmu_device *smmu = platform_get_drvdata(pdev); arm_smmu_device_remove() local 2290 struct arm_smmu_device *smmu = dev_get_drvdata(dev); arm_smmu_runtime_resume() local 2304 struct arm_smmu_device *smmu = dev_get_drvdata(dev); arm_smmu_runtime_suspend() local [all...] |
H A D | arm-smmu-impl.c | 5 #define pr_fmt(fmt) "arm-smmu: " fmt 10 #include "arm-smmu.h" 28 static u32 arm_smmu_read_ns(struct arm_smmu_device *smmu, int page, in arm_smmu_read_ns() argument 33 return readl_relaxed(arm_smmu_page(smmu, page) + offset); in arm_smmu_read_ns() 36 static void arm_smmu_write_ns(struct arm_smmu_device *smmu, int page, in arm_smmu_write_ns() argument 41 writel_relaxed(val, arm_smmu_page(smmu, page) + offset); in arm_smmu_write_ns() 52 struct arm_smmu_device smmu; member 56 static int cavium_cfg_probe(struct arm_smmu_device *smmu) in cavium_cfg_probe() argument 59 struct cavium_smmu *cs = container_of(smmu, struct cavium_smmu, smmu); in cavium_cfg_probe() 90 cavium_smmu_impl_init(struct arm_smmu_device *smmu) cavium_smmu_impl_init() argument 113 arm_mmu500_reset(struct arm_smmu_device *smmu) arm_mmu500_reset() argument 151 mrvl_mmu500_readq(struct arm_smmu_device *smmu, int page, int off) mrvl_mmu500_readq() argument 160 mrvl_mmu500_writeq(struct arm_smmu_device *smmu, int page, int off, u64 val) mrvl_mmu500_writeq() argument 170 mrvl_mmu500_cfg_probe(struct arm_smmu_device *smmu) mrvl_mmu500_cfg_probe() argument 194 arm_smmu_impl_init(struct arm_smmu_device *smmu) arm_smmu_impl_init() argument [all...] |
H A D | arm-smmu-qcom.c | 9 #include "arm-smmu.h" 12 struct arm_smmu_device smmu; member 17 static struct qcom_smmu *to_qcom_smmu(struct arm_smmu_device *smmu) in to_qcom_smmu() argument 19 return container_of(smmu, struct qcom_smmu, smmu); in to_qcom_smmu() 34 static int qcom_smmu_cfg_probe(struct arm_smmu_device *smmu) in qcom_smmu_cfg_probe() argument 36 struct qcom_smmu *qsmmu = to_qcom_smmu(smmu); in qcom_smmu_cfg_probe() 49 if (smmu->num_mapping_groups > 128) { in qcom_smmu_cfg_probe() 50 dev_notice(smmu->dev, "\tLimiting the stream matching groups to 128\n"); in qcom_smmu_cfg_probe() 51 smmu in qcom_smmu_cfg_probe() 98 qcom_smmu_write_s2cr(struct arm_smmu_device *smmu, int idx) qcom_smmu_write_s2cr() argument 141 qcom_sdm845_smmu500_reset(struct arm_smmu_device *smmu) qcom_sdm845_smmu500_reset() argument 158 qcom_smmu500_reset(struct arm_smmu_device *smmu) qcom_smmu500_reset() argument 177 qcom_smmu_impl_init(struct arm_smmu_device *smmu) qcom_smmu_impl_init() argument [all...] |
H A D | arm-smmu-nvidia.c | 10 #include "arm-smmu.h" 20 * The third instance usage is through standard arm-smmu driver itself and 26 struct arm_smmu_device smmu; member 30 static inline void __iomem *nvidia_smmu_page(struct arm_smmu_device *smmu, in nvidia_smmu_page() argument 35 nvidia_smmu = container_of(smmu, struct nvidia_smmu, smmu); in nvidia_smmu_page() 36 return nvidia_smmu->bases[inst] + (page << smmu->pgshift); in nvidia_smmu_page() 39 static u32 nvidia_smmu_read_reg(struct arm_smmu_device *smmu, in nvidia_smmu_read_reg() argument 42 void __iomem *reg = nvidia_smmu_page(smmu, 0, page) + offset; in nvidia_smmu_read_reg() 47 static void nvidia_smmu_write_reg(struct arm_smmu_device *smmu, in nvidia_smmu_write_reg() argument 59 nvidia_smmu_read_reg64(struct arm_smmu_device *smmu, int page, int offset) nvidia_smmu_read_reg64() argument 67 nvidia_smmu_write_reg64(struct arm_smmu_device *smmu, int page, int offset, u64 val) nvidia_smmu_write_reg64() argument 79 nvidia_smmu_tlb_sync(struct arm_smmu_device *smmu, int page, int sync, int status) nvidia_smmu_tlb_sync() argument 113 nvidia_smmu_reset(struct arm_smmu_device *smmu) nvidia_smmu_reset() argument 130 nvidia_smmu_global_fault_inst(int irq, struct arm_smmu_device *smmu, int inst) nvidia_smmu_global_fault_inst() argument 159 struct arm_smmu_device *smmu = dev; nvidia_smmu_global_fault() local 172 nvidia_smmu_context_fault_bank(int irq, struct arm_smmu_device *smmu, int idx, int inst) nvidia_smmu_context_fault_bank() argument 202 struct arm_smmu_device *smmu; nvidia_smmu_context_fault() local 238 nvidia_smmu_impl_init(struct arm_smmu_device *smmu) nvidia_smmu_impl_init() argument [all...] |
H A D | arm-smmu.h | 364 struct arm_smmu_device *smmu; member 370 struct mutex init_mutex; /* Protects smmu pointer */ 376 struct arm_smmu_device *smmu; member 421 u32 (*read_reg)(struct arm_smmu_device *smmu, int page, int offset); 422 void (*write_reg)(struct arm_smmu_device *smmu, int page, int offset, 424 u64 (*read_reg64)(struct arm_smmu_device *smmu, int page, int offset); 425 void (*write_reg64)(struct arm_smmu_device *smmu, int page, int offset, 427 int (*cfg_probe)(struct arm_smmu_device *smmu); 428 int (*reset)(struct arm_smmu_device *smmu); 431 void (*tlb_sync)(struct arm_smmu_device *smmu, in 461 arm_smmu_page(struct arm_smmu_device *smmu, int n) arm_smmu_page() argument 466 arm_smmu_readl(struct arm_smmu_device *smmu, int page, int offset) arm_smmu_readl() argument 473 arm_smmu_writel(struct arm_smmu_device *smmu, int page, int offset, u32 val) arm_smmu_writel() argument 482 arm_smmu_readq(struct arm_smmu_device *smmu, int page, int offset) arm_smmu_readq() argument 489 arm_smmu_writeq(struct arm_smmu_device *smmu, int page, int offset, u64 val) arm_smmu_writeq() argument [all...] |
/kernel/linux/linux-5.10/drivers/iommu/ |
H A D | tegra-smmu.c | 23 struct tegra_smmu *smmu; member 53 struct tegra_smmu *smmu; member 69 static inline void smmu_writel(struct tegra_smmu *smmu, u32 value, in smmu_writel() argument 72 writel(value, smmu->regs + offset); in smmu_writel() 75 static inline u32 smmu_readl(struct tegra_smmu *smmu, unsigned long offset) in smmu_readl() argument 77 return readl(smmu->regs + offset); in smmu_readl() 86 #define SMMU_TLB_CONFIG_ACTIVE_LINES(smmu) \ 87 ((smmu)->soc->num_tlb_lines & (smmu)->tlb_mask) 165 static bool smmu_dma_addr_valid(struct tegra_smmu *smmu, dma_addr_ argument 171 smmu_pde_to_dma(struct tegra_smmu *smmu, u32 pde) smmu_pde_to_dma() argument 176 smmu_flush_ptc_all(struct tegra_smmu *smmu) smmu_flush_ptc_all() argument 181 smmu_flush_ptc(struct tegra_smmu *smmu, dma_addr_t dma, unsigned long offset) smmu_flush_ptc() argument 201 smmu_flush_tlb(struct tegra_smmu *smmu) smmu_flush_tlb() argument 206 smmu_flush_tlb_asid(struct tegra_smmu *smmu, unsigned long asid) smmu_flush_tlb_asid() argument 220 smmu_flush_tlb_section(struct tegra_smmu *smmu, unsigned long asid, unsigned long iova) smmu_flush_tlb_section() argument 235 smmu_flush_tlb_group(struct tegra_smmu *smmu, unsigned long asid, unsigned long iova) smmu_flush_tlb_group() argument 250 smmu_flush(struct tegra_smmu *smmu) smmu_flush() argument 255 tegra_smmu_alloc_asid(struct tegra_smmu *smmu, unsigned int *idp) tegra_smmu_alloc_asid() argument 274 tegra_smmu_free_asid(struct tegra_smmu *smmu, unsigned int id) tegra_smmu_free_asid() argument 343 tegra_smmu_find_swgroup(struct tegra_smmu *smmu, unsigned int swgroup) tegra_smmu_find_swgroup() argument 358 tegra_smmu_enable(struct tegra_smmu *smmu, unsigned int swgroup, unsigned int asid) tegra_smmu_enable() argument 391 tegra_smmu_disable(struct tegra_smmu *smmu, unsigned int swgroup, unsigned int asid) tegra_smmu_disable() argument 419 tegra_smmu_as_prepare(struct tegra_smmu *smmu, struct tegra_smmu_as *as) tegra_smmu_as_prepare() argument 463 tegra_smmu_as_unprepare(struct tegra_smmu *smmu, struct tegra_smmu_as *as) tegra_smmu_as_unprepare() argument 479 struct tegra_smmu *smmu = dev_iommu_priv_get(dev); tegra_smmu_attach_dev() local 515 struct tegra_smmu *smmu = as->smmu; tegra_smmu_detach_dev() local 540 struct tegra_smmu *smmu = as->smmu; tegra_smmu_set_pde() local 568 struct tegra_smmu *smmu = as->smmu; tegra_smmu_pte_lookup() local 586 struct tegra_smmu *smmu = as->smmu; as_get_pte() local 637 struct tegra_smmu *smmu = as->smmu; tegra_smmu_pte_put_use() local 652 struct tegra_smmu *smmu = as->smmu; tegra_smmu_set_pte() local 818 tegra_smmu_configure(struct tegra_smmu *smmu, struct device *dev, struct of_phandle_args *args) tegra_smmu_configure() argument 843 struct tegra_smmu *smmu = NULL; tegra_smmu_probe_device() local 884 tegra_smmu_find_group(struct tegra_smmu *smmu, unsigned int swgroup) tegra_smmu_find_group() argument 899 struct tegra_smmu *smmu = group->smmu; tegra_smmu_group_release() local 906 tegra_smmu_group_get(struct tegra_smmu *smmu, unsigned int swgroup) tegra_smmu_group_get() argument 956 struct tegra_smmu *smmu = dev_iommu_priv_get(dev); tegra_smmu_device_group() local 1007 struct tegra_smmu *smmu = s->private; tegra_smmu_swgroups_show() local 1039 struct tegra_smmu *smmu = s->private; tegra_smmu_clients_show() local 1065 tegra_smmu_debugfs_init(struct tegra_smmu *smmu) tegra_smmu_debugfs_init() argument 1077 tegra_smmu_debugfs_exit(struct tegra_smmu *smmu) tegra_smmu_debugfs_exit() argument 1086 struct tegra_smmu *smmu; tegra_smmu_probe() local 1175 tegra_smmu_remove(struct tegra_smmu *smmu) tegra_smmu_remove() argument [all...] |
/kernel/linux/linux-6.6/drivers/iommu/ |
H A D | tegra-smmu.c | 24 struct tegra_smmu *smmu; member 54 struct tegra_smmu *smmu; member 70 static inline void smmu_writel(struct tegra_smmu *smmu, u32 value, in smmu_writel() argument 73 writel(value, smmu->regs + offset); in smmu_writel() 76 static inline u32 smmu_readl(struct tegra_smmu *smmu, unsigned long offset) in smmu_readl() argument 78 return readl(smmu->regs + offset); in smmu_readl() 87 #define SMMU_TLB_CONFIG_ACTIVE_LINES(smmu) \ 88 ((smmu)->soc->num_tlb_lines & (smmu)->tlb_mask) 166 static bool smmu_dma_addr_valid(struct tegra_smmu *smmu, dma_addr_ argument 172 smmu_pde_to_dma(struct tegra_smmu *smmu, u32 pde) smmu_pde_to_dma() argument 177 smmu_flush_ptc_all(struct tegra_smmu *smmu) smmu_flush_ptc_all() argument 182 smmu_flush_ptc(struct tegra_smmu *smmu, dma_addr_t dma, unsigned long offset) smmu_flush_ptc() argument 202 smmu_flush_tlb(struct tegra_smmu *smmu) smmu_flush_tlb() argument 207 smmu_flush_tlb_asid(struct tegra_smmu *smmu, unsigned long asid) smmu_flush_tlb_asid() argument 221 smmu_flush_tlb_section(struct tegra_smmu *smmu, unsigned long asid, unsigned long iova) smmu_flush_tlb_section() argument 236 smmu_flush_tlb_group(struct tegra_smmu *smmu, unsigned long asid, unsigned long iova) smmu_flush_tlb_group() argument 251 smmu_flush(struct tegra_smmu *smmu) smmu_flush() argument 256 tegra_smmu_alloc_asid(struct tegra_smmu *smmu, unsigned int *idp) tegra_smmu_alloc_asid() argument 270 tegra_smmu_free_asid(struct tegra_smmu *smmu, unsigned int id) tegra_smmu_free_asid() argument 332 tegra_smmu_find_swgroup(struct tegra_smmu *smmu, unsigned int swgroup) tegra_smmu_find_swgroup() argument 347 tegra_smmu_enable(struct tegra_smmu *smmu, unsigned int swgroup, unsigned int asid) tegra_smmu_enable() argument 380 tegra_smmu_disable(struct tegra_smmu *smmu, unsigned int swgroup, unsigned int asid) tegra_smmu_disable() argument 408 tegra_smmu_as_prepare(struct tegra_smmu *smmu, struct tegra_smmu_as *as) tegra_smmu_as_prepare() argument 461 tegra_smmu_as_unprepare(struct tegra_smmu *smmu, struct tegra_smmu_as *as) tegra_smmu_as_unprepare() argument 484 struct tegra_smmu *smmu = dev_iommu_priv_get(dev); tegra_smmu_attach_dev() local 519 struct tegra_smmu *smmu = as->smmu; tegra_smmu_set_platform_dma() local 535 struct tegra_smmu *smmu = as->smmu; tegra_smmu_set_pde() local 563 struct tegra_smmu *smmu = as->smmu; tegra_smmu_pte_lookup() local 581 struct tegra_smmu *smmu = as->smmu; as_get_pte() local 632 struct tegra_smmu *smmu = as->smmu; tegra_smmu_pte_put_use() local 647 struct tegra_smmu *smmu = as->smmu; tegra_smmu_set_pte() local 815 tegra_smmu_configure(struct tegra_smmu *smmu, struct device *dev, struct of_phandle_args *args) tegra_smmu_configure() argument 840 struct tegra_smmu *smmu = NULL; tegra_smmu_probe_device() local 869 tegra_smmu_find_group(struct tegra_smmu *smmu, unsigned int swgroup) tegra_smmu_find_group() argument 884 struct tegra_smmu *smmu = group->smmu; tegra_smmu_group_release() local 894 struct tegra_smmu *smmu = dev_iommu_priv_get(dev); tegra_smmu_device_group() local 998 struct tegra_smmu *smmu = s->private; tegra_smmu_swgroups_show() local 1030 struct tegra_smmu *smmu = s->private; tegra_smmu_clients_show() local 1056 tegra_smmu_debugfs_init(struct tegra_smmu *smmu) tegra_smmu_debugfs_init() argument 1068 tegra_smmu_debugfs_exit(struct tegra_smmu *smmu) tegra_smmu_debugfs_exit() argument 1077 struct tegra_smmu *smmu; tegra_smmu_probe() local 1153 tegra_smmu_remove(struct tegra_smmu *smmu) tegra_smmu_remove() argument [all...] |
/kernel/linux/linux-6.6/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3.c | 30 #include "arm-smmu-v3.h" 89 static void parse_driver_options(struct arm_smmu_device *smmu) in parse_driver_options() argument 94 if (of_property_read_bool(smmu->dev->of_node, in parse_driver_options() 96 smmu->options |= arm_smmu_options[i].opt; in parse_driver_options() 97 dev_notice(smmu->dev, "option %s\n", in parse_driver_options() 192 static void queue_poll_init(struct arm_smmu_device *smmu, in queue_poll_init() argument 197 qp->wfe = !!(smmu->features & ARM_SMMU_FEAT_SEV); in queue_poll_init() 348 static struct arm_smmu_cmdq *arm_smmu_get_cmdq(struct arm_smmu_device *smmu) in arm_smmu_get_cmdq() argument 350 return &smmu->cmdq; in arm_smmu_get_cmdq() 353 static void arm_smmu_cmdq_build_sync_cmd(u64 *cmd, struct arm_smmu_device *smmu, in arm_smmu_cmdq_build_sync_cmd() argument 372 __arm_smmu_cmdq_skip_err(struct arm_smmu_device *smmu, struct arm_smmu_queue *q) __arm_smmu_cmdq_skip_err() argument 427 arm_smmu_cmdq_skip_err(struct arm_smmu_device *smmu) arm_smmu_cmdq_skip_err() argument 593 arm_smmu_cmdq_poll_until_not_full(struct arm_smmu_device *smmu, struct arm_smmu_ll_queue *llq) arm_smmu_cmdq_poll_until_not_full() argument 628 __arm_smmu_cmdq_poll_until_msi(struct arm_smmu_device *smmu, struct arm_smmu_ll_queue *llq) __arm_smmu_cmdq_poll_until_msi() argument 652 __arm_smmu_cmdq_poll_until_consumed(struct arm_smmu_device *smmu, struct arm_smmu_ll_queue *llq) __arm_smmu_cmdq_poll_until_consumed() argument 702 arm_smmu_cmdq_poll_until_sync(struct arm_smmu_device *smmu, struct arm_smmu_ll_queue *llq) arm_smmu_cmdq_poll_until_sync() argument 744 arm_smmu_cmdq_issue_cmdlist(struct arm_smmu_device *smmu, u64 *cmds, int n, bool sync) arm_smmu_cmdq_issue_cmdlist() argument 864 __arm_smmu_cmdq_issue_cmd(struct arm_smmu_device *smmu, struct arm_smmu_cmdq_ent *ent, bool sync) __arm_smmu_cmdq_issue_cmd() argument 879 arm_smmu_cmdq_issue_cmd(struct arm_smmu_device *smmu, struct arm_smmu_cmdq_ent *ent) arm_smmu_cmdq_issue_cmd() argument 885 arm_smmu_cmdq_issue_cmd_with_sync(struct arm_smmu_device *smmu, struct arm_smmu_cmdq_ent *ent) arm_smmu_cmdq_issue_cmd_with_sync() argument 891 arm_smmu_cmdq_batch_add(struct arm_smmu_device *smmu, struct arm_smmu_cmdq_batch *cmds, struct arm_smmu_cmdq_ent *cmd) arm_smmu_cmdq_batch_add() argument 918 arm_smmu_cmdq_batch_submit(struct arm_smmu_device *smmu, struct arm_smmu_cmdq_batch *cmds) arm_smmu_cmdq_batch_submit() argument 963 arm_smmu_tlb_inv_asid(struct arm_smmu_device *smmu, u16 asid) arm_smmu_tlb_inv_asid() argument 981 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_sync_cd() local 1004 arm_smmu_alloc_cd_leaf_table(struct arm_smmu_device *smmu, struct arm_smmu_l1_ctx_desc *l1_desc) arm_smmu_alloc_cd_leaf_table() argument 1035 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_get_cd_ptr() local 1140 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_alloc_cd_tables() local 1188 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_free_cd_tables() local 1244 arm_smmu_sync_ste_for_sid(struct arm_smmu_device *smmu, u32 sid) arm_smmu_sync_ste_for_sid() argument 1278 struct arm_smmu_device *smmu = NULL; arm_smmu_write_strtab_ent() local 1418 arm_smmu_init_l2_strtab(struct arm_smmu_device *smmu, u32 sid) arm_smmu_init_l2_strtab() argument 1447 arm_smmu_find_master(struct arm_smmu_device *smmu, u32 sid) arm_smmu_find_master() argument 1469 arm_smmu_handle_evt(struct arm_smmu_device *smmu, u64 *evt) arm_smmu_handle_evt() argument 1566 struct arm_smmu_device *smmu = dev; arm_smmu_evtq_thread() local 1602 arm_smmu_handle_ppr(struct arm_smmu_device *smmu, u64 *evt) arm_smmu_handle_ppr() argument 1642 struct arm_smmu_device *smmu = dev; arm_smmu_priq_thread() local 1665 struct arm_smmu_device *smmu = dev; arm_smmu_gerror_handler() local 1710 struct arm_smmu_device *smmu = dev; arm_smmu_combined_irq_thread() local 1861 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_context() local 1886 struct arm_smmu_device *smmu = smmu_domain->smmu; __arm_smmu_tlb_inv_range() local 2066 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_free() local 2095 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_finalise_s1() local 2153 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_finalise_s2() local 2188 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_finalise() local 2247 arm_smmu_get_step_for_sid(struct arm_smmu_device *smmu, u32 sid) arm_smmu_get_step_for_sid() argument 2272 struct arm_smmu_device *smmu = master->smmu; arm_smmu_install_ste_for_dev() local 2292 struct arm_smmu_device *smmu = master->smmu; arm_smmu_ats_supported() local 2308 struct arm_smmu_device *smmu = master->smmu; arm_smmu_enable_ats() local 2413 struct arm_smmu_device *smmu; arm_smmu_attach_dev() local 2550 arm_smmu_sid_in_range(struct arm_smmu_device *smmu, u32 sid) arm_smmu_sid_in_range() argument 2560 arm_smmu_init_sid_strtab(struct arm_smmu_device *smmu, u32 sid) arm_smmu_init_sid_strtab() argument 2573 arm_smmu_insert_master(struct arm_smmu_device *smmu, struct arm_smmu_master *master) arm_smmu_insert_master() argument 2638 struct arm_smmu_device *smmu = master->smmu; arm_smmu_remove_master() local 2657 struct arm_smmu_device *smmu; arm_smmu_probe_device() local 2890 arm_smmu_init_one_queue(struct arm_smmu_device *smmu, struct arm_smmu_queue *q, void __iomem *page, unsigned long prod_off, unsigned long cons_off, size_t dwords, const char *name) arm_smmu_init_one_queue() argument 2933 arm_smmu_cmdq_init(struct arm_smmu_device *smmu) arm_smmu_cmdq_init() argument 2949 arm_smmu_init_queues(struct arm_smmu_device *smmu) arm_smmu_init_queues() argument 2987 arm_smmu_init_l1_strtab(struct arm_smmu_device *smmu) arm_smmu_init_l1_strtab() argument 3006 arm_smmu_init_strtab_2lvl(struct arm_smmu_device *smmu) arm_smmu_init_strtab_2lvl() argument 3044 arm_smmu_init_strtab_linear(struct arm_smmu_device *smmu) arm_smmu_init_strtab_linear() argument 3072 arm_smmu_init_strtab(struct arm_smmu_device *smmu) arm_smmu_init_strtab() argument 3095 arm_smmu_init_structures(struct arm_smmu_device *smmu) arm_smmu_init_structures() argument 3109 arm_smmu_write_reg_sync(struct arm_smmu_device *smmu, u32 val, unsigned int reg_off, unsigned int ack_off) arm_smmu_write_reg_sync() argument 3120 arm_smmu_update_gbpa(struct arm_smmu_device *smmu, u32 set, u32 clr) arm_smmu_update_gbpa() argument 3151 struct arm_smmu_device *smmu = dev_get_drvdata(dev); arm_smmu_write_msi_msg() local 3162 arm_smmu_setup_msis(struct arm_smmu_device *smmu) arm_smmu_setup_msis() argument 3199 arm_smmu_setup_unique_irqs(struct arm_smmu_device *smmu) arm_smmu_setup_unique_irqs() argument 3245 arm_smmu_setup_irqs(struct arm_smmu_device *smmu) arm_smmu_setup_irqs() argument 3286 arm_smmu_device_disable(struct arm_smmu_device *smmu) arm_smmu_device_disable() argument 3297 arm_smmu_device_reset(struct arm_smmu_device *smmu, bool bypass) arm_smmu_device_reset() argument 3436 arm_smmu_device_iidr_probe(struct arm_smmu_device *smmu) arm_smmu_device_iidr_probe() argument 3470 arm_smmu_device_hw_probe(struct arm_smmu_device *smmu) arm_smmu_device_hw_probe() argument 3691 acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu) acpi_smmu_get_options() argument 3705 arm_smmu_device_acpi_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_acpi_probe() argument 3725 arm_smmu_device_acpi_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_acpi_probe() argument 3732 arm_smmu_device_dt_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_dt_probe() argument 3754 arm_smmu_resource_size(struct arm_smmu_device *smmu) arm_smmu_resource_size() argument 3770 arm_smmu_rmr_install_bypass_ste(struct arm_smmu_device *smmu) arm_smmu_rmr_install_bypass_ste() argument 3805 struct arm_smmu_device *smmu; arm_smmu_device_probe() local 3909 struct arm_smmu_device *smmu = platform_get_drvdata(pdev); arm_smmu_device_remove() local 3920 struct arm_smmu_device *smmu = platform_get_drvdata(pdev); arm_smmu_device_shutdown() local [all...] |
/kernel/linux/linux-5.10/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3.c | 34 #include "arm-smmu-v3.h" 86 struct arm_smmu_device *smmu) in arm_smmu_page1_fixup() 89 return smmu->page1 + offset - SZ_64K; in arm_smmu_page1_fixup() 91 return smmu->base + offset; in arm_smmu_page1_fixup() 99 static void parse_driver_options(struct arm_smmu_device *smmu) in parse_driver_options() argument 104 if (of_property_read_bool(smmu->dev->of_node, in parse_driver_options() 106 smmu->options |= arm_smmu_options[i].opt; in parse_driver_options() 107 dev_notice(smmu->dev, "option %s\n", in parse_driver_options() 202 static void queue_poll_init(struct arm_smmu_device *smmu, in queue_poll_init() argument 207 qp->wfe = !!(smmu in queue_poll_init() 85 arm_smmu_page1_fixup(unsigned long offset, struct arm_smmu_device *smmu) arm_smmu_page1_fixup() argument 350 arm_smmu_cmdq_build_sync_cmd(u64 *cmd, struct arm_smmu_device *smmu, u32 prod) arm_smmu_cmdq_build_sync_cmd() argument 370 arm_smmu_cmdq_skip_err(struct arm_smmu_device *smmu) arm_smmu_cmdq_skip_err() argument 588 arm_smmu_cmdq_poll_until_not_full(struct arm_smmu_device *smmu, struct arm_smmu_ll_queue *llq) arm_smmu_cmdq_poll_until_not_full() argument 623 __arm_smmu_cmdq_poll_until_msi(struct arm_smmu_device *smmu, struct arm_smmu_ll_queue *llq) __arm_smmu_cmdq_poll_until_msi() argument 647 __arm_smmu_cmdq_poll_until_consumed(struct arm_smmu_device *smmu, struct arm_smmu_ll_queue *llq) __arm_smmu_cmdq_poll_until_consumed() argument 697 arm_smmu_cmdq_poll_until_sync(struct arm_smmu_device *smmu, struct arm_smmu_ll_queue *llq) arm_smmu_cmdq_poll_until_sync() argument 739 arm_smmu_cmdq_issue_cmdlist(struct arm_smmu_device *smmu, u64 *cmds, int n, bool sync) arm_smmu_cmdq_issue_cmdlist() argument 859 arm_smmu_cmdq_issue_cmd(struct arm_smmu_device *smmu, struct arm_smmu_cmdq_ent *ent) arm_smmu_cmdq_issue_cmd() argument 873 arm_smmu_cmdq_issue_sync(struct arm_smmu_device *smmu) arm_smmu_cmdq_issue_sync() argument 878 arm_smmu_cmdq_batch_add(struct arm_smmu_device *smmu, struct arm_smmu_cmdq_batch *cmds, struct arm_smmu_cmdq_ent *cmd) arm_smmu_cmdq_batch_add() argument 890 arm_smmu_cmdq_batch_submit(struct arm_smmu_device *smmu, struct arm_smmu_cmdq_batch *cmds) arm_smmu_cmdq_batch_submit() argument 897 arm_smmu_tlb_inv_asid(struct arm_smmu_device *smmu, u16 asid) arm_smmu_tlb_inv_asid() argument 915 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_sync_cd() local 936 arm_smmu_alloc_cd_leaf_table(struct arm_smmu_device *smmu, struct arm_smmu_l1_ctx_desc *l1_desc) arm_smmu_alloc_cd_leaf_table() argument 967 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_get_cd_ptr() local 1003 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_write_ctx_desc() local 1070 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_alloc_cd_tables() local 1118 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_free_cd_tables() local 1174 arm_smmu_sync_ste_for_sid(struct arm_smmu_device *smmu, u32 sid) arm_smmu_sync_ste_for_sid() argument 1209 struct arm_smmu_device *smmu = NULL; arm_smmu_write_strtab_ent() local 1337 arm_smmu_init_l2_strtab(struct arm_smmu_device *smmu, u32 sid) arm_smmu_init_l2_strtab() argument 1369 struct arm_smmu_device *smmu = dev; arm_smmu_evtq_thread() local 1399 arm_smmu_handle_ppr(struct arm_smmu_device *smmu, u64 *evt) arm_smmu_handle_ppr() argument 1439 struct arm_smmu_device *smmu = dev; arm_smmu_priq_thread() local 1462 struct arm_smmu_device *smmu = dev; arm_smmu_gerror_handler() local 1507 struct arm_smmu_device *smmu = dev; arm_smmu_combined_irq_thread() local 1640 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_context() local 1665 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_tlb_inv_range() local 1832 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_free() local 1862 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_finalise_s1() local 1918 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_finalise_s2() local 1951 struct arm_smmu_device *smmu = smmu_domain->smmu; arm_smmu_domain_finalise() local 2013 arm_smmu_get_step_for_sid(struct arm_smmu_device *smmu, u32 sid) arm_smmu_get_step_for_sid() argument 2038 struct arm_smmu_device *smmu = master->smmu; arm_smmu_install_ste_for_dev() local 2058 struct arm_smmu_device *smmu = master->smmu; arm_smmu_ats_supported() local 2074 struct arm_smmu_device *smmu = master->smmu; arm_smmu_enable_ats() local 2179 struct arm_smmu_device *smmu; arm_smmu_attach_dev() local 2309 arm_smmu_sid_in_range(struct arm_smmu_device *smmu, u32 sid) arm_smmu_sid_in_range() argument 2324 struct arm_smmu_device *smmu; arm_smmu_probe_device() local 2606 arm_smmu_init_one_queue(struct arm_smmu_device *smmu, struct arm_smmu_queue *q, unsigned long prod_off, unsigned long cons_off, size_t dwords, const char *name) arm_smmu_init_one_queue() argument 2654 arm_smmu_cmdq_init(struct arm_smmu_device *smmu) arm_smmu_cmdq_init() argument 2676 arm_smmu_init_queues(struct arm_smmu_device *smmu) arm_smmu_init_queues() argument 2707 arm_smmu_init_l1_strtab(struct arm_smmu_device *smmu) arm_smmu_init_l1_strtab() argument 2728 arm_smmu_init_strtab_2lvl(struct arm_smmu_device *smmu) arm_smmu_init_strtab_2lvl() argument 2766 arm_smmu_init_strtab_linear(struct arm_smmu_device *smmu) arm_smmu_init_strtab_linear() argument 2794 arm_smmu_init_strtab(struct arm_smmu_device *smmu) arm_smmu_init_strtab() argument 2817 arm_smmu_init_structures(struct arm_smmu_device *smmu) arm_smmu_init_structures() argument 2828 arm_smmu_write_reg_sync(struct arm_smmu_device *smmu, u32 val, unsigned int reg_off, unsigned int ack_off) arm_smmu_write_reg_sync() argument 2839 arm_smmu_update_gbpa(struct arm_smmu_device *smmu, u32 set, u32 clr) arm_smmu_update_gbpa() argument 2870 struct arm_smmu_device *smmu = dev_get_drvdata(dev); arm_smmu_write_msi_msg() local 2881 arm_smmu_setup_msis(struct arm_smmu_device *smmu) arm_smmu_setup_msis() argument 2931 arm_smmu_setup_unique_irqs(struct arm_smmu_device *smmu) arm_smmu_setup_unique_irqs() argument 2977 arm_smmu_setup_irqs(struct arm_smmu_device *smmu) arm_smmu_setup_irqs() argument 3018 arm_smmu_device_disable(struct arm_smmu_device *smmu) arm_smmu_device_disable() argument 3029 arm_smmu_device_reset(struct arm_smmu_device *smmu, bool bypass) arm_smmu_device_reset() argument 3164 arm_smmu_device_hw_probe(struct arm_smmu_device *smmu) arm_smmu_device_hw_probe() argument 3375 acpi_smmu_get_options(u32 model, struct arm_smmu_device *smmu) acpi_smmu_get_options() argument 3389 arm_smmu_device_acpi_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_acpi_probe() argument 3409 arm_smmu_device_acpi_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_acpi_probe() argument 3416 arm_smmu_device_dt_probe(struct platform_device *pdev, struct arm_smmu_device *smmu) arm_smmu_device_dt_probe() argument 3438 arm_smmu_resource_size(struct arm_smmu_device *smmu) arm_smmu_resource_size() argument 3500 struct arm_smmu_device *smmu; arm_smmu_device_probe() local 3605 struct arm_smmu_device *smmu = platform_get_drvdata(pdev); arm_smmu_device_remove() local [all...] |
H A D | arm-smmu-v3-sva.c | 10 #include "arm-smmu-v3.h" 25 struct arm_smmu_device *smmu; in arm_smmu_share_asid() local 41 smmu = smmu_domain->smmu; in arm_smmu_share_asid() 44 XA_LIMIT(1, (1 << smmu->asid_bits) - 1), GFP_KERNEL); in arm_smmu_share_asid() 61 arm_smmu_tlb_inv_asid(smmu, asid); in arm_smmu_share_asid() 158 bool arm_smmu_sva_supported(struct arm_smmu_device *smmu) in arm_smmu_sva_supported() argument 168 if ((smmu->features & feat_mask) != feat_mask) in arm_smmu_sva_supported() 171 if (!(smmu->pgsize_bitmap & PAGE_SIZE)) in arm_smmu_sva_supported() 182 if (smmu in arm_smmu_sva_supported() [all...] |
/kernel/linux/linux-5.10/drivers/memory/tegra/ |
H A D | tegra114.c | 22 .smmu = { 36 .smmu = { 50 .smmu = { 64 .smmu = { 78 .smmu = { 92 .smmu = { 106 .smmu = { 120 .smmu = { 134 .smmu = { 148 .smmu [all...] |
H A D | tegra210.c | 19 .smmu = { 33 .smmu = { 47 .smmu = { 61 .smmu = { 75 .smmu = { 89 .smmu = { 103 .smmu = { 117 .smmu = { 131 .smmu = { 145 .smmu [all...] |
H A D | tegra124.c | 22 .smmu = { 36 .smmu = { 50 .smmu = { 64 .smmu = { 78 .smmu = { 92 .smmu = { 106 .smmu = { 120 .smmu = { 134 .smmu = { 148 .smmu [all...] |
H A D | tegra30.c | 43 .smmu = { 57 .smmu = { 71 .smmu = { 85 .smmu = { 99 .smmu = { 113 .smmu = { 127 .smmu = { 141 .smmu = { 155 .smmu = { 169 .smmu [all...] |
/kernel/linux/linux-6.6/drivers/memory/tegra/ |
H A D | tegra210.c | 20 .smmu = { 36 .smmu = { 52 .smmu = { 68 .smmu = { 84 .smmu = { 100 .smmu = { 116 .smmu = { 132 .smmu = { 148 .smmu = { 164 .smmu [all...] |
H A D | tegra124.c | 32 .smmu = { 48 .smmu = { 64 .smmu = { 80 .smmu = { 96 .smmu = { 112 .smmu = { 128 .smmu = { 144 .smmu = { 160 .smmu = { 176 .smmu [all...] |
H A D | tegra30.c | 54 .smmu = { 71 .smmu = { 88 .smmu = { 105 .smmu = { 122 .smmu = { 139 .smmu = { 156 .smmu = { 173 .smmu = { 190 .smmu = { 207 .smmu [all...] |
H A D | tegra114.c | 31 .smmu = { 47 .smmu = { 63 .smmu = { 79 .smmu = { 95 .smmu = { 111 .smmu = { 127 .smmu = { 143 .smmu = { 159 .smmu = { 175 .smmu [all...] |
/kernel/linux/linux-5.10/drivers/acpi/arm64/ |
H A D | iort.c | 407 struct acpi_iort_smmu_v3 *smmu; in iort_get_id_mapping_index() local 419 smmu = (struct acpi_iort_smmu_v3 *)node->node_data; in iort_get_id_mapping_index() 424 if (smmu->event_gsiv && smmu->pri_gsiv && smmu->gerr_gsiv in iort_get_id_mapping_index() 425 && smmu->sync_gsiv) in iort_get_id_mapping_index() 428 if (smmu->id_mapping_index >= node->mapping_count) { in iort_get_id_mapping_index() 434 return smmu->id_mapping_index; in iort_get_id_mapping_index() 799 struct acpi_iort_smmu_v3 *smmu; in iort_get_msi_resv_iommu() local 801 smmu in iort_get_msi_resv_iommu() 1181 struct acpi_iort_smmu_v3 *smmu; arm_smmu_v3_count_resources() local 1203 arm_smmu_v3_is_combined_irq(struct acpi_iort_smmu_v3 *smmu) arm_smmu_v3_is_combined_irq() argument 1221 arm_smmu_v3_resource_size(struct acpi_iort_smmu_v3 *smmu) arm_smmu_v3_resource_size() argument 1236 struct acpi_iort_smmu_v3 *smmu; arm_smmu_v3_init_resources() local 1280 struct acpi_iort_smmu_v3 *smmu; arm_smmu_v3_dma_configure() local 1303 struct acpi_iort_smmu_v3 *smmu; arm_smmu_v3_set_proximity() local 1325 struct acpi_iort_smmu *smmu; arm_smmu_count_resources() local 1344 struct acpi_iort_smmu *smmu; arm_smmu_init_resources() local 1378 struct acpi_iort_smmu *smmu; arm_smmu_dma_configure() local [all...] |