Lines Matching refs:smrs
898 struct arm_smmu_smr *smr = smmu->smrs + idx; in arm_smmu_write_smr()
913 if (smmu->features & ARM_SMMU_FEAT_EXIDS && smmu->smrs && in arm_smmu_write_s2cr()
914 smmu->smrs[idx].valid) in arm_smmu_write_s2cr()
922 if (smmu->smrs) in arm_smmu_write_sme()
934 if (!smmu->smrs) in arm_smmu_test_smr_masks()
955 struct arm_smmu_smr *smrs = smmu->smrs; in arm_smmu_find_sme() local
959 if (!smrs) in arm_smmu_find_sme()
964 if (!smrs[i].valid) { in arm_smmu_find_sme()
980 if ((mask & smrs[i].mask) == mask && in arm_smmu_find_sme()
981 !((id ^ smrs[i].id) & ~smrs[i].mask)) in arm_smmu_find_sme()
988 if (!((id ^ smrs[i].id) & ~(smrs[i].mask | mask))) in arm_smmu_find_sme()
1001 if (smmu->smrs) in arm_smmu_free_sme()
1002 smmu->smrs[idx].valid = false; in arm_smmu_free_sme()
1012 struct arm_smmu_smr *smrs = smmu->smrs; in arm_smmu_master_alloc_smes() local
1032 if (smrs && smmu->s2crs[idx].count == 0) { in arm_smmu_master_alloc_smes()
1033 smrs[idx].id = sid; in arm_smmu_master_alloc_smes()
1034 smrs[idx].mask = mask; in arm_smmu_master_alloc_smes()
1035 smrs[idx].valid = true; in arm_smmu_master_alloc_smes()
1735 smmu->smrs = devm_kcalloc(smmu->dev, size, sizeof(*smmu->smrs), in arm_smmu_device_cfg_probe()
1737 if (!smmu->smrs) in arm_smmu_device_cfg_probe()