Home
last modified time | relevance | path

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

/Linux-v5.15/drivers/iommu/arm/arm-smmu/
Darm-smmu-qcom.c45 struct arm_smmu_domain *smmu_domain = (void *)cookie; in qcom_adreno_smmu_get_fault_info() local
46 struct arm_smmu_cfg *cfg = &smmu_domain->cfg; in qcom_adreno_smmu_get_fault_info()
47 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_get_fault_info()
60 struct arm_smmu_domain *smmu_domain = (void *)cookie; in qcom_adreno_smmu_set_stall() local
61 struct arm_smmu_cfg *cfg = &smmu_domain->cfg; in qcom_adreno_smmu_set_stall()
62 struct qcom_smmu *qsmmu = to_qcom_smmu(smmu_domain->smmu); in qcom_adreno_smmu_set_stall()
72 struct arm_smmu_domain *smmu_domain = (void *)cookie; in qcom_adreno_smmu_resume_translation() local
73 struct arm_smmu_cfg *cfg = &smmu_domain->cfg; in qcom_adreno_smmu_resume_translation()
74 struct arm_smmu_device *smmu = smmu_domain->smmu; in qcom_adreno_smmu_resume_translation()
107 struct arm_smmu_domain *smmu_domain = (void *)cookie; in qcom_adreno_smmu_get_ttbr1_cfg() local
[all …]
Darm-smmu.c244 static void arm_smmu_tlb_sync_context(struct arm_smmu_domain *smmu_domain) in arm_smmu_tlb_sync_context() argument
246 struct arm_smmu_device *smmu = smmu_domain->smmu; in arm_smmu_tlb_sync_context()
249 spin_lock_irqsave(&smmu_domain->cb_lock, flags); in arm_smmu_tlb_sync_context()
250 __arm_smmu_tlb_sync(smmu, ARM_SMMU_CB(smmu, smmu_domain->cfg.cbndx), in arm_smmu_tlb_sync_context()
252 spin_unlock_irqrestore(&smmu_domain->cb_lock, flags); in arm_smmu_tlb_sync_context()
257 struct arm_smmu_domain *smmu_domain = cookie; in arm_smmu_tlb_inv_context_s1() local
263 arm_smmu_cb_write(smmu_domain->smmu, smmu_domain->cfg.cbndx, in arm_smmu_tlb_inv_context_s1()
264 ARM_SMMU_CB_S1_TLBIASID, smmu_domain->cfg.asid); in arm_smmu_tlb_inv_context_s1()
265 arm_smmu_tlb_sync_context(smmu_domain); in arm_smmu_tlb_inv_context_s1()
270 struct arm_smmu_domain *smmu_domain = cookie; in arm_smmu_tlb_inv_context_s2() 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.c225 struct arm_smmu_domain *smmu_domain; in nvidia_smmu_context_fault() local
228 smmu_domain = container_of(domain, struct arm_smmu_domain, domain); in nvidia_smmu_context_fault()
229 smmu = smmu_domain->smmu; in nvidia_smmu_context_fault()
Darm-smmu.h433 int (*init_context)(struct arm_smmu_domain *smmu_domain,
440 int (*alloc_context_bank)(struct arm_smmu_domain *smmu_domain,
/Linux-v5.15/drivers/iommu/arm/arm-smmu-v3/
Darm-smmu-v3-sva.c50 struct arm_smmu_domain *smmu_domain; in arm_smmu_share_asid() local
64 smmu_domain = container_of(cd, struct arm_smmu_domain, s1_cfg.cd); in arm_smmu_share_asid()
65 smmu = smmu_domain->smmu; in arm_smmu_share_asid()
82 arm_smmu_write_ctx_desc(smmu_domain, 0, cd); in arm_smmu_share_asid()
185 struct arm_smmu_domain *smmu_domain = smmu_mn->domain; in arm_smmu_mm_invalidate_range() local
188 if (!(smmu_domain->smmu->features & ARM_SMMU_FEAT_BTM)) in arm_smmu_mm_invalidate_range()
190 PAGE_SIZE, false, smmu_domain); in arm_smmu_mm_invalidate_range()
191 arm_smmu_atc_inv_domain(smmu_domain, mm->pasid, start, size); in arm_smmu_mm_invalidate_range()
197 struct arm_smmu_domain *smmu_domain = smmu_mn->domain; in arm_smmu_mm_release() local
209 arm_smmu_write_ctx_desc(smmu_domain, mm->pasid, &quiet_cd); in arm_smmu_mm_release()
[all …]
Darm-smmu-v3.c952 static void arm_smmu_sync_cd(struct arm_smmu_domain *smmu_domain, in arm_smmu_sync_cd() argument
959 struct arm_smmu_device *smmu = smmu_domain->smmu; in arm_smmu_sync_cd()
970 spin_lock_irqsave(&smmu_domain->devices_lock, flags); in arm_smmu_sync_cd()
971 list_for_each_entry(master, &smmu_domain->devices, domain_head) { in arm_smmu_sync_cd()
977 spin_unlock_irqrestore(&smmu_domain->devices_lock, flags); in arm_smmu_sync_cd()
1007 static __le64 *arm_smmu_get_cd_ptr(struct arm_smmu_domain *smmu_domain, in arm_smmu_get_cd_ptr() argument
1013 struct arm_smmu_device *smmu = smmu_domain->smmu; in arm_smmu_get_cd_ptr()
1014 struct arm_smmu_ctx_desc_cfg *cdcfg = &smmu_domain->s1_cfg.cdcfg; in arm_smmu_get_cd_ptr()
1016 if (smmu_domain->s1_cfg.s1fmt == STRTAB_STE_0_S1FMT_LINEAR) in arm_smmu_get_cd_ptr()
1028 arm_smmu_sync_cd(smmu_domain, ssid, false); in arm_smmu_get_cd_ptr()
[all …]
Darm-smmu-v3.h741 int arm_smmu_write_ctx_desc(struct arm_smmu_domain *smmu_domain, int ssid,
746 struct arm_smmu_domain *smmu_domain);
748 int arm_smmu_atc_inv_domain(struct arm_smmu_domain *smmu_domain, int ssid,