Lines Matching refs:asid

106 static int gru_reset_asid_limit(struct gru_state *gru, int asid)  in gru_reset_asid_limit()  argument
110 gru_dbg(grudev, "gid %d, asid 0x%x\n", gru->gs_gid, asid); in gru_reset_asid_limit()
113 if (asid >= limit) in gru_reset_asid_limit()
114 asid = gru_wrap_asid(gru); in gru_reset_asid_limit()
125 if (inuse_asid == asid) { in gru_reset_asid_limit()
126 asid += ASID_INC; in gru_reset_asid_limit()
127 if (asid >= limit) { in gru_reset_asid_limit()
133 if (asid >= MAX_ASID) in gru_reset_asid_limit()
134 asid = gru_wrap_asid(gru); in gru_reset_asid_limit()
139 if ((inuse_asid > asid) && (inuse_asid < limit)) in gru_reset_asid_limit()
143 gru->gs_asid = asid; in gru_reset_asid_limit()
145 asid, limit); in gru_reset_asid_limit()
146 return asid; in gru_reset_asid_limit()
152 int asid; in gru_assign_asid() local
155 asid = gru->gs_asid; in gru_assign_asid()
156 if (asid >= gru->gs_asid_limit) in gru_assign_asid()
157 asid = gru_reset_asid_limit(gru, asid); in gru_assign_asid()
159 gru_dbg(grudev, "gid %d, asid 0x%x\n", gru->gs_gid, asid); in gru_assign_asid()
160 return asid; in gru_assign_asid()
243 int asid; in gru_load_mm_tracker() local
246 asid = asids->mt_asid; in gru_load_mm_tracker()
249 if (asid == 0 || (asids->mt_ctxbitmap == 0 && asids->mt_asid_gen != in gru_load_mm_tracker()
251 asid = gru_assign_asid(gru); in gru_load_mm_tracker()
252 asids->mt_asid = asid; in gru_load_mm_tracker()
268 gru->gs_gid, gts, gms, gts->ts_ctxnum, asid, in gru_load_mm_tracker()
270 return asid; in gru_load_mm_tracker()
595 int i, err, asid, ctxnum = gts->ts_ctxnum; in gru_load_context() local
626 asid = gru_load_mm_tracker(gru, gts); in gru_load_context()
628 cch->asid[i] = asid + i; in gru_load_context()