Lines Matching refs:cdcfg

1036 	struct arm_smmu_ctx_desc_cfg *cdcfg = &smmu_domain->s1_cfg.cdcfg;  in arm_smmu_get_cd_ptr()  local
1039 return cdcfg->cdtab + ssid * CTXDESC_CD_DWORDS; in arm_smmu_get_cd_ptr()
1042 l1_desc = &cdcfg->l1_desc[idx]; in arm_smmu_get_cd_ptr()
1047 l1ptr = cdcfg->cdtab + idx * CTXDESC_L1_DESC_DWORDS; in arm_smmu_get_cd_ptr()
1142 struct arm_smmu_ctx_desc_cfg *cdcfg = &cfg->cdcfg; in arm_smmu_alloc_cd_tables() local
1149 cdcfg->num_l1_ents = max_contexts; in arm_smmu_alloc_cd_tables()
1154 cdcfg->num_l1_ents = DIV_ROUND_UP(max_contexts, in arm_smmu_alloc_cd_tables()
1157 cdcfg->l1_desc = devm_kcalloc(smmu->dev, cdcfg->num_l1_ents, in arm_smmu_alloc_cd_tables()
1158 sizeof(*cdcfg->l1_desc), in arm_smmu_alloc_cd_tables()
1160 if (!cdcfg->l1_desc) in arm_smmu_alloc_cd_tables()
1163 l1size = cdcfg->num_l1_ents * (CTXDESC_L1_DESC_DWORDS << 3); in arm_smmu_alloc_cd_tables()
1166 cdcfg->cdtab = dmam_alloc_coherent(smmu->dev, l1size, &cdcfg->cdtab_dma, in arm_smmu_alloc_cd_tables()
1168 if (!cdcfg->cdtab) { in arm_smmu_alloc_cd_tables()
1177 if (cdcfg->l1_desc) { in arm_smmu_alloc_cd_tables()
1178 devm_kfree(smmu->dev, cdcfg->l1_desc); in arm_smmu_alloc_cd_tables()
1179 cdcfg->l1_desc = NULL; in arm_smmu_alloc_cd_tables()
1189 struct arm_smmu_ctx_desc_cfg *cdcfg = &smmu_domain->s1_cfg.cdcfg; in arm_smmu_free_cd_tables() local
1191 if (cdcfg->l1_desc) { in arm_smmu_free_cd_tables()
1194 for (i = 0; i < cdcfg->num_l1_ents; i++) { in arm_smmu_free_cd_tables()
1195 if (!cdcfg->l1_desc[i].l2ptr) in arm_smmu_free_cd_tables()
1199 cdcfg->l1_desc[i].l2ptr, in arm_smmu_free_cd_tables()
1200 cdcfg->l1_desc[i].l2ptr_dma); in arm_smmu_free_cd_tables()
1202 devm_kfree(smmu->dev, cdcfg->l1_desc); in arm_smmu_free_cd_tables()
1203 cdcfg->l1_desc = NULL; in arm_smmu_free_cd_tables()
1205 l1size = cdcfg->num_l1_ents * (CTXDESC_L1_DESC_DWORDS << 3); in arm_smmu_free_cd_tables()
1207 l1size = cdcfg->num_l1_ents * (CTXDESC_CD_DWORDS << 3); in arm_smmu_free_cd_tables()
1210 dmam_free_coherent(smmu->dev, l1size, cdcfg->cdtab, cdcfg->cdtab_dma); in arm_smmu_free_cd_tables()
1211 cdcfg->cdtab_dma = 0; in arm_smmu_free_cd_tables()
1212 cdcfg->cdtab = NULL; in arm_smmu_free_cd_tables()
1363 val |= (s1_cfg->cdcfg.cdtab_dma & STRTAB_STE_0_S1CTXPTR_MASK) | in arm_smmu_write_strtab_ent()
2076 if (cfg->cdcfg.cdtab) in arm_smmu_domain_free()