Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Update to GuC 70.19.1
@ 2024-01-22 21:37 John.C.Harrison
  2024-01-22 21:37 ` [PATCH 1/2] drm/xe/uc: Include patch version in expectations John.C.Harrison
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: John.C.Harrison @ 2024-01-22 21:37 UTC (permalink / raw)
  To: Intel-Xe

From: John Harrison <John.C.Harrison@Intel.com>

Update to the latest GuC release. Also include patch version in
expectation check as it can be important.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>


John Harrison (2):
  drm/xe/uc: Include patch version in expectations
  drm/xe/guc: Update to GuC firmware 70.19.1

 drivers/gpu/drm/xe/xe_uc_fw.c | 49 +++++++++++++++++++----------------
 1 file changed, 27 insertions(+), 22 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] drm/xe/uc: Include patch version in expectations
  2024-01-22 21:37 [PATCH 0/2] Update to GuC 70.19.1 John.C.Harrison
@ 2024-01-22 21:37 ` John.C.Harrison
  2024-01-22 22:15   ` Welty, Brian
  2024-02-01 18:10   ` Lucas De Marchi
  2024-01-22 21:37 ` [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1 John.C.Harrison
  2024-01-22 22:54 ` ✗ CI.Patch_applied: failure for Update to GuC 70.19.1 Patchwork
  2 siblings, 2 replies; 10+ messages in thread
From: John.C.Harrison @ 2024-01-22 21:37 UTC (permalink / raw)
  To: Intel-Xe

From: John Harrison <John.C.Harrison@Intel.com>

Patch level releases can be just as important as major level releases
if they fix a critical bug. So include the patch version in the
expectation check so the user is properly informed if they need to
update.

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
---
 drivers/gpu/drm/xe/xe_uc_fw.c | 49 +++++++++++++++++++----------------
 1 file changed, 27 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index 9dff96dfe455..d3f0fe2101a7 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -92,6 +92,7 @@ struct uc_fw_entry {
 		const char *path;
 		u16 major;
 		u16 minor;
+		u16 patch;
 		bool full_ver_required;
 	};
 };
@@ -102,14 +103,14 @@ struct fw_blobs_by_type {
 };
 
 #define XE_GUC_FIRMWARE_DEFS(fw_def, mmp_ver, major_ver)			\
-	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 7))		\
-	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 5))		\
-	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 5))		\
-	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 5))		\
-	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 5))		\
-	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 5))		\
-	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 5))		\
-	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 5))
+	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 7, 0))	\
+	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 5, 0))	\
+	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 5, 0))	\
+	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
+	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 5, 0))	\
+	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
+	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
+	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))
 
 #define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver)		\
 	fw_def(METEORLAKE,	no_ver(i915,	huc_gsc,	mtl))		\
