From 43109e398d2d4ac8a932ac46fde34e55cec53d4c Mon Sep 17 00:00:00 2001 From: Raag Jadav Date: Fri, 28 Nov 2025 13:52:12 +0530 Subject: [PATCH] drm/xe/gt: Use scope-based forcewake Switch runtime PM code to use scope-based forcewake for consistency with other parts of the driver. Signed-off-by: Raag Jadav Reviewed-by: Matt Roper Link: https://patch.msgid.link/20251128082212.294592-1-raag.jadav@intel.com Signed-off-by: Matt Roper --- drivers/gpu/drm/xe/xe_gt.c | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c index 996756d1fbd5..1bfde7af90b3 100644 --- a/drivers/gpu/drm/xe/xe_gt.c +++ b/drivers/gpu/drm/xe/xe_gt.c @@ -964,26 +964,20 @@ int xe_gt_resume(struct xe_gt *gt) */ int xe_gt_runtime_suspend(struct xe_gt *gt) { - unsigned int fw_ref; - int err = -ETIMEDOUT; - xe_gt_dbg(gt, "runtime suspending\n"); - 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, "runtime suspend failed (%pe)\n", ERR_PTR(-ETIMEDOUT)); + return -ETIMEDOUT; + } xe_uc_runtime_suspend(>->uc); xe_gt_disable_host_l2_vram(gt); - xe_force_wake_put(gt_to_fw(gt), fw_ref); xe_gt_dbg(gt, "runtime suspended\n"); return 0; - -err_force_wake: - xe_force_wake_put(gt_to_fw(gt), fw_ref); - return err; } /** @@ -994,26 +988,20 @@ err_force_wake: */ int xe_gt_runtime_resume(struct xe_gt *gt) { - unsigned int fw_ref; - int err = -ETIMEDOUT; - xe_gt_dbg(gt, "runtime resuming\n"); - 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, "runtime resume failed (%pe)\n", ERR_PTR(-ETIMEDOUT)); + return -ETIMEDOUT; + } xe_gt_enable_host_l2_vram(gt); xe_uc_runtime_resume(>->uc); - xe_force_wake_put(gt_to_fw(gt), fw_ref); xe_gt_dbg(gt, "runtime resumed\n"); return 0; - -err_force_wake: - xe_force_wake_put(gt_to_fw(gt), fw_ref); - return err; } struct xe_hw_engine *xe_gt_hw_engine(struct xe_gt *gt, -- 2.47.3