Lines Matching refs:smrs
901 struct arm_smmu_smr *smr = smmu->smrs + idx; in arm_smmu_write_smr()
924 if (smmu->features & ARM_SMMU_FEAT_EXIDS && smmu->smrs && in arm_smmu_write_s2cr()
925 smmu->smrs[idx].valid) in arm_smmu_write_s2cr()
933 if (smmu->smrs) in arm_smmu_write_sme()
946 if (!smmu->smrs) in arm_smmu_test_smr_masks()
957 if (!smmu->smrs[i].valid) in arm_smmu_test_smr_masks()
979 struct arm_smmu_smr *smrs = smmu->smrs; in arm_smmu_find_sme() local
983 if (!smrs) in arm_smmu_find_sme()
988 if (!smrs[i].valid) { in arm_smmu_find_sme()
1004 if ((mask & smrs[i].mask) == mask && in arm_smmu_find_sme()
1005 !((id ^ smrs[i].id) & ~smrs[i].mask)) in arm_smmu_find_sme()
1012 if (!((id ^ smrs[i].id) & ~(smrs[i].mask | mask))) in arm_smmu_find_sme()
1031 } else if (smmu->smrs) { in arm_smmu_free_sme()
1032 smmu->smrs[idx].valid = false; in arm_smmu_free_sme()
1043 struct arm_smmu_smr *smrs = smmu->smrs; in arm_smmu_master_alloc_smes() local
1062 if (smrs && smmu->s2crs[idx].count == 0) { in arm_smmu_master_alloc_smes()
1063 smrs[idx].id = sid; in arm_smmu_master_alloc_smes()
1064 smrs[idx].mask = mask; in arm_smmu_master_alloc_smes()
1065 smrs[idx].valid = true; in arm_smmu_master_alloc_smes()
1794 smmu->smrs = devm_kcalloc(smmu->dev, size, sizeof(*smmu->smrs), in arm_smmu_device_cfg_probe()
1796 if (!smmu->smrs) in arm_smmu_device_cfg_probe()