Lines Matching refs:sr
31 struct xe_reg_sr *sr = arg; in reg_sr_fini() local
35 xa_for_each(&sr->xa, reg, entry) in reg_sr_fini()
38 xa_destroy(&sr->xa); in reg_sr_fini()
41 int xe_reg_sr_init(struct xe_reg_sr *sr, const char *name, struct xe_device *xe) in xe_reg_sr_init() argument
43 xa_init(&sr->xa); in xe_reg_sr_init()
44 sr->name = name; in xe_reg_sr_init()
46 return drmm_add_action_or_reset(&xe->drm, reg_sr_fini, sr); in xe_reg_sr_init()
67 static void reg_sr_inc_error(struct xe_reg_sr *sr) in reg_sr_inc_error() argument
70 sr->errors++; in reg_sr_inc_error()
74 int xe_reg_sr_add(struct xe_reg_sr *sr, in xe_reg_sr_add() argument
79 struct xe_reg_sr_entry *pentry = xa_load(&sr->xa, idx); in xe_reg_sr_add()
102 ret = xa_err(xa_store(&sr->xa, idx, pentry, GFP_KERNEL)); in xe_reg_sr_add()
115 reg_sr_inc_error(sr); in xe_reg_sr_add()
167 void xe_reg_sr_apply_mmio(struct xe_reg_sr *sr, struct xe_gt *gt) in xe_reg_sr_apply_mmio() argument
173 if (xa_empty(&sr->xa)) in xe_reg_sr_apply_mmio()
179 xe_gt_dbg(gt, "Applying %s save-restore MMIOs\n", sr->name); in xe_reg_sr_apply_mmio()
185 xa_for_each(&sr->xa, reg, entry) in xe_reg_sr_apply_mmio()
202 void xe_reg_sr_dump(struct xe_reg_sr *sr, struct drm_printer *p) in xe_reg_sr_dump() argument
207 if (!sr->name || xa_empty(&sr->xa)) in xe_reg_sr_dump()
210 drm_printf(p, "%s\n", sr->name); in xe_reg_sr_dump()
211 xa_for_each(&sr->xa, reg, entry) in xe_reg_sr_dump()