drm/xe: Don't disable GuCRC in suspend path

GuCRC should not be disabled in xe_guc_stop_prepare() as C6 is a
prerequisite for s0ix and s2idle. This is a regression caused by
the patch below.

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7510
Fixes: 40a684f91d ("drm/xe: Decouple GuC RC code from xe_guc_pc")
Cc: Riana Tauro <riana.tauro@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Reviewed-by: Riana Tauro <riana.tauro@intel.com>
Link: https://patch.msgid.link/20260303181416.3880937-1-vinay.belgaumkar@intel.com
This commit is contained in:
Vinay Belgaumkar 2026-03-03 10:14:16 -08:00
parent 01aab7e1c9
commit b458597544
2 changed files with 2 additions and 1 deletions

View File

@ -38,6 +38,7 @@
#include "xe_gt_topology.h"
#include "xe_guc_exec_queue_types.h"
#include "xe_guc_pc.h"
#include "xe_guc_rc.h"
#include "xe_guc_submit.h"
#include "xe_hw_fence.h"
#include "xe_hw_engine_class_sysfs.h"
@ -896,6 +897,7 @@ static void gt_reset_worker(struct work_struct *w)
if (IS_SRIOV_PF(gt_to_xe(gt)))
xe_gt_sriov_pf_stop_prepare(gt);
xe_guc_rc_disable(&gt->uc.guc);
xe_uc_stop_prepare(&gt->uc);
xe_pagefault_reset(gt_to_xe(gt), gt);

View File

@ -1671,7 +1671,6 @@ void xe_guc_stop_prepare(struct xe_guc *guc)
if (!IS_SRIOV_VF(guc_to_xe(guc))) {
int err;
xe_guc_rc_disable(guc);
err = xe_guc_pc_stop(&guc->pc);
xe_gt_WARN(guc_to_gt(guc), err, "Failed to stop GuC PC: %pe\n",
ERR_PTR(err));