All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v3 1/2] i915_drm.h sync uapi engine class enum with drm-next
@ 2022-08-19 19:52 Adrian Larumbe
  2022-08-19 19:52 ` [igt-dev] [PATCH i-g-t v3 2/2] i915/gem_ctx_isolation:: change semantics of ctx isolation uAPI Adrian Larumbe
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Adrian Larumbe @ 2022-08-19 19:52 UTC (permalink / raw)
  To: petri.latvala, igt-dev; +Cc: adrian.larumbe

gem_ctx_isolation@preservation needs to take into account the shared reset
domain between RCS and CCS engines.

Remove local compute engine definition as it's no longer necessary.

Taken from ecf8eca51f33 ("drm/i915/xehp: Add compute engine ABI")

Signed-Off-By: Adrian Larumbe <adrian.larumbe@collabora.com>
---
 lib/i915/i915_drm_local.h      | 2 --
 tests/i915/gem_ctx_isolation.c | 2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/i915/i915_drm_local.h b/lib/i915/i915_drm_local.h
index ac35abf6af76..696e5aa05048 100644
--- a/lib/i915/i915_drm_local.h
+++ b/lib/i915/i915_drm_local.h
@@ -19,8 +19,6 @@ extern "C" {
  * or local_ prefix and without any #ifndef's. Attempt should be made to
  * clean these up when kernel uapi headers are sync'd.
  */
-#define I915_ENGINE_CLASS_COMPUTE 4
-
 #define DRM_I915_QUERY_GEOMETRY_SUBSLICES      6
 
 /*
diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
index 95d13969fa61..4233ea5784dc 100644
--- a/tests/i915/gem_ctx_isolation.c
+++ b/tests/i915/gem_ctx_isolation.c
@@ -164,6 +164,8 @@ static const struct named_register {
 
 	{ "xCS_GPR", GEN9, ALL, 0x600, 32, .relative = true },
 
+        /* TODO: add CCS0 registers */
+
 	{}
 }, ignore_registers[] = {
 	{ "RCS timestamp", GEN6, ~0u, 0x2358 },
-- 
2.37.0

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

* [igt-dev] [PATCH i-g-t v3 2/2] i915/gem_ctx_isolation:: change semantics of ctx isolation uAPI
  2022-08-19 19:52 [igt-dev] [PATCH i-g-t v3 1/2] i915_drm.h sync uapi engine class enum with drm-next Adrian Larumbe
@ 2022-08-19 19:52 ` Adrian Larumbe
  2022-09-01 12:33   ` Petri Latvala
  2022-08-19 20:46 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v3,1/2] i915_drm.h sync uapi engine class enum with drm-next Patchwork
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Adrian Larumbe @ 2022-08-19 19:52 UTC (permalink / raw)
  To: petri.latvala, igt-dev; +Cc: adrian.larumbe

ioctl I915_PARAM_HAS_CONTEXT_ISOLATION param is meant to report whether all
the engines in the system support context isolation, but the way the return
value was being used did not respect the contract on the uAPI.

Skip all engine tests for which context isolation is not supported. Also skip
tests that involve an engine reset if both RCS and CCS engines are present in
the system. This is because they belong to the same reset domain.

Signed-Off-By: Adrian Larumbe <adrian.larumbe@collabora.com>
---
 include/drm-uapi/i915_drm.h    |   6 +-
 tests/i915/gem_ctx_isolation.c | 100 +++++++++++++++++++++++----------
 2 files changed, 72 insertions(+), 34 deletions(-)

diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h
index b4efc96c2edc..0b8fa57b52f9 100644
--- a/include/drm-uapi/i915_drm.h
+++ b/include/drm-uapi/i915_drm.h
@@ -691,11 +691,7 @@ typedef struct drm_i915_irq_wait {
  * rather than default HW values. If true, it also ensures (insofar as HW
  * supports) that all state set by this context will not leak to any other
  * context.
- *
- * As not every engine across every gen support contexts, the returned
- * value reports the support of context isolation for individual engines by
- * returning a bitmask of each engine class set to true if that class supports
- * isolation.
+ * 
  */
 #define I915_PARAM_HAS_CONTEXT_ISOLATION 50
 
diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
index 4233ea5784dc..273a0c9708bb 100644
--- a/tests/i915/gem_ctx_isolation.c
+++ b/tests/i915/gem_ctx_isolation.c
@@ -45,6 +45,7 @@ enum {
 	VCS2 = ENGINE(I915_ENGINE_CLASS_VIDEO, 2),
 	VCS3 = ENGINE(I915_ENGINE_CLASS_VIDEO, 3),
 	VECS0 = ENGINE(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0),
+	CCS0 = ENGINE(I915_ENGINE_CLASS_COMPUTE, 0),
 };
 
 #define ALL ~0u
@@ -627,9 +628,40 @@ static void compare_regs(int fd, const struct intel_execution_engine2 *e,
 		     num_errors, who);
 }
 
+static bool
+engine_has_context_isolation(const struct intel_execution_engine2 *e,
+			     int gen)
+{
+	if (gen > 8)
+		return true;
+
+	if (gen >= 6 && gen <= 8 && e->class == I915_ENGINE_CLASS_RENDER)
+		return true;
+
+	return false;
+}
+
+static bool
+has_engine_class(const intel_ctx_cfg_t *cfg, unsigned int class)
+{
+	const struct i915_engine_class_instance *eci;
+	unsigned int i;
+
+	igt_require(class <= I915_ENGINE_CLASS_COMPUTE);
+
+	for (i = 0; i < cfg->num_engines; i++) {
+		eci = &cfg->engines[i];
+		if (eci->engine_class == class)
+			return true;
+	}
+
+	return false;
+}
+
 static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
 		    const struct intel_execution_engine2 *e,
-		    unsigned int flags)
+		    unsigned int flags,
+		    int gen)
 {
 	static const uint32_t values[] = {
 		0x0,
@@ -647,6 +679,7 @@ static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
 
 	/* Sigh -- hsw: we need cmdparser access to our own registers! */
 	igt_skip_on(intel_gen(intel_get_drm_devid(fd)) < 8);
+	igt_require(engine_has_context_isolation(e, gen));
 
 	gem_quiescent_gpu(fd);
 
@@ -729,7 +762,8 @@ static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
 
 static void isolation(int fd, const intel_ctx_cfg_t *cfg,
 		      const struct intel_execution_engine2 *e,
-		      unsigned int flags)
+		      unsigned int flags,
+		      int gen)
 {
 	static const uint32_t values[] = {
 		0x0,
@@ -743,6 +777,8 @@ static void isolation(int fd, const intel_ctx_cfg_t *cfg,
 	unsigned int num_values =
 		flags & (DIRTY1 | DIRTY2) ? ARRAY_SIZE(values) : 1;
 
+	igt_require(engine_has_context_isolation(e, gen));
+
 	gem_quiescent_gpu(fd);
 
 	for (int v = 0; v < num_values; v++) {
@@ -865,7 +901,8 @@ static void inject_reset_context(int fd, const intel_ctx_cfg_t *cfg,
 
 static void preservation(int fd, const intel_ctx_cfg_t *cfg,
 			 const struct intel_execution_engine2 *e,
-			 unsigned int flags)
+			 unsigned int flags,
+			 int gen)
 {
 	static const uint32_t values[] = {
 		0x0,
@@ -882,6 +919,8 @@ static void preservation(int fd, const intel_ctx_cfg_t *cfg,
 	uint64_t ahnd[num_values + 1];
 	igt_spin_t *spin;
 
+	igt_require(engine_has_context_isolation(e, gen));
+
 	gem_quiescent_gpu(fd);
 
 	ctx[num_values] = intel_ctx_create(fd, cfg);
@@ -902,8 +941,12 @@ static void preservation(int fd, const intel_ctx_cfg_t *cfg,
 	gem_close(fd, read_regs(fd, ahnd[num_values], ctx[num_values], e, flags));
 	igt_spin_free(fd, spin);
 
-	if (flags & RESET)
+	if (flags & RESET) {
+		igt_skip_on(has_engine_class(cfg, I915_ENGINE_CLASS_RENDER) &&
+			    has_engine_class(cfg, I915_ENGINE_CLASS_COMPUTE));
+
 		inject_reset_context(fd, cfg, e);
+	}
 
 	switch (flags & SLEEP_MASK) {
 	case NOSLEEP:
@@ -962,7 +1005,7 @@ static unsigned int __has_context_isolation(int fd)
 	int value = 0;
 
 	memset(&gp, 0, sizeof(gp));
-	gp.param = 50; /* I915_PARAM_HAS_CONTEXT_ISOLATION */
+	gp.param = I915_PARAM_HAS_CONTEXT_ISOLATION;
 	gp.value = &value;
 
 	igt_ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
@@ -971,21 +1014,19 @@ static unsigned int __has_context_isolation(int fd)
 	return value;
 }
 
-#define test_each_engine(e, i915, cfg, mask) \
+#define test_each_engine(e, i915, cfg)	  \
 	for_each_ctx_cfg_engine(i915, cfg, e) \
-		for_each_if(mask & (1 << (e)->class)) \
-			igt_dynamic_f("%s", (e)->name)
+		igt_dynamic_f("%s", (e)->name)
 
 igt_main
 {
-	unsigned int has_context_isolation = 0;
+	bool has_context_isolation = 0;
 	const struct intel_execution_engine2 *e;
 	intel_ctx_cfg_t cfg;
 	int i915 = -1;
+	int gen;
 
 	igt_fixture {
-		int gen;
-
 		i915 = drm_open_driver(DRIVER_INTEL);
 		igt_require_gem(i915);
 		igt_require(gem_has_contexts(i915));
@@ -995,6 +1036,7 @@ igt_main
 		igt_require(has_context_isolation);
 
 		gen = intel_gen(intel_get_drm_devid(i915));
+		igt_require(gen >= 2);
 
 		igt_warn_on_f(gen > LAST_KNOWN_GEN,
 			      "GEN not recognized! Test needs to be updated to run.\n");
@@ -1006,43 +1048,43 @@ igt_main
 	}
 
 	igt_subtest_with_dynamic("nonpriv") {
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			nonpriv(i915, &cfg, e, 0);
+		test_each_engine(e, i915, &cfg)
+			nonpriv(i915, &cfg, e, 0, gen);
 	}
 
 	igt_subtest_with_dynamic("nonpriv-switch") {
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			nonpriv(i915, &cfg, e, DIRTY2);
+		test_each_engine(e, i915, &cfg)
+			nonpriv(i915, &cfg, e, DIRTY2, gen);
 	}
 
 	igt_subtest_with_dynamic("clean") {
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			isolation(i915, &cfg, e, 0);
+		test_each_engine(e, i915, &cfg)
+			isolation(i915, &cfg, e, 0, gen);
 	}
 
 	igt_subtest_with_dynamic("dirty-create") {
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			isolation(i915, &cfg, e, DIRTY1);
+		test_each_engine(e, i915, &cfg)
+			isolation(i915, &cfg, e, DIRTY1, gen);
 	}
 
 	igt_subtest_with_dynamic("dirty-switch") {
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			isolation(i915, &cfg, e, DIRTY2);
+		test_each_engine(e, i915, &cfg)
+			isolation(i915, &cfg, e, DIRTY2, gen);
 	}
 
 	igt_subtest_with_dynamic("preservation") {
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			preservation(i915, &cfg, e, 0);
+		test_each_engine(e, i915, &cfg)
+			preservation(i915, &cfg, e, 0, gen);
 	}
 
 	igt_subtest_with_dynamic("preservation-S3") {
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			preservation(i915, &cfg, e, S3);
+		test_each_engine(e, i915, &cfg)
+			preservation(i915, &cfg, e, S3, gen);
 	}
 
 	igt_subtest_with_dynamic("preservation-S4") {
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			preservation(i915, &cfg, e, S4);
+		test_each_engine(e, i915, &cfg)
+			preservation(i915, &cfg, e, S4, gen);
 	}
 
 	igt_fixture {
@@ -1052,8 +1094,8 @@ igt_main
 	igt_subtest_with_dynamic("preservation-reset") {
 		igt_hang_t hang = igt_allow_hang(i915, 0, 0);
 
-		test_each_engine(e, i915, &cfg, has_context_isolation)
-			preservation(i915, &cfg, e, RESET);
+		test_each_engine(e, i915, &cfg)
+			preservation(i915, &cfg, e, RESET, gen);
 
 		igt_disallow_hang(i915, hang);
 	}
-- 
2.37.0

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

* [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v3,1/2] i915_drm.h sync uapi engine class enum with drm-next
  2022-08-19 19:52 [igt-dev] [PATCH i-g-t v3 1/2] i915_drm.h sync uapi engine class enum with drm-next Adrian Larumbe
  2022-08-19 19:52 ` [igt-dev] [PATCH i-g-t v3 2/2] i915/gem_ctx_isolation:: change semantics of ctx isolation uAPI Adrian Larumbe
