Unverified Commit 83dcee17 authored by Shuicheng Lin's avatar Shuicheng Lin Committed by Rodrigo Vivi
Browse files

drm/xe/pm: Restore display pm if there is error after display suspend



xe_bo_evict_all() is called after xe_display_pm_suspend(). So if there
is error with xe_bo_evict_all(), display pm should be restored.

Fixes: 51462211 ("drm/xe/pxp: add PXP PM support")
Fixes: cb8f81c1 ("drm/xe/display: Make display suspend/resume work on discrete")
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: default avatarShuicheng Lin <shuicheng.lin@intel.com>
Reviewed-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://lore.kernel.org/r/20250708035424.3608190-2-shuicheng.lin@intel.com


Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 94de1dfd
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ int xe_pm_suspend(struct xe_device *xe)
	/* FIXME: Super racey... */
	err = xe_bo_evict_all(xe);
	if (err)
		goto err_pxp;
		goto err_display;

	for_each_gt(gt, xe, id) {
		err = xe_gt_suspend(gt);
@@ -151,7 +151,6 @@ int xe_pm_suspend(struct xe_device *xe)

err_display:
	xe_display_pm_resume(xe);
err_pxp:
	xe_pxp_pm_resume(xe->pxp);
err:
	drm_dbg(&xe->drm, "Device suspend failed %d\n", err);