@@ -121,24 +122,24 @@ struct fw_blobs_by_type {
 
 /* for the GSC FW we match the compatibility version and not the release one */
 #define XE_GSC_FIRMWARE_DEFS(fw_def, major_ver)		\
-	fw_def(METEORLAKE,	major_ver(i915,	gsc,	mtl,	1, 0))
+	fw_def(METEORLAKE,	major_ver(i915,	gsc,	mtl,	1, 0, 0))
 
 #define MAKE_FW_PATH(dir__, uc__, shortname__, version__)			\
 	__stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"
 
 #define fw_filename_mmp_ver(dir_, uc_, shortname_, a, b, c)			\
 	MAKE_FW_PATH(dir_, uc_, shortname_, "_" __stringify(a ## . ## b ## . ## c))
-#define fw_filename_major_ver(dir_, uc_, shortname_, a, b)			\
+#define fw_filename_major_ver(dir_, uc_, shortname_, a, b, c)			\
 	MAKE_FW_PATH(dir_, uc_, shortname_, "_" __stringify(a))
 #define fw_filename_no_ver(dir_, uc_, shortname_)				\
 	MAKE_FW_PATH(dir_, uc_, shortname_, "")
 
 #define uc_fw_entry_mmp_ver(dir_, uc_, shortname_, a, b, c)			\
 	{ fw_filename_mmp_ver(dir_, uc_, shortname_, a, b, c),			\
-	  a, b, true }
-#define uc_fw_entry_major_ver(dir_, uc_, shortname_, a, b)			\
-	{ fw_filename_major_ver(dir_, uc_, shortname_, a, b),			\
-	  a, b }
+	  a, b, c, true }
+#define uc_fw_entry_major_ver(dir_, uc_, shortname_, a, b, c)			\
+	{ fw_filename_major_ver(dir_, uc_, shortname_, a, b, c),		\
+	  a, b, c }
 #define uc_fw_entry_no_ver(dir_, uc_, shortname_)				\
 	{ fw_filename_no_ver(dir_, uc_, shortname_),				\
 	  0, 0 }
@@ -221,6 +222,7 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
 			uc_fw->path = entries[i].path;
 			uc_fw->versions.wanted.major = entries[i].major;
 			uc_fw->versions.wanted.minor = entries[i].minor;
+			uc_fw->versions.wanted.patch = entries[i].patch;
 			uc_fw->full_ver_required = entries[i].full_ver_required;
 
 			if (uc_fw->type == XE_UC_FW_TYPE_GSC)
@@ -340,19 +342,22 @@ int xe_uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
 	 * Otherwise, at least the major version.
 	 */
 	if (wanted->major != found->major ||
-	    (uc_fw->full_ver_required && wanted->minor != found->minor)) {
-		drm_notice(&xe->drm, "%s firmware %s: unexpected version: %u.%u != %u.%u\n",
+	    (uc_fw->full_ver_required &&
+	     ((wanted->minor != found->minor) ||
+	      (wanted->patch != found->patch)))) {
+		drm_notice(&xe->drm, "%s firmware %s: unexpected version: %u.%u.%u != %u.%u.%u\n",
 			   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
-			   found->major, found->minor,
-			   wanted->major, wanted->minor);
+			   found->major, found->minor, found->patch,
+			   wanted->major, wanted->minor, wanted->patch);
 		goto fail;
 	}
 
-	if (wanted->minor > found->minor) {
-		drm_notice(&xe->drm, "%s firmware (%u.%u) is recommended, but only (%u.%u) was found in %s\n",
+	if (wanted->minor > found->minor ||
+	    (wanted->minor == found->minor && wanted->patch > found->patch)) {
+		drm_notice(&xe->drm, "%s firmware (%u.%u.%u) is recommended, but only (%u.%u.%u) was found in %s\n",
 			   xe_uc_fw_type_repr(uc_fw->type),
-			   wanted->major, wanted->minor,
-			   found->major, found->minor,
+			   wanted->major, wanted->minor, wanted->patch,
+			   found->major, found->minor, found->patch,
 			   uc_fw->path);
 		drm_info(&xe->drm, "Consider updating your linux-firmware pkg or downloading from %s\n",
 			 XE_UC_FIRMWARE_URL);
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1
  2024-01-22 21:37 [PATCH 0/2] Update to GuC 70.19.1 John.C.Harrison
  2024-01-22 21:37 ` [PATCH 1/2] drm/xe/uc: Include patch version in expectations John.C.Harrison
@ 2024-01-22 21:37 ` John.C.Harrison
  2024-01-22 22:14   ` Welty, Brian
  2024-01-22 22:54 ` ✗ CI.Patch_applied: failure for Update to GuC 70.19.1 Patchwork
  2 siblings, 1 reply; 10+ messages in thread
From: John.C.Harrison @ 2024-01-22 21:37 UTC (permalink / raw)
  To: Intel-Xe

From: John Harrison <John.C.Harrison@Intel.com>

UAPI compatibility version: 1.8.1

Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
---
 drivers/gpu/drm/xe/xe_uc_fw.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
index d3f0fe2101a7..8da6cbb8c9e2 100644
--- a/drivers/gpu/drm/xe/xe_uc_fw.c
+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
@@ -103,14 +103,14 @@ struct fw_blobs_by_type {
 };
 
 #define XE_GUC_FIRMWARE_DEFS(fw_def, mmp_ver, major_ver)			\
-	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 7, 0))	\
-	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 5, 0))	\
-	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 5, 0))	\
-	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
-	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 5, 0))	\
-	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
-	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
-	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))
+	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 19, 1))	\
+	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 19, 1))	\
+	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 19, 1))	\
+	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
+	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 19, 1))	\
+	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
+	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
+	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 19, 1))
 
 #define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver)		\
 	fw_def(METEORLAKE,	no_ver(i915,	huc_gsc,	mtl))		\
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1
  2024-01-22 21:37 ` [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1 John.C.Harrison
@ 2024-01-22 22:14   ` Welty, Brian
  2024-01-23 16:41     ` Lucas De Marchi
  0 siblings, 1 reply; 10+ messages in thread
From: Welty, Brian @ 2024-01-22 22:14 UTC (permalink / raw)
  To: John.C.Harrison, Intel-Xe



On 1/22/2024 1:37 PM, John.C.Harrison@Intel.com wrote:
> From: John Harrison <John.C.Harrison@Intel.com>
> 
> UAPI compatibility version: 1.8.1

I've wondered for awhile why was lagging behind here....

Reviewed-by: Brian Welty <brian.welty@intel.com>

> 
> Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
> ---
>   drivers/gpu/drm/xe/xe_uc_fw.c | 16 ++++++++--------
>   1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index d3f0fe2101a7..8da6cbb8c9e2 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -103,14 +103,14 @@ struct fw_blobs_by_type {
>   };
>   
>   #define XE_GUC_FIRMWARE_DEFS(fw_def, mmp_ver, major_ver)			\
> -	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 7, 0))	\
> -	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 5, 0))	\
> -	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 5, 0))	\
> -	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
> -	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 5, 0))	\
> -	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
> -	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
> -	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))
> +	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 19, 1))	\
> +	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 19, 1))	\
> +	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 19, 1))	\
> +	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
> +	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 19, 1))	\
> +	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
> +	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
> +	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 19, 1))
>   
>   #define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver)		\
>   	fw_def(METEORLAKE,	no_ver(i915,	huc_gsc,	mtl))		\

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] drm/xe/uc: Include patch version in expectations
  2024-01-22 21:37 ` [PATCH 1/2] drm/xe/uc: Include patch version in expectations John.C.Harrison
