Lines Matching refs:smrs

890 	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()
935 if (!smmu->smrs) in arm_smmu_test_smr_masks()
946 if (!smmu->smrs[i].valid) in arm_smmu_test_smr_masks()
968 struct arm_smmu_smr *smrs = smmu->smrs; in arm_smmu_find_sme() local
972 if (!smrs) in arm_smmu_find_sme()
977 if (!smrs[i].valid) { in arm_smmu_find_sme()
993 if ((mask & smrs[i].mask) == mask && in arm_smmu_find_sme()
994 !((id ^ smrs[i].id) & ~smrs[i].mask)) in arm_smmu_find_sme()
1001 if (!((id ^ smrs[i].id) & ~(smrs[i].mask | mask))) in arm_smmu_find_sme()
1014 if (smmu->smrs) in arm_smmu_free_sme()
1015 smmu->smrs[idx].valid = false; in arm_smmu_free_sme()
1025 struct arm_smmu_smr *smrs = smmu->smrs; in arm_smmu_master_alloc_smes() local
1044 if (smrs && smmu->s2crs[idx].count == 0) { in arm_smmu_master_alloc_smes()
1045 smrs[idx].id = sid; in arm_smmu_master_alloc_smes()
1046 smrs[idx].mask = mask; in arm_smmu_master_alloc_smes()
1047 smrs[idx].valid = true; in arm_smmu_master_alloc_smes()
1747 smmu->smrs = devm_kcalloc(smmu->dev, size, sizeof(*smmu->smrs), in arm_smmu_device_cfg_probe()
1749 if (!smmu->smrs) in arm_smmu_device_cfg_probe()
2034 smmu->smrs[idx].id = rmr->sids[i]; in arm_smmu_rmr_install_bypass_smr()
2035 smmu->smrs[idx].mask = 0; in arm_smmu_rmr_install_bypass_smr()
2036 smmu->smrs[idx].valid = true; in arm_smmu_rmr_install_bypass_smr()