summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Wajdeczko <michal.wajdeczko@intel.com>2026-03-27 23:24:06 +0300
committerMichal Wajdeczko <michal.wajdeczko@intel.com>2026-03-31 22:09:53 +0300
commit28c83ed7ceea67b3b411ddb30ff1e3181fc3af94 (patch)
treee84b351f84178741c252d998c09cb6623e29cefb
parentf47bf47a1afaf5a8ad3629f1fd4a5a0150ae59e9 (diff)
downloadlinux-28c83ed7ceea67b3b411ddb30ff1e3181fc3af94.tar.xz
drm/xe/uc: Track uc firmware state changes
Under CONFIG_DRM_XE_DEBUG_GUC print debug messages with each uc firmware state transition to better visualize the changes. [drm:xe_uc_fw_change_status [xe]] Tile0: GT0: GuC UNINITIALIZED->SELECTED [drm:xe_uc_fw_change_status [xe]] Tile0: GT0: GuC SELECTED->AVAILABLE [drm:xe_uc_fw_change_status [xe]] Tile0: GT0: GuC AVAILABLE->LOADABLE [drm:xe_uc_fw_change_status [xe]] Tile0: GT0: GuC LOADABLE->TRANSFERRED [drm:xe_uc_fw_change_status [xe]] Tile0: GT0: GuC TRANSFERRED->RUNNING Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Link: https://patch.msgid.link/20260327202407.563-1-michal.wajdeczko@intel.com
-rw-r--r--drivers/gpu/drm/xe/xe_uc_fw.c11
-rw-r--r--drivers/gpu/drm/xe/xe_uc_fw.h4
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 9cebb2490245..df2aa196f6f9 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -214,6 +214,17 @@ static struct xe_device *uc_fw_to_xe(struct xe_uc_fw *uc_fw)
return gt_to_xe(uc_fw_to_gt(uc_fw));
}
+#if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC)
+void xe_uc_fw_change_status(struct xe_uc_fw *uc_fw, enum xe_uc_fw_status status)
+{
+ xe_gt_dbg(uc_fw_to_gt(uc_fw), "%s %s->%s\n",
+ xe_uc_fw_type_repr(uc_fw->type),
+ xe_uc_fw_status_repr(uc_fw->status),
+ xe_uc_fw_status_repr(status));
+ uc_fw->__status = status;
+}
+#endif
+
static void
uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
{
diff --git a/drivers/gpu/drm/xe/xe_uc_fw.h b/drivers/gpu/drm/xe/xe_uc_fw.h
index 6195e353f269..bb281b72a677 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.h
+++ b/drivers/gpu/drm/xe/xe_uc_fw.h
@@ -25,11 +25,15 @@ static inline u32 xe_uc_fw_rsa_offset(struct xe_uc_fw *uc_fw)
return sizeof(struct uc_css_header) + uc_fw->ucode_size + uc_fw->css_offset;
}
+#if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC)
+void xe_uc_fw_change_status(struct xe_uc_fw *uc_fw, enum xe_uc_fw_status status);
+#else
static inline void xe_uc_fw_change_status(struct xe_uc_fw *uc_fw,
enum xe_uc_fw_status status)
{
uc_fw->__status = status;
}
+#endif
static inline
const char *xe_uc_fw_status_repr(enum xe_uc_fw_status status)