Commit 65d046b2d8e0 for kernel

commit 65d046b2d8e0d6d855379a981869005fd6b6a41b
Author: Sanjay Yadav <sanjay.kumar.yadav@intel.com>
Date:   Fri Mar 13 12:46:09 2026 +0530

    drm/xe: Fix missing runtime PM reference in ccs_mode_store

    ccs_mode_store() calls xe_gt_reset() which internally invokes
    xe_pm_runtime_get_noresume(). That function requires the caller
    to already hold an outer runtime PM reference and warns if none
    is held:

      [46.891177] xe 0000:03:00.0: [drm] Missing outer runtime PM protection
      [46.891178] WARNING: drivers/gpu/drm/xe/xe_pm.c:885 at
      xe_pm_runtime_get_noresume+0x8b/0xc0

    Fix this by protecting xe_gt_reset() with the scope-based
    guard(xe_pm_runtime)(xe), which is the preferred form when
    the reference lifetime matches a single scope.

    v2:
    - Use scope-based guard(xe_pm_runtime)(xe) (Shuicheng)
    - Update commit message accordingly

    Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7593
    Fixes: 480b358e7d8e ("drm/xe: Do not wake device during a GT reset")
    Cc: <stable@vger.kernel.org> # v6.19+
    Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Cc: Matthew Brost <matthew.brost@intel.com>
    Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
    Cc: Shuicheng Lin <shuicheng.lin@intel.com>
    Suggested-by: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Sanjay Yadav <sanjay.kumar.yadav@intel.com>
    Reviewed-by: Shuicheng Lin <shuicheng.lin@intel.com>
    Reviewed-by: Matthew Auld <matthew.auld@intel.com>
    Signed-off-by: Matthew Auld <matthew.auld@intel.com>
    Link: https://patch.msgid.link/20260313071608.3459480-2-sanjay.kumar.yadav@intel.com
    (cherry picked from commit 7937ea733f79b3f25e802a0c8360bf7423856f36)
    Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>

diff --git a/drivers/gpu/drm/xe/xe_gt_ccs_mode.c b/drivers/gpu/drm/xe/xe_gt_ccs_mode.c
index fe944687728c..03c1862ba497 100644
--- a/drivers/gpu/drm/xe/xe_gt_ccs_mode.c
+++ b/drivers/gpu/drm/xe/xe_gt_ccs_mode.c
@@ -12,6 +12,7 @@
 #include "xe_gt_printk.h"
 #include "xe_gt_sysfs.h"
 #include "xe_mmio.h"
+#include "xe_pm.h"
 #include "xe_sriov.h"

 static void __xe_gt_apply_ccs_mode(struct xe_gt *gt, u32 num_engines)
@@ -150,6 +151,7 @@ ccs_mode_store(struct device *kdev, struct device_attribute *attr,
 		xe_gt_info(gt, "Setting compute mode to %d\n", num_engines);
 		gt->ccs_mode = num_engines;
 		xe_gt_record_user_engines(gt);
+		guard(xe_pm_runtime)(xe);
 		xe_gt_reset(gt);
 	}