Lines Matching refs:sid
257 cmd[0] |= FIELD_PREP(CMDQ_PREFETCH_0_SID, ent->prefetch.sid);
263 cmd[0] |= FIELD_PREP(CMDQ_CFGI_0_SID, ent->cfgi.sid);
267 cmd[0] |= FIELD_PREP(CMDQ_CFGI_0_SID, ent->cfgi.sid);
307 cmd[0] |= FIELD_PREP(CMDQ_ATC_0_SID, ent->atc.sid);
314 cmd[0] |= FIELD_PREP(CMDQ_PRI_0_SID, ent->pri.sid);
327 cmd[0] |= FIELD_PREP(CMDQ_RESUME_0_SID, ent->resume.sid);
930 int sid = master->streams[0].id;
934 cmd.resume.sid = sid;
995 cmd.cfgi.sid = master->streams[i].id;
1244 static void arm_smmu_sync_ste_for_sid(struct arm_smmu_device *smmu, u32 sid)
1249 .sid = sid,
1257 static void arm_smmu_write_strtab_ent(struct arm_smmu_master *master, u32 sid,
1285 .sid = sid,
1343 arm_smmu_sync_ste_for_sid(smmu, sid);
1389 arm_smmu_sync_ste_for_sid(smmu, sid);
1392 arm_smmu_sync_ste_for_sid(smmu, sid);
1418 static int arm_smmu_init_l2_strtab(struct arm_smmu_device *smmu, u32 sid)
1423 struct arm_smmu_strtab_l1_desc *desc = &cfg->l1_desc[sid >> STRTAB_SPLIT];
1429 strtab = &cfg->strtab[(sid >> STRTAB_SPLIT) * STRTAB_L1_DESC_DWORDS];
1437 sid);
1447 arm_smmu_find_master(struct arm_smmu_device *smmu, u32 sid)
1457 if (stream->id < sid)
1459 else if (stream->id > sid)
1476 u32 sid = FIELD_GET(EVTQ_0_SID, evt[0]);
1541 master = arm_smmu_find_master(smmu, sid);
1604 u32 sid, ssid;
1608 sid = FIELD_GET(PRIQ_0_SID, evt[0]);
1617 sid, ssid, grpid, last ? "L" : "",
1629 .sid = sid,
1802 cmd.atc.sid = master->streams[i].id;
1848 cmd.atc.sid = master->streams[i].id;
2247 static __le64 *arm_smmu_get_step_for_sid(struct arm_smmu_device *smmu, u32 sid)
2257 idx = (sid >> STRTAB_SPLIT) * STRTAB_L1_DESC_DWORDS;
2259 idx = (sid & ((1 << STRTAB_SPLIT) - 1)) * STRTAB_STE_DWORDS;
2263 step = &cfg->strtab[sid * STRTAB_STE_DWORDS];
2275 u32 sid = master->streams[i].id;
2276 __le64 *step = arm_smmu_get_step_for_sid(smmu, sid);
2280 if (master->streams[j].id == sid)
2285 arm_smmu_write_strtab_ent(master, sid, step);
2550 static bool arm_smmu_sid_in_range(struct arm_smmu_device *smmu, u32 sid)
2557 return sid < limit;
2560 static int arm_smmu_init_sid_strtab(struct arm_smmu_device *smmu, u32 sid)
2563 if (!arm_smmu_sid_in_range(smmu, sid))
2568 return arm_smmu_init_l2_strtab(smmu, sid);
2590 u32 sid = fwspec->ids[i];
2593 new_stream->id = sid;
2596 ret = arm_smmu_init_sid_strtab(smmu, sid);