Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/xe/reg_sr: Use scope-based forcewake

Use scope-based forcewake to slightly simplify the reg_sr code.

Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://patch.msgid.link/20251118164338.3572146-48-matthew.d.roper@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>

+5 -12
+5 -12
drivers/gpu/drm/xe/xe_reg_sr.c
··· 168 168 { 169 169 struct xe_reg_sr_entry *entry; 170 170 unsigned long reg; 171 - unsigned int fw_ref; 172 171 173 172 if (xa_empty(&sr->xa)) 174 173 return; ··· 177 178 178 179 xe_gt_dbg(gt, "Applying %s save-restore MMIOs\n", sr->name); 179 180 180 - fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL); 181 - if (!xe_force_wake_ref_has_domain(fw_ref, XE_FORCEWAKE_ALL)) 182 - goto err_force_wake; 181 + CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL); 182 + if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) { 183 + xe_gt_err(gt, "Failed to apply, err=-ETIMEDOUT\n"); 184 + return; 185 + } 183 186 184 187 xa_for_each(&sr->xa, reg, entry) 185 188 apply_one_mmio(gt, entry); 186 - 187 - xe_force_wake_put(gt_to_fw(gt), fw_ref); 188 - 189 - return; 190 - 191 - err_force_wake: 192 - xe_force_wake_put(gt_to_fw(gt), fw_ref); 193 - xe_gt_err(gt, "Failed to apply, err=-ETIMEDOUT\n"); 194 189 } 195 190 196 191 /**