All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] intel_reg: Move decoding behind an option
@ 2024-04-16 15:42 Lucas De Marchi
  2024-04-16 17:15 ` ✗ Fi.CI.BAT: failure for " Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Lucas De Marchi @ 2024-04-16 15:42 UTC (permalink / raw)
  To: igt-dev; +Cc: Matt Roper, Jani Nikula, Ville Syrjala, Lucas De Marchi

Decoding the register can be only as good as the reg_spec being used.
The current builtin register spec is not that. Move that decoding behind
an option to make it better for the normal case when running from the
repo checkout where the external reg spec is not available. Passing any
of --decode, --all, --spec brings the old behavior back:

	$ sudo ./build/tools/intel_reg --decode read 0x2358
	Warning: stat '/usr/local/share/igt-gpu-tools/registers' failed: No such file or directory. Using builtin register spec.
					    (0x00002358): 0x00000000

vs the new behavior:

	$ sudo ./build/tools/intel_reg --decode read 0x2358
					    (0x00002358): 0x00000000

We could probably reduce the leading space since we won't have any name,
but that can be improved later.

v2: Instead of removing the warning, move the whole decoding logic
    behind a command line option

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 tools/intel_reg.c | 31 ++++++++++++++++++++++++-------
 1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/tools/intel_reg.c b/tools/intel_reg.c
index 6c37e14d1..1b6a07aca 100644
--- a/tools/intel_reg.c
+++ b/tools/intel_reg.c
@@ -68,6 +68,9 @@ struct config {
 	/* write: do a posting read */
 	bool post;
 
+	/* decode registers, otherwise use just raw values */
+	bool decode;
+
 	/* decode register for all platforms */
 	bool all_platforms;
 
@@ -195,7 +198,7 @@ static bool port_is_mmio(enum port_addr port)
 	}
 }
 
-static void dump_decode(struct config *config, struct reg *reg, uint32_t val)
+static void dump_regval(struct config *config, struct reg *reg, uint32_t val)
 {
 	char decode[1300];
 	char tmp[1024];
@@ -206,8 +209,11 @@ static void dump_decode(struct config *config, struct reg *reg, uint32_t val)
 	else
 		*bin = '\0';
 
-	intel_reg_spec_decode(tmp, sizeof(tmp), reg, val,
-			      config->all_platforms ? 0 : config->devid);
+	if (config->decode)
+		intel_reg_spec_decode(tmp, sizeof(tmp), reg, val,
+				      config->all_platforms ? 0 : config->devid);
+	else
+		*tmp = '\0';
 
 	if (*tmp) {
 		/* We have a decode result, and maybe binary decode. */
@@ -573,7 +579,7 @@ static void dump_register(struct config *config, struct reg *reg)
 	uint32_t val;
 
 	if (read_register(config, reg, &val) == 0)
-		dump_decode(config, reg, val);
+		dump_regval(config, reg, val);
 }
 
 static int write_register(struct config *config, struct reg *reg, uint32_t val)
@@ -941,7 +947,7 @@ static int intel_reg_decode(struct config *config, int argc, char *argv[])
 			continue;
 		}
 
-		dump_decode(config, &reg, val);
+		dump_regval(config, &reg, val);
 	}
 
 	return EXIT_SUCCESS;
@@ -1037,10 +1043,11 @@ static int intel_reg_help(struct config *config, int argc, char *argv[])
 	printf("\n\n");
 
 	printf("OPTIONS common to most COMMANDS:\n");
-	printf(" --spec=PATH    Read register spec from directory or file\n");
+	printf(" --spec=PATH    Read register spec from directory or file. Implies --decode\n");
 	printf(" --mmio=FILE    Use an MMIO snapshot\n");
 	printf(" --devid=DEVID  Specify PCI device ID for --mmio=FILE\n");
-	printf(" --all          Decode registers for all known platforms\n");
+	printf(" --decode       Decode registers\n");
+	printf(" --all          Decode registers for all known platforms. Implies --decode\n");
 	printf(" --binary       Binary dump registers\n");
 	printf(" --verbose      Increase verbosity\n");
 	printf(" --quiet        Reduce verbosity\n");
@@ -1106,6 +1113,9 @@ static int read_reg_spec(struct config *config)
 	struct stat st;
 	int r;
 
+	if (!config->decode)
+		return 0;
+
 	path = config->specfile;
 	if (!path)
 		path = getenv("INTEL_REG_SPEC");
@@ -1154,6 +1164,7 @@ enum opt {
 	OPT_DEVID,
 	OPT_COUNT,
 	OPT_POST,
+	OPT_DECODE,
 	OPT_ALL,
 	OPT_BINARY,
 	OPT_SPEC,
@@ -1188,6 +1199,7 @@ int main(int argc, char *argv[])
 		/* options specific to write */
 		{ "post",	no_argument,		NULL,	OPT_POST },
 		/* options specific to read, dump and decode */
+		{ "decode",	no_argument,		NULL,	OPT_DECODE },
 		{ "all",	no_argument,		NULL,	OPT_ALL },
 		{ "binary",	no_argument,		NULL,	OPT_BINARY },
 		{ 0 }
@@ -1223,6 +1235,7 @@ int main(int argc, char *argv[])
 			config.post = true;
 			break;
 		case OPT_SPEC:
+			config.decode = true;
 			config.specfile = strdup(optarg);
 			if (!config.specfile) {
 				fprintf(stderr, "strdup: %s\n",
@@ -1232,6 +1245,10 @@ int main(int argc, char *argv[])
 			break;
 		case OPT_ALL:
 			config.all_platforms = true;
+			config.decode = true;
+			break;
+		case OPT_DECODE:
+			config.decode = true;
 			break;
 		case OPT_BINARY:
 			config.binary = true;
-- 
2.44.0


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

* ✗ Fi.CI.BAT: failure for intel_reg: Move decoding behind an option
  2024-04-16 15:42 [PATCH] intel_reg: Move decoding behind an option Lucas De Marchi
@ 2024-04-16 17:15 ` Patchwork
  2024-04-16 17:40 ` ✓ CI.xeBAT: success " Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2024-04-16 17:15 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 10625 bytes --]

== Series Details ==

Series: intel_reg: Move decoding behind an option
URL   : https://patchwork.freedesktop.org/series/132506/
State : failure

== Summary ==

CI Bug Log - changes from IGT_7809 -> IGTPW_11026
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_11026 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_11026, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/index.html

Participating hosts (40 -> 35)
------------------------------

  Additional (2): bat-kbl-2 bat-arls-3 
  Missing    (7): fi-apl-guc fi-snb-2520m fi-glk-j4005 fi-kbl-8809g bat-dg2-11 bat-jsl-1 bat-mtlp-8 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in IGTPW_11026:

### IGT changes ###

#### Possible regressions ####

  * igt@dmabuf@all-tests@dma_fence_chain:
    - bat-arls-2:         [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7809/bat-arls-2/igt@dmabuf@all-tests@dma_fence_chain.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-2/igt@dmabuf@all-tests@dma_fence_chain.html

  * igt@i915_selftest@live@objects:
    - bat-arls-2:         [PASS][3] -> [DMESG-FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7809/bat-arls-2/igt@i915_selftest@live@objects.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-2/igt@i915_selftest@live@objects.html

  
Known issues
------------

  Here are the changes found in IGTPW_11026 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-arls-3:         NOTRUN -> [SKIP][5] ([i915#9318])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@debugfs_test@basic-hwmon.html

  * igt@fbdev@info:
    - bat-kbl-2:          NOTRUN -> [SKIP][6] ([i915#1849])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-kbl-2/igt@fbdev@info.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - bat-kbl-2:          NOTRUN -> [SKIP][7] +39 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-kbl-2/igt@gem_lmem_swapping@parallel-random-engines.html
    - bat-arls-3:         NOTRUN -> [SKIP][8] ([i915#10213]) +3 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_mmap@basic:
    - bat-arls-3:         NOTRUN -> [SKIP][9] ([i915#4083])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@gem_mmap@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-arls-3:         NOTRUN -> [SKIP][10] ([i915#10197] / [i915#10211] / [i915#4079])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_blits@basic:
    - bat-arls-3:         NOTRUN -> [SKIP][11] ([i915#10196] / [i915#4077]) +2 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@gem_tiled_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-arls-3:         NOTRUN -> [SKIP][12] ([i915#10206] / [i915#4079])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-arls-3:         NOTRUN -> [SKIP][13] ([i915#10209])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@gt_mocs:
    - bat-dg2-14:         [PASS][14] -> [ABORT][15] ([i915#10366])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7809/bat-dg2-14/igt@i915_selftest@live@gt_mocs.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-dg2-14/igt@i915_selftest@live@gt_mocs.html

  * igt@kms_addfb_basic@addfb25-x-tiled-legacy:
    - bat-arls-3:         NOTRUN -> [SKIP][16] ([i915#10200]) +9 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - bat-arls-3:         NOTRUN -> [SKIP][17] ([i915#10202]) +1 other test skip
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_dsc@dsc-basic:
    - bat-arls-3:         NOTRUN -> [SKIP][18] ([i915#9886])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-arls-3:         NOTRUN -> [SKIP][19] ([i915#10207])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-arls-3:         NOTRUN -> [SKIP][20] ([i915#9812])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_psr@psr-primary-mmap-gtt:
    - bat-arls-3:         NOTRUN -> [SKIP][21] ([i915#9732]) +3 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@kms_psr@psr-primary-mmap-gtt.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-arls-3:         NOTRUN -> [SKIP][22] ([i915#10208] / [i915#8809])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-arls-3:         NOTRUN -> [SKIP][23] ([i915#10196] / [i915#3708] / [i915#4077]) +1 other test skip
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - bat-arls-3:         NOTRUN -> [SKIP][24] ([i915#10212] / [i915#3708])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-read:
    - bat-arls-3:         NOTRUN -> [SKIP][25] ([i915#10214] / [i915#3708])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-write:
    - bat-arls-3:         NOTRUN -> [SKIP][26] ([i915#10216] / [i915#3708])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-arls-3/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@gem_lmem_swapping@basic@lmem0:
    - bat-dg2-8:          [FAIL][27] ([i915#10378]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7809/bat-dg2-8/igt@gem_lmem_swapping@basic@lmem0.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-dg2-8/igt@gem_lmem_swapping@basic@lmem0.html

  * igt@i915_selftest@live@execlists:
    - fi-bsw-nick:        [ABORT][29] -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7809/fi-bsw-nick/igt@i915_selftest@live@execlists.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/fi-bsw-nick/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@reset:
    - bat-dg2-9:          [ABORT][31] ([i915#10366]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7809/bat-dg2-9/igt@i915_selftest@live@reset.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-dg2-9/igt@i915_selftest@live@reset.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-a-dp-6:
    - {bat-mtlp-9}:       [DMESG-WARN][33] ([i915#10435] / [i915#9157]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_7809/bat-mtlp-9/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-a-dp-6.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/bat-mtlp-9/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-a-dp-6.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#10196]: https://gitlab.freedesktop.org/drm/intel/issues/10196
  [i915#10197]: https://gitlab.freedesktop.org/drm/intel/issues/10197
  [i915#10200]: https://gitlab.freedesktop.org/drm/intel/issues/10200
  [i915#10202]: https://gitlab.freedesktop.org/drm/intel/issues/10202
  [i915#10206]: https://gitlab.freedesktop.org/drm/intel/issues/10206
  [i915#10207]: https://gitlab.freedesktop.org/drm/intel/issues/10207
  [i915#10208]: https://gitlab.freedesktop.org/drm/intel/issues/10208
  [i915#10209]: https://gitlab.freedesktop.org/drm/intel/issues/10209
  [i915#10211]: https://gitlab.freedesktop.org/drm/intel/issues/10211
  [i915#10212]: https://gitlab.freedesktop.org/drm/intel/issues/10212
  [i915#10213]: https://gitlab.freedesktop.org/drm/intel/issues/10213
  [i915#10214]: https://gitlab.freedesktop.org/drm/intel/issues/10214
  [i915#10216]: https://gitlab.freedesktop.org/drm/intel/issues/10216
  [i915#10366]: https://gitlab.freedesktop.org/drm/intel/issues/10366
  [i915#10378]: https://gitlab.freedesktop.org/drm/intel/issues/10378
  [i915#10435]: https://gitlab.freedesktop.org/drm/intel/issues/10435
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#9157]: https://gitlab.freedesktop.org/drm/intel/issues/9157
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9812]: https://gitlab.freedesktop.org/drm/intel/issues/9812
  [i915#9886]: https://gitlab.freedesktop.org/drm/intel/issues/9886


Build changes
-------------

  * CI: CI-20190529 -> None
  * IGT: IGT_7809 -> IGTPW_11026

  CI-20190529: 20190529
  CI_DRM_14588: ac65548d74fa1cb3aa3418285c255c028ff44334 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_11026: 6b23aeaad54511c44da516424e2a94c3898a1c83 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_7809: 3a71f659700859cab49b8e05a198ba18a5cbd24a @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_11026/index.html

[-- Attachment #2: Type: text/html, Size: 12362 bytes --]

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

* ✓ CI.xeBAT: success for intel_reg: Move decoding behind an option
  2024-04-16 15:42 [PATCH] intel_reg: Move decoding behind an option Lucas De Marchi
  2024-04-16 17:15 ` ✗ Fi.CI.BAT: failure for " Patchwork
@ 2024-04-16 17:40 ` Patchwork
  2024-04-17  7:47 ` [PATCH] " Jani Nikula
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2024-04-16 17:40 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 1679 bytes --]

== Series Details ==

Series: intel_reg: Move decoding behind an option
URL   : https://patchwork.freedesktop.org/series/132506/
State : success

== Summary ==

CI Bug Log - changes from XEIGT_7809_BAT -> XEIGTPW_11026_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (4 -> 4)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in XEIGTPW_11026_BAT that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@kms_frontbuffer_tracking@basic:
    - bat-adlp-7:         [FAIL][1] ([Intel XE#616]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/bat-adlp-7/igt@kms_frontbuffer_tracking@basic.html

  
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616


Build changes
-------------

  * IGT: IGT_7809 -> IGTPW_11026
  * Linux: xe-1098-29eafe20a133980d6b66d3cb97c66d1723636266 -> xe-1099-a761439bd7de146bbb362b8c614a2863bf6d8d76

  IGTPW_11026: 6b23aeaad54511c44da516424e2a94c3898a1c83 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_7809: 3a71f659700859cab49b8e05a198ba18a5cbd24a @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-1098-29eafe20a133980d6b66d3cb97c66d1723636266: 29eafe20a133980d6b66d3cb97c66d1723636266
  xe-1099-a761439bd7de146bbb362b8c614a2863bf6d8d76: a761439bd7de146bbb362b8c614a2863bf6d8d76

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/index.html

[-- Attachment #2: Type: text/html, Size: 2256 bytes --]

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

* Re: [PATCH] intel_reg: Move decoding behind an option
  2024-04-16 15:42 [PATCH] intel_reg: Move decoding behind an option Lucas De Marchi
  2024-04-16 17:15 ` ✗ Fi.CI.BAT: failure for " Patchwork
  2024-04-16 17:40 ` ✓ CI.xeBAT: success " Patchwork
@ 2024-04-17  7:47 ` Jani Nikula
  2024-04-17 18:50 ` ✗ CI.xeFULL: failure for " Patchwork
  2024-04-23 19:48 ` [PATCH] " Kamil Konieczny
  4 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2024-04-17  7:47 UTC (permalink / raw)
  To: Lucas De Marchi, igt-dev; +Cc: Matt Roper, Ville Syrjala, Lucas De Marchi

On Tue, 16 Apr 2024, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> Decoding the register can be only as good as the reg_spec being used.
> The current builtin register spec is not that. Move that decoding behind
> an option to make it better for the normal case when running from the
> repo checkout where the external reg spec is not available. Passing any
> of --decode, --all, --spec brings the old behavior back:
>
> 	$ sudo ./build/tools/intel_reg --decode read 0x2358
> 	Warning: stat '/usr/local/share/igt-gpu-tools/registers' failed: No such file or directory. Using builtin register spec.
> 					    (0x00002358): 0x00000000
>
> vs the new behavior:
>
> 	$ sudo ./build/tools/intel_reg --decode read 0x2358
> 					    (0x00002358): 0x00000000
>
> We could probably reduce the leading space since we won't have any name,
> but that can be improved later.
>
> v2: Instead of removing the warning, move the whole decoding logic
>     behind a command line option

There are commands dump and list that operate on the input from the spec
file. They'd be useless without --decode, and it's kind of silly to
require the user to specify that when it's required.

I think you need to add a .decode field to struct command, move reg spec
reading after command parsing, and set config.decode to command->decode
if the latter is true.

Otherwise LGTM.

BR,
Jani.


>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>  tools/intel_reg.c | 31 ++++++++++++++++++++++++-------
>  1 file changed, 24 insertions(+), 7 deletions(-)
>
> diff --git a/tools/intel_reg.c b/tools/intel_reg.c
> index 6c37e14d1..1b6a07aca 100644
> --- a/tools/intel_reg.c
> +++ b/tools/intel_reg.c
> @@ -68,6 +68,9 @@ struct config {
>  	/* write: do a posting read */
>  	bool post;
>  
> +	/* decode registers, otherwise use just raw values */
> +	bool decode;
> +
>  	/* decode register for all platforms */
>  	bool all_platforms;
>  
> @@ -195,7 +198,7 @@ static bool port_is_mmio(enum port_addr port)
>  	}
>  }
>  
> -static void dump_decode(struct config *config, struct reg *reg, uint32_t val)
> +static void dump_regval(struct config *config, struct reg *reg, uint32_t val)
>  {
>  	char decode[1300];
>  	char tmp[1024];
> @@ -206,8 +209,11 @@ static void dump_decode(struct config *config, struct reg *reg, uint32_t val)
>  	else
>  		*bin = '\0';
>  
> -	intel_reg_spec_decode(tmp, sizeof(tmp), reg, val,
> -			      config->all_platforms ? 0 : config->devid);
> +	if (config->decode)
> +		intel_reg_spec_decode(tmp, sizeof(tmp), reg, val,
> +				      config->all_platforms ? 0 : config->devid);
> +	else
> +		*tmp = '\0';
>  
>  	if (*tmp) {
>  		/* We have a decode result, and maybe binary decode. */
> @@ -573,7 +579,7 @@ static void dump_register(struct config *config, struct reg *reg)
>  	uint32_t val;
>  
>  	if (read_register(config, reg, &val) == 0)
> -		dump_decode(config, reg, val);
> +		dump_regval(config, reg, val);
>  }
>  
>  static int write_register(struct config *config, struct reg *reg, uint32_t val)
> @@ -941,7 +947,7 @@ static int intel_reg_decode(struct config *config, int argc, char *argv[])
>  			continue;
>  		}
>  
> -		dump_decode(config, &reg, val);
> +		dump_regval(config, &reg, val);
>  	}
>  
>  	return EXIT_SUCCESS;
> @@ -1037,10 +1043,11 @@ static int intel_reg_help(struct config *config, int argc, char *argv[])
>  	printf("\n\n");
>  
>  	printf("OPTIONS common to most COMMANDS:\n");
> -	printf(" --spec=PATH    Read register spec from directory or file\n");
> +	printf(" --spec=PATH    Read register spec from directory or file. Implies --decode\n");
>  	printf(" --mmio=FILE    Use an MMIO snapshot\n");
>  	printf(" --devid=DEVID  Specify PCI device ID for --mmio=FILE\n");
> -	printf(" --all          Decode registers for all known platforms\n");
> +	printf(" --decode       Decode registers\n");
> +	printf(" --all          Decode registers for all known platforms. Implies --decode\n");
>  	printf(" --binary       Binary dump registers\n");
>  	printf(" --verbose      Increase verbosity\n");
>  	printf(" --quiet        Reduce verbosity\n");
> @@ -1106,6 +1113,9 @@ static int read_reg_spec(struct config *config)
>  	struct stat st;
>  	int r;
>  
> +	if (!config->decode)
> +		return 0;
> +
>  	path = config->specfile;
>  	if (!path)
>  		path = getenv("INTEL_REG_SPEC");
> @@ -1154,6 +1164,7 @@ enum opt {
>  	OPT_DEVID,
>  	OPT_COUNT,
>  	OPT_POST,
> +	OPT_DECODE,
>  	OPT_ALL,
>  	OPT_BINARY,
>  	OPT_SPEC,
> @@ -1188,6 +1199,7 @@ int main(int argc, char *argv[])
>  		/* options specific to write */
>  		{ "post",	no_argument,		NULL,	OPT_POST },
>  		/* options specific to read, dump and decode */
> +		{ "decode",	no_argument,		NULL,	OPT_DECODE },
>  		{ "all",	no_argument,		NULL,	OPT_ALL },
>  		{ "binary",	no_argument,		NULL,	OPT_BINARY },
>  		{ 0 }
> @@ -1223,6 +1235,7 @@ int main(int argc, char *argv[])
>  			config.post = true;
>  			break;
>  		case OPT_SPEC:
> +			config.decode = true;
>  			config.specfile = strdup(optarg);
>  			if (!config.specfile) {
>  				fprintf(stderr, "strdup: %s\n",
> @@ -1232,6 +1245,10 @@ int main(int argc, char *argv[])
>  			break;
>  		case OPT_ALL:
>  			config.all_platforms = true;
> +			config.decode = true;
> +			break;
> +		case OPT_DECODE:
> +			config.decode = true;
>  			break;
>  		case OPT_BINARY:
>  			config.binary = true;

-- 
Jani Nikula, Intel

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

* ✗ CI.xeFULL: failure for intel_reg: Move decoding behind an option
  2024-04-16 15:42 [PATCH] intel_reg: Move decoding behind an option Lucas De Marchi
                   ` (2 preceding siblings ...)
  2024-04-17  7:47 ` [PATCH] " Jani Nikula
@ 2024-04-17 18:50 ` Patchwork
  2024-04-23 19:48 ` [PATCH] " Kamil Konieczny
  4 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2024-04-17 18:50 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: igt-dev

[-- Attachment #1: Type: text/plain, Size: 47383 bytes --]

== Series Details ==

Series: intel_reg: Move decoding behind an option
URL   : https://patchwork.freedesktop.org/series/132506/
State : failure

== Summary ==

CI Bug Log - changes from XEIGT_7809_full -> XEIGTPW_11026_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (3 -> 3)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in XEIGTPW_11026_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_addfb_basic@unused-pitches:
    - shard-dg2-set2:     [PASS][1] -> [SKIP][2] ([Intel XE#1201] / [i915#6077])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-435/igt@kms_addfb_basic@unused-pitches.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_addfb_basic@unused-pitches.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-dp-4-4-rc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][3] ([Intel XE#1201] / [Intel XE#801]) +15 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-dp-4-4-rc-ccs.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-6-4-mc-ccs:
    - shard-dg2-set2:     NOTRUN -> [FAIL][4] ([Intel XE#650]) +8 other tests fail
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-6-4-mc-ccs.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][5] ([Intel XE#1201] / [Intel XE#316])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][6] ([Intel XE#1201] / [Intel XE#829])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-dg2-set2:     [PASS][7] -> [SKIP][8] ([Intel XE#1201] / [Intel XE#829])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-466/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][9] ([Intel XE#1124] / [Intel XE#1201]) +2 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-433/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_bw@linear-tiling-2-displays-3840x2160p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][10] ([Intel XE#1201] / [Intel XE#367])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][11] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +28 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][12] ([Intel XE#1201] / [Intel XE#787]) +103 other tests skip
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_chamelium_frames@hdmi-cmp-planar-formats:
    - shard-dg2-set2:     NOTRUN -> [SKIP][13] ([Intel XE#1201] / [Intel XE#373]) +1 other test skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html

  * igt@kms_content_protection@legacy@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][14] ([Intel XE#1178]) +1 other test fail
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@kms_content_protection@legacy@pipe-a-dp-4.html

  * igt@kms_content_protection@lic-type-0:
    - shard-dg2-set2:     NOTRUN -> [FAIL][15] ([Intel XE#1204]) +1 other test fail
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@kms_content_protection@lic-type-0.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-dg2-set2:     [PASS][16] -> [DMESG-WARN][17] ([Intel XE#1214] / [Intel XE#282]) +5 other tests dmesg-warn
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - shard-dg2-set2:     NOTRUN -> [SKIP][18] ([Intel XE#1201] / [Intel XE#323])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][19] ([Intel XE#1214] / [Intel XE#282]) +6 other tests dmesg-warn
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
    - shard-dg2-set2:     [PASS][20] -> [DMESG-WARN][21] ([Intel XE#1214] / [Intel XE#877])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][22] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#929])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-dp-4.html

  * igt@kms_flip@2x-plain-flip:
    - shard-dg2-set2:     [PASS][23] -> [SKIP][24] ([Intel XE#1201] / [Intel XE#1235])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_flip@2x-plain-flip.html
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-dg2-set2:     NOTRUN -> [SKIP][25] ([Intel XE#1201] / [Intel XE#455]) +8 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][26] ([Intel XE#1201]) +1 other test skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][27] ([Intel XE#1201] / [Intel XE#651]) +10 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][28] ([Intel XE#1201] / [Intel XE#653]) +11 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_getfb@getfb-reject-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][29] ([Intel XE#1201] / [Intel XE#605])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-433/igt@kms_getfb@getfb-reject-ccs.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-dg2-set2:     [PASS][30] -> [SKIP][31] ([Intel XE#1201] / [Intel XE#417])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_hdmi_inject@inject-audio.html
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-433/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_plane_lowres@tiling-4@pipe-a-hdmi-a-7:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][32] ([Intel XE#324])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_plane_lowres@tiling-4@pipe-a-hdmi-a-7.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][33] ([Intel XE#361])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers:
    - shard-dg2-set2:     [PASS][34] -> [SKIP][35] ([Intel XE#1201]) +8 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers.html
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-modifiers.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][36] ([Intel XE#1129] / [Intel XE#1201])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_rpm@universal-planes-dpms:
    - shard-dg2-set2:     [PASS][37] -> [SKIP][38] ([Intel XE#1201] / [Intel XE#1211]) +2 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-435/igt@kms_pm_rpm@universal-planes-dpms.html
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_pm_rpm@universal-planes-dpms.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-dg2-set2:     NOTRUN -> [SKIP][39] ([Intel XE#1122] / [Intel XE#1201])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr@fbc-pr-no-drrs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][40] ([Intel XE#1201] / [Intel XE#929]) +4 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_psr@fbc-pr-no-drrs.html

  * igt@kms_universal_plane@cursor-fb-leak:
    - shard-dg2-set2:     [PASS][41] -> [FAIL][42] ([Intel XE#771] / [Intel XE#899])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-434/igt@kms_universal_plane@cursor-fb-leak.html
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_universal_plane@cursor-fb-leak.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6:
    - shard-dg2-set2:     [PASS][43] -> [FAIL][44] ([Intel XE#899]) +1 other test fail
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-434/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6.html
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-6.html

  * igt@kms_vblank@ts-continuation-suspend:
    - shard-dg2-set2:     [PASS][45] -> [DMESG-WARN][46] ([Intel XE#1162] / [Intel XE#1214])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@kms_vblank@ts-continuation-suspend.html
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@kms_vblank@ts-continuation-suspend.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][47] ([Intel XE#1214]) +1 other test dmesg-warn
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@kms_vblank@ts-continuation-suspend@pipe-a-dp-4.html

  * igt@kms_vrr@negative-basic:
    - shard-dg2-set2:     [PASS][48] -> [SKIP][49] ([Intel XE#1201] / [Intel XE#1234])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-466/igt@kms_vrr@negative-basic.html
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_vrr@negative-basic.html

  * igt@xe_compute@ccs-mode-compute-kernel:
    - shard-dg2-set2:     [PASS][50] -> [FAIL][51] ([Intel XE#1050])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@xe_compute@ccs-mode-compute-kernel.html
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@xe_compute@ccs-mode-compute-kernel.html

  * igt@xe_evict@evict-mixed-threads-large-multi-vm:
    - shard-dg2-set2:     [PASS][52] -> [FAIL][53] ([Intel XE#1259])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@xe_evict@evict-mixed-threads-large-multi-vm.html
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@xe_evict@evict-mixed-threads-large-multi-vm.html

  * igt@xe_exec_fault_mode@twice-userptr-prefetch:
    - shard-dg2-set2:     NOTRUN -> [SKIP][54] ([Intel XE#1201] / [Intel XE#288]) +5 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@xe_exec_fault_mode@twice-userptr-prefetch.html

  * igt@xe_exec_threads@threads-bal-fd-userptr-invalidate-race:
    - shard-dg2-set2:     [PASS][55] -> [INCOMPLETE][56] ([Intel XE#1169] / [Intel XE#1195] / [Intel XE#1356])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@xe_exec_threads@threads-bal-fd-userptr-invalidate-race.html
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@xe_exec_threads@threads-bal-fd-userptr-invalidate-race.html

  * igt@xe_exec_threads@threads-fd-rebind:
    - shard-dg2-set2:     [PASS][57] -> [TIMEOUT][58] ([Intel XE#1206] / [Intel XE#1261] / [Intel XE#1356]) +1 other test timeout
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@xe_exec_threads@threads-fd-rebind.html
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@xe_exec_threads@threads-fd-rebind.html

  * igt@xe_exec_threads@threads-fd-userptr-invalidate-race:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][59] ([Intel XE#1169] / [Intel XE#1195] / [Intel XE#1356] / [Intel XE#1376])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@xe_exec_threads@threads-fd-userptr-invalidate-race.html

  * igt@xe_exercise_blt@fast-copy-emit@linear-vram01-vram01-emit:
    - shard-dg2-set2:     [PASS][60] -> [DMESG-WARN][61] ([Intel XE#1214]) +4 other tests dmesg-warn
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@xe_exercise_blt@fast-copy-emit@linear-vram01-vram01-emit.html
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@xe_exercise_blt@fast-copy-emit@linear-vram01-vram01-emit.html

  * igt@xe_live_ktest@xe_migrate:
    - shard-dg2-set2:     [PASS][62] -> [SKIP][63] ([Intel XE#1192] / [Intel XE#1201]) +2 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@xe_live_ktest@xe_migrate.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@xe_live_ktest@xe_migrate.html

  * igt@xe_pm@s2idle-d3hot-basic-exec:
    - shard-dg2-set2:     [PASS][64] -> [WARN][65] ([Intel XE#1639])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@xe_pm@s2idle-d3hot-basic-exec.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@xe_pm@s2idle-d3hot-basic-exec.html

  * igt@xe_pm@s3-d3hot-basic-exec:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][66] ([Intel XE#1162] / [Intel XE#1214])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@xe_pm@s3-d3hot-basic-exec.html

  * igt@xe_pm@s4-d3cold-basic-exec:
    - shard-dg2-set2:     NOTRUN -> [SKIP][67] ([Intel XE#1201] / [Intel XE#366])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@xe_pm@s4-d3cold-basic-exec.html

  * igt@xe_query@multigpu-query-uc-fw-version-huc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][68] ([Intel XE#1201] / [Intel XE#944]) +2 other tests skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-433/igt@xe_query@multigpu-query-uc-fw-version-huc.html

  
#### Possible fixes ####

  * igt@kms_addfb_basic@addfb25-modifier-no-flag:
    - shard-dg2-set2:     [SKIP][69] ([Intel XE#1201] / [i915#6077]) -> [PASS][70]
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_addfb_basic@addfb25-modifier-no-flag.html
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_addfb_basic@addfb25-modifier-no-flag.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-dg2-set2:     [SKIP][71] ([Intel XE#1201] / [Intel XE#829]) -> [PASS][72] +3 other tests pass
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy:
    - shard-dg2-set2:     [SKIP][73] ([Intel XE#1201] / [Intel XE#1234]) -> [PASS][74]
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy.html
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy.html

  * igt@kms_cursor_legacy@forked-move@pipe-a:
    - shard-dg2-set2:     [DMESG-WARN][75] ([Intel XE#1214] / [Intel XE#282]) -> [PASS][76] +2 other tests pass
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_cursor_legacy@forked-move@pipe-a.html
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-433/igt@kms_cursor_legacy@forked-move@pipe-a.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible:
    - shard-dg2-set2:     [SKIP][77] ([Intel XE#1201] / [Intel XE#1235]) -> [PASS][78]
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_flip@wf_vblank-ts-check-interruptible.html
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@kms_flip@wf_vblank-ts-check-interruptible.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [FAIL][79] ([Intel XE#361]) -> [PASS][80]
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-dg2-set2:     [FAIL][81] ([Intel XE#1204]) -> [PASS][82]
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_pm_dc@dc9-dpms.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_rpm@modeset-stress-extra-wait:
    - shard-dg2-set2:     [SKIP][83] ([Intel XE#1201] / [Intel XE#1211]) -> [PASS][84]
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-466/igt@kms_pm_rpm@modeset-stress-extra-wait.html
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_pm_rpm@modeset-stress-extra-wait.html

  * igt@kms_rmfb@rmfb-ioctl:
    - shard-dg2-set2:     [SKIP][85] ([Intel XE#1201]) -> [PASS][86] +10 other tests pass
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_rmfb@rmfb-ioctl.html
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_rmfb@rmfb-ioctl.html

  * igt@xe_evict@evict-beng-mixed-threads-large:
    - shard-dg2-set2:     [TIMEOUT][87] ([Intel XE#1473] / [Intel XE#392] / [Intel XE#931]) -> [PASS][88]
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@xe_evict@evict-beng-mixed-threads-large.html
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@xe_evict@evict-beng-mixed-threads-large.html

  * igt@xe_evict@evict-cm-threads-large:
    - shard-dg2-set2:     [INCOMPLETE][89] ([Intel XE#1195] / [Intel XE#1473] / [Intel XE#392]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@xe_evict@evict-cm-threads-large.html
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@xe_evict@evict-cm-threads-large.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-dg2-set2:     [TIMEOUT][91] ([Intel XE#1473]) -> [PASS][92]
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-466/igt@xe_evict@evict-mixed-many-threads-small.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_evict@evict-threads-large:
    - shard-dg2-set2:     [FAIL][93] ([Intel XE#1259]) -> [PASS][94]
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@xe_evict@evict-threads-large.html
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@xe_evict@evict-threads-large.html

  * igt@xe_exec_balancer@no-exec-cm-virtual-userptr:
    - shard-dg2-set2:     [ABORT][95] ([Intel XE#1304]) -> [PASS][96]
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@xe_exec_balancer@no-exec-cm-virtual-userptr.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@xe_exec_balancer@no-exec-cm-virtual-userptr.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr:
    - shard-dg2-set2:     [DMESG-WARN][97] ([Intel XE#1214]) -> [PASS][98]
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr.html

  * igt@xe_exec_threads@threads-hang-fd-userptr:
    - shard-dg2-set2:     [TIMEOUT][99] ([Intel XE#1206] / [Intel XE#1261] / [Intel XE#1356]) -> [PASS][100]
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-435/igt@xe_exec_threads@threads-hang-fd-userptr.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@xe_exec_threads@threads-hang-fd-userptr.html

  * igt@xe_pm@d3-mmap-vram:
    - shard-dg2-set2:     [FAIL][101] ([Intel XE#1221]) -> [PASS][102]
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@xe_pm@d3-mmap-vram.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@xe_pm@d3-mmap-vram.html

  
#### Warnings ####

  * igt@kms_big_fb@4-tiled-64bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][103] ([Intel XE#1201] / [Intel XE#316]) -> [SKIP][104] ([Intel XE#1201] / [Intel XE#829]) +1 other test skip
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][105] ([Intel XE#1201] / [Intel XE#829]) -> [SKIP][106] ([Intel XE#1201] / [Intel XE#316])
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-dg2-set2:     [SKIP][107] ([Intel XE#1201] / [Intel XE#829]) -> [SKIP][108] ([Intel XE#1124] / [Intel XE#1201]) +1 other test skip
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-433/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_bw@linear-tiling-2-displays-1920x1080p:
    - shard-dg2-set2:     [SKIP][109] ([Intel XE#1201] / [Intel XE#367]) -> [SKIP][110] ([Intel XE#1201])
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_bw@linear-tiling-2-displays-1920x1080p.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_bw@linear-tiling-2-displays-1920x1080p.html

  * igt@kms_bw@linear-tiling-2-displays-2560x1440p:
    - shard-dg2-set2:     [SKIP][111] ([Intel XE#1201]) -> [SKIP][112] ([Intel XE#1201] / [Intel XE#367])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@kms_bw@linear-tiling-2-displays-2560x1440p.html

  * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc:
    - shard-dg2-set2:     [SKIP][113] ([Intel XE#1201] / [Intel XE#829]) -> [SKIP][114] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +2 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs:
    - shard-dg2-set2:     [SKIP][115] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) -> [SKIP][116] ([Intel XE#1201] / [Intel XE#829]) +1 other test skip
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs.html

  * igt@kms_chamelium_color@ctm-0-75:
    - shard-dg2-set2:     [SKIP][117] ([Intel XE#1201]) -> [SKIP][118] ([Intel XE#1201] / [Intel XE#306])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_chamelium_color@ctm-0-75.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@kms_chamelium_color@ctm-0-75.html

  * igt@kms_chamelium_edid@hdmi-edid-read:
    - shard-dg2-set2:     [SKIP][119] ([Intel XE#1201] / [Intel XE#373]) -> [SKIP][120] ([Intel XE#1201])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-435/igt@kms_chamelium_edid@hdmi-edid-read.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_chamelium_edid@hdmi-edid-read.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     [SKIP][121] ([Intel XE#1201]) -> [SKIP][122] ([Intel XE#1201] / [Intel XE#373])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_chamelium_hpd@vga-hpd.html
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-dg2-set2:     [SKIP][123] ([Intel XE#1201] / [Intel XE#307]) -> [SKIP][124] ([Intel XE#1201])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@kms_content_protection@dp-mst-type-0.html
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-dg2-set2:     [SKIP][125] ([Intel XE#1201] / [Intel XE#455]) -> [FAIL][126] ([Intel XE#1178]) +1 other test fail
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@kms_content_protection@legacy.html
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@uevent:
    - shard-dg2-set2:     [FAIL][127] ([Intel XE#1188]) -> [SKIP][128] ([Intel XE#1201] / [Intel XE#455])
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-434/igt@kms_content_protection@uevent.html
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-onscreen-256x256:
    - shard-dg2-set2:     [SKIP][129] ([Intel XE#1201]) -> [DMESG-WARN][130] ([Intel XE#1214] / [Intel XE#282])
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_cursor_crc@cursor-onscreen-256x256.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_cursor_crc@cursor-onscreen-256x256.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-dg2-set2:     [SKIP][131] ([Intel XE#1201] / [Intel XE#1234]) -> [SKIP][132] ([Intel XE#1201] / [Intel XE#455])
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_crc@cursor-suspend:
    - shard-dg2-set2:     [DMESG-FAIL][133] ([Intel XE#1162]) -> [SKIP][134] ([Intel XE#1201])
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_cursor_crc@cursor-suspend.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_cursor_crc@cursor-suspend.html

  * igt@kms_cursor_edge_walk@256x256-left-edge:
    - shard-dg2-set2:     [DMESG-WARN][135] ([Intel XE#1214] / [Intel XE#282]) -> [FAIL][136] ([Intel XE#581])
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-466/igt@kms_cursor_edge_walk@256x256-left-edge.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_cursor_edge_walk@256x256-left-edge.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2-set2:     [SKIP][137] ([Intel XE#1201]) -> [SKIP][138] ([Intel XE#1201] / [Intel XE#323])
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-dg2-set2:     [SKIP][139] ([Intel XE#1201]) -> [SKIP][140] ([Intel XE#1201] / [Intel XE#455]) +3 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff:
    - shard-dg2-set2:     [SKIP][141] ([Intel XE#1201] / [Intel XE#651]) -> [SKIP][142] ([Intel XE#1201]) +3 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-render:
    - shard-dg2-set2:     [SKIP][143] ([Intel XE#1201] / [Intel XE#651]) -> [SKIP][144] ([Intel XE#1201] / [Intel XE#1235])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-render.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-linear:
    - shard-dg2-set2:     [SKIP][145] ([Intel XE#1201]) -> [SKIP][146] ([Intel XE#1201] / [Intel XE#651]) +5 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-linear.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-linear.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-render:
    - shard-dg2-set2:     [SKIP][147] ([Intel XE#1201] / [Intel XE#653]) -> [SKIP][148] ([Intel XE#1201]) +3 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-render.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt:
    - shard-dg2-set2:     [SKIP][149] ([Intel XE#1201]) -> [SKIP][150] ([Intel XE#1201] / [Intel XE#653]) +2 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-433/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
    - shard-dg2-set2:     [SKIP][151] ([Intel XE#1201] / [Intel XE#1234]) -> [SKIP][152] ([Intel XE#1201] / [Intel XE#653]) +1 other test skip
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-dg2-set2:     [DMESG-WARN][153] ([Intel XE#1214] / [Intel XE#324]) -> [DMESG-FAIL][154] ([Intel XE#324])
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-434/igt@kms_plane_lowres@tiling-4.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-dg2-set2:     [SKIP][155] ([Intel XE#1201] / [Intel XE#829]) -> [SKIP][156] ([Intel XE#1201] / [Intel XE#455])
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_plane_lowres@tiling-y.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-dg2-set2:     [SKIP][157] ([Intel XE#1201] / [Intel XE#455]) -> [SKIP][158] ([Intel XE#1201] / [Intel XE#829])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@kms_plane_lowres@tiling-yf.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format:
    - shard-dg2-set2:     [TIMEOUT][159] ([Intel XE#380] / [Intel XE#904] / [Intel XE#909]) -> [INCOMPLETE][160] ([Intel XE#1195])
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [TIMEOUT][161] ([Intel XE#904] / [Intel XE#909]) -> [INCOMPLETE][162] ([Intel XE#1195])
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a-hdmi-a-6.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a-hdmi-a-6.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2-set2:     [SKIP][163] ([Intel XE#1201]) -> [SKIP][164] ([Intel XE#1201] / [Intel XE#870])
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_pm_backlight@fade-with-suspend.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_psr@fbc-psr-no-drrs:
    - shard-dg2-set2:     [SKIP][165] ([Intel XE#1201] / [Intel XE#1235]) -> [SKIP][166] ([Intel XE#1201] / [Intel XE#929])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_psr@fbc-psr-no-drrs.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_psr@fbc-psr-no-drrs.html

  * igt@kms_psr@fbc-psr2-cursor-plane-onoff:
    - shard-dg2-set2:     [SKIP][167] ([Intel XE#1201]) -> [SKIP][168] ([Intel XE#1201] / [Intel XE#929]) +2 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html

  * igt@kms_psr@pr-basic:
    - shard-dg2-set2:     [SKIP][169] ([Intel XE#1201] / [Intel XE#929]) -> [SKIP][170] ([Intel XE#1201] / [Intel XE#1234])
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-435/igt@kms_psr@pr-basic.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_psr@pr-basic.html

  * igt@kms_psr@psr2-primary-render:
    - shard-dg2-set2:     [SKIP][171] ([Intel XE#1201] / [Intel XE#929]) -> [SKIP][172] ([Intel XE#1201]) +2 other tests skip
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-466/igt@kms_psr@psr2-primary-render.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_psr@psr2-primary-render.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2-set2:     [SKIP][173] ([Intel XE#1201] / [Intel XE#829]) -> [SKIP][174] ([Intel XE#1201] / [Intel XE#327])
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_rotation_crc@primary-rotation-270.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
    - shard-dg2-set2:     [SKIP][175] ([Intel XE#1201] / [Intel XE#327]) -> [SKIP][176] ([Intel XE#1201] / [Intel XE#829])
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-435/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-dg2-set2:     [SKIP][177] ([Intel XE#1201] / [Intel XE#362]) -> [SKIP][178] ([Intel XE#1201] / [Intel XE#869])
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-434/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_vrr@flip-basic:
    - shard-dg2-set2:     [SKIP][179] ([Intel XE#1201] / [Intel XE#455]) -> [SKIP][180] ([Intel XE#1201]) +1 other test skip
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-436/igt@kms_vrr@flip-basic.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@kms_vrr@flip-basic.html

  * igt@xe_evict@evict-beng-mixed-many-threads-large:
    - shard-dg2-set2:     [INCOMPLETE][181] ([Intel XE#1195] / [Intel XE#1473] / [Intel XE#392]) -> [TIMEOUT][182] ([Intel XE#1041] / [Intel XE#1473] / [Intel XE#392])
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-434/igt@xe_evict@evict-beng-mixed-many-threads-large.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-466/igt@xe_evict@evict-beng-mixed-many-threads-large.html

  * igt@xe_evict@evict-beng-threads-large:
    - shard-dg2-set2:     [INCOMPLETE][183] ([Intel XE#1195] / [Intel XE#1473]) -> [TIMEOUT][184] ([Intel XE#1473] / [Intel XE#821])
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@xe_evict@evict-beng-threads-large.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-463/igt@xe_evict@evict-beng-threads-large.html

  * igt@xe_exec_threads@threads-cm-fd-basic:
    - shard-dg2-set2:     [INCOMPLETE][185] ([Intel XE#1169] / [Intel XE#1195] / [Intel XE#1356]) -> [TIMEOUT][186] ([Intel XE#1206] / [Intel XE#1261] / [Intel XE#1356])
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@xe_exec_threads@threads-cm-fd-basic.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@xe_exec_threads@threads-cm-fd-basic.html

  * igt@xe_module_load@many-reload:
    - shard-dg2-set2:     [DMESG-WARN][187] ([Intel XE#1214]) -> [TIMEOUT][188] ([Intel XE#1206])
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-433/igt@xe_module_load@many-reload.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-464/igt@xe_module_load@many-reload.html

  * igt@xe_pm@s4-d3hot-basic-exec:
    - shard-dg2-set2:     [DMESG-FAIL][189] ([Intel XE#1162]) -> [FAIL][190] ([Intel XE#1043] / [Intel XE#845])
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/IGT_7809/shard-dg2-464/igt@xe_pm@s4-d3hot-basic-exec.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11026/shard-dg2-436/igt@xe_pm@s4-d3hot-basic-exec.html

  
  [Intel XE#1041]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1041
  [Intel XE#1043]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1043
  [Intel XE#1050]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1050
  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1162]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1162
  [Intel XE#1169]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1169
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
  [Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
  [Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195
  [Intel XE#1201]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1201
  [Intel XE#1204]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1204
  [Intel XE#1206]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1206
  [Intel XE#1211]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1211
  [Intel XE#1214]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1214
  [Intel XE#1221]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1221
  [Intel XE#1234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1234
  [Intel XE#1235]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1235
  [Intel XE#1259]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1259
  [Intel XE#1261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1261
  [Intel XE#1304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1304
  [Intel XE#1356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1356
  [Intel XE#1376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1376
  [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
  [Intel XE#1639]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1639
  [Intel XE#282]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/282
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
  [Intel XE#327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/327
  [Intel XE#361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/361
  [Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/380
  [Intel XE#392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/392
  [Intel XE#417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/417
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#581]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/581
  [Intel XE#605]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/605
  [Intel XE#650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/650
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/771
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#801]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/801
  [Intel XE#821]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/821
  [Intel XE#829]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/829
  [Intel XE#845]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/845
  [Intel XE#869]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/869
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
  [Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
  [Intel XE#904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/904
  [Intel XE#909]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/909
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#931]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/931
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [i915#6077]: https://gitlab.freedesktop.org/drm/intel/issues/6077


Build changes
-------------

  * IGT: IGT_7809 -> IGTPW_11026
  * Linux: xe-1098-29eafe20a133980d6b66d3cb97c66d1723636266 -> xe-1099-a761439bd7de146bbb362b8c614a2863bf6d8d76

  IGTPW_11026: 6b23aeaad54511c44da516424e2a94c3898a1c83 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_7809: 3a71f659700859cab49b8e05a198ba18a5cbd24a @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-1098-29eafe20a133980d6b66d3cb97c66d1723636266: 29eafe20a133980d6b66d3cb97c66d1723636266
  xe-1099-a761439bd7de146bbb362b8c614a2863bf6d8d76: a761439bd7de146bbb362b8c614a2863bf6d8d76

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132506v1/index.html

[-- Attachment #2: Type: text/html, Size: 64919 bytes --]

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

* Re: [PATCH] intel_reg: Move decoding behind an option
  2024-04-16 15:42 [PATCH] intel_reg: Move decoding behind an option Lucas De Marchi
                   ` (3 preceding siblings ...)
  2024-04-17 18:50 ` ✗ CI.xeFULL: failure for " Patchwork
@ 2024-04-23 19:48 ` Kamil Konieczny
  2024-04-24  0:04   ` Lucas De Marchi
  4 siblings, 1 reply; 7+ messages in thread
From: Kamil Konieczny @ 2024-04-23 19:48 UTC (permalink / raw)
  To: igt-dev; +Cc: Lucas De Marchi, Matt Roper, Jani Nikula, Ville Syrjala

Hi Lucas,
On 2024-04-16 at 10:42:07 -0500, Lucas De Marchi wrote:

small nit, use prefix "tools/" in subject, so instead of

[PATCH] intel_reg: Move decoding behind an option

better:
[PATCH i-g-t] tools/intel_reg: Move decoding behind an option

with that
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

> Decoding the register can be only as good as the reg_spec being used.
> The current builtin register spec is not that. Move that decoding behind
> an option to make it better for the normal case when running from the
> repo checkout where the external reg spec is not available. Passing any
> of --decode, --all, --spec brings the old behavior back:
> 
> 	$ sudo ./build/tools/intel_reg --decode read 0x2358
> 	Warning: stat '/usr/local/share/igt-gpu-tools/registers' failed: No such file or directory. Using builtin register spec.
> 					    (0x00002358): 0x00000000
> 
> vs the new behavior:
> 
> 	$ sudo ./build/tools/intel_reg --decode read 0x2358
> 					    (0x00002358): 0x00000000
> 
> We could probably reduce the leading space since we won't have any name,
> but that can be improved later.
> 
> v2: Instead of removing the warning, move the whole decoding logic
>     behind a command line option
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>  tools/intel_reg.c | 31 ++++++++++++++++++++++++-------
>  1 file changed, 24 insertions(+), 7 deletions(-)
> 
> diff --git a/tools/intel_reg.c b/tools/intel_reg.c
> index 6c37e14d1..1b6a07aca 100644
> --- a/tools/intel_reg.c
> +++ b/tools/intel_reg.c
> @@ -68,6 +68,9 @@ struct config {
>  	/* write: do a posting read */
>  	bool post;
>  
> +	/* decode registers, otherwise use just raw values */
> +	bool decode;
> +
>  	/* decode register for all platforms */
>  	bool all_platforms;
>  
> @@ -195,7 +198,7 @@ static bool port_is_mmio(enum port_addr port)
>  	}
>  }
>  
> -static void dump_decode(struct config *config, struct reg *reg, uint32_t val)
> +static void dump_regval(struct config *config, struct reg *reg, uint32_t val)
>  {
>  	char decode[1300];
>  	char tmp[1024];
> @@ -206,8 +209,11 @@ static void dump_decode(struct config *config, struct reg *reg, uint32_t val)
>  	else
>  		*bin = '\0';
>  
> -	intel_reg_spec_decode(tmp, sizeof(tmp), reg, val,
> -			      config->all_platforms ? 0 : config->devid);
> +	if (config->decode)
> +		intel_reg_spec_decode(tmp, sizeof(tmp), reg, val,
> +				      config->all_platforms ? 0 : config->devid);
> +	else
> +		*tmp = '\0';
>  
>  	if (*tmp) {
>  		/* We have a decode result, and maybe binary decode. */
> @@ -573,7 +579,7 @@ static void dump_register(struct config *config, struct reg *reg)
>  	uint32_t val;
>  
>  	if (read_register(config, reg, &val) == 0)
> -		dump_decode(config, reg, val);
> +		dump_regval(config, reg, val);
>  }
>  
>  static int write_register(struct config *config, struct reg *reg, uint32_t val)
> @@ -941,7 +947,7 @@ static int intel_reg_decode(struct config *config, int argc, char *argv[])
>  			continue;
>  		}
>  
> -		dump_decode(config, &reg, val);
> +		dump_regval(config, &reg, val);
>  	}
>  
>  	return EXIT_SUCCESS;
> @@ -1037,10 +1043,11 @@ static int intel_reg_help(struct config *config, int argc, char *argv[])
>  	printf("\n\n");
>  
>  	printf("OPTIONS common to most COMMANDS:\n");
> -	printf(" --spec=PATH    Read register spec from directory or file\n");
> +	printf(" --spec=PATH    Read register spec from directory or file. Implies --decode\n");
>  	printf(" --mmio=FILE    Use an MMIO snapshot\n");
>  	printf(" --devid=DEVID  Specify PCI device ID for --mmio=FILE\n");
> -	printf(" --all          Decode registers for all known platforms\n");
> +	printf(" --decode       Decode registers\n");
> +	printf(" --all          Decode registers for all known platforms. Implies --decode\n");
>  	printf(" --binary       Binary dump registers\n");
>  	printf(" --verbose      Increase verbosity\n");
>  	printf(" --quiet        Reduce verbosity\n");
> @@ -1106,6 +1113,9 @@ static int read_reg_spec(struct config *config)
>  	struct stat st;
>  	int r;
>  
> +	if (!config->decode)
> +		return 0;
> +
>  	path = config->specfile;
>  	if (!path)
>  		path = getenv("INTEL_REG_SPEC");
> @@ -1154,6 +1164,7 @@ enum opt {
>  	OPT_DEVID,
>  	OPT_COUNT,
>  	OPT_POST,
> +	OPT_DECODE,
>  	OPT_ALL,
>  	OPT_BINARY,
>  	OPT_SPEC,
> @@ -1188,6 +1199,7 @@ int main(int argc, char *argv[])
>  		/* options specific to write */
>  		{ "post",	no_argument,		NULL,	OPT_POST },
>  		/* options specific to read, dump and decode */
> +		{ "decode",	no_argument,		NULL,	OPT_DECODE },
>  		{ "all",	no_argument,		NULL,	OPT_ALL },
>  		{ "binary",	no_argument,		NULL,	OPT_BINARY },
>  		{ 0 }
> @@ -1223,6 +1235,7 @@ int main(int argc, char *argv[])
>  			config.post = true;
>  			break;
>  		case OPT_SPEC:
> +			config.decode = true;
>  			config.specfile = strdup(optarg);
>  			if (!config.specfile) {
>  				fprintf(stderr, "strdup: %s\n",
> @@ -1232,6 +1245,10 @@ int main(int argc, char *argv[])
>  			break;
>  		case OPT_ALL:
>  			config.all_platforms = true;
> +			config.decode = true;
> +			break;
> +		case OPT_DECODE:
> +			config.decode = true;
>  			break;
>  		case OPT_BINARY:
>  			config.binary = true;
> -- 
> 2.44.0
> 

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

* Re: [PATCH] intel_reg: Move decoding behind an option
  2024-04-23 19:48 ` [PATCH] " Kamil Konieczny
@ 2024-04-24  0:04   ` Lucas De Marchi
  0 siblings, 0 replies; 7+ messages in thread
From: Lucas De Marchi @ 2024-04-24  0:04 UTC (permalink / raw)
  To: Kamil Konieczny, igt-dev, Matt Roper, Jani Nikula, Ville Syrjala

On Tue, Apr 23, 2024 at 09:48:28PM GMT, Kamil Konieczny wrote:
>Hi Lucas,
>On 2024-04-16 at 10:42:07 -0500, Lucas De Marchi wrote:
>
>small nit, use prefix "tools/" in subject, so instead of
>
>[PATCH] intel_reg: Move decoding behind an option
>
>better:
>[PATCH i-g-t] tools/intel_reg: Move decoding behind an option

I read this too late. Just submitted another patch series touching gputop
without having the dir prefix... `git log -- tools/gputop.c` seems to
agree about not using the tools/ dir although the same for intel_reg.c
it seems we are not really consistent.

As for --subject-prefix: it used to be important when we shared the
same mailing list with i915. This is long gone and there isn't much reason
to keep it anymore (unless when cross posting to other mailing lists).

>
>with that
>Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>

well... It seems I had missed Jani's reply... still a few things to fix.
I will send a v2 later this week. Thanks.

Lucas De Marchi

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

end of thread, other threads:[~2024-04-24  0:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-16 15:42 [PATCH] intel_reg: Move decoding behind an option Lucas De Marchi
2024-04-16 17:15 ` ✗ Fi.CI.BAT: failure for " Patchwork
2024-04-16 17:40 ` ✓ CI.xeBAT: success " Patchwork
2024-04-17  7:47 ` [PATCH] " Jani Nikula
2024-04-17 18:50 ` ✗ CI.xeFULL: failure for " Patchwork
2024-04-23 19:48 ` [PATCH] " Kamil Konieczny
2024-04-24  0:04   ` Lucas De Marchi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.