Skip to content

Commit a4ff26b

Browse files
hoganderMaarten Lankhorst
authored andcommitted
drm/xe: Do clean shutdown also when using flr
Currently Xe driver is triggering flr without any clean-up on shutdown. This is causing random warnings from pending related works as the underlying hardware is reset in the middle of their execution. Fix this by performing clean shutdown also when using flr. Fixes: 501d799 ("drm/xe: Wire up device shutdown handler") Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Reviewed-by: Maarten Lankhorst <dev@lankhorst.se> Link: https://patch.msgid.link/20251031122312.1836534-1-jouni.hogander@intel.com Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
1 parent 4926713 commit a4ff26b

1 file changed

Lines changed: 9 additions & 9 deletions

File tree

drivers/gpu/drm/xe/xe_device.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -988,21 +988,21 @@ void xe_device_remove(struct xe_device *xe)
988988

989989
void xe_device_shutdown(struct xe_device *xe)
990990
{
991+
struct xe_gt *gt;
992+
u8 id;
993+
991994
drm_dbg(&xe->drm, "Shutting down device\n");
992995

993-
if (xe_driver_flr_disabled(xe)) {
994-
struct xe_gt *gt;
995-
u8 id;
996+
xe_display_pm_shutdown(xe);
996997

997-
xe_display_pm_shutdown(xe);
998+
xe_irq_suspend(xe);
998999

999-
xe_irq_suspend(xe);
1000+
for_each_gt(gt, xe, id)
1001+
xe_gt_shutdown(gt);
10001002

1001-
for_each_gt(gt, xe, id)
1002-
xe_gt_shutdown(gt);
1003+
xe_display_pm_shutdown_late(xe);
10031004

1004-
xe_display_pm_shutdown_late(xe);
1005-
} else {
1005+
if (!xe_driver_flr_disabled(xe)) {
10061006
/* BOOM! */
10071007
__xe_driver_flr(xe);
10081008
}

0 commit comments

Comments
 (0)