@ 2024-01-22 22:15   ` Welty, Brian
  2024-02-01 18:10   ` Lucas De Marchi
  1 sibling, 0 replies; 10+ messages in thread
From: Welty, Brian @ 2024-01-22 22:15 UTC (permalink / raw)
  To: John.C.Harrison, Intel-Xe



On 1/22/2024 1:37 PM, John.C.Harrison@Intel.com wrote:
> From: John Harrison <John.C.Harrison@Intel.com>
> 
> Patch level releases can be just as important as major level releases
> if they fix a critical bug. So include the patch version in the
> expectation check so the user is properly informed if they need to
> update.

Reviewed-by: Brian Welty <brian.welty@intel.com>

> 
> Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
> ---
>   drivers/gpu/drm/xe/xe_uc_fw.c | 49 +++++++++++++++++++----------------
>   1 file changed, 27 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
> index 9dff96dfe455..d3f0fe2101a7 100644
> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
> @@ -92,6 +92,7 @@ struct uc_fw_entry {
>   		const char *path;
>   		u16 major;
>   		u16 minor;
> +		u16 patch;
>   		bool full_ver_required;
>   	};
>   };
> @@ -102,14 +103,14 @@ struct fw_blobs_by_type {
>   };
>   
>   #define XE_GUC_FIRMWARE_DEFS(fw_def, mmp_ver, major_ver)			\
> -	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 7))		\
> -	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 5))		\
> -	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 5))		\
> -	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 5))		\
> -	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 5))		\
> -	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 5))		\
> -	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 5))		\
> -	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 5))
> +	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 7, 0))	\
> +	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 5, 0))	\
> +	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 5, 0))	\
> +	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
> +	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 5, 0))	\
> +	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
> +	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
> +	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))
>   
>   #define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver)		\
>   	fw_def(METEORLAKE,	no_ver(i915,	huc_gsc,	mtl))		\
> @@ -121,24 +122,24 @@ struct fw_blobs_by_type {
>   
>   /* for the GSC FW we match the compatibility version and not the release one */
>   #define XE_GSC_FIRMWARE_DEFS(fw_def, major_ver)		\
> -	fw_def(METEORLAKE,	major_ver(i915,	gsc,	mtl,	1, 0))
> +	fw_def(METEORLAKE,	major_ver(i915,	gsc,	mtl,	1, 0, 0))
>   
>   #define MAKE_FW_PATH(dir__, uc__, shortname__, version__)			\
>   	__stringify(dir__) "/" __stringify(shortname__) "_" __stringify(uc__) version__ ".bin"
>   
>   #define fw_filename_mmp_ver(dir_, uc_, shortname_, a, b, c)			\
>   	MAKE_FW_PATH(dir_, uc_, shortname_, "_" __stringify(a ## . ## b ## . ## c))
> -#define fw_filename_major_ver(dir_, uc_, shortname_, a, b)			\
> +#define fw_filename_major_ver(dir_, uc_, shortname_, a, b, c)			\
>   	MAKE_FW_PATH(dir_, uc_, shortname_, "_" __stringify(a))
>   #define fw_filename_no_ver(dir_, uc_, shortname_)				\
>   	MAKE_FW_PATH(dir_, uc_, shortname_, "")
>   
>   #define uc_fw_entry_mmp_ver(dir_, uc_, shortname_, a, b, c)			\
>   	{ fw_filename_mmp_ver(dir_, uc_, shortname_, a, b, c),			\
> -	  a, b, true }
> -#define uc_fw_entry_major_ver(dir_, uc_, shortname_, a, b)			\
> -	{ fw_filename_major_ver(dir_, uc_, shortname_, a, b),			\
> -	  a, b }
> +	  a, b, c, true }
> +#define uc_fw_entry_major_ver(dir_, uc_, shortname_, a, b, c)			\
> +	{ fw_filename_major_ver(dir_, uc_, shortname_, a, b, c),		\
> +	  a, b, c }
>   #define uc_fw_entry_no_ver(dir_, uc_, shortname_)				\
>   	{ fw_filename_no_ver(dir_, uc_, shortname_),				\
>   	  0, 0 }
> @@ -221,6 +222,7 @@ uc_fw_auto_select(struct xe_device *xe, struct xe_uc_fw *uc_fw)
>   			uc_fw->path = entries[i].path;
>   			uc_fw->versions.wanted.major = entries[i].major;
>   			uc_fw->versions.wanted.minor = entries[i].minor;
> +			uc_fw->versions.wanted.patch = entries[i].patch;
>   			uc_fw->full_ver_required = entries[i].full_ver_required;
>   
>   			if (uc_fw->type == XE_UC_FW_TYPE_GSC)
> @@ -340,19 +342,22 @@ int xe_uc_fw_check_version_requirements(struct xe_uc_fw *uc_fw)
>   	 * Otherwise, at least the major version.
>   	 */
>   	if (wanted->major != found->major ||
> -	    (uc_fw->full_ver_required && wanted->minor != found->minor)) {
> -		drm_notice(&xe->drm, "%s firmware %s: unexpected version: %u.%u != %u.%u\n",
> +	    (uc_fw->full_ver_required &&
> +	     ((wanted->minor != found->minor) ||
> +	      (wanted->patch != found->patch)))) {
> +		drm_notice(&xe->drm, "%s firmware %s: unexpected version: %u.%u.%u != %u.%u.%u\n",
>   			   xe_uc_fw_type_repr(uc_fw->type), uc_fw->path,
> -			   found->major, found->minor,
> -			   wanted->major, wanted->minor);
> +			   found->major, found->minor, found->patch,
> +			   wanted->major, wanted->minor, wanted->patch);
>   		goto fail;
>   	}
>   
> -	if (wanted->minor > found->minor) {
> -		drm_notice(&xe->drm, "%s firmware (%u.%u) is recommended, but only (%u.%u) was found in %s\n",
> +	if (wanted->minor > found->minor ||
> +	    (wanted->minor == found->minor && wanted->patch > found->patch)) {
> +		drm_notice(&xe->drm, "%s firmware (%u.%u.%u) is recommended, but only (%u.%u.%u) was found in %s\n",
>   			   xe_uc_fw_type_repr(uc_fw->type),
> -			   wanted->major, wanted->minor,
> -			   found->major, found->minor,
> +			   wanted->major, wanted->minor, wanted->patch,
> +			   found->major, found->minor, found->patch,
>   			   uc_fw->path);
>   		drm_info(&xe->drm, "Consider updating your linux-firmware pkg or downloading from %s\n",
>   			 XE_UC_FIRMWARE_URL);

^ permalink raw reply	[flat|nested] 10+ messages in thread

* ✗ CI.Patch_applied: failure for Update to GuC 70.19.1
  2024-01-22 21:37 [PATCH 0/2] Update to GuC 70.19.1 John.C.Harrison
  2024-01-22 21:37 ` [PATCH 1/2] drm/xe/uc: Include patch version in expectations John.C.Harrison
  2024-01-22 21:37 ` [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1 John.C.Harrison
@ 2024-01-22 22:54 ` Patchwork
  2 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2024-01-22 22:54 UTC (permalink / raw)
  To: john.c.harrison; +Cc: intel-xe

== Series Details ==

Series: Update to GuC 70.19.1
URL   : https://patchwork.freedesktop.org/series/129054/
State : failure

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 7f85c565c drm-tip: 2024y-01m-22d-18h-44m-28s UTC integration manifest
=== git am output follows ===
error: patch failed: drivers/gpu/drm/xe/xe_uc_fw.c:102
error: drivers/gpu/drm/xe/xe_uc_fw.c: patch does not apply
hint: Use 'git am --show-current-patch' to see the failed patch
Applying: drm/xe/uc: Include patch version in expectations
Patch failed at 0001 drm/xe/uc: Include patch version in expectations
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1
  2024-01-22 22:14   ` Welty, Brian
@ 2024-01-23 16:41     ` Lucas De Marchi
  2024-01-23 23:24       ` John Harrison
  0 siblings, 1 reply; 10+ messages in thread
From: Lucas De Marchi @ 2024-01-23 16:41 UTC (permalink / raw)
  To: Welty, Brian; +Cc: Intel-Xe

On Mon, Jan 22, 2024 at 02:14:56PM -0800, Welty, Brian wrote:
>
>
>On 1/22/2024 1:37 PM, John.C.Harrison@Intel.com wrote:
>>From: John Harrison <John.C.Harrison@Intel.com>
>>
>>UAPI compatibility version: 1.8.1

what exactly is this? We don't seem to track it anywhere in the driver.

>
>I've wondered for awhile why was lagging behind here....
>
>Reviewed-by: Brian Welty <brian.welty@intel.com>
>
>>
>>Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
>>---
>>  drivers/gpu/drm/xe/xe_uc_fw.c | 16 ++++++++--------
>>  1 file changed, 8 insertions(+), 8 deletions(-)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
>>index d3f0fe2101a7..8da6cbb8c9e2 100644
>>--- a/drivers/gpu/drm/xe/xe_uc_fw.c
>>+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
>>@@ -103,14 +103,14 @@ struct fw_blobs_by_type {
>>  };
>>  #define XE_GUC_FIRMWARE_DEFS(fw_def, mmp_ver, major_ver)			\
>>-	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 7, 0))	\
>>-	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 5, 0))	\
>>-	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 5, 0))	\
>>-	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
>>-	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 5, 0))	\
>>-	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
>>-	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))	\
>>-	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 5, 0))
>>+	fw_def(METEORLAKE,	major_ver(i915,	guc,	mtl,	70, 19, 1))	\
>>+	fw_def(DG2,		major_ver(i915,	guc,	dg2,	70, 19, 1))	\
>>+	fw_def(DG1,		major_ver(i915,	guc,	dg1,	70, 19, 1))	\
>>+	fw_def(ALDERLAKE_N,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
>>+	fw_def(ALDERLAKE_P,	major_ver(i915,	guc,	adlp,	70, 19, 1))	\
>>+	fw_def(ALDERLAKE_S,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
>>+	fw_def(ROCKETLAKE,	major_ver(i915,	guc,	tgl,	70, 19, 1))	\
>>+	fw_def(TIGERLAKE,	major_ver(i915,	guc,	tgl,	70, 19, 1))

are all of these in linux-firmware repo?

Lucas De Marchi

>>  #define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver)		\
>>  	fw_def(METEORLAKE,	no_ver(i915,	huc_gsc,	mtl))		\

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1
  2024-01-23 16:41     ` Lucas De Marchi
@ 2024-01-23 23:24       ` John Harrison
  2024-01-24  4:45         ` Lucas De Marchi
  0 siblings, 1 reply; 10+ messages in thread
From: John Harrison @ 2024-01-23 23:24 UTC (permalink / raw)
  To: Lucas De Marchi, Welty, Brian; +Cc: Intel-Xe

On 1/23/2024 08:41, Lucas De Marchi wrote:
> On Mon, Jan 22, 2024 at 02:14:56PM -0800, Welty, Brian wrote:
>> On 1/22/2024 1:37 PM, John.C.Harrison@Intel.com wrote:
>>> From: John Harrison <John.C.Harrison@Intel.com>
>>>
>>> UAPI compatibility version: 1.8.1
>
> what exactly is this? We don't seem to track it anywhere in the driver.
It is XE_UC_FW_VER_COMPATIBILITY. This is the version number that should 
be looked at for tracking what features are or are not available. The 
raw file version (e.g. 70.19.1) is XE_UC_FW_VER_RELEASE but that is not 
accessible from a VF and cannot be exported to UMDs because again, it 
would break in an SRIOV type scenario. The file version should only be 
used for feature checks when actually loading the GuC itself (which can 
only be done by native/PF), e.g. what to put in the ADS, what load time 
w/a's should be enabled, etc.

>
>>
>> I've wondered for awhile why was lagging behind here....
>>
>> Reviewed-by: Brian Welty <brian.welty@intel.com>
>>
>>>
>>> Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
>>> ---
>>>  drivers/gpu/drm/xe/xe_uc_fw.c | 16 ++++++++--------
>>>  1 file changed, 8 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c 
>>> b/drivers/gpu/drm/xe/xe_uc_fw.c
>>> index d3f0fe2101a7..8da6cbb8c9e2 100644
>>> --- a/drivers/gpu/drm/xe/xe_uc_fw.c
>>> +++ b/drivers/gpu/drm/xe/xe_uc_fw.c
>>> @@ -103,14 +103,14 @@ struct fw_blobs_by_type {
>>>  };
>>>  #define XE_GUC_FIRMWARE_DEFS(fw_def, mmp_ver, major_ver)            \
>>> -    fw_def(METEORLAKE,    major_ver(i915,    guc,    mtl, 70, 7, 
>>> 0))    \
>>> -    fw_def(DG2,        major_ver(i915,    guc,    dg2,    70, 5, 
>>> 0))    \
>>> -    fw_def(DG1,        major_ver(i915,    guc,    dg1,    70, 5, 
>>> 0))    \
>>> -    fw_def(ALDERLAKE_N,    major_ver(i915,    guc,    tgl, 70, 5, 
>>> 0))    \
>>> -    fw_def(ALDERLAKE_P,    major_ver(i915,    guc, adlp,    70, 5, 
>>> 0))    \
>>> -    fw_def(ALDERLAKE_S,    major_ver(i915,    guc,    tgl, 70, 5, 
>>> 0))    \
>>> -    fw_def(ROCKETLAKE,    major_ver(i915,    guc,    tgl, 70, 5, 
>>> 0))    \
>>> -    fw_def(TIGERLAKE,    major_ver(i915,    guc,    tgl, 70, 5, 0))
>>> +    fw_def(METEORLAKE,    major_ver(i915,    guc,    mtl, 70, 19, 
>>> 1))    \
>>> +    fw_def(DG2,        major_ver(i915,    guc,    dg2,    70, 19, 
>>> 1))    \
>>> +    fw_def(DG1,        major_ver(i915,    guc,    dg1,    70, 19, 
>>> 1))    \
>>> +    fw_def(ALDERLAKE_N,    major_ver(i915,    guc,    tgl, 70, 19, 
>>> 1))    \
>>> +    fw_def(ALDERLAKE_P,    major_ver(i915,    guc, adlp,    70, 19, 
>>> 1))    \
>>> +    fw_def(ALDERLAKE_S,    major_ver(i915,    guc,    tgl, 70, 19, 
>>> 1))    \
>>> +    fw_def(ROCKETLAKE,    major_ver(i915,    guc,    tgl, 70, 19, 
>>> 1))    \
>>> +    fw_def(TIGERLAKE,    major_ver(i915,    guc,    tgl, 70, 19, 1))
>
> are all of these in linux-firmware repo?
Not in the upstream repo yet. I'm about to start that process.

John.

>
> Lucas De Marchi
>
>>>  #define XE_HUC_FIRMWARE_DEFS(fw_def, mmp_ver, no_ver)        \
>>>      fw_def(METEORLAKE,    no_ver(i915,    huc_gsc, mtl))        \


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1
  2024-01-23 23:24       ` John Harrison
@ 2024-01-24  4:45         ` Lucas De Marchi
  0 siblings, 0 replies; 10+ messages in thread
From: Lucas De Marchi @ 2024-01-24  4:45 UTC (permalink / raw)
  To: John Harrison; +Cc: Intel-Xe

On Tue, Jan 23, 2024 at 03:24:45PM -0800, John Harrison wrote:
>On 1/23/2024 08:41, Lucas De Marchi wrote:
>>On Mon, Jan 22, 2024 at 02:14:56PM -0800, Welty, Brian wrote:
>>>On 1/22/2024 1:37 PM, John.C.Harrison@Intel.com wrote:
>>>>From: John Harrison <John.C.Harrison@Intel.com>
>>>>
>>>>UAPI compatibility version: 1.8.1
>>
>>what exactly is this? We don't seem to track it anywhere in the driver.
>It is XE_UC_FW_VER_COMPATIBILITY. This is the version number that 
>should be looked at for tracking what features are or are not 

maybe in the commit message refer to it as

XE_UC_FW_VER_COMPATIBILITY, or "GUC FW I/F" or even "VF Version"?
UAPI here is too confusing.


>available. The raw file version (e.g. 70.19.1) is XE_UC_FW_VER_RELEASE 
>but that is not accessible from a VF and cannot be exported to UMDs 
>because again, it would break in an SRIOV type scenario. The file 
>version should only be used for feature checks when actually loading 
>the GuC itself (which can only be done by native/PF), e.g. what to put 
>in the ADS, what load time w/a's should be enabled, etc.
>
>>
>>>
>>>I've wondered for awhile why was lagging behind here....
>>>
>>>Reviewed-by: Brian Welty <brian.welty@intel.com>
>>>
>>>>
>>>>Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
>>>>---
>>>> drivers/gpu/drm/xe/xe_uc_fw.c | 16 ++++++++--------
>>>> 1 file changed, 8 insertions(+), 8 deletions(-)
>>>>
>>>>diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c 
>>>>b/drivers/gpu/drm/xe/xe_uc_fw.c
>>>>index d3f0fe2101a7..8da6cbb8c9e2 100644
>>>>--- a/drivers/gpu/drm/xe/xe_uc_fw.c
>>>>+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
>>>>@@ -103,14 +103,14 @@ struct fw_blobs_by_type {
>>>> };
>>>> #define XE_GUC_FIRMWARE_DEFS(fw_def, mmp_ver, major_ver)            \
>>>>-    fw_def(METEORLAKE,    major_ver(i915,    guc,    mtl, 70, 
>>>>7, 0))    \
>>>>-    fw_def(DG2,        major_ver(i915,    guc,    dg2,    70, 
>>>>5, 0))    \
>>>>-    fw_def(DG1,        major_ver(i915,    guc,    dg1,    70, 
>>>>5, 0))    \
>>>>-    fw_def(ALDERLAKE_N,    major_ver(i915,    guc,    tgl, 70, 
>>>>5, 0))    \
>>>>-    fw_def(ALDERLAKE_P,    major_ver(i915,    guc, adlp,    70, 
>>>>5, 0))    \
>>>>-    fw_def(ALDERLAKE_S,    major_ver(i915,    guc,    tgl, 70, 
>>>>5, 0))    \
>>>>-    fw_def(ROCKETLAKE,    major_ver(i915,    guc,    tgl, 70, 
>>>>5, 0))    \
>>>>-    fw_def(TIGERLAKE,    major_ver(i915,    guc,    tgl, 70, 5, 0))
>>>>+    fw_def(METEORLAKE,    major_ver(i915,    guc,    mtl, 70, 
>>>>19, 1))    \
>>>>+    fw_def(DG2,        major_ver(i915,    guc,    dg2,    70, 
>>>>19, 1))    \
>>>>+    fw_def(DG1,        major_ver(i915,    guc,    dg1,    70, 
>>>>19, 1))    \
>>>>+    fw_def(ALDERLAKE_N,    major_ver(i915,    guc,    tgl, 70, 
>>>>19, 1))    \
>>>>+    fw_def(ALDERLAKE_P,    major_ver(i915,    guc, adlp,    70, 
>>>>19, 1))    \
>>>>+    fw_def(ALDERLAKE_S,    major_ver(i915,    guc,    tgl, 70, 
>>>>19, 1))    \
>>>>+    fw_def(ROCKETLAKE,    major_ver(i915,    guc,    tgl, 70, 
>>>>19, 1))    \
>>>>+    fw_def(TIGERLAKE,    major_ver(i915,    guc,    tgl, 70, 19, 1))
>>
>>are all of these in linux-firmware repo?
>Not in the upstream repo yet. I'm about to start that process.

let's make sure we get all those there then. With that,

Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] drm/xe/uc: Include patch version in expectations
  2024-01-22 21:37 ` [PATCH 1/2] drm/xe/uc: Include patch version in expectations John.C.Harrison
  2024-01-22 22:15   ` Welty, Brian
@ 2024-02-01 18:10   ` Lucas De Marchi
  1 sibling, 0 replies; 10+ messages in thread
From: Lucas De Marchi @ 2024-02-01 18:10 UTC (permalink / raw)
  To: John.C.Harrison; +Cc: Intel-Xe

On Mon, Jan 22, 2024 at 01:37:07PM -0800, John.C.Harrison@Intel.com wrote:
>From: John Harrison <John.C.Harrison@Intel.com>
>
>Patch level releases can be just as important as major level releases
>if they fix a critical bug. So include the patch version in the
>expectation check so the user is properly informed if they need to
>update.
>
>Signed-off-by: John Harrison <John.C.Harrison@Intel.com>


Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>

The second patch we can't merge until we have those binaries in
linux-firmware. We could update it to match what we already have in i915
though. Wouldn't it be best to do that since i915 is the real driver for
those platforms?

As far as linux-firmware is concerned, the last update I see is
44a9510c94ac ("i915: Add GuC v70.13.1 for DG2, TGL, ADL-P and MTL").
Do we have a pull request to update all the platforms?

Lucas De Marchi

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-02-01 18:10 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-22 21:37 [PATCH 0/2] Update to GuC 70.19.1 John.C.Harrison
2024-01-22 21:37 ` [PATCH 1/2] drm/xe/uc: Include patch version in expectations John.C.Harrison
2024-01-22 22:15   ` Welty, Brian
2024-02-01 18:10   ` Lucas De Marchi
2024-01-22 21:37 ` [PATCH 2/2] drm/xe/guc: Update to GuC firmware 70.19.1 John.C.Harrison
2024-01-22 22:14   ` Welty, Brian
2024-01-23 16:41     ` Lucas De Marchi
2024-01-23 23:24       ` John Harrison
2024-01-24  4:45         ` Lucas De Marchi
2024-01-22 22:54 ` ✗ CI.Patch_applied: failure for Update to GuC 70.19.1 Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox