drm/xe: Add patch version on guc firmware init
authorZhanjun Dong <zhanjun.dong@intel.com>
Thu, 17 Aug 2023 21:30:28 +0000 (14:30 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:40:28 +0000 (11:40 -0500)
Add patch version info on GuC firmware init. This is required info for
GuC log decoder.

Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://lore.kernel.org/r/20230817213028.838531-1-zhanjun.dong@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_uc_fw.c
drivers/gpu/drm/xe/xe_uc_fw_types.h

index 1802b280cd8c6472970ba3fe4fe059d3dafca5bf..37ad238148b0c4d9798559c57205a40b884a3340 100644 (file)
@@ -400,11 +400,12 @@ int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
                                           css->sw_version);
        uc_fw->minor_ver_found = FIELD_GET(CSS_SW_VERSION_UC_MINOR,
                                           css->sw_version);
+       uc_fw->patch_ver_found = FIELD_GET(CSS_SW_VERSION_UC_PATCH,
+                                          css->sw_version);
 
-       drm_info(&xe->drm, "Using %s firmware (%u.%u) from %s\n",
-                xe_uc_fw_type_repr(uc_fw->type),
-                uc_fw->major_ver_found, uc_fw->minor_ver_found,
-                uc_fw->path);
+       drm_info(&xe->drm, "Using %s firmware from %s version %u.%u.%u\n",
+                xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
+                uc_fw->major_ver_found, uc_fw->minor_ver_found, uc_fw->patch_ver_found);
 
        err = uc_fw_check_version_requirements(uc_fw);
        if (err)
@@ -531,9 +532,9 @@ void xe_uc_fw_print(struct xe_uc_fw *uc_fw, struct drm_printer *p)
                   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path);
        drm_printf(p, "\tstatus: %s\n",
                   xe_uc_fw_status_repr(uc_fw->status));
-       drm_printf(p, "\tversion: wanted %u.%u, found %u.%u\n",
+       drm_printf(p, "\tversion: wanted %u.%u, found %u.%u.%u\n",
                   uc_fw->major_ver_wanted, uc_fw->minor_ver_wanted,
-                  uc_fw->major_ver_found, uc_fw->minor_ver_found);
+                  uc_fw->major_ver_found, uc_fw->minor_ver_found, uc_fw->patch_ver_found);
        drm_printf(p, "\tuCode: %u bytes\n", uc_fw->ucode_size);
        drm_printf(p, "\tRSA: %u bytes\n", uc_fw->rsa_size);
 
index 837f49a2347ef5a92347db4aecd90ee61fe6aa85..444bff83cdbe5ab3643646c66a8ae34765bdf66a 100644 (file)
@@ -106,6 +106,8 @@ struct xe_uc_fw {
        u16 major_ver_found;
        /** @minor_ver_found: major version found in firmware blob */
        u16 minor_ver_found;
+       /** @patch_ver_found: patch version found in firmware blob */
+       u16 patch_ver_found;
 
        /** @rsa_size: RSA size */
        u32 rsa_size;