Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/xe: Add missing runtime reference to wedged upon gt_reset
@ 2024-08-30 18:35 Rodrigo Vivi
  2024-08-30 18:35 ` [PATCH 2/2] drm/xe/display: Avoid encoder_suspend at runtime suspend Rodrigo Vivi
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Rodrigo Vivi @ 2024-08-30 18:35 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: Rodrigo Vivi, Himal Prasad Ghimiray, Matthew Brost

Fixes this missed case:

xe 0000:00:02.0: [drm] Missing outer runtime PM protection
WARNING: CPU: 99 PID: 1455 at drivers/gpu/drm/xe/xe_pm.c:564 xe_pm_runtime_get_noresume+0x48/0x60 [xe]
Call Trace:
<TASK>
? show_regs+0x67/0x70
? __warn+0x94/0x1b0
? xe_pm_runtime_get_noresume+0x48/0x60 [xe]
? report_bug+0x1b7/0x1d0
? handle_bug+0x46/0x80
? exc_invalid_op+0x19/0x70
? asm_exc_invalid_op+0x1b/0x20
? xe_pm_runtime_get_noresume+0x48/0x60 [xe]
xe_device_declare_wedged+0x91/0x280 [xe]
gt_reset_worker+0xa2/0x250 [xe]

v2: Also move get and get the right Fixes tag (Himal, Brost)

Fixes: fb74b205cdd2 ("drm/xe: Introduce a simple wedged state")
Cc: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/xe/xe_gt.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
index f82b3e8ac5c8..dd96dec95b19 100644
--- a/drivers/gpu/drm/xe/xe_gt.c
+++ b/drivers/gpu/drm/xe/xe_gt.c
@@ -754,12 +754,13 @@ static int gt_reset(struct xe_gt *gt)
 
 	xe_gt_info(gt, "reset started\n");
 
+	xe_pm_runtime_get(gt_to_xe(gt));
+
 	if (xe_fault_inject_gt_reset()) {
 		err = -ECANCELED;
 		goto err_fail;
 	}
 
-	xe_pm_runtime_get(gt_to_xe(gt));
 	xe_gt_sanitize(gt);
 
 	err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
@@ -794,11 +795,11 @@ static int gt_reset(struct xe_gt *gt)
 	XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
 err_msg:
 	XE_WARN_ON(xe_uc_start(&gt->uc));
-	xe_pm_runtime_put(gt_to_xe(gt));
 err_fail:
 	xe_gt_err(gt, "reset failed (%pe)\n", ERR_PTR(err));
 
 	xe_device_declare_wedged(gt_to_xe(gt));
+	xe_pm_runtime_put(gt_to_xe(gt));
 
 	return err;
 }
-- 
2.46.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-08-31 16:03 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-30 18:35 [PATCH 1/2] drm/xe: Add missing runtime reference to wedged upon gt_reset Rodrigo Vivi
2024-08-30 18:35 ` [PATCH 2/2] drm/xe/display: Avoid encoder_suspend at runtime suspend Rodrigo Vivi
2024-08-30 19:22   ` Cavitt, Jonathan
2024-08-30 18:41 ` ✓ CI.Patch_applied: success for series starting with [1/2] drm/xe: Add missing runtime reference to wedged upon gt_reset Patchwork
2024-08-30 18:41 ` ✗ CI.checkpatch: warning " Patchwork
2024-08-30 18:42 ` ✓ CI.KUnit: success " Patchwork
2024-08-30 18:54 ` ✓ CI.Build: " Patchwork
2024-08-30 18:57 ` ✓ CI.Hooks: " Patchwork
2024-08-30 18:58 ` ✓ CI.checksparse: " Patchwork
2024-08-30 19:17 ` ✓ CI.BAT: " Patchwork
2024-08-30 19:20 ` [PATCH 1/2] " Cavitt, Jonathan
2024-08-31  8:44 ` ✗ CI.FULL: failure for series starting with [1/2] " Patchwork
2024-08-31 16:02 ` [PATCH 1/2] " Ghimiray, Himal Prasad

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox