]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/reg_sr: Use scope-based forcewake
authorMatt Roper <matthew.d.roper@intel.com>
Tue, 18 Nov 2025 16:43:58 +0000 (08:43 -0800)
committerMatt Roper <matthew.d.roper@intel.com>
Wed, 19 Nov 2025 19:58:58 +0000 (11:58 -0800)
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>
drivers/gpu/drm/xe/xe_reg_sr.c

index fc8447a838c4f98eeca7cd6f33d76d8222389cde..1a465385f909104deb8cd50b08766a3a295e6505 100644 (file)
@@ -168,7 +168,6 @@ void xe_reg_sr_apply_mmio(struct xe_reg_sr *sr, struct xe_gt *gt)
 {
        struct xe_reg_sr_entry *entry;
        unsigned long reg;
-       unsigned int fw_ref;
 
        if (xa_empty(&sr->xa))
                return;
@@ -178,20 +177,14 @@ void xe_reg_sr_apply_mmio(struct xe_reg_sr *sr, struct xe_gt *gt)
 
        xe_gt_dbg(gt, "Applying %s save-restore MMIOs\n", sr->name);
 
-       fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
-       if (!xe_force_wake_ref_has_domain(fw_ref, XE_FORCEWAKE_ALL))
-               goto err_force_wake;
+       CLASS(xe_force_wake, fw_ref)(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+       if (!xe_force_wake_ref_has_domain(fw_ref.domains, XE_FORCEWAKE_ALL)) {
+               xe_gt_err(gt, "Failed to apply, err=-ETIMEDOUT\n");
+               return;
+       }
 
        xa_for_each(&sr->xa, reg, entry)
                apply_one_mmio(gt, entry);
-
-       xe_force_wake_put(gt_to_fw(gt), fw_ref);
-
-       return;
-
-err_force_wake:
-       xe_force_wake_put(gt_to_fw(gt), fw_ref);
-       xe_gt_err(gt, "Failed to apply, err=-ETIMEDOUT\n");
 }
 
 /**