@ 2022-08-19 20:46 ` Patchwork
  2022-08-20 18:07 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
  2022-09-01 12:35 ` [igt-dev] [PATCH i-g-t v3 1/2] " Petri Latvala
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2022-08-19 20:46 UTC (permalink / raw)
  To: Adrian Larumbe; +Cc: igt-dev

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

== Series Details ==

Series: series starting with [i-g-t,v3,1/2] i915_drm.h sync uapi engine class enum with drm-next
URL   : https://patchwork.freedesktop.org/series/107512/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12004 -> IGTPW_7665
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (38 -> 36)
------------------------------

  Missing    (2): bat-adln-1 bat-dg1-5 

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

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

### IGT changes ###

#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@debugfs_test@read_all_entries:
    - {bat-dg2-8}:        [INCOMPLETE][1] ([i915#6637]) -> [INCOMPLETE][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/bat-dg2-8/igt@debugfs_test@read_all_entries.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/bat-dg2-8/igt@debugfs_test@read_all_entries.html

  * igt@fbdev@write:
    - {bat-dg2-9}:        [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/bat-dg2-9/igt@fbdev@write.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/bat-dg2-9/igt@fbdev@write.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-rkl-11600:       [PASS][5] -> [INCOMPLETE][6] ([i915#5982])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
    - fi-pnv-d510:        NOTRUN -> [INCOMPLETE][7] ([i915#6598] / [i915#6601])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/fi-pnv-d510/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
    - fi-bsw-kefka:       [PASS][8] -> [FAIL][9] ([i915#6298])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gem:
    - fi-pnv-d510:        [DMESG-FAIL][10] ([i915#4528]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/fi-pnv-d510/igt@i915_selftest@live@gem.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/fi-pnv-d510/igt@i915_selftest@live@gem.html

  
#### Warnings ####

  * igt@i915_module_load@load:
    - fi-rkl-guc:         [TIMEOUT][12] ([i915#6627]) -> [TIMEOUT][13] ([i915#6627] / [i915#6637])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/fi-rkl-guc/igt@i915_module_load@load.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/fi-rkl-guc/igt@i915_module_load@load.html
    - bat-dg1-6:          [TIMEOUT][14] ([i915#6627]) -> [TIMEOUT][15] ([i915#6627] / [i915#6637])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/bat-dg1-6/igt@i915_module_load@load.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/bat-dg1-6/igt@i915_module_load@load.html

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

  [i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
  [i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982
  [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
  [i915#6598]: https://gitlab.freedesktop.org/drm/intel/issues/6598
  [i915#6601]: https://gitlab.freedesktop.org/drm/intel/issues/6601
  [i915#6627]: https://gitlab.freedesktop.org/drm/intel/issues/6627
  [i915#6637]: https://gitlab.freedesktop.org/drm/intel/issues/6637


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6632 -> IGTPW_7665

  CI-20190529: 20190529
  CI_DRM_12004: 9a91db2ace2b69713b8ebbbc37554b53f23fa883 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_7665: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/index.html
  IGT_6632: a0ac4d449e551fd5c78b56f85cd534330ea60507 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* [igt-dev] ✗ Fi.CI.IGT: failure for series starting with [i-g-t,v3,1/2] i915_drm.h sync uapi engine class enum with drm-next
  2022-08-19 19:52 [igt-dev] [PATCH i-g-t v3 1/2] i915_drm.h sync uapi engine class enum with drm-next Adrian Larumbe
  2022-08-19 19:52 ` [igt-dev] [PATCH i-g-t v3 2/2] i915/gem_ctx_isolation:: change semantics of ctx isolation uAPI Adrian Larumbe
  2022-08-19 20:46 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v3,1/2] i915_drm.h sync uapi engine class enum with drm-next Patchwork
@ 2022-08-20 18:07 ` Patchwork
  2022-09-01 12:35 ` [igt-dev] [PATCH i-g-t v3 1/2] " Petri Latvala
  3 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2022-08-20 18:07 UTC (permalink / raw)
  To: Adrian Larumbe; +Cc: igt-dev

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

== Series Details ==

Series: series starting with [i-g-t,v3,1/2] i915_drm.h sync uapi engine class enum with drm-next
URL   : https://patchwork.freedesktop.org/series/107512/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12004_full -> IGTPW_7665_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with IGTPW_7665_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in IGTPW_7665_full, please notify your bug team 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_7665/index.html

Participating hosts (10 -> 9)
------------------------------

  Additional (2): shard-rkl shard-tglu 
  Missing    (3): pig-skl-6260u pig-kbl-iris pig-glk-j5005 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_eio@suspend:
    - shard-iclb:         NOTRUN -> [INCOMPLETE][1] +6 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@gem_eio@suspend.html

  * igt@gem_exec_suspend@basic-s0@smem:
    - shard-apl:          [PASS][2] -> [INCOMPLETE][3] +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-apl7/igt@gem_exec_suspend@basic-s0@smem.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl7/igt@gem_exec_suspend@basic-s0@smem.html

  * igt@gem_exec_suspend@basic-s3-devices@smem:
    - shard-apl:          NOTRUN -> [INCOMPLETE][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl3/igt@gem_exec_suspend@basic-s3-devices@smem.html
    - shard-glk:          NOTRUN -> [INCOMPLETE][5] +1 similar issue
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk1/igt@gem_exec_suspend@basic-s3-devices@smem.html
    - shard-snb:          NOTRUN -> [INCOMPLETE][6]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb5/igt@gem_exec_suspend@basic-s3-devices@smem.html

  * igt@i915_pm_rpm@basic-rte:
    - shard-kbl:          [PASS][7] -> [FAIL][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl7/igt@i915_pm_rpm@basic-rte.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl4/igt@i915_pm_rpm@basic-rte.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - shard-snb:          [PASS][9] -> [INCOMPLETE][10] +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-snb6/igt@i915_suspend@basic-s2idle-without-i915.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb6/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-iclb:         [PASS][11] -> [INCOMPLETE][12] +3 similar issues
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-iclb2/igt@i915_suspend@fence-restore-untiled.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@i915_suspend@fence-restore-untiled.html

  * igt@i915_suspend@sysfs-reader:
    - shard-glk:          [PASS][13] -> [INCOMPLETE][14] +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-glk9/igt@i915_suspend@sysfs-reader.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk8/igt@i915_suspend@sysfs-reader.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@crc32:
    - shard-tglb:         NOTRUN -> [SKIP][15] ([i915#6230])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@api_intel_bb@crc32.html

  * igt@feature_discovery@display-3x:
    - shard-iclb:         NOTRUN -> [SKIP][16] ([i915#1839])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb4/igt@feature_discovery@display-3x.html

  * igt@gem_ccs@suspend-resume:
    - shard-iclb:         NOTRUN -> [SKIP][17] ([i915#5327])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb6/igt@gem_ccs@suspend-resume.html

  * igt@gem_ctx_persistence@smoketest:
    - shard-snb:          NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#1099]) +2 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb2/igt@gem_ctx_persistence@smoketest.html

  * igt@gem_eio@hibernate:
    - shard-apl:          NOTRUN -> [INCOMPLETE][19] ([i915#6598]) +2 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl8/igt@gem_eio@hibernate.html
    - shard-snb:          NOTRUN -> [INCOMPLETE][20] ([i915#6598])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb2/igt@gem_eio@hibernate.html

  * igt@gem_exec_balancer@parallel:
    - shard-iclb:         NOTRUN -> [SKIP][21] ([i915#4525])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb8/igt@gem_exec_balancer@parallel.html

  * igt@gem_exec_capture@capture-recoverable:
    - shard-iclb:         NOTRUN -> [SKIP][22] ([i915#6344])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@gem_exec_capture@capture-recoverable.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-kbl:          [PASS][23] -> [FAIL][24] ([i915#2846])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl4/igt@gem_exec_fair@basic-deadline.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl1/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-glk:          [PASS][25] -> [FAIL][26] ([i915#2842])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-glk9/igt@gem_exec_fair@basic-none-share@rcs0.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk1/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][27] ([i915#2842])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk7/igt@gem_exec_fair@basic-none@rcs0.html

  * igt@gem_exec_fair@basic-none@vecs0:
    - shard-iclb:         NOTRUN -> [FAIL][28] ([i915#2842]) +3 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb5/igt@gem_exec_fair@basic-none@vecs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-apl:          [PASS][29] -> [FAIL][30] ([i915#2842])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-apl3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-kbl:          [PASS][31] -> [FAIL][32] ([i915#2842])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl4/igt@gem_exec_fair@basic-pace@vecs0.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl1/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_flush@basic-batch-kernel-default-cmd:
    - shard-iclb:         NOTRUN -> [SKIP][33] ([fdo#109313])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb2/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html

  * igt@gem_exec_params@secure-non-root:
    - shard-iclb:         NOTRUN -> [SKIP][34] ([fdo#112283]) +1 similar issue
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@gem_exec_params@secure-non-root.html

  * igt@gem_lmem_swapping@heavy-multi:
    - shard-kbl:          NOTRUN -> [SKIP][35] ([fdo#109271] / [i915#4613])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl4/igt@gem_lmem_swapping@heavy-multi.html

  * igt@gem_lmem_swapping@heavy-verify-multi:
    - shard-iclb:         NOTRUN -> [SKIP][36] ([i915#4613]) +3 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@gem_lmem_swapping@heavy-verify-multi.html

  * igt@gem_lmem_swapping@random-engines:
    - shard-glk:          NOTRUN -> [SKIP][37] ([fdo#109271] / [i915#4613]) +3 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk8/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-apl:          NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#4613]) +2 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl3/igt@gem_lmem_swapping@smem-oom.html

  * igt@gem_pxp@create-valid-protected-context:
    - shard-tglb:         NOTRUN -> [SKIP][39] ([i915#4270])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb5/igt@gem_pxp@create-valid-protected-context.html

  * igt@gem_pxp@verify-pxp-stale-ctx-execution:
    - shard-iclb:         NOTRUN -> [SKIP][40] ([i915#4270])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb6/igt@gem_pxp@verify-pxp-stale-ctx-execution.html

  * igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs:
    - shard-glk:          NOTRUN -> [SKIP][41] ([fdo#109271]) +195 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk3/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html

  * igt@gem_render_copy@yf-tiled-to-vebox-x-tiled:
    - shard-iclb:         NOTRUN -> [SKIP][42] ([i915#768]) +5 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb2/igt@gem_render_copy@yf-tiled-to-vebox-x-tiled.html

  * igt@gem_softpin@evict-single-offset:
    - shard-apl:          NOTRUN -> [FAIL][43] ([i915#4171])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl6/igt@gem_softpin@evict-single-offset.html
    - shard-glk:          NOTRUN -> [FAIL][44] ([i915#4171])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk2/igt@gem_softpin@evict-single-offset.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-apl:          NOTRUN -> [SKIP][45] ([fdo#109271] / [i915#3323])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl8/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-glk:          NOTRUN -> [SKIP][46] ([fdo#109271] / [i915#3323])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk7/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-iclb:         NOTRUN -> [SKIP][47] ([i915#3323])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb5/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@input-checking:
    - shard-iclb:         NOTRUN -> [DMESG-WARN][48] ([i915#4991])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@gem_userptr_blits@input-checking.html
    - shard-apl:          NOTRUN -> [DMESG-WARN][49] ([i915#4991])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl6/igt@gem_userptr_blits@input-checking.html
    - shard-glk:          NOTRUN -> [DMESG-WARN][50] ([i915#4991])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk2/igt@gem_userptr_blits@input-checking.html

  * igt@gem_userptr_blits@unsync-overlap:
    - shard-tglb:         NOTRUN -> [SKIP][51] ([i915#3297])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@gem_userptr_blits@unsync-overlap.html

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-iclb:         NOTRUN -> [SKIP][52] ([i915#3297])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb3/igt@gem_userptr_blits@unsync-unmap-after-close.html

  * igt@gen3_render_tiledy_blits:
    - shard-iclb:         NOTRUN -> [SKIP][53] ([fdo#109289]) +4 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@gen3_render_tiledy_blits.html

  * igt@gen7_exec_parse@basic-allowed:
    - shard-tglb:         NOTRUN -> [SKIP][54] ([fdo#109289]) +2 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@gen7_exec_parse@basic-allowed.html

  * igt@gen7_exec_parse@oacontrol-tracking:
    - shard-apl:          NOTRUN -> [SKIP][55] ([fdo#109271]) +198 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl3/igt@gen7_exec_parse@oacontrol-tracking.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-glk:          [PASS][56] -> [DMESG-WARN][57] ([i915#5566] / [i915#716])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-glk3/igt@gen9_exec_parse@allowed-all.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk8/igt@gen9_exec_parse@allowed-all.html

  * igt@gen9_exec_parse@bb-secure:
    - shard-iclb:         NOTRUN -> [SKIP][58] ([i915#2856]) +2 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@gen9_exec_parse@bb-secure.html

  * igt@i915_module_load@load:
    - shard-tglb:         NOTRUN -> [SKIP][59] ([i915#6227])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@i915_module_load@load.html

  * igt@i915_pm_freq_mult@media-freq@gt0:
    - shard-iclb:         NOTRUN -> [SKIP][60] ([i915#6590])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb5/igt@i915_pm_freq_mult@media-freq@gt0.html
    - shard-tglb:         NOTRUN -> [SKIP][61] ([i915#6590])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@i915_pm_freq_mult@media-freq@gt0.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
    - shard-apl:          NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#1937])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl6/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html

  * igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
    - shard-glk:          NOTRUN -> [SKIP][63] ([fdo#109271] / [i915#1937])
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk3/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html

  * igt@i915_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-tglb:         NOTRUN -> [SKIP][64] ([fdo#111644] / [i915#1397] / [i915#2411])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@i915_pm_rpm@gem-evict-pwrite:
    - shard-kbl:          [PASS][65] -> [SKIP][66] ([fdo#109271])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl7/igt@i915_pm_rpm@gem-evict-pwrite.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl4/igt@i915_pm_rpm@gem-evict-pwrite.html

  * igt@i915_pm_rpm@modeset-non-lpsp:
    - shard-iclb:         NOTRUN -> [SKIP][67] ([fdo#110892])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb4/igt@i915_pm_rpm@modeset-non-lpsp.html

  * igt@i915_pm_rpm@pc8-residency:
    - shard-tglb:         NOTRUN -> [SKIP][68] ([fdo#109506] / [i915#2411])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb5/igt@i915_pm_rpm@pc8-residency.html

  * igt@i915_suspend@fence-restore-tiled2untiled:
    - shard-apl:          NOTRUN -> [INCOMPLETE][69] ([i915#4939] / [i915#6598])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl3/igt@i915_suspend@fence-restore-tiled2untiled.html
    - shard-snb:          NOTRUN -> [INCOMPLETE][70] ([i915#4817] / [i915#4939] / [i915#6598])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb2/igt@i915_suspend@fence-restore-tiled2untiled.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-kbl:          [PASS][71] -> [DMESG-WARN][72] ([i915#180]) +2 similar issues
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl4/igt@i915_suspend@fence-restore-untiled.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl4/igt@i915_suspend@fence-restore-untiled.html
    - shard-apl:          [PASS][73] -> [INCOMPLETE][74] ([i915#4939] / [i915#6598])
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-apl2/igt@i915_suspend@fence-restore-untiled.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl1/igt@i915_suspend@fence-restore-untiled.html
    - shard-snb:          [PASS][75] -> [INCOMPLETE][76] ([i915#4817] / [i915#4939] / [i915#6598])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-snb4/igt@i915_suspend@fence-restore-untiled.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb5/igt@i915_suspend@fence-restore-untiled.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [PASS][77] -> [INCOMPLETE][78] ([i915#4939])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-apl4/igt@i915_suspend@sysfs-reader.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl3/igt@i915_suspend@sysfs-reader.html

  * igt@kms_atomic_transition@plane-all-modeset-transition:
    - shard-iclb:         NOTRUN -> [SKIP][79] ([i915#1769])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb6/igt@kms_atomic_transition@plane-all-modeset-transition.html
    - shard-tglb:         NOTRUN -> [SKIP][80] ([i915#1769])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_atomic_transition@plane-all-modeset-transition.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-iclb:         NOTRUN -> [SKIP][81] ([i915#5286]) +4 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-tglb:         NOTRUN -> [SKIP][82] ([fdo#111614])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb5/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-64bpp-rotate-270:
    - shard-iclb:         NOTRUN -> [SKIP][83] ([fdo#110725] / [fdo#111614]) +5 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-180:
    - shard-iclb:         NOTRUN -> [SKIP][84] ([fdo#110723]) +3 similar issues
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb4/igt@kms_big_fb@yf-tiled-8bpp-rotate-180.html

  * igt@kms_big_joiner@basic:
    - shard-iclb:         NOTRUN -> [SKIP][85] ([i915#2705]) +1 similar issue
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb8/igt@kms_big_joiner@basic.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-kbl:          NOTRUN -> [SKIP][86] ([fdo#109271] / [i915#3886]) +3 similar issues
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl7/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-yf_tiled_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][87] ([fdo#111615] / [i915#3689]) +3 similar issues
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_ccs@pipe-a-ccs-on-another-bo-yf_tiled_ccs.html

  * igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][88] ([i915#3689] / [i915#3886])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs:
    - shard-iclb:         NOTRUN -> [SKIP][89] ([fdo#109278]) +29 similar issues
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb4/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs.html

  * igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc:
    - shard-glk:          NOTRUN -> [SKIP][90] ([fdo#109271] / [i915#3886]) +8 similar issues
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk1/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
    - shard-iclb:         NOTRUN -> [SKIP][91] ([fdo#109278] / [i915#3886]) +9 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc:
    - shard-tglb:         NOTRUN -> [SKIP][92] ([i915#3689] / [i915#6095]) +2 similar issues
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-bad-pixel-format-y_tiled_gen12_mc_ccs:
    - shard-apl:          NOTRUN -> [SKIP][93] ([fdo#109271] / [i915#3886]) +8 similar issues
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl4/igt@kms_ccs@pipe-c-bad-pixel-format-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-d-crc-primary-basic-4_tiled_dg2_rc_ccs_cc:
    - shard-tglb:         NOTRUN -> [SKIP][94] ([i915#3689]) +3 similar issues
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb5/igt@kms_ccs@pipe-d-crc-primary-basic-4_tiled_dg2_rc_ccs_cc.html

  * igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs:
    - shard-tglb:         NOTRUN -> [SKIP][95] ([i915#6095])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-iclb:         NOTRUN -> [SKIP][96] ([i915#3742])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb2/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium@dp-edid-change-during-suspend:
    - shard-glk:          NOTRUN -> [SKIP][97] ([fdo#109271] / [fdo#111827]) +12 similar issues
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk1/igt@kms_chamelium@dp-edid-change-during-suspend.html

  * igt@kms_chamelium@dp-hpd-storm:
    - shard-kbl:          NOTRUN -> [SKIP][98] ([fdo#109271] / [fdo#111827]) +5 similar issues
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl7/igt@kms_chamelium@dp-hpd-storm.html

  * igt@kms_chamelium@dp-mode-timings:
    - shard-iclb:         NOTRUN -> [SKIP][99] ([fdo#109284] / [fdo#111827]) +13 similar issues
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb3/igt@kms_chamelium@dp-mode-timings.html

  * igt@kms_chamelium@hdmi-edid-change-during-suspend:
    - shard-apl:          NOTRUN -> [SKIP][100] ([fdo#109271] / [fdo#111827]) +12 similar issues
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl8/igt@kms_chamelium@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium@vga-hpd-without-ddc:
    - shard-snb:          NOTRUN -> [SKIP][101] ([fdo#109271] / [fdo#111827]) +11 similar issues
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb2/igt@kms_chamelium@vga-hpd-without-ddc.html

  * igt@kms_color_chamelium@ctm-0-50:
    - shard-tglb:         NOTRUN -> [SKIP][102] ([fdo#109284] / [fdo#111827]) +1 similar issue
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_color_chamelium@ctm-0-50.html

  * igt@kms_content_protection@mei_interface:
    - shard-tglb:         NOTRUN -> [SKIP][103] ([fdo#109300])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_content_protection@mei_interface.html
    - shard-iclb:         NOTRUN -> [SKIP][104] ([fdo#109300])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb4/igt@kms_content_protection@mei_interface.html

  * igt@kms_content_protection@uevent:
    - shard-iclb:         NOTRUN -> [SKIP][105] ([fdo#109300] / [fdo#111066]) +1 similar issue
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@kms_content_protection@uevent.html
    - shard-apl:          NOTRUN -> [FAIL][106] ([i915#2105])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl6/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
    - shard-tglb:         NOTRUN -> [SKIP][107] ([fdo#109274] / [fdo#111825])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-4tiled:
    - shard-tglb:         NOTRUN -> [SKIP][108] ([i915#5287])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-4tiled.html

  * igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-4tiled:
    - shard-iclb:         NOTRUN -> [SKIP][109] ([i915#5287]) +2 similar issues
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb6/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-4tiled.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
    - shard-iclb:         NOTRUN -> [SKIP][110] ([fdo#109274]) +17 similar issues
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb6/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1:
    - shard-glk:          [PASS][111] -> [FAIL][112] ([i915#79])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk3/igt@kms_flip@flip-vs-expired-vblank@c-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode:
    - shard-iclb:         NOTRUN -> [SKIP][113] ([i915#2672]) +3 similar issues
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode:
    - shard-tglb:         NOTRUN -> [SKIP][114] ([i915#2672])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][115] ([i915#2672] / [i915#3555])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-snb:          NOTRUN -> [INCOMPLETE][116] ([i915#6598] / [i915#6625])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb5/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt:
    - shard-tglb:         NOTRUN -> [SKIP][117] ([i915#6497])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-gtt:
    - shard-tglb:         NOTRUN -> [SKIP][118] ([fdo#109280] / [fdo#111825]) +7 similar issues
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-render:
    - shard-iclb:         NOTRUN -> [SKIP][119] ([fdo#109280]) +43 similar issues
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu:
    - shard-snb:          NOTRUN -> [SKIP][120] ([fdo#109271]) +378 similar issues
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb4/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_hdr@static-toggle:
    - shard-iclb:         NOTRUN -> [SKIP][121] ([i915#3555]) +2 similar issues
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb3/igt@kms_hdr@static-toggle.html

  * igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
    - shard-apl:          NOTRUN -> [FAIL][122] ([fdo#108145] / [i915#265]) +1 similar issue
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl2/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
    - shard-glk:          NOTRUN -> [FAIL][123] ([fdo#108145] / [i915#265]) +2 similar issues
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk5/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-tglb:         NOTRUN -> [SKIP][124] ([fdo#112054] / [i915#5288])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_plane_lowres@tiling-x@pipe-b-edp-1:
    - shard-iclb:         NOTRUN -> [SKIP][125] ([i915#3536]) +2 similar issues
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb4/igt@kms_plane_lowres@tiling-x@pipe-b-edp-1.html

  * igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-c-edp-1:
    - shard-tglb:         NOTRUN -> [SKIP][126] ([i915#5176]) +3 similar issues
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-c-edp-1.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-edp-1:
    - shard-iclb:         NOTRUN -> [SKIP][127] ([i915#5176]) +5 similar issues
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-edp-1.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c-dp-1:
    - shard-kbl:          NOTRUN -> [SKIP][128] ([fdo#109271]) +89 similar issues
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c-dp-1.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1:
    - shard-tglb:         NOTRUN -> [SKIP][129] ([i915#5235]) +3 similar issues
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf:
    - shard-apl:          NOTRUN -> [SKIP][130] ([fdo#109271] / [i915#658]) +1 similar issue
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl4/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
    - shard-glk:          NOTRUN -> [SKIP][131] ([fdo#109271] / [i915#658]) +4 similar issues
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk8/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf:
    - shard-iclb:         NOTRUN -> [SKIP][132] ([i915#658]) +1 similar issue
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb7/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr@psr2_no_drrs:
    - shard-iclb:         NOTRUN -> [SKIP][133] ([fdo#109441])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb5/igt@kms_psr@psr2_no_drrs.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-iclb:         [PASS][134] -> [SKIP][135] ([i915#5519])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-iclb8/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-tglb:         NOTRUN -> [SKIP][136] ([fdo#109309])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb5/igt@kms_tv_load_detect@load-detect.html
    - shard-iclb:         NOTRUN -> [SKIP][137] ([fdo#109309])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb2/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-glk:          NOTRUN -> [INCOMPLETE][138] ([i915#6598]) +2 similar issues
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk5/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-apl:          NOTRUN -> [SKIP][139] ([fdo#109271] / [i915#2437])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl3/igt@kms_writeback@writeback-pixel-formats.html
    - shard-glk:          NOTRUN -> [SKIP][140] ([fdo#109271] / [i915#2437])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk1/igt@kms_writeback@writeback-pixel-formats.html
    - shard-iclb:         NOTRUN -> [SKIP][141] ([i915#2437])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb8/igt@kms_writeback@writeback-pixel-formats.html

  * igt@nouveau_crc@ctx-flip-threshold-reset-after-capture:
    - shard-tglb:         NOTRUN -> [SKIP][142] ([i915#2530]) +1 similar issue
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb5/igt@nouveau_crc@ctx-flip-threshold-reset-after-capture.html

  * igt@nouveau_crc@pipe-a-ctx-flip-detection:
    - shard-iclb:         NOTRUN -> [SKIP][143] ([i915#2530]) +3 similar issues
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb3/igt@nouveau_crc@pipe-a-ctx-flip-detection.html

  * igt@nouveau_crc@pipe-d-source-outp-inactive:
    - shard-iclb:         NOTRUN -> [SKIP][144] ([fdo#109278] / [i915#2530])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb1/igt@nouveau_crc@pipe-d-source-outp-inactive.html

  * igt@prime_nv_api@nv_self_import_to_different_fd:
    - shard-iclb:         NOTRUN -> [SKIP][145] ([fdo#109291]) +3 similar issues
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb5/igt@prime_nv_api@nv_self_import_to_different_fd.html

  * igt@sysfs_clients@create:
    - shard-iclb:         NOTRUN -> [SKIP][146] ([i915#2994]) +2 similar issues
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb4/igt@sysfs_clients@create.html

  * igt@sysfs_clients@fair-0:
    - shard-kbl:          NOTRUN -> [SKIP][147] ([fdo#109271] / [i915#2994])
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl7/igt@sysfs_clients@fair-0.html

  * igt@sysfs_clients@sema-50:
    - shard-apl:          NOTRUN -> [SKIP][148] ([fdo#109271] / [i915#2994]) +2 similar issues
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl7/igt@sysfs_clients@sema-50.html
    - shard-glk:          NOTRUN -> [SKIP][149] ([fdo#109271] / [i915#2994]) +3 similar issues
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-glk1/igt@sysfs_clients@sema-50.html

  
#### Possible fixes ####

  * igt@feature_discovery@psr2:
    - shard-iclb:         [SKIP][150] ([i915#658]) -> [PASS][151]
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-iclb4/igt@feature_discovery@psr2.html
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb2/igt@feature_discovery@psr2.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglb:         [FAIL][152] ([i915#2842]) -> [PASS][153]
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-tglb5/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb7/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-kbl:          [FAIL][154] ([i915#2842]) -> [PASS][155] +1 similar issue
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl7/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl4/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_reloc@basic-write-cpu-active:
    - shard-apl:          [DMESG-WARN][156] ([i915#62]) -> [PASS][157] +6 similar issues
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-apl3/igt@gem_exec_reloc@basic-write-cpu-active.html
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl4/igt@gem_exec_reloc@basic-write-cpu-active.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [SKIP][158] ([i915#2190]) -> [PASS][159]
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-tglb7/igt@gem_huc_copy@huc-copy.html
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@gem_huc_copy@huc-copy.html

  * igt@gem_mmap_gtt@fault-concurrent-x:
    - shard-snb:          [INCOMPLETE][160] ([i915#5161]) -> [PASS][161]
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-snb6/igt@gem_mmap_gtt@fault-concurrent-x.html
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb4/igt@gem_mmap_gtt@fault-concurrent-x.html

  * igt@i915_pm_rpm@system-suspend-modeset:
    - shard-iclb:         [INCOMPLETE][162] -> [PASS][163] +1 similar issue
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-iclb8/igt@i915_pm_rpm@system-suspend-modeset.html
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb5/igt@i915_pm_rpm@system-suspend-modeset.html
    - shard-apl:          [INCOMPLETE][164] ([i915#4939] / [i915#6598]) -> [PASS][165]
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-apl8/igt@i915_pm_rpm@system-suspend-modeset.html
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-apl3/igt@i915_pm_rpm@system-suspend-modeset.html

  * igt@kms_flip@flip-vs-suspend@a-dp1:
    - shard-kbl:          [DMESG-WARN][166] ([i915#180]) -> [PASS][167] +3 similar issues
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl4/igt@kms_flip@flip-vs-suspend@a-dp1.html
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl1/igt@kms_flip@flip-vs-suspend@a-dp1.html

  * igt@kms_flip@flip-vs-suspend@d-edp1:
    - shard-tglb:         [INCOMPLETE][168] -> [PASS][169]
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-tglb7/igt@kms_flip@flip-vs-suspend@d-edp1.html
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-tglb3/igt@kms_flip@flip-vs-suspend@d-edp1.html

  * igt@kms_vblank@pipe-c-ts-continuation-suspend:
    - shard-kbl:          [INCOMPLETE][170] ([i915#4939]) -> [PASS][171]
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl4/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl1/igt@kms_vblank@pipe-c-ts-continuation-suspend.html

  
#### Warnings ####

  * igt@gem_eio@in-flight-suspend:
    - shard-snb:          [INCOMPLETE][172] ([i915#6628]) -> [INCOMPLETE][173] ([i915#6598] / [i915#6628])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-snb6/igt@gem_eio@in-flight-suspend.html
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb6/igt@gem_eio@in-flight-suspend.html

  * igt@gem_eio@suspend:
    - shard-snb:          [INCOMPLETE][174] -> [INCOMPLETE][175] ([i915#6598])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-snb4/igt@gem_eio@suspend.html
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-snb6/igt@gem_eio@suspend.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-kbl:          [FAIL][176] ([i915#2842]) -> [SKIP][177] ([fdo#109271])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-kbl4/igt@gem_exec_fair@basic-pace@vcs0.html
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-kbl1/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
    - shard-iclb:         [SKIP][178] ([i915#658]) -> [SKIP][179] ([i915#2920])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-iclb1/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area:
    - shard-iclb:         [SKIP][180] ([i915#2920]) -> [SKIP][181] ([fdo#111068] / [i915#658])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12004/shard-iclb2/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/shard-iclb3/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area.html

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

  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [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#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
  [fdo#110892]: https://bugs.freedesktop.org/show_bug.cgi?id=110892
  [fdo#111066]: https://bugs.freedesktop.org/show_bug.cgi?id=111066
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111314]: https://bugs.freedesktop.org/show_bug.cgi?id=111314
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [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
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
  [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
  [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#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#2105]: https://gitlab.freedesktop.org/drm/intel/issues/2105
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [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#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
  [i915#2532]: https://gitlab.freedesktop.org/drm/intel/issues/2532
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
  [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#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [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#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3376]: https://gitlab.freedesktop.org/drm/intel/issues/3376
  [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
  [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [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#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
  [i915#3828]: https://gitlab.freedesktop.org/drm/intel/issues/3828
  [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#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#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
  [i915#4369]: https://gitlab.freedesktop.org/drm/intel/issues/4369
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
  [i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877
  [i915#4939]: https://gitlab.freedesktop.org/drm/intel/issues/4939
  [i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
  [i915#5161]: https://gitlab.freedesktop.org/drm/intel/issues/5161
  [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#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [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#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
  [i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6251]: https://gitlab.freedesktop.org/drm/intel/issues/6251
  [i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
  [i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
  [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#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
  [i915#6598]: https://gitlab.freedesktop.org/drm/intel/issues/6598
  [i915#6625]: https://gitlab.freedesktop.org/drm/intel/issues/6625
  [i915#6628]: https://gitlab.freedesktop.org/drm/intel/issues/6628
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


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

  * CI: CI-20190529 -> None
  * IGT: IGT_6632 -> IGTPW_7665
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12004: 9a91db2ace2b69713b8ebbbc37554b53f23fa883 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_7665: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7665/index.html
  IGT_6632: a0ac4d449e551fd5c78b56f85cd534330ea60507 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t v3 2/2] i915/gem_ctx_isolation:: change semantics of ctx isolation uAPI
  2022-08-19 19:52 ` [igt-dev] [PATCH i-g-t v3 2/2] i915/gem_ctx_isolation:: change semantics of ctx isolation uAPI Adrian Larumbe
@ 2022-09-01 12:33   ` Petri Latvala
  2022-09-01 16:46     ` Adrian Larumbe
  0 siblings, 1 reply; 7+ messages in thread
From: Petri Latvala @ 2022-09-01 12:33 UTC (permalink / raw)
  To: Adrian Larumbe; +Cc: igt-dev

On Fri, Aug 19, 2022 at 08:52:18PM +0100, Adrian Larumbe wrote:
> ioctl I915_PARAM_HAS_CONTEXT_ISOLATION param is meant to report whether all
> the engines in the system support context isolation, but the way the return
> value was being used did not respect the contract on the uAPI.
> 
> Skip all engine tests for which context isolation is not supported. Also skip
> tests that involve an engine reset if both RCS and CCS engines are present in
> the system. This is because they belong to the same reset domain.
> 
> Signed-Off-By: Adrian Larumbe <adrian.larumbe@collabora.com>
> ---
>  include/drm-uapi/i915_drm.h    |   6 +-
>  tests/i915/gem_ctx_isolation.c | 100 +++++++++++++++++++++++----------
>  2 files changed, 72 insertions(+), 34 deletions(-)
> 
> diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h
> index b4efc96c2edc..0b8fa57b52f9 100644
> --- a/include/drm-uapi/i915_drm.h
> +++ b/include/drm-uapi/i915_drm.h
> @@ -691,11 +691,7 @@ typedef struct drm_i915_irq_wait {
>   * rather than default HW values. If true, it also ensures (insofar as HW
>   * supports) that all state set by this context will not leak to any other
>   * context.
> - *
> - * As not every engine across every gen support contexts, the returned
> - * value reports the support of context isolation for individual engines by
> - * returning a bitmask of each engine class set to true if that class supports
> - * isolation.
> + * 

Don't make edits to the drm-uapi files. They need to be direct copies from the kernel.

-- 
Petri Latvala



>   */
>  #define I915_PARAM_HAS_CONTEXT_ISOLATION 50
>  
> diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> index 4233ea5784dc..273a0c9708bb 100644
> --- a/tests/i915/gem_ctx_isolation.c
> +++ b/tests/i915/gem_ctx_isolation.c
> @@ -45,6 +45,7 @@ enum {
>  	VCS2 = ENGINE(I915_ENGINE_CLASS_VIDEO, 2),
>  	VCS3 = ENGINE(I915_ENGINE_CLASS_VIDEO, 3),
>  	VECS0 = ENGINE(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0),
> +	CCS0 = ENGINE(I915_ENGINE_CLASS_COMPUTE, 0),
>  };
>  
>  #define ALL ~0u
> @@ -627,9 +628,40 @@ static void compare_regs(int fd, const struct intel_execution_engine2 *e,
>  		     num_errors, who);
>  }
>  
> +static bool
> +engine_has_context_isolation(const struct intel_execution_engine2 *e,
> +			     int gen)
> +{
> +	if (gen > 8)
> +		return true;
> +
> +	if (gen >= 6 && gen <= 8 && e->class == I915_ENGINE_CLASS_RENDER)
> +		return true;
> +
> +	return false;
> +}
> +
> +static bool
> +has_engine_class(const intel_ctx_cfg_t *cfg, unsigned int class)
> +{
> +	const struct i915_engine_class_instance *eci;
> +	unsigned int i;
> +
> +	igt_require(class <= I915_ENGINE_CLASS_COMPUTE);
> +
> +	for (i = 0; i < cfg->num_engines; i++) {
> +		eci = &cfg->engines[i];
> +		if (eci->engine_class == class)
> +			return true;
> +	}
> +
> +	return false;
> +}
> +
>  static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
>  		    const struct intel_execution_engine2 *e,
> -		    unsigned int flags)
> +		    unsigned int flags,
> +		    int gen)
>  {
>  	static const uint32_t values[] = {
>  		0x0,
> @@ -647,6 +679,7 @@ static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
>  
>  	/* Sigh -- hsw: we need cmdparser access to our own registers! */
>  	igt_skip_on(intel_gen(intel_get_drm_devid(fd)) < 8);
> +	igt_require(engine_has_context_isolation(e, gen));
>  
>  	gem_quiescent_gpu(fd);
>  
> @@ -729,7 +762,8 @@ static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
>  
>  static void isolation(int fd, const intel_ctx_cfg_t *cfg,
>  		      const struct intel_execution_engine2 *e,
> -		      unsigned int flags)
> +		      unsigned int flags,
> +		      int gen)
>  {
>  	static const uint32_t values[] = {
>  		0x0,
> @@ -743,6 +777,8 @@ static void isolation(int fd, const intel_ctx_cfg_t *cfg,
>  	unsigned int num_values =
>  		flags & (DIRTY1 | DIRTY2) ? ARRAY_SIZE(values) : 1;
>  
> +	igt_require(engine_has_context_isolation(e, gen));
> +
>  	gem_quiescent_gpu(fd);
>  
>  	for (int v = 0; v < num_values; v++) {
> @@ -865,7 +901,8 @@ static void inject_reset_context(int fd, const intel_ctx_cfg_t *cfg,
>  
>  static void preservation(int fd, const intel_ctx_cfg_t *cfg,
>  			 const struct intel_execution_engine2 *e,
> -			 unsigned int flags)
> +			 unsigned int flags,
> +			 int gen)
>  {
>  	static const uint32_t values[] = {
>  		0x0,
> @@ -882,6 +919,8 @@ static void preservation(int fd, const intel_ctx_cfg_t *cfg,
>  	uint64_t ahnd[num_values + 1];
>  	igt_spin_t *spin;
>  
> +	igt_require(engine_has_context_isolation(e, gen));
> +
>  	gem_quiescent_gpu(fd);
>  
>  	ctx[num_values] = intel_ctx_create(fd, cfg);
> @@ -902,8 +941,12 @@ static void preservation(int fd, const intel_ctx_cfg_t *cfg,
>  	gem_close(fd, read_regs(fd, ahnd[num_values], ctx[num_values], e, flags));
>  	igt_spin_free(fd, spin);
>  
> -	if (flags & RESET)
> +	if (flags & RESET) {
> +		igt_skip_on(has_engine_class(cfg, I915_ENGINE_CLASS_RENDER) &&
> +			    has_engine_class(cfg, I915_ENGINE_CLASS_COMPUTE));
> +
>  		inject_reset_context(fd, cfg, e);
> +	}
>  
>  	switch (flags & SLEEP_MASK) {
>  	case NOSLEEP:
> @@ -962,7 +1005,7 @@ static unsigned int __has_context_isolation(int fd)
>  	int value = 0;
>  
>  	memset(&gp, 0, sizeof(gp));
> -	gp.param = 50; /* I915_PARAM_HAS_CONTEXT_ISOLATION */
> +	gp.param = I915_PARAM_HAS_CONTEXT_ISOLATION;
>  	gp.value = &value;
>  
>  	igt_ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
> @@ -971,21 +1014,19 @@ static unsigned int __has_context_isolation(int fd)
>  	return value;
>  }
>  
> -#define test_each_engine(e, i915, cfg, mask) \
> +#define test_each_engine(e, i915, cfg)	  \
>  	for_each_ctx_cfg_engine(i915, cfg, e) \
> -		for_each_if(mask & (1 << (e)->class)) \
> -			igt_dynamic_f("%s", (e)->name)
> +		igt_dynamic_f("%s", (e)->name)
>  
>  igt_main
>  {
> -	unsigned int has_context_isolation = 0;
> +	bool has_context_isolation = 0;
>  	const struct intel_execution_engine2 *e;
>  	intel_ctx_cfg_t cfg;
>  	int i915 = -1;
> +	int gen;
>  
>  	igt_fixture {
> -		int gen;
> -
>  		i915 = drm_open_driver(DRIVER_INTEL);
>  		igt_require_gem(i915);
>  		igt_require(gem_has_contexts(i915));
> @@ -995,6 +1036,7 @@ igt_main
>  		igt_require(has_context_isolation);
>  
>  		gen = intel_gen(intel_get_drm_devid(i915));
> +		igt_require(gen >= 2);
>  
>  		igt_warn_on_f(gen > LAST_KNOWN_GEN,
>  			      "GEN not recognized! Test needs to be updated to run.\n");
> @@ -1006,43 +1048,43 @@ igt_main
>  	}
>  
>  	igt_subtest_with_dynamic("nonpriv") {
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			nonpriv(i915, &cfg, e, 0);
> +		test_each_engine(e, i915, &cfg)
> +			nonpriv(i915, &cfg, e, 0, gen);
>  	}
>  
>  	igt_subtest_with_dynamic("nonpriv-switch") {
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			nonpriv(i915, &cfg, e, DIRTY2);
> +		test_each_engine(e, i915, &cfg)
> +			nonpriv(i915, &cfg, e, DIRTY2, gen);
>  	}
>  
>  	igt_subtest_with_dynamic("clean") {
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			isolation(i915, &cfg, e, 0);
> +		test_each_engine(e, i915, &cfg)
> +			isolation(i915, &cfg, e, 0, gen);
>  	}
>  
>  	igt_subtest_with_dynamic("dirty-create") {
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			isolation(i915, &cfg, e, DIRTY1);
> +		test_each_engine(e, i915, &cfg)
> +			isolation(i915, &cfg, e, DIRTY1, gen);
>  	}
>  
>  	igt_subtest_with_dynamic("dirty-switch") {
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			isolation(i915, &cfg, e, DIRTY2);
> +		test_each_engine(e, i915, &cfg)
> +			isolation(i915, &cfg, e, DIRTY2, gen);
>  	}
>  
>  	igt_subtest_with_dynamic("preservation") {
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			preservation(i915, &cfg, e, 0);
> +		test_each_engine(e, i915, &cfg)
> +			preservation(i915, &cfg, e, 0, gen);
>  	}
>  
>  	igt_subtest_with_dynamic("preservation-S3") {
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			preservation(i915, &cfg, e, S3);
> +		test_each_engine(e, i915, &cfg)
> +			preservation(i915, &cfg, e, S3, gen);
>  	}
>  
>  	igt_subtest_with_dynamic("preservation-S4") {
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			preservation(i915, &cfg, e, S4);
> +		test_each_engine(e, i915, &cfg)
> +			preservation(i915, &cfg, e, S4, gen);
>  	}
>  
>  	igt_fixture {
> @@ -1052,8 +1094,8 @@ igt_main
>  	igt_subtest_with_dynamic("preservation-reset") {
>  		igt_hang_t hang = igt_allow_hang(i915, 0, 0);
>  
> -		test_each_engine(e, i915, &cfg, has_context_isolation)
> -			preservation(i915, &cfg, e, RESET);
> +		test_each_engine(e, i915, &cfg)
> +			preservation(i915, &cfg, e, RESET, gen);
>  
>  		igt_disallow_hang(i915, hang);
>  	}
> -- 
> 2.37.0
> 

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

* Re: [igt-dev] [PATCH i-g-t v3 1/2] i915_drm.h sync uapi engine class enum with drm-next
  2022-08-19 19:52 [igt-dev] [PATCH i-g-t v3 1/2] i915_drm.h sync uapi engine class enum with drm-next Adrian Larumbe
                   ` (2 preceding siblings ...)
  2022-08-20 18:07 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2022-09-01 12:35 ` Petri Latvala
  3 siblings, 0 replies; 7+ messages in thread
From: Petri Latvala @ 2022-09-01 12:35 UTC (permalink / raw)
  To: Adrian Larumbe; +Cc: igt-dev

On Fri, Aug 19, 2022 at 08:52:17PM +0100, Adrian Larumbe wrote:
> gem_ctx_isolation@preservation needs to take into account the shared reset
> domain between RCS and CCS engines.
> 
> Remove local compute engine definition as it's no longer necessary.
> 
> Taken from ecf8eca51f33 ("drm/i915/xehp: Add compute engine ABI")

There's no longer any uapi header changes here, you need to rewrite
this commit message.

-- 
Petri Latvala


> 
> Signed-Off-By: Adrian Larumbe <adrian.larumbe@collabora.com>
> ---
>  lib/i915/i915_drm_local.h      | 2 --
>  tests/i915/gem_ctx_isolation.c | 2 ++
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/i915/i915_drm_local.h b/lib/i915/i915_drm_local.h
> index ac35abf6af76..696e5aa05048 100644
> --- a/lib/i915/i915_drm_local.h
> +++ b/lib/i915/i915_drm_local.h
> @@ -19,8 +19,6 @@ extern "C" {
>   * or local_ prefix and without any #ifndef's. Attempt should be made to
>   * clean these up when kernel uapi headers are sync'd.
>   */
> -#define I915_ENGINE_CLASS_COMPUTE 4
> -
>  #define DRM_I915_QUERY_GEOMETRY_SUBSLICES      6
>  
>  /*
> diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> index 95d13969fa61..4233ea5784dc 100644
> --- a/tests/i915/gem_ctx_isolation.c
> +++ b/tests/i915/gem_ctx_isolation.c
> @@ -164,6 +164,8 @@ static const struct named_register {
>  
>  	{ "xCS_GPR", GEN9, ALL, 0x600, 32, .relative = true },
>  
> +        /* TODO: add CCS0 registers */
> +
>  	{}
>  }, ignore_registers[] = {
>  	{ "RCS timestamp", GEN6, ~0u, 0x2358 },
> -- 
> 2.37.0
> 

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

* Re: [igt-dev] [PATCH i-g-t v3 2/2] i915/gem_ctx_isolation:: change semantics of ctx isolation uAPI
  2022-09-01 12:33   ` Petri Latvala
@ 2022-09-01 16:46     ` Adrian Larumbe
  0 siblings, 0 replies; 7+ messages in thread
From: Adrian Larumbe @ 2022-09-01 16:46 UTC (permalink / raw)
  To: Petri Latvala; +Cc: igt-dev

On 01.09.2022 15:33, Petri Latvala wrote:
>>>On Fri, Aug 19, 2022 at 08:52:18PM +0100, Adrian Larumbe wrote:
>>>> ioctl I915_PARAM_HAS_CONTEXT_ISOLATION param is meant to report whether all
>>>> the engines in the system support context isolation, but the way the return
>>>> value was being used did not respect the contract on the uAPI.
>>>> 
>>>> Skip all engine tests for which context isolation is not supported. Also skip
>>>> tests that involve an engine reset if both RCS and CCS engines are present in
>>>> the system. This is because they belong to the same reset domain.
>>>> 
>>>> Signed-Off-By: Adrian Larumbe <adrian.larumbe@collabora.com>
>>>> ---
>>>>  include/drm-uapi/i915_drm.h    |   6 +-
>>>>  tests/i915/gem_ctx_isolation.c | 100 +++++++++++++++++++++++----------
>>>>  2 files changed, 72 insertions(+), 34 deletions(-)
>>>> 
>>>> diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h
>>>> index b4efc96c2edc..0b8fa57b52f9 100644
>>>> --- a/include/drm-uapi/i915_drm.h
>>>> +++ b/include/drm-uapi/i915_drm.h
>>>> @@ -691,11 +691,7 @@ typedef struct drm_i915_irq_wait {
>>>>   * rather than default HW values. If true, it also ensures (insofar as HW
>>>>   * supports) that all state set by this context will not leak to any other
>>>>   * context.
>>>> - *
>>>> - * As not every engine across every gen support contexts, the returned
>>>> - * value reports the support of context isolation for individual engines by
>>>> - * returning a bitmask of each engine class set to true if that class supports
>>>> - * isolation.
>>>> + * 
>>>
>>>Don't make edits to the drm-uapi files. They need to be direct copies from the kernel.

The issue here is the parallel kernel patch also makes this change. I guess I'll
wait until the relevant kernel patch is accepted and then copy it verbatim from
the kernel sources instead.

>>-- 
>>Petri Latvala
>>
>>
>>
>>>   */
>>>  #define I915_PARAM_HAS_CONTEXT_ISOLATION 50
>>>  
>>> diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
>>> index 4233ea5784dc..273a0c9708bb 100644
>>> --- a/tests/i915/gem_ctx_isolation.c
>>> +++ b/tests/i915/gem_ctx_isolation.c
>>> @@ -45,6 +45,7 @@ enum {
>>>  	VCS2 = ENGINE(I915_ENGINE_CLASS_VIDEO, 2),
>>>  	VCS3 = ENGINE(I915_ENGINE_CLASS_VIDEO, 3),
>>>  	VECS0 = ENGINE(I915_ENGINE_CLASS_VIDEO_ENHANCE, 0),
>>> +	CCS0 = ENGINE(I915_ENGINE_CLASS_COMPUTE, 0),
>>>  };
>>>  
>>>  #define ALL ~0u
>>> @@ -627,9 +628,40 @@ static void compare_regs(int fd, const struct intel_execution_engine2 *e,
>>>  		     num_errors, who);
>>>  }
>>>  
>>> +static bool
>>> +engine_has_context_isolation(const struct intel_execution_engine2 *e,
>>> +			     int gen)
>>> +{
>>> +	if (gen > 8)
>>> +		return true;
>>> +
>>> +	if (gen >= 6 && gen <= 8 && e->class == I915_ENGINE_CLASS_RENDER)
>>> +		return true;
>>> +
>>> +	return false;
>>> +}
>>> +
>>> +static bool
>>> +has_engine_class(const intel_ctx_cfg_t *cfg, unsigned int class)
>>> +{
>>> +	const struct i915_engine_class_instance *eci;
>>> +	unsigned int i;
>>> +
>>> +	igt_require(class <= I915_ENGINE_CLASS_COMPUTE);
>>> +
>>> +	for (i = 0; i < cfg->num_engines; i++) {
>>> +		eci = &cfg->engines[i];
>>> +		if (eci->engine_class == class)
>>> +			return true;
>>> +	}
>>> +
>>> +	return false;
>>> +}
>>> +
>>>  static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
>>>  		    const struct intel_execution_engine2 *e,
>>> -		    unsigned int flags)
>>> +		    unsigned int flags,
>>> +		    int gen)
>>>  {
>>>  	static const uint32_t values[] = {
>>>  		0x0,
>>> @@ -647,6 +679,7 @@ static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
>>>  
>>>  	/* Sigh -- hsw: we need cmdparser access to our own registers! */
>>>  	igt_skip_on(intel_gen(intel_get_drm_devid(fd)) < 8);
>>> +	igt_require(engine_has_context_isolation(e, gen));
>>>  
>>>  	gem_quiescent_gpu(fd);
>>>  
>>> @@ -729,7 +762,8 @@ static void nonpriv(int fd, const intel_ctx_cfg_t *cfg,
>>>  
>>>  static void isolation(int fd, const intel_ctx_cfg_t *cfg,
>>>  		      const struct intel_execution_engine2 *e,
>>> -		      unsigned int flags)
>>> +		      unsigned int flags,
>>> +		      int gen)
>>>  {
>>>  	static const uint32_t values[] = {
>>>  		0x0,
>>> @@ -743,6 +777,8 @@ static void isolation(int fd, const intel_ctx_cfg_t *cfg,
>>>  	unsigned int num_values =
>>>  		flags & (DIRTY1 | DIRTY2) ? ARRAY_SIZE(values) : 1;
>>>  
>>> +	igt_require(engine_has_context_isolation(e, gen));
>>> +
>>>  	gem_quiescent_gpu(fd);
>>>  
>>>  	for (int v = 0; v < num_values; v++) {
>>> @@ -865,7 +901,8 @@ static void inject_reset_context(int fd, const intel_ctx_cfg_t *cfg,
>>>  
>>>  static void preservation(int fd, const intel_ctx_cfg_t *cfg,
>>>  			 const struct intel_execution_engine2 *e,
>>> -			 unsigned int flags)
>>> +			 unsigned int flags,
>>> +			 int gen)
>>>  {
>>>  	static const uint32_t values[] = {
>>>  		0x0,
>>> @@ -882,6 +919,8 @@ static void preservation(int fd, const intel_ctx_cfg_t *cfg,
>>>  	uint64_t ahnd[num_values + 1];
>>>  	igt_spin_t *spin;
>>>  
>>> +	igt_require(engine_has_context_isolation(e, gen));
>>> +
>>>  	gem_quiescent_gpu(fd);
>>>  
>>>  	ctx[num_values] = intel_ctx_create(fd, cfg);
>>> @@ -902,8 +941,12 @@ static void preservation(int fd, const intel_ctx_cfg_t *cfg,
>>>  	gem_close(fd, read_regs(fd, ahnd[num_values], ctx[num_values], e, flags));
>>>  	igt_spin_free(fd, spin);
>>>  
>>> -	if (flags & RESET)
>>> +	if (flags & RESET) {
>>> +		igt_skip_on(has_engine_class(cfg, I915_ENGINE_CLASS_RENDER) &&
>>> +			    has_engine_class(cfg, I915_ENGINE_CLASS_COMPUTE));
>>> +
>>>  		inject_reset_context(fd, cfg, e);
>>> +	}
>>>  
>>>  	switch (flags & SLEEP_MASK) {
>>>  	case NOSLEEP:
>>> @@ -962,7 +1005,7 @@ static unsigned int __has_context_isolation(int fd)
>>>  	int value = 0;
>>>  
>>>  	memset(&gp, 0, sizeof(gp));
>>> -	gp.param = 50; /* I915_PARAM_HAS_CONTEXT_ISOLATION */
>>> +	gp.param = I915_PARAM_HAS_CONTEXT_ISOLATION;
>>>  	gp.value = &value;
>>>  
>>>  	igt_ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
>>> @@ -971,21 +1014,19 @@ static unsigned int __has_context_isolation(int fd)
>>>  	return value;
>>>  }
>>>  
>>> -#define test_each_engine(e, i915, cfg, mask) \
>>> +#define test_each_engine(e, i915, cfg)	  \
>>>  	for_each_ctx_cfg_engine(i915, cfg, e) \
>>> -		for_each_if(mask & (1 << (e)->class)) \
>>> -			igt_dynamic_f("%s", (e)->name)
>>> +		igt_dynamic_f("%s", (e)->name)
>>>  
>>>  igt_main
>>>  {
>>> -	unsigned int has_context_isolation = 0;
>>> +	bool has_context_isolation = 0;
>>>  	const struct intel_execution_engine2 *e;
>>>  	intel_ctx_cfg_t cfg;
>>>  	int i915 = -1;
>>> +	int gen;
>>>  
>>>  	igt_fixture {
>>> -		int gen;
>>> -
>>>  		i915 = drm_open_driver(DRIVER_INTEL);
>>>  		igt_require_gem(i915);
>>>  		igt_require(gem_has_contexts(i915));
>>> @@ -995,6 +1036,7 @@ igt_main
>>>  		igt_require(has_context_isolation);
>>>  
>>>  		gen = intel_gen(intel_get_drm_devid(i915));
>>> +		igt_require(gen >= 2);
>>>  
>>>  		igt_warn_on_f(gen > LAST_KNOWN_GEN,
>>>  			      "GEN not recognized! Test needs to be updated to run.\n");
>>> @@ -1006,43 +1048,43 @@ igt_main
>>>  	}
>>>  
>>>  	igt_subtest_with_dynamic("nonpriv") {
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			nonpriv(i915, &cfg, e, 0);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			nonpriv(i915, &cfg, e, 0, gen);
>>>  	}
>>>  
>>>  	igt_subtest_with_dynamic("nonpriv-switch") {
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			nonpriv(i915, &cfg, e, DIRTY2);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			nonpriv(i915, &cfg, e, DIRTY2, gen);
>>>  	}
>>>  
>>>  	igt_subtest_with_dynamic("clean") {
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			isolation(i915, &cfg, e, 0);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			isolation(i915, &cfg, e, 0, gen);
>>>  	}
>>>  
>>>  	igt_subtest_with_dynamic("dirty-create") {
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			isolation(i915, &cfg, e, DIRTY1);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			isolation(i915, &cfg, e, DIRTY1, gen);
>>>  	}
>>>  
>>>  	igt_subtest_with_dynamic("dirty-switch") {
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			isolation(i915, &cfg, e, DIRTY2);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			isolation(i915, &cfg, e, DIRTY2, gen);
>>>  	}
>>>  
>>>  	igt_subtest_with_dynamic("preservation") {
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			preservation(i915, &cfg, e, 0);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			preservation(i915, &cfg, e, 0, gen);
>>>  	}
>>>  
>>>  	igt_subtest_with_dynamic("preservation-S3") {
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			preservation(i915, &cfg, e, S3);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			preservation(i915, &cfg, e, S3, gen);
>>>  	}
>>>  
>>>  	igt_subtest_with_dynamic("preservation-S4") {
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			preservation(i915, &cfg, e, S4);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			preservation(i915, &cfg, e, S4, gen);
>>>  	}
>>>  
>>>  	igt_fixture {
>>> @@ -1052,8 +1094,8 @@ igt_main
>>>  	igt_subtest_with_dynamic("preservation-reset") {
>>>  		igt_hang_t hang = igt_allow_hang(i915, 0, 0);
>>>  
>>> -		test_each_engine(e, i915, &cfg, has_context_isolation)
>>> -			preservation(i915, &cfg, e, RESET);
>>> +		test_each_engine(e, i915, &cfg)
>>> +			preservation(i915, &cfg, e, RESET, gen);
>>>  
>>>  		igt_disallow_hang(i915, hang);
>>>  	}
>>> -- 
>>> 2.37.0
>>> 


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

end of thread, other threads:[~2022-09-01 16:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-19 19:52 [igt-dev] [PATCH i-g-t v3 1/2] i915_drm.h sync uapi engine class enum with drm-next Adrian Larumbe
2022-08-19 19:52 ` [igt-dev] [PATCH i-g-t v3 2/2] i915/gem_ctx_isolation:: change semantics of ctx isolation uAPI Adrian Larumbe
2022-09-01 12:33   ` Petri Latvala
2022-09-01 16:46     ` Adrian Larumbe
2022-08-19 20:46 ` [igt-dev] ✓ Fi.CI.BAT: success for series starting with [i-g-t,v3,1/2] i915_drm.h sync uapi engine class enum with drm-next Patchwork
2022-08-20 18:07 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2022-09-01 12:35 ` [igt-dev] [PATCH i-g-t v3 1/2] " Petri Latvala

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.