Lines Matching refs:nested_domain
35 struct arm_smmu_nested_domain *nested_domain, bool ats_enabled) in arm_smmu_make_nested_cd_table_ste() argument
38 target, master, nested_domain->vsmmu->s2_parent, ats_enabled); in arm_smmu_make_nested_cd_table_ste()
43 target->data[0] |= nested_domain->ste[0] & in arm_smmu_make_nested_cd_table_ste()
45 target->data[1] |= nested_domain->ste[1]; in arm_smmu_make_nested_cd_table_ste()
58 struct arm_smmu_nested_domain *nested_domain, bool ats_enabled) in arm_smmu_make_nested_domain_ste() argument
61 FIELD_GET(STRTAB_STE_0_CFG, le64_to_cpu(nested_domain->ste[0])); in arm_smmu_make_nested_domain_ste()
68 if (!(nested_domain->ste[0] & cpu_to_le64(STRTAB_STE_0_V))) in arm_smmu_make_nested_domain_ste()
73 arm_smmu_make_nested_cd_table_ste(target, master, nested_domain, in arm_smmu_make_nested_domain_ste()
78 nested_domain->vsmmu->s2_parent, in arm_smmu_make_nested_domain_ste()
91 struct arm_smmu_nested_domain *nested_domain = in arm_smmu_attach_dev_nested() local
102 if (nested_domain->vsmmu->smmu != master->smmu) in arm_smmu_attach_dev_nested()
116 state.disable_ats = !nested_domain->enable_ats; in arm_smmu_attach_dev_nested()
123 arm_smmu_make_nested_domain_ste(&ste, master, nested_domain, in arm_smmu_attach_dev_nested()
181 struct arm_smmu_nested_domain *nested_domain; in arm_vsmmu_alloc_domain_nested() local
198 nested_domain = kzalloc(sizeof(*nested_domain), GFP_KERNEL_ACCOUNT); in arm_vsmmu_alloc_domain_nested()
199 if (!nested_domain) in arm_vsmmu_alloc_domain_nested()
202 nested_domain->domain.type = IOMMU_DOMAIN_NESTED; in arm_vsmmu_alloc_domain_nested()
203 nested_domain->domain.ops = &arm_smmu_nested_ops; in arm_vsmmu_alloc_domain_nested()
204 nested_domain->enable_ats = enable_ats; in arm_vsmmu_alloc_domain_nested()
205 nested_domain->vsmmu = vsmmu; in arm_vsmmu_alloc_domain_nested()
206 nested_domain->ste[0] = arg.ste[0]; in arm_vsmmu_alloc_domain_nested()
207 nested_domain->ste[1] = arg.ste[1] & ~cpu_to_le64(STRTAB_STE_1_EATS); in arm_vsmmu_alloc_domain_nested()
209 return &nested_domain->domain; in arm_vsmmu_alloc_domain_nested()