* [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements
@ 2022-11-22 20:09 John.C.Harrison
2022-11-22 20:09 ` [Intel-gfx] [PATCH 1/3] drm/i915/uc: Rationalise delimiters in filename macros John.C.Harrison
` (6 more replies)
0 siblings, 7 replies; 11+ messages in thread
From: John.C.Harrison @ 2022-11-22 20:09 UTC (permalink / raw)
To: Intel-GFX; +Cc: DRI-Devel
From: John Harrison <John.C.Harrison@Intel.com>
Start using the 'submission API version' for deciding which GuC API to
use in the submission code.
Correct version number manipulation code to support full 32bit
major/minor/patch components, except for GuC which is guaranteed to be
8bit safe.
Other minor code clean ups around version number handling.
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
John Harrison (3):
drm/i915/uc: Rationalise delimiters in filename macros
drm/i915/uc: More refactoring of UC version numbers
drm/i915/guc: Use GuC submission API version number
drivers/gpu/drm/i915/gt/uc/intel_guc.h | 11 ++
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 15 +-
drivers/gpu/drm/i915/gt/uc/intel_uc.c | 6 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 173 ++++++++++++------
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 15 +-
drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h | 3 +-
6 files changed, 150 insertions(+), 73 deletions(-)
--
2.37.3
^ permalink raw reply [flat|nested] 11+ messages in thread* [Intel-gfx] [PATCH 1/3] drm/i915/uc: Rationalise delimiters in filename macros 2022-11-22 20:09 [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements John.C.Harrison @ 2022-11-22 20:09 ` John.C.Harrison 2022-11-22 23:15 ` Ceraolo Spurio, Daniele 2022-11-22 20:09 ` [Intel-gfx] [PATCH 2/3] drm/i915/uc: More refactoring of UC version numbers John.C.Harrison ` (5 subsequent siblings) 6 siblings, 1 reply; 11+ messages in thread From: John.C.Harrison @ 2022-11-22 20:09 UTC (permalink / raw) To: Intel-GFX; +Cc: DRI-Devel From: John Harrison <John.C.Harrison@Intel.com> The way delimieters (underscores and dots) were added to the UC filenames was different for different types of delimter. Rationalise them to all be done the same way - implicitly in the concatenation macro rather than explicitly in the file name prefix. Signed-off-by: John Harrison <John.C.Harrison@Intel.com> --- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c index 0c80ba51a4bdc..774c3d84a4243 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c @@ -118,35 +118,35 @@ void intel_uc_fw_change_status(struct intel_uc_fw *uc_fw, */ #define __MAKE_UC_FW_PATH_BLANK(prefix_, name_) \ "i915/" \ - __stringify(prefix_) name_ ".bin" + __stringify(prefix_) "_" name_ ".bin" #define __MAKE_UC_FW_PATH_MAJOR(prefix_, name_, major_) \ "i915/" \ - __stringify(prefix_) name_ \ + __stringify(prefix_) "_" name_ "_" \ __stringify(major_) ".bin" #define __MAKE_UC_FW_PATH_MMP(prefix_, name_, major_, minor_, patch_) \ "i915/" \ - __stringify(prefix_) name_ \ + __stringify(prefix_) "_" name_ "_" \ __stringify(major_) "." \ __stringify(minor_) "." \ __stringify(patch_) ".bin" /* Minor for internal driver use, not part of file name */ #define MAKE_GUC_FW_PATH_MAJOR(prefix_, major_, minor_) \ - __MAKE_UC_FW_PATH_MAJOR(prefix_, "_guc_", major_) + __MAKE_UC_FW_PATH_MAJOR(prefix_, "guc", major_) #define MAKE_GUC_FW_PATH_MMP(prefix_, major_, minor_, patch_) \ - __MAKE_UC_FW_PATH_MMP(prefix_, "_guc_", major_, minor_, patch_) + __MAKE_UC_FW_PATH_MMP(prefix_, "guc", major_, minor_, patch_) #define MAKE_HUC_FW_PATH_BLANK(prefix_) \ - __MAKE_UC_FW_PATH_BLANK(prefix_, "_huc") + __MAKE_UC_FW_PATH_BLANK(prefix_, "huc") #define MAKE_HUC_FW_PATH_GSC(prefix_) \ - __MAKE_UC_FW_PATH_BLANK(prefix_, "_huc_gsc") + __MAKE_UC_FW_PATH_BLANK(prefix_, "huc_gsc") #define MAKE_HUC_FW_PATH_MMP(prefix_, major_, minor_, patch_) \ - __MAKE_UC_FW_PATH_MMP(prefix_, "_huc_", major_, minor_, patch_) + __MAKE_UC_FW_PATH_MMP(prefix_, "huc", major_, minor_, patch_) /* * All blobs need to be declared via MODULE_FIRMWARE(). -- 2.37.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 1/3] drm/i915/uc: Rationalise delimiters in filename macros 2022-11-22 20:09 ` [Intel-gfx] [PATCH 1/3] drm/i915/uc: Rationalise delimiters in filename macros John.C.Harrison @ 2022-11-22 23:15 ` Ceraolo Spurio, Daniele 0 siblings, 0 replies; 11+ messages in thread From: Ceraolo Spurio, Daniele @ 2022-11-22 23:15 UTC (permalink / raw) To: John.C.Harrison, Intel-GFX; +Cc: DRI-Devel On 11/22/2022 12:09 PM, John.C.Harrison@Intel.com wrote: > From: John Harrison <John.C.Harrison@Intel.com> > > The way delimieters (underscores and dots) were added to the UC > filenames was different for different types of delimter. Rationalise delimiter misspelled twice. Apart from this, it's a simple cleanup, so: Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Daniele > them to all be done the same way - implicitly in the concatenation > macro rather than explicitly in the file name prefix. > > Signed-off-by: John Harrison <John.C.Harrison@Intel.com> > --- > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > index 0c80ba51a4bdc..774c3d84a4243 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > @@ -118,35 +118,35 @@ void intel_uc_fw_change_status(struct intel_uc_fw *uc_fw, > */ > #define __MAKE_UC_FW_PATH_BLANK(prefix_, name_) \ > "i915/" \ > - __stringify(prefix_) name_ ".bin" > + __stringify(prefix_) "_" name_ ".bin" > > #define __MAKE_UC_FW_PATH_MAJOR(prefix_, name_, major_) \ > "i915/" \ > - __stringify(prefix_) name_ \ > + __stringify(prefix_) "_" name_ "_" \ > __stringify(major_) ".bin" > > #define __MAKE_UC_FW_PATH_MMP(prefix_, name_, major_, minor_, patch_) \ > "i915/" \ > - __stringify(prefix_) name_ \ > + __stringify(prefix_) "_" name_ "_" \ > __stringify(major_) "." \ > __stringify(minor_) "." \ > __stringify(patch_) ".bin" > > /* Minor for internal driver use, not part of file name */ > #define MAKE_GUC_FW_PATH_MAJOR(prefix_, major_, minor_) \ > - __MAKE_UC_FW_PATH_MAJOR(prefix_, "_guc_", major_) > + __MAKE_UC_FW_PATH_MAJOR(prefix_, "guc", major_) > > #define MAKE_GUC_FW_PATH_MMP(prefix_, major_, minor_, patch_) \ > - __MAKE_UC_FW_PATH_MMP(prefix_, "_guc_", major_, minor_, patch_) > + __MAKE_UC_FW_PATH_MMP(prefix_, "guc", major_, minor_, patch_) > > #define MAKE_HUC_FW_PATH_BLANK(prefix_) \ > - __MAKE_UC_FW_PATH_BLANK(prefix_, "_huc") > + __MAKE_UC_FW_PATH_BLANK(prefix_, "huc") > > #define MAKE_HUC_FW_PATH_GSC(prefix_) \ > - __MAKE_UC_FW_PATH_BLANK(prefix_, "_huc_gsc") > + __MAKE_UC_FW_PATH_BLANK(prefix_, "huc_gsc") > > #define MAKE_HUC_FW_PATH_MMP(prefix_, major_, minor_, patch_) \ > - __MAKE_UC_FW_PATH_MMP(prefix_, "_huc_", major_, minor_, patch_) > + __MAKE_UC_FW_PATH_MMP(prefix_, "huc", major_, minor_, patch_) > > /* > * All blobs need to be declared via MODULE_FIRMWARE(). ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH 2/3] drm/i915/uc: More refactoring of UC version numbers 2022-11-22 20:09 [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements John.C.Harrison 2022-11-22 20:09 ` [Intel-gfx] [PATCH 1/3] drm/i915/uc: Rationalise delimiters in filename macros John.C.Harrison @ 2022-11-22 20:09 ` John.C.Harrison 2022-11-22 23:17 ` Ceraolo Spurio, Daniele 2022-11-22 20:09 ` [Intel-gfx] [PATCH 3/3] drm/i915/guc: Use GuC submission API version number John.C.Harrison ` (4 subsequent siblings) 6 siblings, 1 reply; 11+ messages in thread From: John.C.Harrison @ 2022-11-22 20:09 UTC (permalink / raw) To: Intel-GFX; +Cc: DRI-Devel From: John Harrison <John.C.Harrison@Intel.com> As a precursor to a coming change (for adding a GuC submission API version), abstract the UC version number into its own private structure separate to the firmware filename. Signed-off-by: John Harrison <John.C.Harrison@Intel.com> --- drivers/gpu/drm/i915/gt/uc/intel_uc.c | 6 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 76 +++++++++++------------- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 15 +++-- 3 files changed, 48 insertions(+), 49 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c index 1d28286e6f066..e6edad6f8f9dd 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c @@ -437,9 +437,9 @@ static void print_fw_ver(struct intel_uc *uc, struct intel_uc_fw *fw) drm_info(&i915->drm, "%s firmware %s version %u.%u.%u\n", intel_uc_fw_type_repr(fw->type), fw->file_selected.path, - fw->file_selected.major_ver, - fw->file_selected.minor_ver, - fw->file_selected.patch_ver); + fw->file_selected.ver.major, + fw->file_selected.ver.minor, + fw->file_selected.ver.patch); } static int __uc_init_hw(struct intel_uc *uc) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c index 774c3d84a4243..5e2ee1ac89514 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c @@ -278,8 +278,8 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw) uc_fw->file_selected.path = blob->path; uc_fw->file_wanted.path = blob->path; - uc_fw->file_wanted.major_ver = blob->major; - uc_fw->file_wanted.minor_ver = blob->minor; + uc_fw->file_wanted.ver.major = blob->major; + uc_fw->file_wanted.ver.minor = blob->minor; uc_fw->loaded_via_gsc = blob->loaded_via_gsc; found = true; break; @@ -438,28 +438,28 @@ static void __force_fw_fetch_failures(struct intel_uc_fw *uc_fw, int e) uc_fw->user_overridden = user; } else if (i915_inject_probe_error(i915, e)) { /* require next major version */ - uc_fw->file_wanted.major_ver += 1; - uc_fw->file_wanted.minor_ver = 0; + uc_fw->file_wanted.ver.major += 1; + uc_fw->file_wanted.ver.minor = 0; uc_fw->user_overridden = user; } else if (i915_inject_probe_error(i915, e)) { /* require next minor version */ - uc_fw->file_wanted.minor_ver += 1; + uc_fw->file_wanted.ver.minor += 1; uc_fw->user_overridden = user; - } else if (uc_fw->file_wanted.major_ver && + } else if (uc_fw->file_wanted.ver.major && i915_inject_probe_error(i915, e)) { /* require prev major version */ - uc_fw->file_wanted.major_ver -= 1; - uc_fw->file_wanted.minor_ver = 0; + uc_fw->file_wanted.ver.major -= 1; + uc_fw->file_wanted.ver.minor = 0; uc_fw->user_overridden = user; - } else if (uc_fw->file_wanted.minor_ver && + } else if (uc_fw->file_wanted.ver.minor && i915_inject_probe_error(i915, e)) { /* require prev minor version - hey, this should work! */ - uc_fw->file_wanted.minor_ver -= 1; + uc_fw->file_wanted.ver.minor -= 1; uc_fw->user_overridden = user; } else if (user && i915_inject_probe_error(i915, e)) { /* officially unsupported platform */ - uc_fw->file_wanted.major_ver = 0; - uc_fw->file_wanted.minor_ver = 0; + uc_fw->file_wanted.ver.major = 0; + uc_fw->file_wanted.ver.minor = 0; uc_fw->user_overridden = true; } } @@ -471,9 +471,9 @@ static int check_gsc_manifest(const struct firmware *fw, u32 version_hi = dw[HUC_GSC_VERSION_HI_DW]; u32 version_lo = dw[HUC_GSC_VERSION_LO_DW]; - uc_fw->file_selected.major_ver = FIELD_GET(HUC_GSC_MAJOR_VER_HI_MASK, version_hi); - uc_fw->file_selected.minor_ver = FIELD_GET(HUC_GSC_MINOR_VER_HI_MASK, version_hi); - uc_fw->file_selected.patch_ver = FIELD_GET(HUC_GSC_PATCH_VER_LO_MASK, version_lo); + uc_fw->file_selected.ver.major = FIELD_GET(HUC_GSC_MAJOR_VER_HI_MASK, version_hi); + uc_fw->file_selected.ver.minor = FIELD_GET(HUC_GSC_MINOR_VER_HI_MASK, version_hi); + uc_fw->file_selected.ver.patch = FIELD_GET(HUC_GSC_PATCH_VER_LO_MASK, version_lo); return 0; } @@ -532,11 +532,11 @@ static int check_ccs_header(struct intel_gt *gt, } /* Get version numbers from the CSS header */ - uc_fw->file_selected.major_ver = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, + uc_fw->file_selected.ver.major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, css->sw_version); - uc_fw->file_selected.minor_ver = FIELD_GET(CSS_SW_VERSION_UC_MINOR, + uc_fw->file_selected.ver.minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, css->sw_version); - uc_fw->file_selected.patch_ver = FIELD_GET(CSS_SW_VERSION_UC_PATCH, + uc_fw->file_selected.ver.patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, css->sw_version); if (uc_fw->type == INTEL_UC_FW_TYPE_GUC) @@ -621,19 +621,19 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw) if (err) goto fail; - if (uc_fw->file_wanted.major_ver) { + if (uc_fw->file_wanted.ver.major) { /* Check the file's major version was as it claimed */ - if (uc_fw->file_selected.major_ver != uc_fw->file_wanted.major_ver) { + if (uc_fw->file_selected.ver.major != uc_fw->file_wanted.ver.major) { drm_notice(&i915->drm, "%s firmware %s: unexpected version: %u.%u != %u.%u\n", intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, - uc_fw->file_selected.major_ver, uc_fw->file_selected.minor_ver, - uc_fw->file_wanted.major_ver, uc_fw->file_wanted.minor_ver); + uc_fw->file_selected.ver.major, uc_fw->file_selected.ver.minor, + uc_fw->file_wanted.ver.major, uc_fw->file_wanted.ver.minor); if (!intel_uc_fw_is_overridden(uc_fw)) { err = -ENOEXEC; goto fail; } } else { - if (uc_fw->file_selected.minor_ver < uc_fw->file_wanted.minor_ver) + if (uc_fw->file_selected.ver.minor < uc_fw->file_wanted.ver.minor) old_ver = true; } } @@ -646,9 +646,9 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw) "%s firmware %s (%d.%d) is recommended, but only %s (%d.%d) was found\n", intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_wanted.path, - uc_fw->file_wanted.major_ver, uc_fw->file_wanted.minor_ver, + uc_fw->file_wanted.ver.major, uc_fw->file_wanted.ver.minor, uc_fw->file_selected.path, - uc_fw->file_selected.major_ver, uc_fw->file_selected.minor_ver); + uc_fw->file_selected.ver.major, uc_fw->file_selected.ver.minor); drm_info(&i915->drm, "Consider updating your linux-firmware pkg or downloading from %s\n", INTEL_UC_FIRMWARE_URL); @@ -1063,25 +1063,21 @@ void intel_uc_fw_dump(const struct intel_uc_fw *uc_fw, struct drm_printer *p) intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_wanted.path); drm_printf(p, "\tstatus: %s\n", intel_uc_fw_status_repr(uc_fw->status)); - ver_sel = MAKE_UC_VER(uc_fw->file_selected.major_ver, - uc_fw->file_selected.minor_ver, - uc_fw->file_selected.patch_ver); - ver_want = MAKE_UC_VER(uc_fw->file_wanted.major_ver, - uc_fw->file_wanted.minor_ver, - uc_fw->file_wanted.patch_ver); + ver_sel = MAKE_UC_VER_STRUCT(uc_fw->file_selected.ver); + ver_want = MAKE_UC_VER_STRUCT(uc_fw->file_wanted.ver); if (ver_sel < ver_want) drm_printf(p, "\tversion: wanted %u.%u.%u, found %u.%u.%u\n", - uc_fw->file_wanted.major_ver, - uc_fw->file_wanted.minor_ver, - uc_fw->file_wanted.patch_ver, - uc_fw->file_selected.major_ver, - uc_fw->file_selected.minor_ver, - uc_fw->file_selected.patch_ver); + uc_fw->file_wanted.ver.major, + uc_fw->file_wanted.ver.minor, + uc_fw->file_wanted.ver.patch, + uc_fw->file_selected.ver.major, + uc_fw->file_selected.ver.minor, + uc_fw->file_selected.ver.patch); else drm_printf(p, "\tversion: found %u.%u.%u\n", - uc_fw->file_selected.major_ver, - uc_fw->file_selected.minor_ver, - uc_fw->file_selected.patch_ver); + uc_fw->file_selected.ver.major, + uc_fw->file_selected.ver.minor, + uc_fw->file_selected.ver.patch); drm_printf(p, "\tuCode: %u bytes\n", uc_fw->ucode_size); drm_printf(p, "\tRSA: %u bytes\n", uc_fw->rsa_size); } diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h index bc898ba5355dc..6501d6f1fbdff 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h @@ -65,6 +65,12 @@ enum intel_uc_fw_type { }; #define INTEL_UC_FW_NUM_TYPES 2 +struct intel_uc_fw_ver { + u16 major; + u16 minor; + u16 patch; +}; + /* * The firmware build process will generate a version header file with major and * minor version defined. The versions are built into CSS header of firmware. @@ -72,9 +78,7 @@ enum intel_uc_fw_type { */ struct intel_uc_fw_file { const char *path; - u16 major_ver; - u16 minor_ver; - u16 patch_ver; + struct intel_uc_fw_ver ver; }; /* @@ -111,9 +115,8 @@ struct intel_uc_fw { }; #define MAKE_UC_VER(maj, min, pat) ((pat) | ((min) << 8) | ((maj) << 16)) -#define GET_UC_VER(uc) (MAKE_UC_VER((uc)->fw.file_selected.major_ver, \ - (uc)->fw.file_selected.minor_ver, \ - (uc)->fw.file_selected.patch_ver)) +#define MAKE_UC_VER_STRUCT(ver) MAKE_UC_VER((ver).major, (ver).minor, (ver).patch) +#define GET_UC_VER(uc) (MAKE_UC_VER_STRUCT((uc)->fw.file_selected.ver)) /* * When we load the uC binaries, we pin them in a reserved section at the top of -- 2.37.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 2/3] drm/i915/uc: More refactoring of UC version numbers 2022-11-22 20:09 ` [Intel-gfx] [PATCH 2/3] drm/i915/uc: More refactoring of UC version numbers John.C.Harrison @ 2022-11-22 23:17 ` Ceraolo Spurio, Daniele 0 siblings, 0 replies; 11+ messages in thread From: Ceraolo Spurio, Daniele @ 2022-11-22 23:17 UTC (permalink / raw) To: John.C.Harrison, Intel-GFX; +Cc: DRI-Devel On 11/22/2022 12:09 PM, John.C.Harrison@Intel.com wrote: > From: John Harrison <John.C.Harrison@Intel.com> > > As a precursor to a coming change (for adding a GuC submission API > version), abstract the UC version number into its own private > structure separate to the firmware filename. > > Signed-off-by: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Daniele > --- > drivers/gpu/drm/i915/gt/uc/intel_uc.c | 6 +- > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 76 +++++++++++------------- > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 15 +++-- > 3 files changed, 48 insertions(+), 49 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c > index 1d28286e6f066..e6edad6f8f9dd 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c > @@ -437,9 +437,9 @@ static void print_fw_ver(struct intel_uc *uc, struct intel_uc_fw *fw) > > drm_info(&i915->drm, "%s firmware %s version %u.%u.%u\n", > intel_uc_fw_type_repr(fw->type), fw->file_selected.path, > - fw->file_selected.major_ver, > - fw->file_selected.minor_ver, > - fw->file_selected.patch_ver); > + fw->file_selected.ver.major, > + fw->file_selected.ver.minor, > + fw->file_selected.ver.patch); > } > > static int __uc_init_hw(struct intel_uc *uc) > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > index 774c3d84a4243..5e2ee1ac89514 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > @@ -278,8 +278,8 @@ __uc_fw_auto_select(struct drm_i915_private *i915, struct intel_uc_fw *uc_fw) > > uc_fw->file_selected.path = blob->path; > uc_fw->file_wanted.path = blob->path; > - uc_fw->file_wanted.major_ver = blob->major; > - uc_fw->file_wanted.minor_ver = blob->minor; > + uc_fw->file_wanted.ver.major = blob->major; > + uc_fw->file_wanted.ver.minor = blob->minor; > uc_fw->loaded_via_gsc = blob->loaded_via_gsc; > found = true; > break; > @@ -438,28 +438,28 @@ static void __force_fw_fetch_failures(struct intel_uc_fw *uc_fw, int e) > uc_fw->user_overridden = user; > } else if (i915_inject_probe_error(i915, e)) { > /* require next major version */ > - uc_fw->file_wanted.major_ver += 1; > - uc_fw->file_wanted.minor_ver = 0; > + uc_fw->file_wanted.ver.major += 1; > + uc_fw->file_wanted.ver.minor = 0; > uc_fw->user_overridden = user; > } else if (i915_inject_probe_error(i915, e)) { > /* require next minor version */ > - uc_fw->file_wanted.minor_ver += 1; > + uc_fw->file_wanted.ver.minor += 1; > uc_fw->user_overridden = user; > - } else if (uc_fw->file_wanted.major_ver && > + } else if (uc_fw->file_wanted.ver.major && > i915_inject_probe_error(i915, e)) { > /* require prev major version */ > - uc_fw->file_wanted.major_ver -= 1; > - uc_fw->file_wanted.minor_ver = 0; > + uc_fw->file_wanted.ver.major -= 1; > + uc_fw->file_wanted.ver.minor = 0; > uc_fw->user_overridden = user; > - } else if (uc_fw->file_wanted.minor_ver && > + } else if (uc_fw->file_wanted.ver.minor && > i915_inject_probe_error(i915, e)) { > /* require prev minor version - hey, this should work! */ > - uc_fw->file_wanted.minor_ver -= 1; > + uc_fw->file_wanted.ver.minor -= 1; > uc_fw->user_overridden = user; > } else if (user && i915_inject_probe_error(i915, e)) { > /* officially unsupported platform */ > - uc_fw->file_wanted.major_ver = 0; > - uc_fw->file_wanted.minor_ver = 0; > + uc_fw->file_wanted.ver.major = 0; > + uc_fw->file_wanted.ver.minor = 0; > uc_fw->user_overridden = true; > } > } > @@ -471,9 +471,9 @@ static int check_gsc_manifest(const struct firmware *fw, > u32 version_hi = dw[HUC_GSC_VERSION_HI_DW]; > u32 version_lo = dw[HUC_GSC_VERSION_LO_DW]; > > - uc_fw->file_selected.major_ver = FIELD_GET(HUC_GSC_MAJOR_VER_HI_MASK, version_hi); > - uc_fw->file_selected.minor_ver = FIELD_GET(HUC_GSC_MINOR_VER_HI_MASK, version_hi); > - uc_fw->file_selected.patch_ver = FIELD_GET(HUC_GSC_PATCH_VER_LO_MASK, version_lo); > + uc_fw->file_selected.ver.major = FIELD_GET(HUC_GSC_MAJOR_VER_HI_MASK, version_hi); > + uc_fw->file_selected.ver.minor = FIELD_GET(HUC_GSC_MINOR_VER_HI_MASK, version_hi); > + uc_fw->file_selected.ver.patch = FIELD_GET(HUC_GSC_PATCH_VER_LO_MASK, version_lo); > > return 0; > } > @@ -532,11 +532,11 @@ static int check_ccs_header(struct intel_gt *gt, > } > > /* Get version numbers from the CSS header */ > - uc_fw->file_selected.major_ver = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, > + uc_fw->file_selected.ver.major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, > css->sw_version); > - uc_fw->file_selected.minor_ver = FIELD_GET(CSS_SW_VERSION_UC_MINOR, > + uc_fw->file_selected.ver.minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, > css->sw_version); > - uc_fw->file_selected.patch_ver = FIELD_GET(CSS_SW_VERSION_UC_PATCH, > + uc_fw->file_selected.ver.patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, > css->sw_version); > > if (uc_fw->type == INTEL_UC_FW_TYPE_GUC) > @@ -621,19 +621,19 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw) > if (err) > goto fail; > > - if (uc_fw->file_wanted.major_ver) { > + if (uc_fw->file_wanted.ver.major) { > /* Check the file's major version was as it claimed */ > - if (uc_fw->file_selected.major_ver != uc_fw->file_wanted.major_ver) { > + if (uc_fw->file_selected.ver.major != uc_fw->file_wanted.ver.major) { > drm_notice(&i915->drm, "%s firmware %s: unexpected version: %u.%u != %u.%u\n", > intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, > - uc_fw->file_selected.major_ver, uc_fw->file_selected.minor_ver, > - uc_fw->file_wanted.major_ver, uc_fw->file_wanted.minor_ver); > + uc_fw->file_selected.ver.major, uc_fw->file_selected.ver.minor, > + uc_fw->file_wanted.ver.major, uc_fw->file_wanted.ver.minor); > if (!intel_uc_fw_is_overridden(uc_fw)) { > err = -ENOEXEC; > goto fail; > } > } else { > - if (uc_fw->file_selected.minor_ver < uc_fw->file_wanted.minor_ver) > + if (uc_fw->file_selected.ver.minor < uc_fw->file_wanted.ver.minor) > old_ver = true; > } > } > @@ -646,9 +646,9 @@ int intel_uc_fw_fetch(struct intel_uc_fw *uc_fw) > "%s firmware %s (%d.%d) is recommended, but only %s (%d.%d) was found\n", > intel_uc_fw_type_repr(uc_fw->type), > uc_fw->file_wanted.path, > - uc_fw->file_wanted.major_ver, uc_fw->file_wanted.minor_ver, > + uc_fw->file_wanted.ver.major, uc_fw->file_wanted.ver.minor, > uc_fw->file_selected.path, > - uc_fw->file_selected.major_ver, uc_fw->file_selected.minor_ver); > + uc_fw->file_selected.ver.major, uc_fw->file_selected.ver.minor); > drm_info(&i915->drm, > "Consider updating your linux-firmware pkg or downloading from %s\n", > INTEL_UC_FIRMWARE_URL); > @@ -1063,25 +1063,21 @@ void intel_uc_fw_dump(const struct intel_uc_fw *uc_fw, struct drm_printer *p) > intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_wanted.path); > drm_printf(p, "\tstatus: %s\n", > intel_uc_fw_status_repr(uc_fw->status)); > - ver_sel = MAKE_UC_VER(uc_fw->file_selected.major_ver, > - uc_fw->file_selected.minor_ver, > - uc_fw->file_selected.patch_ver); > - ver_want = MAKE_UC_VER(uc_fw->file_wanted.major_ver, > - uc_fw->file_wanted.minor_ver, > - uc_fw->file_wanted.patch_ver); > + ver_sel = MAKE_UC_VER_STRUCT(uc_fw->file_selected.ver); > + ver_want = MAKE_UC_VER_STRUCT(uc_fw->file_wanted.ver); > if (ver_sel < ver_want) > drm_printf(p, "\tversion: wanted %u.%u.%u, found %u.%u.%u\n", > - uc_fw->file_wanted.major_ver, > - uc_fw->file_wanted.minor_ver, > - uc_fw->file_wanted.patch_ver, > - uc_fw->file_selected.major_ver, > - uc_fw->file_selected.minor_ver, > - uc_fw->file_selected.patch_ver); > + uc_fw->file_wanted.ver.major, > + uc_fw->file_wanted.ver.minor, > + uc_fw->file_wanted.ver.patch, > + uc_fw->file_selected.ver.major, > + uc_fw->file_selected.ver.minor, > + uc_fw->file_selected.ver.patch); > else > drm_printf(p, "\tversion: found %u.%u.%u\n", > - uc_fw->file_selected.major_ver, > - uc_fw->file_selected.minor_ver, > - uc_fw->file_selected.patch_ver); > + uc_fw->file_selected.ver.major, > + uc_fw->file_selected.ver.minor, > + uc_fw->file_selected.ver.patch); > drm_printf(p, "\tuCode: %u bytes\n", uc_fw->ucode_size); > drm_printf(p, "\tRSA: %u bytes\n", uc_fw->rsa_size); > } > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h > index bc898ba5355dc..6501d6f1fbdff 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h > +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h > @@ -65,6 +65,12 @@ enum intel_uc_fw_type { > }; > #define INTEL_UC_FW_NUM_TYPES 2 > > +struct intel_uc_fw_ver { > + u16 major; > + u16 minor; > + u16 patch; > +}; > + > /* > * The firmware build process will generate a version header file with major and > * minor version defined. The versions are built into CSS header of firmware. > @@ -72,9 +78,7 @@ enum intel_uc_fw_type { > */ > struct intel_uc_fw_file { > const char *path; > - u16 major_ver; > - u16 minor_ver; > - u16 patch_ver; > + struct intel_uc_fw_ver ver; > }; > > /* > @@ -111,9 +115,8 @@ struct intel_uc_fw { > }; > > #define MAKE_UC_VER(maj, min, pat) ((pat) | ((min) << 8) | ((maj) << 16)) > -#define GET_UC_VER(uc) (MAKE_UC_VER((uc)->fw.file_selected.major_ver, \ > - (uc)->fw.file_selected.minor_ver, \ > - (uc)->fw.file_selected.patch_ver)) > +#define MAKE_UC_VER_STRUCT(ver) MAKE_UC_VER((ver).major, (ver).minor, (ver).patch) > +#define GET_UC_VER(uc) (MAKE_UC_VER_STRUCT((uc)->fw.file_selected.ver)) > > /* > * When we load the uC binaries, we pin them in a reserved section at the top of ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] [PATCH 3/3] drm/i915/guc: Use GuC submission API version number 2022-11-22 20:09 [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements John.C.Harrison 2022-11-22 20:09 ` [Intel-gfx] [PATCH 1/3] drm/i915/uc: Rationalise delimiters in filename macros John.C.Harrison 2022-11-22 20:09 ` [Intel-gfx] [PATCH 2/3] drm/i915/uc: More refactoring of UC version numbers John.C.Harrison @ 2022-11-22 20:09 ` John.C.Harrison 2022-11-22 23:38 ` Ceraolo Spurio, Daniele 2022-11-22 21:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for More GuC firmware version improvements Patchwork ` (3 subsequent siblings) 6 siblings, 1 reply; 11+ messages in thread From: John.C.Harrison @ 2022-11-22 20:09 UTC (permalink / raw) To: Intel-GFX; +Cc: DRI-Devel From: John Harrison <John.C.Harrison@Intel.com> The GuC firmware includes an extra version number to specify the submission API level. So use that rather than the main firmware version number for submission related checks. Also, while it is guaranteed that GuC version number components are only 8-bits in size, other firmwares do not have that restriction. So stop making assumptions about them generically fitting in a u16 individually, or in a u32 as a combined 8.8.8. Signed-off-by: John Harrison <John.C.Harrison@Intel.com> --- drivers/gpu/drm/i915/gt/uc/intel_guc.h | 11 +++ .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 15 +-- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 91 ++++++++++++++++--- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 10 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h | 3 +- 5 files changed, 104 insertions(+), 26 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.h b/drivers/gpu/drm/i915/gt/uc/intel_guc.h index 1bb3f98292866..bb4dfe707a7d0 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.h @@ -158,6 +158,9 @@ struct intel_guc { bool submission_selected; /** @submission_initialized: tracks whether GuC submission has been initialised */ bool submission_initialized; + /** @submission_version: Submission API version of the currently loaded firmware */ + struct intel_uc_fw_ver submission_version; + /** * @rc_supported: tracks whether we support GuC rc on the current platform */ @@ -268,6 +271,14 @@ struct intel_guc { #endif }; +/* + * GuC version number components are only 8-bit, so converting to a 32bit 8.8.8 + * integer works. + */ +#define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat)) +#define MAKE_GUC_VER_STRUCT(ver) MAKE_GUC_VER((ver).major, (ver).minor, (ver).patch) +#define GUC_SUBMIT_VER(guc) MAKE_GUC_VER_STRUCT((guc)->submission_version) + static inline struct intel_guc *log_to_guc(struct intel_guc_log *log) { return container_of(log, struct intel_guc, log); diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c index 0a42f1807f52c..53f7f599cde3a 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c @@ -1890,7 +1890,7 @@ int intel_guc_submission_init(struct intel_guc *guc) if (guc->submission_initialized) return 0; - if (GET_UC_VER(guc) < MAKE_UC_VER(70, 0, 0)) { + if (GUC_SUBMIT_VER(guc) < MAKE_GUC_VER(1, 0, 0)) { ret = guc_lrc_desc_pool_create_v69(guc); if (ret) return ret; @@ -2330,7 +2330,7 @@ static int register_context(struct intel_context *ce, bool loop) GEM_BUG_ON(intel_context_is_child(ce)); trace_intel_context_register(ce); - if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) ret = register_context_v70(guc, ce, loop); else ret = register_context_v69(guc, ce, loop); @@ -2342,7 +2342,7 @@ static int register_context(struct intel_context *ce, bool loop) set_context_registered(ce); spin_unlock_irqrestore(&ce->guc_state.lock, flags); - if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) guc_context_policy_init_v70(ce, loop); } @@ -2956,7 +2956,7 @@ static void __guc_context_set_preemption_timeout(struct intel_guc *guc, u16 guc_id, u32 preemption_timeout) { - if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) { + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) { struct context_policy policy; __guc_context_policy_start_klv(&policy, guc_id); @@ -3283,7 +3283,7 @@ static int guc_context_alloc(struct intel_context *ce) static void __guc_context_set_prio(struct intel_guc *guc, struct intel_context *ce) { - if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) { + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) { struct context_policy policy; __guc_context_policy_start_klv(&policy, ce->guc_id.id); @@ -4366,7 +4366,7 @@ static int guc_init_global_schedule_policy(struct intel_guc *guc) intel_wakeref_t wakeref; int ret = 0; - if (GET_UC_VER(guc) < MAKE_UC_VER(70, 3, 0)) + if (GUC_SUBMIT_VER(guc) < MAKE_GUC_VER(1, 1, 0)) return 0; __guc_scheduling_policy_start_klv(&policy); @@ -4905,6 +4905,9 @@ void intel_guc_submission_print_info(struct intel_guc *guc, if (!sched_engine) return; + drm_printf(p, "GuC Submission API Version: %d.%d.%d\n", + guc->submission_version.major, guc->submission_version.minor, + guc->submission_version.patch); drm_printf(p, "GuC Number Outstanding Submission G2H: %u\n", atomic_read(&guc->outstanding_submission_g2h)); drm_printf(p, "GuC tasklet count: %u\n", diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c index 5e2ee1ac89514..df5b53faa9583 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c @@ -532,15 +532,71 @@ static int check_ccs_header(struct intel_gt *gt, } /* Get version numbers from the CSS header */ - uc_fw->file_selected.ver.major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, - css->sw_version); - uc_fw->file_selected.ver.minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, - css->sw_version); - uc_fw->file_selected.ver.patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, - css->sw_version); - - if (uc_fw->type == INTEL_UC_FW_TYPE_GUC) + uc_fw->file_selected.ver.major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, css->sw_version); + uc_fw->file_selected.ver.minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, css->sw_version); + uc_fw->file_selected.ver.patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, css->sw_version); + + if (uc_fw->type == INTEL_UC_FW_TYPE_GUC) { + struct intel_guc *guc = container_of(uc_fw, struct intel_guc, fw); + + /* + * GuC version number components are defined as being 8-bits. + * The submission code relies on this to optimise version comparison + * tests. So enforce the restriction here. + */ + if (uc_fw->file_selected.ver.major > 0xFF || + uc_fw->file_selected.ver.minor > 0xFF || + uc_fw->file_selected.ver.patch > 0xFF) { + drm_warn(&i915->drm, "%s firmware %s: invalid version: 0x%02X:%02X:%02X\n", + intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, + uc_fw->file_selected.ver.major, uc_fw->file_selected.ver.minor, + uc_fw->file_selected.ver.patch); + } + + /* + * The GuC firmware includes an extra version number to specify the + * submission API level. This allows submission code to work with + * multiple GuC versions without having to know the absolute firmware + * version number (there are likely to be multiple firmware releases + * which all support the same submission API level). + * + * Unfortunately, due to an oversight, this version was only exposed + * in the CSS header from v70.6.0. + */ + if (uc_fw->file_selected.ver.major >= 70) { + if (uc_fw->file_selected.ver.minor >= 6) { + /* v70.6.0 adds CSS header support */ + guc->submission_version.major = + FIELD_GET(CSS_SW_VERSION_UC_MAJOR, css->vf_version); + guc->submission_version.minor = + FIELD_GET(CSS_SW_VERSION_UC_MINOR, css->vf_version); + guc->submission_version.patch = + FIELD_GET(CSS_SW_VERSION_UC_PATCH, css->vf_version); + } else if (uc_fw->file_selected.ver.minor >= 3) { + /* v70.3.0 introduced v1.1.0 */ + guc->submission_version.major = 1; + guc->submission_version.minor = 1; + guc->submission_version.patch = 0; + } else { + /* v70.0.0 introduced v1.0.0 */ + guc->submission_version.major = 1; + guc->submission_version.minor = 0; + guc->submission_version.patch = 0; + } + } else if (uc_fw->file_selected.ver.major >= 69) { + /* v69.0.0 introduced v0.10.0 */ + guc->submission_version.major = 0; + guc->submission_version.minor = 10; + guc->submission_version.patch = 0; + } else { + /* Prior versions were v0.1.0 */ + guc->submission_version.major = 0; + guc->submission_version.minor = 1; + guc->submission_version.patch = 0; + } + uc_fw->private_data_size = css->private_data_size; + } return 0; } @@ -1054,7 +1110,7 @@ size_t intel_uc_fw_copy_rsa(struct intel_uc_fw *uc_fw, void *dst, u32 max_len) */ void intel_uc_fw_dump(const struct intel_uc_fw *uc_fw, struct drm_printer *p) { - u32 ver_sel, ver_want; + bool found; drm_printf(p, "%s firmware: %s\n", intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path); @@ -1063,9 +1119,20 @@ void intel_uc_fw_dump(const struct intel_uc_fw *uc_fw, struct drm_printer *p) intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_wanted.path); drm_printf(p, "\tstatus: %s\n", intel_uc_fw_status_repr(uc_fw->status)); - ver_sel = MAKE_UC_VER_STRUCT(uc_fw->file_selected.ver); - ver_want = MAKE_UC_VER_STRUCT(uc_fw->file_wanted.ver); - if (ver_sel < ver_want) + + if (uc_fw->file_selected.ver.major < uc_fw->file_wanted.ver.major) + found = false; + else if ((uc_fw->file_selected.ver.major == uc_fw->file_wanted.ver.major) && + (uc_fw->file_selected.ver.minor < uc_fw->file_wanted.ver.minor)) + found = false; + else if ((uc_fw->file_selected.ver.major == uc_fw->file_wanted.ver.major) && + (uc_fw->file_selected.ver.minor == uc_fw->file_wanted.ver.minor) && + (uc_fw->file_selected.ver.patch < uc_fw->file_wanted.ver.patch)) + found = false; + else + found = true; + + if (!found) drm_printf(p, "\tversion: wanted %u.%u.%u, found %u.%u.%u\n", uc_fw->file_wanted.ver.major, uc_fw->file_wanted.ver.minor, diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h index 6501d6f1fbdff..3ab87c54a3987 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h @@ -66,9 +66,9 @@ enum intel_uc_fw_type { #define INTEL_UC_FW_NUM_TYPES 2 struct intel_uc_fw_ver { - u16 major; - u16 minor; - u16 patch; + u32 major; + u32 minor; + u32 patch; }; /* @@ -114,10 +114,6 @@ struct intel_uc_fw { bool loaded_via_gsc; }; -#define MAKE_UC_VER(maj, min, pat) ((pat) | ((min) << 8) | ((maj) << 16)) -#define MAKE_UC_VER_STRUCT(ver) MAKE_UC_VER((ver).major, (ver).minor, (ver).patch) -#define GET_UC_VER(uc) (MAKE_UC_VER_STRUCT((uc)->fw.file_selected.ver)) - /* * When we load the uC binaries, we pin them in a reserved section at the top of * the GGTT, which is ~18 MBs. On multi-GT systems where the GTs share the GGTT, diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h index 7a411178bdbf2..646fa8aa6cf19 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h @@ -74,7 +74,8 @@ struct uc_css_header { #define CSS_SW_VERSION_UC_MAJOR (0xFF << 16) #define CSS_SW_VERSION_UC_MINOR (0xFF << 8) #define CSS_SW_VERSION_UC_PATCH (0xFF << 0) - u32 reserved0[13]; + u32 vf_version; + u32 reserved0[12]; union { u32 private_data_size; /* only applies to GuC */ u32 reserved1; -- 2.37.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 3/3] drm/i915/guc: Use GuC submission API version number 2022-11-22 20:09 ` [Intel-gfx] [PATCH 3/3] drm/i915/guc: Use GuC submission API version number John.C.Harrison @ 2022-11-22 23:38 ` Ceraolo Spurio, Daniele 0 siblings, 0 replies; 11+ messages in thread From: Ceraolo Spurio, Daniele @ 2022-11-22 23:38 UTC (permalink / raw) To: John.C.Harrison, Intel-GFX; +Cc: DRI-Devel On 11/22/2022 12:09 PM, John.C.Harrison@Intel.com wrote: > From: John Harrison <John.C.Harrison@Intel.com> > > The GuC firmware includes an extra version number to specify the > submission API level. So use that rather than the main firmware > version number for submission related checks. > > Also, while it is guaranteed that GuC version number components are > only 8-bits in size, other firmwares do not have that restriction. So > stop making assumptions about them generically fitting in a u16 > individually, or in a u32 as a combined 8.8.8. > > Signed-off-by: John Harrison <John.C.Harrison@Intel.com> > --- > drivers/gpu/drm/i915/gt/uc/intel_guc.h | 11 +++ > .../gpu/drm/i915/gt/uc/intel_guc_submission.c | 15 +-- > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 91 ++++++++++++++++--- > drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h | 10 +- > drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h | 3 +- > 5 files changed, 104 insertions(+), 26 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.h b/drivers/gpu/drm/i915/gt/uc/intel_guc.h > index 1bb3f98292866..bb4dfe707a7d0 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.h > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.h > @@ -158,6 +158,9 @@ struct intel_guc { > bool submission_selected; > /** @submission_initialized: tracks whether GuC submission has been initialised */ > bool submission_initialized; > + /** @submission_version: Submission API version of the currently loaded firmware */ > + struct intel_uc_fw_ver submission_version; > + > /** > * @rc_supported: tracks whether we support GuC rc on the current platform > */ > @@ -268,6 +271,14 @@ struct intel_guc { > #endif > }; > > +/* > + * GuC version number components are only 8-bit, so converting to a 32bit 8.8.8 > + * integer works. > + */ > +#define MAKE_GUC_VER(maj, min, pat) (((maj) << 16) | ((min) << 8) | (pat)) > +#define MAKE_GUC_VER_STRUCT(ver) MAKE_GUC_VER((ver).major, (ver).minor, (ver).patch) > +#define GUC_SUBMIT_VER(guc) MAKE_GUC_VER_STRUCT((guc)->submission_version) > + > static inline struct intel_guc *log_to_guc(struct intel_guc_log *log) > { > return container_of(log, struct intel_guc, log); > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c > index 0a42f1807f52c..53f7f599cde3a 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c > @@ -1890,7 +1890,7 @@ int intel_guc_submission_init(struct intel_guc *guc) > if (guc->submission_initialized) > return 0; > > - if (GET_UC_VER(guc) < MAKE_UC_VER(70, 0, 0)) { > + if (GUC_SUBMIT_VER(guc) < MAKE_GUC_VER(1, 0, 0)) { > ret = guc_lrc_desc_pool_create_v69(guc); > if (ret) > return ret; > @@ -2330,7 +2330,7 @@ static int register_context(struct intel_context *ce, bool loop) > GEM_BUG_ON(intel_context_is_child(ce)); > trace_intel_context_register(ce); > > - if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) > + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) > ret = register_context_v70(guc, ce, loop); > else > ret = register_context_v69(guc, ce, loop); > @@ -2342,7 +2342,7 @@ static int register_context(struct intel_context *ce, bool loop) > set_context_registered(ce); > spin_unlock_irqrestore(&ce->guc_state.lock, flags); > > - if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) > + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) > guc_context_policy_init_v70(ce, loop); > } > > @@ -2956,7 +2956,7 @@ static void __guc_context_set_preemption_timeout(struct intel_guc *guc, > u16 guc_id, > u32 preemption_timeout) > { > - if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) { > + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) { > struct context_policy policy; > > __guc_context_policy_start_klv(&policy, guc_id); > @@ -3283,7 +3283,7 @@ static int guc_context_alloc(struct intel_context *ce) > static void __guc_context_set_prio(struct intel_guc *guc, > struct intel_context *ce) > { > - if (GET_UC_VER(guc) >= MAKE_UC_VER(70, 0, 0)) { > + if (GUC_SUBMIT_VER(guc) >= MAKE_GUC_VER(1, 0, 0)) { > struct context_policy policy; > > __guc_context_policy_start_klv(&policy, ce->guc_id.id); > @@ -4366,7 +4366,7 @@ static int guc_init_global_schedule_policy(struct intel_guc *guc) > intel_wakeref_t wakeref; > int ret = 0; > > - if (GET_UC_VER(guc) < MAKE_UC_VER(70, 3, 0)) > + if (GUC_SUBMIT_VER(guc) < MAKE_GUC_VER(1, 1, 0)) > return 0; > > __guc_scheduling_policy_start_klv(&policy); > @@ -4905,6 +4905,9 @@ void intel_guc_submission_print_info(struct intel_guc *guc, > if (!sched_engine) > return; > > + drm_printf(p, "GuC Submission API Version: %d.%d.%d\n", > + guc->submission_version.major, guc->submission_version.minor, > + guc->submission_version.patch); > drm_printf(p, "GuC Number Outstanding Submission G2H: %u\n", > atomic_read(&guc->outstanding_submission_g2h)); > drm_printf(p, "GuC tasklet count: %u\n", > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > index 5e2ee1ac89514..df5b53faa9583 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c > @@ -532,15 +532,71 @@ static int check_ccs_header(struct intel_gt *gt, > } > > /* Get version numbers from the CSS header */ > - uc_fw->file_selected.ver.major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, > - css->sw_version); > - uc_fw->file_selected.ver.minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, > - css->sw_version); > - uc_fw->file_selected.ver.patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, > - css->sw_version); > - > - if (uc_fw->type == INTEL_UC_FW_TYPE_GUC) > + uc_fw->file_selected.ver.major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, css->sw_version); > + uc_fw->file_selected.ver.minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, css->sw_version); > + uc_fw->file_selected.ver.patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, css->sw_version); > + > + if (uc_fw->type == INTEL_UC_FW_TYPE_GUC) { > + struct intel_guc *guc = container_of(uc_fw, struct intel_guc, fw); > + > + /* > + * GuC version number components are defined as being 8-bits. > + * The submission code relies on this to optimise version comparison > + * tests. So enforce the restriction here. > + */ > + if (uc_fw->file_selected.ver.major > 0xFF || > + uc_fw->file_selected.ver.minor > 0xFF || > + uc_fw->file_selected.ver.patch > 0xFF) { > + drm_warn(&i915->drm, "%s firmware %s: invalid version: 0x%02X:%02X:%02X\n", > + intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path, > + uc_fw->file_selected.ver.major, uc_fw->file_selected.ver.minor, > + uc_fw->file_selected.ver.patch); > + } > + > + /* > + * The GuC firmware includes an extra version number to specify the > + * submission API level. This allows submission code to work with > + * multiple GuC versions without having to know the absolute firmware > + * version number (there are likely to be multiple firmware releases > + * which all support the same submission API level). > + * > + * Unfortunately, due to an oversight, this version was only exposed > + * in the CSS header from v70.6.0. > + */ > + if (uc_fw->file_selected.ver.major >= 70) { > + if (uc_fw->file_selected.ver.minor >= 6) { > + /* v70.6.0 adds CSS header support */ > + guc->submission_version.major = > + FIELD_GET(CSS_SW_VERSION_UC_MAJOR, css->vf_version); > + guc->submission_version.minor = > + FIELD_GET(CSS_SW_VERSION_UC_MINOR, css->vf_version); > + guc->submission_version.patch = > + FIELD_GET(CSS_SW_VERSION_UC_PATCH, css->vf_version); These lines are getting long. I'm wondering if it's worth having a small helper? something like: void extract_guc_ver(struct intel_uc_fw_ver *ver, u32 css_ver) { ver->major = FIELD_GET(CSS_SW_VERSION_UC_MAJOR, css_ver); ver->minor = FIELD_GET(CSS_SW_VERSION_UC_MINOR, css_ver); ver->patch = FIELD_GET(CSS_SW_VERSION_UC_PATCH, css_ver); } and then have: extract_guc_ver(&uc_fw->file_selected.ver, css->sw_version); extract_guc_ver(&guc->submission_version, css->vf_version); Not a blocker. > + } else if (uc_fw->file_selected.ver.minor >= 3) { > + /* v70.3.0 introduced v1.1.0 */ > + guc->submission_version.major = 1; > + guc->submission_version.minor = 1; > + guc->submission_version.patch = 0; > + } else { > + /* v70.0.0 introduced v1.0.0 */ > + guc->submission_version.major = 1; > + guc->submission_version.minor = 0; > + guc->submission_version.patch = 0; > + } > + } else if (uc_fw->file_selected.ver.major >= 69) { > + /* v69.0.0 introduced v0.10.0 */ > + guc->submission_version.major = 0; > + guc->submission_version.minor = 10; > + guc->submission_version.patch = 0; > + } else { > + /* Prior versions were v0.1.0 */ > + guc->submission_version.major = 0; > + guc->submission_version.minor = 1; > + guc->submission_version.patch = 0; > + } > + > uc_fw->private_data_size = css->private_data_size; > + } > > return 0; > } > @@ -1054,7 +1110,7 @@ size_t intel_uc_fw_copy_rsa(struct intel_uc_fw *uc_fw, void *dst, u32 max_len) > */ > void intel_uc_fw_dump(const struct intel_uc_fw *uc_fw, struct drm_printer *p) > { > - u32 ver_sel, ver_want; > + bool found; "found" is a confusing name here, because you're not searching for anything, just want to see if the available FW is older than the wanted one. Maybe rename it to "old" or something like that? > > drm_printf(p, "%s firmware: %s\n", > intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_selected.path); > @@ -1063,9 +1119,20 @@ void intel_uc_fw_dump(const struct intel_uc_fw *uc_fw, struct drm_printer *p) > intel_uc_fw_type_repr(uc_fw->type), uc_fw->file_wanted.path); > drm_printf(p, "\tstatus: %s\n", > intel_uc_fw_status_repr(uc_fw->status)); > - ver_sel = MAKE_UC_VER_STRUCT(uc_fw->file_selected.ver); > - ver_want = MAKE_UC_VER_STRUCT(uc_fw->file_wanted.ver); > - if (ver_sel < ver_want) > + > + if (uc_fw->file_selected.ver.major < uc_fw->file_wanted.ver.major) > + found = false; > + else if ((uc_fw->file_selected.ver.major == uc_fw->file_wanted.ver.major) && > + (uc_fw->file_selected.ver.minor < uc_fw->file_wanted.ver.minor)) > + found = false; > + else if ((uc_fw->file_selected.ver.major == uc_fw->file_wanted.ver.major) && > + (uc_fw->file_selected.ver.minor == uc_fw->file_wanted.ver.minor) && > + (uc_fw->file_selected.ver.patch < uc_fw->file_wanted.ver.patch)) > + found = false; > + else > + found = true; > + > + if (!found) > drm_printf(p, "\tversion: wanted %u.%u.%u, found %u.%u.%u\n", > uc_fw->file_wanted.ver.major, > uc_fw->file_wanted.ver.minor, > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h > index 6501d6f1fbdff..3ab87c54a3987 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h > +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h > @@ -66,9 +66,9 @@ enum intel_uc_fw_type { > #define INTEL_UC_FW_NUM_TYPES 2 > > struct intel_uc_fw_ver { > - u16 major; > - u16 minor; > - u16 patch; > + u32 major; > + u32 minor; > + u32 patch; > }; > > /* > @@ -114,10 +114,6 @@ struct intel_uc_fw { > bool loaded_via_gsc; > }; > > -#define MAKE_UC_VER(maj, min, pat) ((pat) | ((min) << 8) | ((maj) << 16)) > -#define MAKE_UC_VER_STRUCT(ver) MAKE_UC_VER((ver).major, (ver).minor, (ver).patch) > -#define GET_UC_VER(uc) (MAKE_UC_VER_STRUCT((uc)->fw.file_selected.ver)) > - > /* > * When we load the uC binaries, we pin them in a reserved section at the top of > * the GGTT, which is ~18 MBs. On multi-GT systems where the GTs share the GGTT, > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h > index 7a411178bdbf2..646fa8aa6cf19 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h > +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h > @@ -74,7 +74,8 @@ struct uc_css_header { > #define CSS_SW_VERSION_UC_MAJOR (0xFF << 16) > #define CSS_SW_VERSION_UC_MINOR (0xFF << 8) > #define CSS_SW_VERSION_UC_PATCH (0xFF << 0) > - u32 reserved0[13]; > + u32 vf_version; The vf_version naming here clashes a bit with the submission_version naming we used in the driver. I understand that the vf_version naming comes from the GuC specs and that it's named that way because the main reason it was added is for virtualization, but it might be useful to have a comment in the driver to explain that to avoid confusion. Not a blocker. Daniele > + u32 reserved0[12]; > union { > u32 private_data_size; /* only applies to GuC */ > u32 reserved1; ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for More GuC firmware version improvements 2022-11-22 20:09 [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements John.C.Harrison ` (2 preceding siblings ...) 2022-11-22 20:09 ` [Intel-gfx] [PATCH 3/3] drm/i915/guc: Use GuC submission API version number John.C.Harrison @ 2022-11-22 21:51 ` Patchwork 2022-11-22 21:52 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork ` (2 subsequent siblings) 6 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2022-11-22 21:51 UTC (permalink / raw) To: John Harrison; +Cc: intel-gfx == Series Details == Series: More GuC firmware version improvements URL : https://patchwork.freedesktop.org/series/111218/ State : warning == Summary == Error: dim checkpatch failed f3a008949a16 drm/i915/uc: Rationalise delimiters in filename macros 460dbd43f21f drm/i915/uc: More refactoring of UC version numbers -:220: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ver' - possible side-effects? #220: FILE: drivers/gpu/drm/i915/gt/uc/intel_uc_fw.h:118: +#define MAKE_UC_VER_STRUCT(ver) MAKE_UC_VER((ver).major, (ver).minor, (ver).patch) total: 0 errors, 0 warnings, 1 checks, 190 lines checked 60bcf6584e54 drm/i915/guc: Use GuC submission API version number -:40: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ver' - possible side-effects? #40: FILE: drivers/gpu/drm/i915/gt/uc/intel_guc.h:279: +#define MAKE_GUC_VER_STRUCT(ver) MAKE_GUC_VER((ver).major, (ver).minor, (ver).patch) total: 0 errors, 0 warnings, 1 checks, 221 lines checked ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for More GuC firmware version improvements 2022-11-22 20:09 [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements John.C.Harrison ` (3 preceding siblings ...) 2022-11-22 21:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for More GuC firmware version improvements Patchwork @ 2022-11-22 21:52 ` Patchwork 2022-11-22 22:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2022-11-23 13:30 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 6 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2022-11-22 21:52 UTC (permalink / raw) To: John Harrison; +Cc: intel-gfx == Series Details == Series: More GuC firmware version improvements URL : https://patchwork.freedesktop.org/series/111218/ State : warning == Summary == Error: dim sparse failed Sparse version: v0.6.2 Fast mode used, each commit won't be checked separately. ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for More GuC firmware version improvements 2022-11-22 20:09 [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements John.C.Harrison ` (4 preceding siblings ...) 2022-11-22 21:52 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork @ 2022-11-22 22:13 ` Patchwork 2022-11-23 13:30 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 6 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2022-11-22 22:13 UTC (permalink / raw) To: John Harrison; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 4163 bytes --] == Series Details == Series: More GuC firmware version improvements URL : https://patchwork.freedesktop.org/series/111218/ State : success == Summary == CI Bug Log - changes from CI_DRM_12418 -> Patchwork_111218v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/index.html Participating hosts (33 -> 34) ------------------------------ Additional (1): fi-tgl-dsi Known issues ------------ Here are the changes found in Patchwork_111218v1 that come from known issues: ### IGT changes ### #### Possible fixes #### * igt@i915_selftest@live@guc: - {bat-rpls-2}: [DMESG-WARN][1] ([i915#6471]) -> [PASS][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/bat-rpls-2/igt@i915_selftest@live@guc.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/bat-rpls-2/igt@i915_selftest@live@guc.html * igt@i915_selftest@live@hangcheck: - {bat-adlm-1}: [INCOMPLETE][3] ([i915#4983]) -> [PASS][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/bat-adlm-1/igt@i915_selftest@live@hangcheck.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/bat-adlm-1/igt@i915_selftest@live@hangcheck.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions: - fi-bsw-kefka: [FAIL][5] ([i915#6298]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284 [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190 [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298 [i915#6434]: https://gitlab.freedesktop.org/drm/intel/issues/6434 [i915#6471]: https://gitlab.freedesktop.org/drm/intel/issues/6471 [i915#6856]: https://gitlab.freedesktop.org/drm/intel/issues/6856 [i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077 [i915#7125]: https://gitlab.freedesktop.org/drm/intel/issues/7125 [i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346 [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 Build changes ------------- * Linux: CI_DRM_12418 -> Patchwork_111218v1 CI-20190529: 20190529 CI_DRM_12418: 22789b788bcaf35826550836b0ad6872d6e85ca6 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7071: 0801475083ccb938b1d3b358502ff97fdb435585 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_111218v1: 22789b788bcaf35826550836b0ad6872d6e85ca6 @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits 064ee63e7773 drm/i915/guc: Use GuC submission API version number fba8cf42a82b drm/i915/uc: More refactoring of UC version numbers 098a9a1ef232 drm/i915/uc: Rationalise delimiters in filename macros == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/index.html [-- Attachment #2: Type: text/html, Size: 3555 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for More GuC firmware version improvements 2022-11-22 20:09 [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements John.C.Harrison ` (5 preceding siblings ...) 2022-11-22 22:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2022-11-23 13:30 ` Patchwork 6 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2022-11-23 13:30 UTC (permalink / raw) To: John Harrison; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 44044 bytes --] == Series Details == Series: More GuC firmware version improvements URL : https://patchwork.freedesktop.org/series/111218/ State : failure == Summary == CI Bug Log - changes from CI_DRM_12418_full -> Patchwork_111218v1_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_111218v1_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_111218v1_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Participating hosts (11 -> 11) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_111218v1_full: ### IGT changes ### #### Possible regressions #### * igt@gem_close@many-handles-one-vma: - shard-skl: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-skl10/igt@gem_close@many-handles-one-vma.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl10/igt@gem_close@many-handles-one-vma.html * igt@kms_flip@flip-vs-suspend@b-hdmi-a2: - shard-glk: [PASS][3] -> [INCOMPLETE][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk2/igt@kms_flip@flip-vs-suspend@b-hdmi-a2.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk1/igt@kms_flip@flip-vs-suspend@b-hdmi-a2.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt: - shard-tglb: [PASS][5] -> [INCOMPLETE][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-tglb2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@prime_self_import@reimport-vs-gem_close-race: - {shard-rkl}: NOTRUN -> [INCOMPLETE][7] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-3/igt@prime_self_import@reimport-vs-gem_close-race.html Known issues ------------ Here are the changes found in Patchwork_111218v1_full that come from known issues: ### CI changes ### #### Issues hit #### * boot: - shard-glk: ([PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [PASS][13], [PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23], [PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], [PASS][29], [PASS][30], [PASS][31], [PASS][32]) -> ([PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37], [PASS][38], [PASS][39], [PASS][40], [PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], [PASS][47], [PASS][48], [PASS][49], [PASS][50], [FAIL][51], [PASS][52], [PASS][53], [PASS][54], [PASS][55], [PASS][56], [PASS][57]) ([i915#4392]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk6/boot.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk5/boot.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk6/boot.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk5/boot.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk7/boot.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk5/boot.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk3/boot.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk7/boot.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk7/boot.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk8/boot.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk8/boot.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk8/boot.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk9/boot.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk3/boot.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk9/boot.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk9/boot.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk3/boot.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk6/boot.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk3/boot.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk2/boot.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk2/boot.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk2/boot.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk1/boot.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk1/boot.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk1/boot.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk5/boot.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk6/boot.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk6/boot.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk5/boot.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk6/boot.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk5/boot.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk3/boot.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk3/boot.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk3/boot.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk2/boot.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk2/boot.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk7/boot.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk7/boot.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk7/boot.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk2/boot.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk1/boot.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk1/boot.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk1/boot.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk8/boot.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk8/boot.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk8/boot.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk8/boot.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk9/boot.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk9/boot.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk9/boot.html ### IGT changes ### #### Issues hit #### * igt@gem_exec_fair@basic-none@vcs1: - shard-iclb: NOTRUN -> [FAIL][58] ([i915#2842]) [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb1/igt@gem_exec_fair@basic-none@vcs1.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [PASS][59] -> [FAIL][60] ([i915#2842]) +1 similar issue [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk3/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@gem_lmem_swapping@heavy-multi: - shard-apl: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#4613]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@gem_lmem_swapping@heavy-multi.html * igt@gem_lmem_swapping@heavy-verify-random-ccs: - shard-tglb: NOTRUN -> [SKIP][62] ([i915#4613]) [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb2/igt@gem_lmem_swapping@heavy-verify-random-ccs.html * igt@gem_pread@exhaustion: - shard-skl: NOTRUN -> [INCOMPLETE][63] ([i915#7248]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl9/igt@gem_pread@exhaustion.html * igt@gem_pwrite@basic-exhaustion: - shard-apl: NOTRUN -> [INCOMPLETE][64] ([i915#7248]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@gem_pwrite@basic-exhaustion.html * igt@gem_userptr_blits@dmabuf-sync: - shard-skl: NOTRUN -> [SKIP][65] ([fdo#109271] / [i915#3323]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl9/igt@gem_userptr_blits@dmabuf-sync.html * igt@i915_module_load@resize-bar: - shard-tglb: NOTRUN -> [SKIP][66] ([i915#6412]) [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb2/igt@i915_module_load@resize-bar.html * igt@i915_pipe_stress@stress-xrgb8888-untiled: - shard-apl: NOTRUN -> [FAIL][67] ([i915#7036]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@i915_pipe_stress@stress-xrgb8888-untiled.html * igt@i915_pm_backlight@fade-with-dpms: - shard-apl: NOTRUN -> [SKIP][68] ([fdo#109271]) +37 similar issues [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl8/igt@i915_pm_backlight@fade-with-dpms.html * igt@i915_pm_dc@dc6-dpms: - shard-skl: NOTRUN -> [FAIL][69] ([i915#3989] / [i915#454]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl10/igt@i915_pm_dc@dc6-dpms.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip: - shard-skl: NOTRUN -> [FAIL][70] ([i915#3763]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl10/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html * igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_mc_ccs: - shard-skl: NOTRUN -> [SKIP][71] ([fdo#109271] / [i915#3886]) +2 similar issues [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl9/igt@kms_ccs@pipe-a-bad-pixel-format-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-a-bad-rotation-90-4_tiled_dg2_mc_ccs: - shard-tglb: NOTRUN -> [SKIP][72] ([i915#6095]) [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb2/igt@kms_ccs@pipe-a-bad-rotation-90-4_tiled_dg2_mc_ccs.html * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs: - shard-tglb: NOTRUN -> [SKIP][73] ([i915#3689] / [i915#3886]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb2/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_mc_ccs: - shard-apl: NOTRUN -> [SKIP][74] ([fdo#109271] / [i915#3886]) +4 similar issues [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@kms_ccs@pipe-c-crc-primary-basic-y_tiled_gen12_mc_ccs.html * igt@kms_chamelium@hdmi-hpd-storm-disable: - shard-skl: NOTRUN -> [SKIP][75] ([fdo#109271] / [fdo#111827]) +3 similar issues [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl10/igt@kms_chamelium@hdmi-hpd-storm-disable.html * igt@kms_color_chamelium@ctm-limited-range: - shard-iclb: NOTRUN -> [SKIP][76] ([fdo#109284] / [fdo#111827]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb3/igt@kms_color_chamelium@ctm-limited-range.html - shard-apl: NOTRUN -> [SKIP][77] ([fdo#109271] / [fdo#111827]) +2 similar issues [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@kms_color_chamelium@ctm-limited-range.html * igt@kms_cursor_crc@cursor-offscreen-32x10: - shard-skl: NOTRUN -> [SKIP][78] ([fdo#109271]) +76 similar issues [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl9/igt@kms_cursor_crc@cursor-offscreen-32x10.html * igt@kms_cursor_crc@cursor-rapid-movement-max-size: - shard-tglb: NOTRUN -> [SKIP][79] ([i915#3555]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb2/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions: - shard-glk: [PASS][80] -> [FAIL][81] ([i915#2346]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html * igt@kms_flip@2x-flip-vs-expired-vblank@bc-hdmi-a1-hdmi-a2: - shard-glk: [PASS][82] -> [FAIL][83] ([i915#79]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank@bc-hdmi-a1-hdmi-a2.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk3/igt@kms_flip@2x-flip-vs-expired-vblank@bc-hdmi-a1-hdmi-a2.html * igt@kms_flip@flip-vs-expired-vblank@c-edp1: - shard-skl: [PASS][84] -> [FAIL][85] ([i915#79]) [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-skl4/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html * igt@kms_flip@flip-vs-suspend@b-edp1: - shard-skl: [PASS][86] -> [INCOMPLETE][87] ([i915#4839]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-skl4/igt@kms_flip@flip-vs-suspend@b-edp1.html [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl6/igt@kms_flip@flip-vs-suspend@b-edp1.html * igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1: - shard-glk: [PASS][88] -> [FAIL][89] ([i915#2122]) +1 similar issue [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk3/igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk8/igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode: - shard-iclb: NOTRUN -> [SKIP][90] ([i915#2587] / [i915#2672]) +2 similar issues [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb6/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-default-mode: - shard-iclb: NOTRUN -> [SKIP][91] ([i915#2672]) +2 similar issues [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode: - shard-iclb: NOTRUN -> [SKIP][92] ([i915#3555]) [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode: - shard-tglb: NOTRUN -> [SKIP][93] ([i915#2587] / [i915#2672]) [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb2/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt: - shard-iclb: NOTRUN -> [SKIP][94] ([fdo#109280]) +1 similar issue [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff: - shard-iclb: [PASS][95] -> [FAIL][96] ([i915#2546]) [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-iclb6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff.html * igt@kms_plane_alpha_blend@constant-alpha-min@pipe-c-edp-1: - shard-skl: NOTRUN -> [FAIL][97] ([i915#4573]) +2 similar issues [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl10/igt@kms_plane_alpha_blend@constant-alpha-min@pipe-c-edp-1.html * igt@kms_psr2_sf@cursor-plane-move-continuous-sf: - shard-skl: NOTRUN -> [SKIP][98] ([fdo#109271] / [i915#658]) [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl10/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html * igt@kms_psr@psr2_primary_page_flip: - shard-iclb: [PASS][99] -> [SKIP][100] ([fdo#109441]) +1 similar issue [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb6/igt@kms_psr@psr2_primary_page_flip.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - shard-tglb: [PASS][101] -> [SKIP][102] ([i915#5519]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-tglb2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html - shard-iclb: [PASS][103] -> [SKIP][104] ([i915#5519]) [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-iclb8/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb1/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_writeback@writeback-invalid-parameters: - shard-apl: NOTRUN -> [SKIP][105] ([fdo#109271] / [i915#2437]) [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@kms_writeback@writeback-invalid-parameters.html - shard-iclb: NOTRUN -> [SKIP][106] ([i915#2437]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb3/igt@kms_writeback@writeback-invalid-parameters.html * igt@kms_writeback@writeback-pixel-formats: - shard-skl: NOTRUN -> [SKIP][107] ([fdo#109271] / [i915#2437]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl9/igt@kms_writeback@writeback-pixel-formats.html * igt@perf_pmu@interrupts: - shard-skl: [PASS][108] -> [FAIL][109] ([i915#7318]) [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-skl10/igt@perf_pmu@interrupts.html [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl9/igt@perf_pmu@interrupts.html * igt@syncobj_timeline@invalid-multi-wait-all-available-unsubmitted-signaled: - shard-skl: [PASS][110] -> [DMESG-WARN][111] ([i915#1982]) +2 similar issues [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-skl1/igt@syncobj_timeline@invalid-multi-wait-all-available-unsubmitted-signaled.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl7/igt@syncobj_timeline@invalid-multi-wait-all-available-unsubmitted-signaled.html * igt@sysfs_clients@recycle-many: - shard-apl: NOTRUN -> [SKIP][112] ([fdo#109271] / [i915#2994]) [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@sysfs_clients@recycle-many.html #### Possible fixes #### * igt@gem_ctx_persistence@hang: - {shard-rkl}: [SKIP][113] ([i915#6252]) -> [PASS][114] [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-5/igt@gem_ctx_persistence@hang.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-4/igt@gem_ctx_persistence@hang.html * igt@gem_exec_balancer@fairslice: - {shard-rkl}: [SKIP][115] ([i915#6259]) -> [PASS][116] [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-5/igt@gem_exec_balancer@fairslice.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@gem_exec_balancer@fairslice.html * igt@gem_exec_balancer@parallel: - shard-iclb: [SKIP][117] ([i915#4525]) -> [PASS][118] [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-iclb8/igt@gem_exec_balancer@parallel.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb1/igt@gem_exec_balancer@parallel.html * igt@gem_exec_fair@basic-deadline: - shard-glk: [FAIL][119] ([i915#2846]) -> [PASS][120] [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk5/igt@gem_exec_fair@basic-deadline.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk9/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-flow@rcs0: - shard-tglb: [FAIL][121] ([i915#2842]) -> [PASS][122] +1 similar issue [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-tglb7/igt@gem_exec_fair@basic-flow@rcs0.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb3/igt@gem_exec_fair@basic-flow@rcs0.html * igt@gem_exec_fair@basic-pace@rcs0: - shard-glk: [FAIL][123] ([i915#2842]) -> [PASS][124] [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk1/igt@gem_exec_fair@basic-pace@rcs0.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk9/igt@gem_exec_fair@basic-pace@rcs0.html * igt@gem_exec_reloc@basic-gtt-wc-noreloc: - {shard-rkl}: [SKIP][125] ([i915#3281]) -> [PASS][126] +6 similar issues [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-5/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html * igt@gem_pwrite@basic-self: - {shard-rkl}: [SKIP][127] ([i915#3282]) -> [PASS][128] +2 similar issues [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-3/igt@gem_pwrite@basic-self.html [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-5/igt@gem_pwrite@basic-self.html * igt@gem_softpin@evict-single-offset: - {shard-rkl}: [FAIL][129] ([i915#4171]) -> [PASS][130] [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-5/igt@gem_softpin@evict-single-offset.html [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-4/igt@gem_softpin@evict-single-offset.html * igt@gen9_exec_parse@unaligned-jump: - {shard-rkl}: [SKIP][131] ([i915#2527]) -> [PASS][132] [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-3/igt@gen9_exec_parse@unaligned-jump.html [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-5/igt@gen9_exec_parse@unaligned-jump.html * igt@i915_hangman@gt-engine-error@bcs0: - {shard-rkl}: [SKIP][133] ([i915#6258]) -> [PASS][134] [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-5/igt@i915_hangman@gt-engine-error@bcs0.html [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@i915_hangman@gt-engine-error@bcs0.html * igt@i915_pm_dc@dc6-psr: - shard-iclb: [FAIL][135] ([i915#3989] / [i915#454]) -> [PASS][136] [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-iclb8/igt@i915_pm_dc@dc6-psr.html [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb7/igt@i915_pm_dc@dc6-psr.html * igt@i915_pm_rc6_residency@rc6-idle@vcs0: - {shard-rkl}: [WARN][137] ([i915#2681]) -> [PASS][138] [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-5/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-4/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html * igt@i915_pm_rpm@pm-tiling: - {shard-rkl}: [SKIP][139] ([fdo#109308]) -> [PASS][140] [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-4/igt@i915_pm_rpm@pm-tiling.html [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@i915_pm_rpm@pm-tiling.html * igt@i915_selftest@live@gt_heartbeat: - shard-skl: [DMESG-FAIL][141] ([i915#5334]) -> [PASS][142] [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-skl6/igt@i915_selftest@live@gt_heartbeat.html [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl7/igt@i915_selftest@live@gt_heartbeat.html * igt@kms_color@ctm-green-to-red@pipe-c-edp-1: - shard-skl: [DMESG-WARN][143] ([i915#1982]) -> [PASS][144] [143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-skl1/igt@kms_color@ctm-green-to-red@pipe-c-edp-1.html [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl1/igt@kms_color@ctm-green-to-red@pipe-c-edp-1.html * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions: - shard-iclb: [FAIL][145] ([i915#2346]) -> [PASS][146] [145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb1/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size: - shard-glk: [FAIL][147] ([i915#2346]) -> [PASS][148] [147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a2: - shard-glk: [FAIL][149] ([i915#79]) -> [PASS][150] [149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk3/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a2.html [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk7/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-hdmi-a2.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-skl: [FAIL][151] ([i915#79]) -> [PASS][152] +2 similar issues [151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-skl4/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1: - shard-apl: [DMESG-WARN][153] ([i915#180]) -> [PASS][154] [153]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html * igt@kms_flip@flip-vs-suspend@b-edp1: - shard-tglb: [DMESG-WARN][155] ([i915#2411] / [i915#2867]) -> [PASS][156] [155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-tglb3/igt@kms_flip@flip-vs-suspend@b-edp1.html [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb3/igt@kms_flip@flip-vs-suspend@b-edp1.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-wc: - {shard-rkl}: [SKIP][157] ([i915#1849] / [i915#4098]) -> [PASS][158] +17 similar issues [157]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-wc.html [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbc-modesetfrombusy: - shard-glk: [FAIL][159] ([i915#2546]) -> [PASS][160] [159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-glk2/igt@kms_frontbuffer_tracking@fbc-modesetfrombusy.html [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-glk7/igt@kms_frontbuffer_tracking@fbc-modesetfrombusy.html * igt@kms_plane@plane-position-covered@pipe-a-planes: - {shard-rkl}: [SKIP][161] ([i915#1849] / [i915#3558]) -> [PASS][162] +1 similar issue [161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-5/igt@kms_plane@plane-position-covered@pipe-a-planes.html [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@kms_plane@plane-position-covered@pipe-a-planes.html * igt@kms_psr@sprite_plane_move: - {shard-rkl}: [SKIP][163] ([i915#1072]) -> [PASS][164] +1 similar issue [163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-4/igt@kms_psr@sprite_plane_move.html [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@kms_psr@sprite_plane_move.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - {shard-rkl}: [SKIP][165] ([i915#5461]) -> [PASS][166] [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-3/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_psr_stress_test@invalidate-primary-flip-overlay: - shard-tglb: [SKIP][167] ([i915#5519]) -> [PASS][168] [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-tglb8/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb6/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html * igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-b: - {shard-rkl}: [SKIP][169] ([i915#4098]) -> [PASS][170] +1 similar issue [169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-3/igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-b.html [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@kms_universal_plane@universal-plane-pageflip-windowed-pipe-b.html * igt@kms_vblank@pipe-b-query-idle: - {shard-rkl}: [SKIP][171] ([i915#1845] / [i915#4098]) -> [PASS][172] +23 similar issues [171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-3/igt@kms_vblank@pipe-b-query-idle.html [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@kms_vblank@pipe-b-query-idle.html * igt@perf@gen12-unprivileged-single-ctx-counters: - {shard-rkl}: [SKIP][173] ([fdo#109289]) -> [PASS][174] [173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-5/igt@perf@gen12-unprivileged-single-ctx-counters.html [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@perf@gen12-unprivileged-single-ctx-counters.html * igt@perf_pmu@busy-double-start@vecs0: - {shard-dg1}: [FAIL][175] ([i915#4349]) -> [PASS][176] [175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-dg1-13/igt@perf_pmu@busy-double-start@vecs0.html [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-dg1-17/igt@perf_pmu@busy-double-start@vecs0.html * igt@prime_vgem@basic-fence-flip: - {shard-rkl}: [SKIP][177] ([fdo#109295] / [i915#3708] / [i915#4098]) -> [PASS][178] [177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-3/igt@prime_vgem@basic-fence-flip.html [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-6/igt@prime_vgem@basic-fence-flip.html * igt@prime_vgem@basic-write: - {shard-rkl}: [SKIP][179] ([fdo#109295] / [i915#3291] / [i915#3708]) -> [PASS][180] [179]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-rkl-6/igt@prime_vgem@basic-write.html [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-rkl-5/igt@prime_vgem@basic-write.html #### Warnings #### * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-tglb: [FAIL][181] ([i915#2842]) -> [SKIP][182] ([i915#2848]) [181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-tglb2/igt@gem_exec_fair@basic-none-solo@rcs0.html [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-tglb6/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1: - shard-apl: [DMESG-FAIL][183] ([IGT#6]) -> [FAIL][184] ([i915#4573]) +1 similar issue [183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-apl2/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1.html [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl1/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-dp-1.html * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area: - shard-iclb: [SKIP][185] ([fdo#111068] / [i915#658]) -> [SKIP][186] ([i915#2920]) [185]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-iclb1/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html * igt@runner@aborted: - shard-apl: ([FAIL][187], [FAIL][188], [FAIL][189]) ([i915#180] / [i915#3002] / [i915#4312]) -> ([FAIL][190], [FAIL][191]) ([i915#3002] / [i915#4312]) [187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-apl1/igt@runner@aborted.html [188]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-apl7/igt@runner@aborted.html [189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12418/shard-apl6/igt@runner@aborted.html [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl7/igt@runner@aborted.html [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/shard-apl6/igt@runner@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280 [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283 [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284 [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289 [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295 [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614 [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825 [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411 [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527 [i915#2546]: https://gitlab.freedesktop.org/drm/intel/issues/2546 [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582 [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587 [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705 [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280 [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846 [i915#2848]: https://gitlab.freedesktop.org/drm/intel/issues/2848 [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867 [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920 [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994 [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002 [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116 [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291 [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323 [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546 [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555 [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708 [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734 [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742 [i915#3763]: https://gitlab.freedesktop.org/drm/intel/issues/3763 [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840 [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886 [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989 [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083 [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098 [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103 [i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312 [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349 [i915#4392]: https://gitlab.freedesktop.org/drm/intel/issues/4392 [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573 [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4839]: https://gitlab.freedesktop.org/drm/intel/issues/4839 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885 [i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286 [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288 [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325 [i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334 [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439 [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461 [i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519 [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563 [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247 [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248 [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252 [i915#6258]: https://gitlab.freedesktop.org/drm/intel/issues/6258 [i915#6259]: https://gitlab.freedesktop.org/drm/intel/issues/6259 [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412 [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621 [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768 [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946 [i915#7036]: https://gitlab.freedesktop.org/drm/intel/issues/7036 [i915#7037]: https://gitlab.freedesktop.org/drm/intel/issues/7037 [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118 [i915#7248]: https://gitlab.freedesktop.org/drm/intel/issues/7248 [i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276 [i915#7318]: https://gitlab.freedesktop.org/drm/intel/issues/7318 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 Build changes ------------- * Linux: CI_DRM_12418 -> Patchwork_111218v1 CI-20190529: 20190529 CI_DRM_12418: 22789b788bcaf35826550836b0ad6872d6e85ca6 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7071: 0801475083ccb938b1d3b358502ff97fdb435585 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_111218v1: 22789b788bcaf35826550836b0ad6872d6e85ca6 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111218v1/index.html [-- Attachment #2: Type: text/html, Size: 46607 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-11-23 13:30 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-11-22 20:09 [Intel-gfx] [PATCH 0/3] More GuC firmware version improvements John.C.Harrison 2022-11-22 20:09 ` [Intel-gfx] [PATCH 1/3] drm/i915/uc: Rationalise delimiters in filename macros John.C.Harrison 2022-11-22 23:15 ` Ceraolo Spurio, Daniele 2022-11-22 20:09 ` [Intel-gfx] [PATCH 2/3] drm/i915/uc: More refactoring of UC version numbers John.C.Harrison 2022-11-22 23:17 ` Ceraolo Spurio, Daniele 2022-11-22 20:09 ` [Intel-gfx] [PATCH 3/3] drm/i915/guc: Use GuC submission API version number John.C.Harrison 2022-11-22 23:38 ` Ceraolo Spurio, Daniele 2022-11-22 21:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for More GuC firmware version improvements Patchwork 2022-11-22 21:52 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2022-11-22 22:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2022-11-23 13:30 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox