Home
last modified time | relevance | path

Searched refs:smmu_domain (Results 1 – 10 of 10) sorted by relevance

/linux-6.12.1/drivers/iommu/arm/arm-smmu-v3/
Darm-smmu-v3-sva.c19 arm_smmu_update_s1_domain_cd_entry(struct arm_smmu_domain *smmu_domain) in arm_smmu_update_s1_domain_cd_entry() argument
25 spin_lock_irqsave(&smmu_domain->devices_lock, flags); in arm_smmu_update_s1_domain_cd_entry()
26 list_for_each_entry(master_domain, &smmu_domain->devices, devices_elm) { in arm_smmu_update_s1_domain_cd_entry()
34 arm_smmu_make_s1_cd(&target_cd, master, smmu_domain); in arm_smmu_update_s1_domain_cd_entry()
38 spin_unlock_irqrestore(&smmu_domain->devices_lock, flags); in arm_smmu_update_s1_domain_cd_entry()
132 struct arm_smmu_domain *smmu_domain = in arm_smmu_mm_arch_invalidate_secondary_tlbs() local
142 if (!(smmu_domain->smmu->features & ARM_SMMU_FEAT_RANGE_INV)) { in arm_smmu_mm_arch_invalidate_secondary_tlbs()
151 arm_smmu_tlb_inv_asid(smmu_domain->smmu, smmu_domain->cd.asid); in arm_smmu_mm_arch_invalidate_secondary_tlbs()
153 arm_smmu_tlb_inv_range_asid(start, size, smmu_domain->cd.asid, in arm_smmu_mm_arch_invalidate_secondary_tlbs()
154 PAGE_SIZE, false, smmu_domain); in arm_smmu_mm_arch_invalidate_secondary_tlbs()
[all …]
Darm-smmu-v3.c86 static int arm_smmu_domain_finalise(struct arm_smmu_domain *smmu_domain,
1353 struct arm_smmu_domain *smmu_domain) in arm_smmu_make_s1_cd() argument
1355 struct arm_smmu_ctx_desc *cd = &smmu_domain->cd; in arm_smmu_make_s1_cd()
1357 &io_pgtable_ops_to_pgtable(smmu_domain->pgtbl_ops)->cfg; in arm_smmu_make_s1_cd()
1638 struct arm_smmu_domain *smmu_domain, in arm_smmu_make_s2_domain_ste() argument
1641 struct arm_smmu_s2_cfg *s2_cfg = &smmu_domain->s2_cfg; in arm_smmu_make_s2_domain_ste()
1643 &io_pgtable_ops_to_pgtable(smmu_domain->pgtbl_ops)->cfg; in arm_smmu_make_s2_domain_ste()
2067 int arm_smmu_atc_inv_domain(struct arm_smmu_domain *smmu_domain, in arm_smmu_atc_inv_domain() argument
2078 if (!(smmu_domain->smmu->features & ARM_SMMU_FEAT_ATS)) in arm_smmu_atc_inv_domain()
2095 if (!atomic_read(&smmu_domain->nr_ats_masters)) in arm_smmu_atc_inv_domain()
[all …]
Darm-smmu-v3.h843 struct arm_smmu_domain *smmu_domain,
871 struct arm_smmu_domain *smmu_domain);
877 struct arm_smmu_domain *smmu_domain, ioasid_t pasid,
883 struct arm_smmu_domain *smmu_domain);
884 int arm_smmu_atc_inv_domain(struct arm_smmu_domain *smmu_domain,
Darm-smmu-v3-test.c306 struct arm_smmu_domain smmu_domain = { in arm_smmu_test_make_s2_ste() local
319 arm_smmu_make_s2_domain_ste(ste, &master, &smmu_domain, ats_enabled); in arm_smmu_test_make_s2_ste()
458 struct arm_smmu_domain smmu_domain = { in arm_smmu_test_make_s1_cd() local
474 arm_smmu_make_s1_cd(cd, &master, &smmu_domain); in arm_smmu_test_make_s1_cd()
/linux-6.12.1/drivers/iommu/arm/arm-smmu/
Darm-smmu.c242 static void arm_smmu_tlb_sync_context(struct arm_smmu_domain *smmu_domain) in arm_smmu_tlb_sync_context() argument
244 struct arm_smmu_device *smmu = smmu_domain->smmu; in arm_smmu_tlb_sync_context()
247 spin_lock_irqsave(&smmu_domain->cb_lock, flags); in arm_smmu_tlb_sync_context()
248 __arm_smmu_tlb_sync(smmu, ARM_SMMU_CB(smmu, smmu_domain->cfg.cbndx), in arm_smmu_tlb_sync_context()
250 spin_unlock_irqrestore(&smmu_domain->cb_lock, flags); in arm_smmu_tlb_sync_context()
255 struct arm_smmu_domain *smmu_domain = cookie; in arm_smmu_tlb_inv_context_s1() local
261 arm_smmu_cb_write(smmu_domain->smmu, smmu_domain->cfg.cbndx, in arm_smmu_tlb_inv_context_s1()
262 ARM_SMMU_CB_S1_TLBIASID, smmu_domain->cfg.asid); in arm_smmu_tlb_inv_context_s1()
263 arm_smmu_tlb_sync_context(smmu_domain); in arm_smmu_tlb_inv_context_s1()
268 struct arm_smmu_domain *smmu_domain = cookie; in arm_smmu_tlb_inv_context_s2() local
[all …]
Darm-smmu-qcom-debug.c127 static int qcom_tbu_halt(struct qcom_tbu *tbu, struct arm_smmu_domain *smmu_domain) in qcom_tbu_halt() argument
129 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_tbu_halt()
130 int ret = 0, idx = smmu_domain->cfg.cbndx; in qcom_tbu_halt()
201 static phys_addr_t qcom_tbu_trigger_atos(struct arm_smmu_domain *smmu_domain, in qcom_tbu_trigger_atos() argument
263 static phys_addr_t qcom_iova_to_phys(struct arm_smmu_domain *smmu_domain, in qcom_iova_to_phys() argument
266 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_iova_to_phys()
268 int idx = smmu_domain->cfg.cbndx; in qcom_iova_to_phys()
288 ret = qcom_tbu_halt(tbu, smmu_domain); in qcom_iova_to_phys()
320 phys = qcom_tbu_trigger_atos(smmu_domain, tbu, iova, sid); in qcom_iova_to_phys()
348 static phys_addr_t qcom_smmu_iova_to_phys_hard(struct arm_smmu_domain *smmu_domain, dma_addr_t iova) in qcom_smmu_iova_to_phys_hard() argument
[all …]
Darm-smmu-qcom.c64 struct arm_smmu_domain *smmu_domain = (void *)cookie; in qcom_adreno_smmu_get_fault_info() local
65 struct arm_smmu_cfg *cfg = &smmu_domain->cfg; in qcom_adreno_smmu_get_fault_info()
66 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_get_fault_info()
79 struct arm_smmu_domain *smmu_domain = (void *)cookie; in qcom_adreno_smmu_set_stall() local
80 struct arm_smmu_cfg *cfg = &smmu_domain->cfg; in qcom_adreno_smmu_set_stall()
81 struct qcom_smmu *qsmmu = to_qcom_smmu(smmu_domain->smmu); in qcom_adreno_smmu_set_stall()
91 struct arm_smmu_domain *smmu_domain = (void *)cookie; in qcom_adreno_smmu_resume_translation() local
92 struct arm_smmu_cfg *cfg = &smmu_domain->cfg; in qcom_adreno_smmu_resume_translation()
93 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_resume_translation()
126 struct arm_smmu_domain *smmu_domain = (void *)cookie; in qcom_adreno_smmu_get_ttbr1_cfg() local
[all …]
Darm-smmu-impl.c71 static int cavium_init_context(struct arm_smmu_domain *smmu_domain, in cavium_init_context() argument
74 struct cavium_smmu *cs = container_of(smmu_domain->smmu, in cavium_init_context()
77 if (smmu_domain->stage == ARM_SMMU_DOMAIN_S2) in cavium_init_context()
78 smmu_domain->cfg.vmid += cs->id_base; in cavium_init_context()
80 smmu_domain->cfg.asid += cs->id_base; in cavium_init_context()
Darm-smmu-nvidia.c224 struct arm_smmu_domain *smmu_domain = dev; in nvidia_smmu_context_fault() local
227 smmu = smmu_domain->smmu; in nvidia_smmu_context_fault()
259 static int nvidia_smmu_init_context(struct arm_smmu_domain *smmu_domain, in nvidia_smmu_init_context() argument
263 struct arm_smmu_device *smmu = smmu_domain->smmu; in nvidia_smmu_init_context()
Darm-smmu.h442 int (*init_context)(struct arm_smmu_domain *smmu_domain,
450 int (*alloc_context_bank)(struct arm_smmu_domain *smmu_domain,