Lines Matching defs:rrl
214 static void enable_rrl(struct skx_imc *imc, int chan, struct reg_rrl *rrl,
217 enum rrl_mode mode = rrl->modes[rrl_set];
218 u32 offset = rrl->offsets[rrl_set][0], v;
219 u8 width = rrl->widths[0];
232 v &= ~rrl->uc_mask;
235 v |= rrl->noover_mask;
237 v &= ~rrl->noover_mask;
240 v |= rrl->en_patspr_mask;
242 v &= ~rrl->en_patspr_mask;
244 v |= rrl->en_mask;
247 if (*rrl_ctl & rrl->uc_mask)
248 v |= rrl->uc_mask;
251 if (!(*rrl_ctl & rrl->noover_mask))
252 v &= ~rrl->noover_mask;
254 if (*rrl_ctl & rrl->noover_mask)
255 v |= rrl->noover_mask;
259 if (!(*rrl_ctl & rrl->en_patspr_mask))
260 v &= ~rrl->en_patspr_mask;
262 if (*rrl_ctl & rrl->en_patspr_mask)
263 v |= rrl->en_patspr_mask;
266 if (!(*rrl_ctl & rrl->en_mask))
267 v &= ~rrl->en_mask;
273 static void enable_rrls(struct skx_imc *imc, int chan, struct reg_rrl *rrl,
276 for (int i = 0; i < rrl->set_num; i++)
277 enable_rrl(imc, chan, rrl, i, enable, rrl_ctl + i);
332 struct reg_rrl *rrl;
340 rrl = imc->hbm_mc ? res_cfg->reg_rrl_hbm[pch] : res_cfg->reg_rrl_ddr;
342 if (!rrl)
345 status_mask = rrl->over_mask | rrl->uc_mask | rrl->v_mask;
348 for (i = 0; i < rrl->set_num; i++) {
349 scrub = (rrl->modes[i] == FRE_SCRUB || rrl->modes[i] == LRE_SCRUB);
353 for (j = 0; j < rrl->reg_num && len - n > 0; j++) {
354 offset = rrl->offsets[i][j];
355 width = rrl->widths[j];
375 for (i = 0; i < rrl->cecnt_num && len - n > 0; i++) {
376 offset = rrl->cecnt_offsets[i];
377 width = rrl->cecnt_widths[i];