intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] drm/xe/display: Program double buffered LUT registers
@ 2025-02-25 18:09 Chaitanya Kumar Borah
  2025-02-25 18:09 ` [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered " Chaitanya Kumar Borah
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Chaitanya Kumar Borah @ 2025-02-25 18:09 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: ville.syrjala, uma.shankar, chaitanya.kumar.borah

From PTL, LUT registers are made double buffered. This helps us
to program them in the active region without any concern of tearing.
This particulary helps in case of displays with high refresh rates
where vblank periods are shorter.

This series
	- adds MMIO programming of LUT registers in active region
	- removes wait for vblank in invocation of DSB1 to
	  program LUT registers in DSB programming path.

This is a follow-up to the RFC series [1]

[1] https://patchwork.freedesktop.org/series/142437/

Chaitanya Kumar Borah (2):
  drm/i915/display: Add MMIO path for double-buffered LUT registers
  drm/i915/display: Don't wait for vblank for LUT DSB programming

 drivers/gpu/drm/i915/display/intel_color.c          |  4 ++++
 drivers/gpu/drm/i915/display/intel_crtc.c           |  4 +++-
 drivers/gpu/drm/i915/display/intel_display.c        | 10 ++++++++--
 drivers/gpu/drm/i915/display/intel_display_device.h |  1 +
 4 files changed, 16 insertions(+), 3 deletions(-)

-- 
2.25.1


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

* [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered LUT registers
  2025-02-25 18:09 [PATCH 0/2] drm/xe/display: Program double buffered LUT registers Chaitanya Kumar Borah
@ 2025-02-25 18:09 ` Chaitanya Kumar Borah
  2025-02-28 15:14   ` Ville Syrjälä
  2025-02-25 18:09 ` [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming Chaitanya Kumar Borah
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Chaitanya Kumar Borah @ 2025-02-25 18:09 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: ville.syrjala, uma.shankar, chaitanya.kumar.borah

From PTL, LUT registers are made double buffered. This helps us
to program them in the active region without any concern of tearing.
This particulary helps in case of displays with high refresh rates
where vblank periods are shorter.

This patch makes the following changes

	- Adds the macro HAS_DOUBLE_BUFFERED_LUT() to distinguish
	  platforms that have double buffered LUT registers.

	- Program LUT values in active region through
	  intel_pre_update_crtc()

	- Disable updating of LUT values during vblank.

	- Disable pre-loading of LUT values as they are no longer
	  single buffered.

Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
---
 drivers/gpu/drm/i915/display/intel_color.c          | 4 ++++
 drivers/gpu/drm/i915/display/intel_crtc.c           | 4 +++-
 drivers/gpu/drm/i915/display/intel_display.c        | 6 +++++-
 drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
 4 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c
index cfe14162231d..c3ee34b96c15 100644
--- a/drivers/gpu/drm/i915/display/intel_color.c
+++ b/drivers/gpu/drm/i915/display/intel_color.c
@@ -2022,6 +2022,10 @@ static bool intel_can_preload_luts(struct intel_atomic_state *state,
 {
 	const struct intel_crtc_state *old_crtc_state =
 		intel_atomic_get_old_crtc_state(state, crtc);
+	struct intel_display *display = to_intel_display(crtc);
+
+	if (HAS_DOUBLE_BUFFERED_LUT(display))
+		return false;
 
 	return !old_crtc_state->post_csc_lut &&
 		!old_crtc_state->pre_csc_lut;
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
index 5b2603ef2ff7..927f9acf61c4 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -432,10 +432,12 @@ static void intel_crtc_vblank_work(struct kthread_work *base)
 	struct intel_crtc_state *crtc_state =
 		container_of(work, typeof(*crtc_state), vblank_work);
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
+	struct intel_display *display = to_intel_display(crtc_state);
 
 	trace_intel_crtc_vblank_work_start(crtc);
 
-	intel_color_load_luts(crtc_state);
+	if (!HAS_DOUBLE_BUFFERED_LUT(display))
+		intel_color_load_luts(crtc_state);
 
 	if (crtc_state->uapi.event) {
 		spin_lock_irq(&crtc->base.dev->event_lock);
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 065fdf6dbb88..919e236a9650 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -6879,9 +6879,13 @@ static void intel_pre_update_crtc(struct intel_atomic_state *state,
 
 	if (!modeset &&
 	    intel_crtc_needs_color_update(new_crtc_state) &&
-	    !new_crtc_state->use_dsb)
+	    !new_crtc_state->use_dsb) {
 		intel_color_commit_noarm(NULL, new_crtc_state);
 
+		if (HAS_DOUBLE_BUFFERED_LUT(display))
+			intel_color_load_luts(new_crtc_state);
+	}
+
 	if (!new_crtc_state->use_dsb)
 		intel_crtc_planes_update_noarm(NULL, state, crtc);
 }
diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
index fc33791f02b9..419d0213e412 100644
--- a/drivers/gpu/drm/i915/display/intel_display_device.h
+++ b/drivers/gpu/drm/i915/display/intel_display_device.h
@@ -155,6 +155,7 @@ struct intel_display_platforms {
 #define HAS_DMC(__display)		(DISPLAY_RUNTIME_INFO(__display)->has_dmc)
 #define HAS_DMC_WAKELOCK(__display)	(DISPLAY_VER(__display) >= 20)
 #define HAS_DOUBLE_BUFFERED_M_N(__display)	(DISPLAY_VER(__display) >= 9 || (__display)->platform.broadwell)
+#define HAS_DOUBLE_BUFFERED_LUT(__display)	(DISPLAY_VER(__display) >= 30)
 #define HAS_DOUBLE_WIDE(__display)	(DISPLAY_VER(__display) < 4)
 #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)->has_dp_mst)
 #define HAS_DP20(__display)		((__display)->platform.dg2 || DISPLAY_VER(__display) >= 14)
-- 
2.25.1


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

* [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming
  2025-02-25 18:09 [PATCH 0/2] drm/xe/display: Program double buffered LUT registers Chaitanya Kumar Borah
  2025-02-25 18:09 ` [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered " Chaitanya Kumar Borah
@ 2025-02-25 18:09 ` Chaitanya Kumar Borah
  2025-02-27 12:40   ` Jani Nikula
  2025-02-28 16:31   ` Ville Syrjälä
  2025-02-27 17:52 ` ✗ Fi.CI.SPARSE: warning for drm/xe/display: Program double buffered LUT registers (rev4) Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 15+ messages in thread
From: Chaitanya Kumar Borah @ 2025-02-25 18:09 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: ville.syrjala, uma.shankar, chaitanya.kumar.borah

From PTL, LUT registers are made double buffered. With this change,
we don't need to wait for vblank to program them. Start DSB1 for
programming them without waiting for vblank.

Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 919e236a9650..9c3fdfcd6759 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7352,6 +7352,7 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
 {
 	struct intel_crtc_state *new_crtc_state =
 		intel_atomic_get_new_crtc_state(state, crtc);
+	struct intel_display *display = to_intel_display(state);
 
 	if (!new_crtc_state->use_dsb && !new_crtc_state->dsb_color_vblank)
 		return;
@@ -7408,7 +7409,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
 
 	if (new_crtc_state->dsb_color_vblank)
 		intel_dsb_chain(state, new_crtc_state->dsb_commit,
-				new_crtc_state->dsb_color_vblank, true);
+				new_crtc_state->dsb_color_vblank,
+				HAS_DOUBLE_BUFFERED_LUT(display) ? false : true);
 
 	intel_dsb_finish(new_crtc_state->dsb_commit);
 }
-- 
2.25.1


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

* Re: [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming
  2025-02-25 18:09 ` [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming Chaitanya Kumar Borah
@ 2025-02-27 12:40   ` Jani Nikula
  2025-03-04 14:07     ` Borah, Chaitanya Kumar
  2025-02-28 16:31   ` Ville Syrjälä
  1 sibling, 1 reply; 15+ messages in thread
From: Jani Nikula @ 2025-02-27 12:40 UTC (permalink / raw)
  To: Chaitanya Kumar Borah, intel-xe, intel-gfx
  Cc: ville.syrjala, uma.shankar, chaitanya.kumar.borah

On Tue, 25 Feb 2025, Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com> wrote:
> From PTL, LUT registers are made double buffered. With this change,
> we don't need to wait for vblank to program them. Start DSB1 for
> programming them without waiting for vblank.
>
> Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 919e236a9650..9c3fdfcd6759 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7352,6 +7352,7 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
>  {
>  	struct intel_crtc_state *new_crtc_state =
>  		intel_atomic_get_new_crtc_state(state, crtc);
> +	struct intel_display *display = to_intel_display(state);

Please always put display local variable first.

>  
>  	if (!new_crtc_state->use_dsb && !new_crtc_state->dsb_color_vblank)
>  		return;
> @@ -7408,7 +7409,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
>  
>  	if (new_crtc_state->dsb_color_vblank)
>  		intel_dsb_chain(state, new_crtc_state->dsb_commit,
> -				new_crtc_state->dsb_color_vblank, true);
> +				new_crtc_state->dsb_color_vblank,
> +				HAS_DOUBLE_BUFFERED_LUT(display) ? false : true);

HAS_DOUBLE_BUFFERED_LUT(display) ? false : true

=>

!HAS_DOUBLE_BUFFERED_LUT(display)


>  
>  	intel_dsb_finish(new_crtc_state->dsb_commit);
>  }

-- 
Jani Nikula, Intel

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

* ✗ Fi.CI.SPARSE: warning for drm/xe/display: Program double buffered LUT registers (rev4)
  2025-02-25 18:09 [PATCH 0/2] drm/xe/display: Program double buffered LUT registers Chaitanya Kumar Borah
  2025-02-25 18:09 ` [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered " Chaitanya Kumar Borah
  2025-02-25 18:09 ` [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming Chaitanya Kumar Borah
@ 2025-02-27 17:52 ` Patchwork
  2025-02-27 18:08 ` ✓ i915.CI.BAT: success " Patchwork
  2025-02-28  3:42 ` ✗ i915.CI.Full: failure " Patchwork
  4 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-02-27 17:52 UTC (permalink / raw)
  To: Chaitanya Kumar Borah; +Cc: intel-gfx

== Series Details ==

Series: drm/xe/display: Program double buffered LUT registers (rev4)
URL   : https://patchwork.freedesktop.org/series/142437/
State : warning

== Summary ==

Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.



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

* ✓ i915.CI.BAT: success for drm/xe/display: Program double buffered LUT registers (rev4)
  2025-02-25 18:09 [PATCH 0/2] drm/xe/display: Program double buffered LUT registers Chaitanya Kumar Borah
                   ` (2 preceding siblings ...)
  2025-02-27 17:52 ` ✗ Fi.CI.SPARSE: warning for drm/xe/display: Program double buffered LUT registers (rev4) Patchwork
@ 2025-02-27 18:08 ` Patchwork
  2025-02-28  3:42 ` ✗ i915.CI.Full: failure " Patchwork
  4 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-02-27 18:08 UTC (permalink / raw)
  To: Chaitanya Kumar Borah; +Cc: intel-gfx

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

== Series Details ==

Series: drm/xe/display: Program double buffered LUT registers (rev4)
URL   : https://patchwork.freedesktop.org/series/142437/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_16195 -> Patchwork_142437v4
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (45 -> 44)
------------------------------

  Missing    (1): fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_module_load@load:
    - bat-mtlp-9:         [PASS][1] -> [DMESG-WARN][2] ([i915#13494])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/bat-mtlp-9/igt@i915_module_load@load.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/bat-mtlp-9/igt@i915_module_load@load.html

  * igt@i915_pm_rpm@module-reload:
    - bat-dg2-11:         [PASS][3] -> [FAIL][4] ([i915#13633])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/bat-dg2-11/igt@i915_pm_rpm@module-reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/bat-dg2-11/igt@i915_pm_rpm@module-reload.html
    - bat-adls-6:         [PASS][5] -> [FAIL][6] ([i915#13633])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/bat-adls-6/igt@i915_pm_rpm@module-reload.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/bat-adls-6/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live:
    - fi-glk-j4005:       [PASS][7] -> [INCOMPLETE][8] ([i915#12435] / [i915#12445])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/fi-glk-j4005/igt@i915_selftest@live.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/fi-glk-j4005/igt@i915_selftest@live.html

  * igt@i915_selftest@live@execlists:
    - fi-glk-j4005:       [PASS][9] -> [INCOMPLETE][10] ([i915#12445])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/fi-glk-j4005/igt@i915_selftest@live@execlists.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/fi-glk-j4005/igt@i915_selftest@live@execlists.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-dg2-11:         [PASS][11] -> [SKIP][12] ([i915#9197]) +3 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  
#### Possible fixes ####

  * igt@i915_selftest@live:
    - bat-twl-1:          [INCOMPLETE][13] ([i915#13761] / [i915#13776]) -> [PASS][14]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/bat-twl-1/igt@i915_selftest@live.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/bat-twl-1/igt@i915_selftest@live.html

  * igt@i915_selftest@live@perf:
    - bat-twl-1:          [INCOMPLETE][15] ([i915#13761]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/bat-twl-1/igt@i915_selftest@live@perf.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/bat-twl-1/igt@i915_selftest@live@perf.html

  * igt@i915_selftest@live@workarounds:
    - bat-arlh-2:         [DMESG-FAIL][17] ([i915#12061]) -> [PASS][18] +1 other test pass
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/bat-arlh-2/igt@i915_selftest@live@workarounds.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/bat-arlh-2/igt@i915_selftest@live@workarounds.html
    - bat-mtlp-6:         [DMESG-FAIL][19] ([i915#12061]) -> [PASS][20] +1 other test pass
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/bat-mtlp-6/igt@i915_selftest@live@workarounds.html

  
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12435
  [i915#12445]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12445
  [i915#13494]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13494
  [i915#13633]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13633
  [i915#13761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13761
  [i915#13776]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13776
  [i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197


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

  * Linux: CI_DRM_16195 -> Patchwork_142437v4

  CI-20190529: 20190529
  CI_DRM_16195: c40c94f48913c93fe0d7a59f3a8d8854fc2ab357 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8251: f0b66883398b4a07bb8fcaa3663a2140129d9a58 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_142437v4: c40c94f48913c93fe0d7a59f3a8d8854fc2ab357 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

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

* ✗ i915.CI.Full: failure for drm/xe/display: Program double buffered LUT registers (rev4)
  2025-02-25 18:09 [PATCH 0/2] drm/xe/display: Program double buffered LUT registers Chaitanya Kumar Borah
                   ` (3 preceding siblings ...)
  2025-02-27 18:08 ` ✓ i915.CI.BAT: success " Patchwork
@ 2025-02-28  3:42 ` Patchwork
  4 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-02-28  3:42 UTC (permalink / raw)
  To: Chaitanya Kumar Borah; +Cc: intel-gfx

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

== Series Details ==

Series: drm/xe/display: Program double buffered LUT registers (rev4)
URL   : https://patchwork.freedesktop.org/series/142437/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_16195_full -> Patchwork_142437v4_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_142437v4_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_142437v4_full, 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.

  

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

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_tiled_swapping@non-threaded:
    - shard-glk:          NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk8/igt@gem_tiled_swapping@non-threaded.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-snb:          [PASS][2] -> [INCOMPLETE][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-snb4/igt@i915_module_load@reload-with-fault-injection.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-snb2/igt@i915_module_load@reload-with-fault-injection.html

  * igt@kms_flip@wf_vblank-ts-check@a-hdmi-a4:
    - shard-dg1:          NOTRUN -> [FAIL][4] +2 other tests fail
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-15/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a4.html

  * igt@kms_flip@wf_vblank-ts-check@a-vga1:
    - shard-snb:          [PASS][5] -> [FAIL][6] +1 other test fail
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-snb4/igt@kms_flip@wf_vblank-ts-check@a-vga1.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-snb2/igt@kms_flip@wf_vblank-ts-check@a-vga1.html

  * igt@perf_pmu@rc6-suspend:
    - shard-dg2:          [PASS][7] -> [INCOMPLETE][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-11/igt@perf_pmu@rc6-suspend.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-6/igt@perf_pmu@rc6-suspend.html

  
#### Warnings ####

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-mtlp:         [FAIL][9] ([i915#5138]) -> [DMESG-FAIL][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  
New tests
---------

  New tests have been introduced between CI_DRM_16195_full and Patchwork_142437v4_full:

### New IGT tests (4) ###

  * igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-a-dp-3:
    - Statuses : 1 skip(s)
    - Exec time: [0.00] s

  * igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-b-dp-3:
    - Statuses : 1 skip(s)
    - Exec time: [0.00] s

  * igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-c-dp-3:
    - Statuses : 1 skip(s)
    - Exec time: [0.00] s

  * igt@kms_ccs@crc-primary-basic-y-tiled-ccs@pipe-d-dp-3:
    - Statuses : 1 skip(s)
    - Exec time: [0.00] s

  

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

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

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_allocator@open-vm:
    - shard-rkl:          [PASS][11] -> [DMESG-WARN][12] ([i915#12964]) +4 other tests dmesg-warn
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-rkl-3/igt@api_intel_allocator@open-vm.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-3/igt@api_intel_allocator@open-vm.html

  * igt@api_intel_bb@blit-reloc-purge-cache:
    - shard-rkl:          NOTRUN -> [SKIP][13] ([i915#8411])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@api_intel_bb@blit-reloc-purge-cache.html

  * igt@api_intel_bb@crc32:
    - shard-tglu-1:       NOTRUN -> [SKIP][14] ([i915#6230])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@api_intel_bb@crc32.html

  * igt@device_reset@unbind-cold-reset-rebind:
    - shard-rkl:          NOTRUN -> [SKIP][15] ([i915#11078])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@device_reset@unbind-cold-reset-rebind.html

  * igt@device_reset@unbind-reset-rebind:
    - shard-tglu:         NOTRUN -> [ABORT][16] ([i915#12817] / [i915#5507])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@device_reset@unbind-reset-rebind.html

  * igt@drm_fdinfo@virtual-busy-hang-all:
    - shard-mtlp:         NOTRUN -> [SKIP][17] ([i915#8414])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@drm_fdinfo@virtual-busy-hang-all.html

  * igt@fbdev@nullptr:
    - shard-dg1:          [PASS][18] -> [DMESG-WARN][19] ([i915#4423]) +1 other test dmesg-warn
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-13/igt@fbdev@nullptr.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-15/igt@fbdev@nullptr.html

  * igt@gem_basic@multigpu-create-close:
    - shard-dg2:          NOTRUN -> [SKIP][20] ([i915#7697])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@gem_basic@multigpu-create-close.html

  * igt@gem_ccs@suspend-resume:
    - shard-rkl:          NOTRUN -> [SKIP][21] ([i915#9323]) +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@gem_ccs@suspend-resume.html

  * igt@gem_create@create-ext-cpu-access-big:
    - shard-mtlp:         NOTRUN -> [SKIP][22] ([i915#6335])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@gem_create@create-ext-cpu-access-big.html

  * igt@gem_ctx_persistence@heartbeat-hostile:
    - shard-dg2-9:        NOTRUN -> [SKIP][23] ([i915#8555])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_ctx_persistence@heartbeat-hostile.html

  * igt@gem_ctx_sseu@engines:
    - shard-tglu-1:       NOTRUN -> [SKIP][24] ([i915#280])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@gem_ctx_sseu@engines.html
    - shard-dg2:          NOTRUN -> [SKIP][25] ([i915#280])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@gem_ctx_sseu@engines.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-dg2-9:        NOTRUN -> [SKIP][26] ([i915#280])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_ctx_sseu@mmap-args.html
    - shard-rkl:          NOTRUN -> [SKIP][27] ([i915#280])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_eio@hibernate:
    - shard-mtlp:         NOTRUN -> [ABORT][28] ([i915#7975])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@gem_eio@hibernate.html

  * igt@gem_exec_balancer@bonded-dual:
    - shard-mtlp:         NOTRUN -> [SKIP][29] ([i915#4771]) +1 other test skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@gem_exec_balancer@bonded-dual.html

  * igt@gem_exec_balancer@bonded-false-hang:
    - shard-dg2-9:        NOTRUN -> [SKIP][30] ([i915#4812])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_exec_balancer@bonded-false-hang.html

  * igt@gem_exec_balancer@parallel:
    - shard-rkl:          NOTRUN -> [SKIP][31] ([i915#4525]) +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-2/igt@gem_exec_balancer@parallel.html

  * igt@gem_exec_balancer@parallel-balancer:
    - shard-tglu:         NOTRUN -> [SKIP][32] ([i915#4525])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@gem_exec_balancer@parallel-balancer.html

  * igt@gem_exec_capture@capture-invisible:
    - shard-dg1:          NOTRUN -> [SKIP][33] ([i915#6334]) +2 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@gem_exec_capture@capture-invisible.html
    - shard-tglu:         NOTRUN -> [SKIP][34] ([i915#6334]) +1 other test skip
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@gem_exec_capture@capture-invisible.html

  * igt@gem_exec_capture@capture-invisible@smem0:
    - shard-glk:          NOTRUN -> [SKIP][35] ([i915#6334]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk8/igt@gem_exec_capture@capture-invisible@smem0.html

  * igt@gem_exec_fence@concurrent:
    - shard-dg2:          NOTRUN -> [SKIP][36] ([i915#4812])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@gem_exec_fence@concurrent.html

  * igt@gem_exec_flush@basic-uc-ro-default:
    - shard-dg2:          NOTRUN -> [SKIP][37] ([i915#3539] / [i915#4852]) +2 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@gem_exec_flush@basic-uc-ro-default.html

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-mtlp:         NOTRUN -> [SKIP][38] ([i915#5107])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@gem_exec_params@rsvd2-dirt.html

  * igt@gem_exec_reloc@basic-cpu-gtt:
    - shard-dg2-9:        NOTRUN -> [SKIP][39] ([i915#3281]) +3 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_exec_reloc@basic-cpu-gtt.html

  * igt@gem_exec_reloc@basic-cpu-read:
    - shard-dg2:          NOTRUN -> [SKIP][40] ([i915#3281]) +9 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@gem_exec_reloc@basic-cpu-read.html

  * igt@gem_exec_reloc@basic-softpin:
    - shard-dg1:          NOTRUN -> [SKIP][41] ([i915#3281]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@gem_exec_reloc@basic-softpin.html

  * igt@gem_exec_reloc@basic-write-read:
    - shard-rkl:          NOTRUN -> [SKIP][42] ([i915#3281]) +4 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@gem_exec_reloc@basic-write-read.html

  * igt@gem_exec_reloc@basic-write-wc:
    - shard-mtlp:         NOTRUN -> [SKIP][43] ([i915#3281]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@gem_exec_reloc@basic-write-wc.html

  * igt@gem_exec_schedule@preempt-queue-contexts:
    - shard-dg2-9:        NOTRUN -> [SKIP][44] ([i915#4537] / [i915#4812])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_exec_schedule@preempt-queue-contexts.html

  * igt@gem_exec_suspend@basic-s4-devices:
    - shard-rkl:          NOTRUN -> [ABORT][45] ([i915#7975]) +2 other tests abort
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@gem_exec_suspend@basic-s4-devices.html

  * igt@gem_fence_thrash@bo-write-verify-y:
    - shard-dg2-9:        NOTRUN -> [SKIP][46] ([i915#4860]) +1 other test skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_fence_thrash@bo-write-verify-y.html

  * igt@gem_fenced_exec_thrash@no-spare-fences:
    - shard-mtlp:         NOTRUN -> [SKIP][47] ([i915#4860])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@gem_fenced_exec_thrash@no-spare-fences.html

  * igt@gem_lmem_swapping@parallel-multi:
    - shard-rkl:          NOTRUN -> [SKIP][48] ([i915#4613]) +4 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@gem_lmem_swapping@parallel-multi.html

  * igt@gem_lmem_swapping@parallel-random:
    - shard-tglu-1:       NOTRUN -> [SKIP][49] ([i915#4613])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@gem_lmem_swapping@parallel-random.html

  * igt@gem_lmem_swapping@parallel-random-verify:
    - shard-glk:          NOTRUN -> [SKIP][50] ([i915#4613])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk8/igt@gem_lmem_swapping@parallel-random-verify.html

  * igt@gem_lmem_swapping@parallel-random-verify-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][51] ([i915#4613]) +2 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@gem_lmem_swapping@parallel-random-verify-ccs.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-mtlp:         NOTRUN -> [SKIP][52] ([i915#4613]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@gem_lmem_swapping@smem-oom.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg1:          [PASS][53] -> [TIMEOUT][54] ([i915#5493]) +1 other test timeout
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-14/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-14/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@gem_media_fill@media-fill:
    - shard-dg2:          NOTRUN -> [SKIP][55] ([i915#8289])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@gem_media_fill@media-fill.html

  * igt@gem_mmap@bad-offset:
    - shard-dg2-9:        NOTRUN -> [SKIP][56] ([i915#4083])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_mmap@bad-offset.html

  * igt@gem_mmap@basic-small-bo:
    - shard-mtlp:         NOTRUN -> [SKIP][57] ([i915#4083]) +2 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@gem_mmap@basic-small-bo.html

  * igt@gem_mmap_gtt@cpuset-big-copy-odd:
    - shard-dg2:          NOTRUN -> [SKIP][58] ([i915#4077]) +8 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@gem_mmap_gtt@cpuset-big-copy-odd.html

  * igt@gem_mmap_gtt@cpuset-medium-copy-xy:
    - shard-dg2-9:        NOTRUN -> [SKIP][59] ([i915#4077]) +6 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_mmap_gtt@cpuset-medium-copy-xy.html

  * igt@gem_mmap_wc@fault-concurrent:
    - shard-dg2:          NOTRUN -> [SKIP][60] ([i915#4083]) +4 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@gem_mmap_wc@fault-concurrent.html

  * igt@gem_partial_pwrite_pread@writes-after-reads-display:
    - shard-mtlp:         NOTRUN -> [SKIP][61] ([i915#3282])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@gem_partial_pwrite_pread@writes-after-reads-display.html

  * igt@gem_pread@bench:
    - shard-rkl:          NOTRUN -> [SKIP][62] ([i915#3282]) +6 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@gem_pread@bench.html

  * igt@gem_pread@exhaustion:
    - shard-tglu-1:       NOTRUN -> [WARN][63] ([i915#2658]) +1 other test warn
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@gem_pread@exhaustion.html

  * igt@gem_pwrite@basic-random:
    - shard-dg2-9:        NOTRUN -> [SKIP][64] ([i915#3282])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_pwrite@basic-random.html

  * igt@gem_pwrite@basic-self:
    - shard-dg1:          NOTRUN -> [SKIP][65] ([i915#3282]) +2 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@gem_pwrite@basic-self.html

  * igt@gem_pxp@display-protected-crc:
    - shard-dg2:          NOTRUN -> [SKIP][66] ([i915#4270]) +3 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@gem_pxp@display-protected-crc.html

  * igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted:
    - shard-rkl:          NOTRUN -> [TIMEOUT][67] ([i915#12964])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html

  * igt@gem_pxp@protected-encrypted-src-copy-not-readible:
    - shard-rkl:          NOTRUN -> [TIMEOUT][68] ([i915#12917] / [i915#12964]) +2 other tests timeout
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html
    - shard-dg2-9:        NOTRUN -> [SKIP][69] ([i915#4270])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_pxp@protected-encrypted-src-copy-not-readible.html

  * igt@gem_readwrite@read-write:
    - shard-dg2:          NOTRUN -> [SKIP][70] ([i915#3282]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@gem_readwrite@read-write.html

  * igt@gem_render_copy@mixed-tiled-to-yf-tiled-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][71] ([i915#5190] / [i915#8428]) +1 other test skip
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@gem_render_copy@mixed-tiled-to-yf-tiled-ccs.html

  * igt@gem_render_copy@yf-tiled-ccs-to-y-tiled-ccs:
    - shard-dg2-9:        NOTRUN -> [SKIP][72] ([i915#5190] / [i915#8428]) +2 other tests skip
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_render_copy@yf-tiled-ccs-to-y-tiled-ccs.html

  * igt@gem_render_copy@yf-tiled-ccs-to-yf-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][73] ([i915#8428]) +2 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@gem_render_copy@yf-tiled-ccs-to-yf-tiled.html

  * igt@gem_set_tiling_vs_blt@untiled-to-tiled:
    - shard-dg2-9:        NOTRUN -> [SKIP][74] ([i915#4079]) +2 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-dg2-9:        NOTRUN -> [SKIP][75] ([i915#4885])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_tiled_partial_pwrite_pread@reads:
    - shard-mtlp:         NOTRUN -> [SKIP][76] ([i915#4077]) +5 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@gem_tiled_partial_pwrite_pread@reads.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-dg1:          NOTRUN -> [SKIP][77] ([i915#4077])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@gem_tiled_swapping@non-threaded.html

  * igt@gem_unfence_active_buffers:
    - shard-dg2:          NOTRUN -> [SKIP][78] ([i915#4879])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@gem_unfence_active_buffers.html

  * igt@gem_userptr_blits@create-destroy-unsync:
    - shard-tglu:         NOTRUN -> [SKIP][79] ([i915#3297]) +1 other test skip
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@gem_userptr_blits@create-destroy-unsync.html

  * igt@gem_userptr_blits@forbidden-operations:
    - shard-mtlp:         NOTRUN -> [SKIP][80] ([i915#3282] / [i915#3297])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@gem_userptr_blits@forbidden-operations.html

  * igt@gem_userptr_blits@readonly-pwrite-unsync:
    - shard-tglu-1:       NOTRUN -> [SKIP][81] ([i915#3297])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@gem_userptr_blits@readonly-pwrite-unsync.html

  * igt@gem_userptr_blits@relocations:
    - shard-dg2-9:        NOTRUN -> [SKIP][82] ([i915#3281] / [i915#3297])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_userptr_blits@relocations.html
    - shard-rkl:          NOTRUN -> [SKIP][83] ([i915#3281] / [i915#3297])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@gem_userptr_blits@relocations.html

  * igt@gem_userptr_blits@unsync-overlap:
    - shard-dg2-9:        NOTRUN -> [SKIP][84] ([i915#3297]) +1 other test skip
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gem_userptr_blits@unsync-overlap.html

  * igt@gem_userptr_blits@unsync-unmap:
    - shard-dg2:          NOTRUN -> [SKIP][85] ([i915#3297]) +2 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@gem_userptr_blits@unsync-unmap.html

  * igt@gem_userptr_blits@unsync-unmap-cycles:
    - shard-rkl:          NOTRUN -> [SKIP][86] ([i915#3297]) +1 other test skip
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@gem_userptr_blits@unsync-unmap-cycles.html

  * igt@gen9_exec_parse@basic-rejected:
    - shard-tglu:         NOTRUN -> [SKIP][87] ([i915#2527] / [i915#2856])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@gen9_exec_parse@basic-rejected.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-rkl:          NOTRUN -> [SKIP][88] ([i915#2527]) +4 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@gen9_exec_parse@bb-chained.html
    - shard-dg2-9:        NOTRUN -> [SKIP][89] ([i915#2856])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@bb-secure:
    - shard-tglu-1:       NOTRUN -> [SKIP][90] ([i915#2527] / [i915#2856]) +2 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@gen9_exec_parse@bb-secure.html

  * igt@gen9_exec_parse@unaligned-jump:
    - shard-mtlp:         NOTRUN -> [SKIP][91] ([i915#2856])
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@gen9_exec_parse@unaligned-jump.html
    - shard-dg2:          NOTRUN -> [SKIP][92] ([i915#2856]) +2 other tests skip
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@gen9_exec_parse@unaligned-jump.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-dg2:          [PASS][93] -> [ABORT][94] ([i915#10887] / [i915#9820])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-4/igt@i915_module_load@reload-with-fault-injection.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-3/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_freq_api@freq-reset:
    - shard-rkl:          NOTRUN -> [SKIP][95] ([i915#8399])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@i915_pm_freq_api@freq-reset.html

  * igt@i915_pm_freq_api@freq-suspend:
    - shard-tglu-1:       NOTRUN -> [SKIP][96] ([i915#8399])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@i915_pm_freq_api@freq-suspend.html

  * igt@i915_pm_freq_mult@media-freq@gt1:
    - shard-mtlp:         NOTRUN -> [SKIP][97] ([i915#6590]) +2 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@i915_pm_freq_mult@media-freq@gt1.html

  * igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0:
    - shard-dg1:          [PASS][98] -> [FAIL][99] ([i915#3591]) +2 other tests fail
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html

  * igt@i915_pm_rpm@system-suspend-devices:
    - shard-mtlp:         [PASS][100] -> [ABORT][101] ([i915#13193]) +3 other tests abort
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-mtlp-6/igt@i915_pm_rpm@system-suspend-devices.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-7/igt@i915_pm_rpm@system-suspend-devices.html

  * igt@i915_pm_rps@basic-api:
    - shard-mtlp:         NOTRUN -> [SKIP][102] ([i915#11681] / [i915#6621])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@i915_pm_rps@basic-api.html

  * igt@i915_pm_rps@thresholds-park:
    - shard-dg2:          NOTRUN -> [SKIP][103] ([i915#11681])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@i915_pm_rps@thresholds-park.html

  * igt@i915_query@test-query-geometry-subslices:
    - shard-rkl:          NOTRUN -> [SKIP][104] ([i915#5723])
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-2/igt@i915_query@test-query-geometry-subslices.html

  * igt@i915_selftest@mock@memory_region:
    - shard-dg2:          NOTRUN -> [DMESG-WARN][105] ([i915#9311]) +1 other test dmesg-warn
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@i915_selftest@mock@memory_region.html
    - shard-rkl:          NOTRUN -> [DMESG-WARN][106] ([i915#9311]) +1 other test dmesg-warn
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@i915_selftest@mock@memory_region.html

  * igt@kms_addfb_basic@basic-x-tiled-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][107] ([i915#4212])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_addfb_basic@basic-x-tiled-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][108] ([i915#4215] / [i915#5190])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-tglu:         NOTRUN -> [SKIP][109] ([i915#12454] / [i915#12712])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-c-hdmi-a-1-4-rc-ccs-cc:
    - shard-dg2:          NOTRUN -> [SKIP][110] ([i915#8709]) +7 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-c-hdmi-a-1-4-rc-ccs-cc.html

  * igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-c-hdmi-a-2-y-rc-ccs-cc:
    - shard-rkl:          NOTRUN -> [SKIP][111] ([i915#8709]) +2 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-c-hdmi-a-2-y-rc-ccs-cc.html

  * igt@kms_async_flips@invalid-async-flip:
    - shard-dg2:          NOTRUN -> [SKIP][112] ([i915#12967] / [i915#6228])
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_async_flips@invalid-async-flip.html

  * igt@kms_async_flips@test-cursor-atomic:
    - shard-mtlp:         NOTRUN -> [SKIP][113] ([i915#10333])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_async_flips@test-cursor-atomic.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-tglu:         NOTRUN -> [SKIP][114] ([i915#9531])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1:
    - shard-tglu:         [PASS][115] -> [FAIL][116] ([i915#11808]) +1 other test fail
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-tglu-9/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-5/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-0:
    - shard-tglu-1:       NOTRUN -> [SKIP][117] ([i915#5286]) +1 other test skip
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-8bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][118] ([i915#5286]) +8 other tests skip
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-2/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-tglu:         NOTRUN -> [SKIP][119] ([i915#5286])
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-mtlp:         [PASS][120] -> [FAIL][121] ([i915#5138])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][122] ([i915#3638]) +4 other tests skip
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-270:
    - shard-dg2-9:        NOTRUN -> [SKIP][123] ([i915#4538] / [i915#5190]) +4 other tests skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-addfb-size-overflow:
    - shard-dg2:          NOTRUN -> [SKIP][124] ([i915#5190]) +2 other tests skip
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_big_fb@y-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-dg2:          NOTRUN -> [SKIP][125] ([i915#4538] / [i915#5190]) +6 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-90:
    - shard-dg1:          NOTRUN -> [SKIP][126] ([i915#4538])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_big_fb@yf-tiled-16bpp-rotate-90.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-d-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][127] ([i915#6095]) +19 other tests skip
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][128] ([i915#10307] / [i915#10434] / [i915#6095]) +1 other test skip
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-d-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][129] ([i915#6095]) +43 other tests skip
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-15/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-d-hdmi-a-4.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-c-dp-3:
    - shard-dg2:          NOTRUN -> [SKIP][130] ([i915#10307] / [i915#6095]) +185 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-c-dp-3.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][131] ([i915#12313]) +1 other test skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
    - shard-dg1:          NOTRUN -> [SKIP][132] ([i915#12313])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2:
    - shard-dg2-9:        NOTRUN -> [SKIP][133] ([i915#10307] / [i915#6095]) +29 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-1:
    - shard-tglu-1:       NOTRUN -> [SKIP][134] ([i915#6095]) +39 other tests skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][135] ([i915#6095]) +19 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc@pipe-d-edp-1.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][136] ([i915#12313])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][137] ([i915#6095]) +96 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][138] ([i915#12805])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
    - shard-tglu:         NOTRUN -> [SKIP][139] ([i915#12805])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-ccs:
    - shard-dg2-9:        NOTRUN -> [SKIP][140] ([i915#6095]) +4 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][141] ([i915#6095]) +22 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][142] ([i915#12313])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-2/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-glk:          NOTRUN -> [SKIP][143] +24 other tests skip
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk8/igt@kms_cdclk@mode-transition.html
    - shard-dg1:          NOTRUN -> [SKIP][144] ([i915#3742])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_cdclk@mode-transition.html
    - shard-tglu:         NOTRUN -> [SKIP][145] ([i915#3742])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@kms_cdclk@mode-transition.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-dg2-9:        NOTRUN -> [SKIP][146] ([i915#13784])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_chamelium_audio@dp-audio:
    - shard-tglu:         NOTRUN -> [SKIP][147] ([i915#11151] / [i915#7828]) +4 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_chamelium_audio@dp-audio.html

  * igt@kms_chamelium_frames@hdmi-crc-multiple:
    - shard-dg2:          NOTRUN -> [SKIP][148] ([i915#11151] / [i915#7828]) +7 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_chamelium_frames@hdmi-crc-multiple.html

  * igt@kms_chamelium_frames@hdmi-crc-single:
    - shard-tglu-1:       NOTRUN -> [SKIP][149] ([i915#11151] / [i915#7828]) +3 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_chamelium_frames@hdmi-crc-single.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - shard-mtlp:         NOTRUN -> [SKIP][150] ([i915#11151] / [i915#7828]) +1 other test skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_chamelium_hpd@dp-hpd-fast:
    - shard-dg2-9:        NOTRUN -> [SKIP][151] ([i915#11151] / [i915#7828]) +2 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_chamelium_hpd@dp-hpd-fast.html

  * igt@kms_chamelium_hpd@hdmi-hpd-fast:
    - shard-rkl:          NOTRUN -> [SKIP][152] ([i915#11151] / [i915#7828]) +9 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_chamelium_hpd@hdmi-hpd-fast.html

  * igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
    - shard-dg1:          NOTRUN -> [SKIP][153] ([i915#11151] / [i915#7828]) +1 other test skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html

  * igt@kms_content_protection@atomic:
    - shard-tglu-1:       NOTRUN -> [SKIP][154] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][155] ([i915#7118] / [i915#9424])
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@atomic-dpms@pipe-a-dp-3:
    - shard-dg2:          NOTRUN -> [FAIL][156] ([i915#7173]) +1 other test fail
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@kms_content_protection@atomic-dpms@pipe-a-dp-3.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-dg2-9:        NOTRUN -> [SKIP][157] ([i915#3299])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg2:          NOTRUN -> [SKIP][158] ([i915#3299])
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-tglu-1:       NOTRUN -> [SKIP][159] ([i915#3116] / [i915#3299])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@srm:
    - shard-dg2:          NOTRUN -> [SKIP][160] ([i915#7118])
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_content_protection@srm.html

  * igt@kms_content_protection@uevent:
    - shard-tglu:         NOTRUN -> [SKIP][161] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-rkl:          NOTRUN -> [SKIP][162] ([i915#3555]) +4 other tests skip
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-32x10.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-rkl:          NOTRUN -> [SKIP][163] ([i915#13049]) +3 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-dg2-9:        NOTRUN -> [SKIP][164] ([i915#13049]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-offscreen-64x21:
    - shard-mtlp:         NOTRUN -> [SKIP][165] ([i915#8814]) +1 other test skip
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_cursor_crc@cursor-offscreen-64x21.html

  * igt@kms_cursor_crc@cursor-random-32x32:
    - shard-dg2-9:        NOTRUN -> [SKIP][166] ([i915#3555])
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_cursor_crc@cursor-random-32x32.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-dg2:          NOTRUN -> [SKIP][167] ([i915#13049])
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_cursor_crc@cursor-random-512x170.html
    - shard-tglu-1:       NOTRUN -> [SKIP][168] ([i915#13049]) +1 other test skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-dg2:          NOTRUN -> [SKIP][169] ([i915#3555]) +3 other tests skip
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-32x32:
    - shard-dg1:          NOTRUN -> [SKIP][170] ([i915#3555])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_cursor_crc@cursor-sliding-32x32.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
    - shard-mtlp:         NOTRUN -> [SKIP][171] ([i915#9809]) +1 other test skip
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-rkl:          NOTRUN -> [SKIP][172] ([i915#4103])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
    - shard-dg2:          NOTRUN -> [SKIP][173] ([i915#13046] / [i915#5354]) +4 other tests skip
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size:
    - shard-dg2-9:        NOTRUN -> [SKIP][174] ([i915#13046] / [i915#5354])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_cursor_legacy@cursorb-vs-flipb-varying-size.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-dg1:          NOTRUN -> [SKIP][175] ([i915#9067])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
    - shard-tglu:         NOTRUN -> [SKIP][176] ([i915#9067])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2-9:        NOTRUN -> [SKIP][177] ([i915#4103] / [i915#4213])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][178] ([i915#3804])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-3/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-dg2-9:        NOTRUN -> [SKIP][179] ([i915#13749])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dp_link_training@non-uhbr-sst:
    - shard-rkl:          NOTRUN -> [SKIP][180] ([i915#13749])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@kms_dp_link_training@non-uhbr-sst.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-mtlp:         NOTRUN -> [SKIP][181] ([i915#13749])
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@kms_dp_link_training@uhbr-mst.html
    - shard-rkl:          NOTRUN -> [SKIP][182] ([i915#13748])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-2/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dp_link_training@uhbr-sst:
    - shard-tglu-1:       NOTRUN -> [SKIP][183] ([i915#13748])
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_dp_link_training@uhbr-sst.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-dg2:          NOTRUN -> [SKIP][184] ([i915#13707])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_dp_linktrain_fallback@dsc-fallback.html
    - shard-mtlp:         NOTRUN -> [SKIP][185] ([i915#13707])
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_draw_crc@draw-method-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][186] ([i915#8812])
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_draw_crc@draw-method-mmap-gtt.html

  * igt@kms_dsc@dsc-basic:
    - shard-dg2-9:        NOTRUN -> [SKIP][187] ([i915#3555] / [i915#3840])
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_dsc@dsc-basic.html
    - shard-rkl:          NOTRUN -> [SKIP][188] ([i915#3555] / [i915#3840]) +1 other test skip
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_dsc@dsc-basic.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc:
    - shard-rkl:          NOTRUN -> [SKIP][189] ([i915#3840])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html

  * igt@kms_dsc@dsc-with-output-formats:
    - shard-tglu:         NOTRUN -> [SKIP][190] ([i915#3555] / [i915#3840])
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_dsc@dsc-with-output-formats.html

  * igt@kms_feature_discovery@chamelium:
    - shard-dg2-9:        NOTRUN -> [SKIP][191] ([i915#4854])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@display-3x:
    - shard-dg2:          NOTRUN -> [SKIP][192] ([i915#1839])
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_feature_discovery@display-3x.html

  * igt@kms_feature_discovery@display-4x:
    - shard-tglu-1:       NOTRUN -> [SKIP][193] ([i915#1839])
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_feature_discovery@display-4x.html

  * igt@kms_feature_discovery@psr2:
    - shard-dg2-9:        NOTRUN -> [SKIP][194] ([i915#658])
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_feature_discovery@psr2.html
    - shard-rkl:          NOTRUN -> [SKIP][195] ([i915#658])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip@2x-absolute-wf_vblank-interruptible:
    - shard-dg1:          NOTRUN -> [SKIP][196] ([i915#9934])
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][197] ([i915#9934]) +10 other tests skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_flip@2x-flip-vs-dpms.html

  * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][198] ([i915#3637]) +3 other tests skip
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
    - shard-dg2:          NOTRUN -> [SKIP][199] ([i915#9934]) +2 other tests skip
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@2x-flip-vs-panning-interruptible:
    - shard-dg2-9:        NOTRUN -> [SKIP][200] ([i915#9934]) +3 other tests skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_flip@2x-flip-vs-panning-interruptible.html

  * igt@kms_flip@2x-plain-flip:
    - shard-tglu-1:       NOTRUN -> [SKIP][201] ([i915#3637]) +1 other test skip
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_flip@2x-plain-flip.html

  * igt@kms_flip@2x-plain-flip-fb-recreate:
    - shard-snb:          [PASS][202] -> [FAIL][203] ([i915#13690]) +3 other tests fail
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-snb2/igt@kms_flip@2x-plain-flip-fb-recreate.html
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-snb7/igt@kms_flip@2x-plain-flip-fb-recreate.html
    - shard-tglu:         NOTRUN -> [SKIP][204] ([i915#3637]) +1 other test skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_flip@2x-plain-flip-fb-recreate.html

  * igt@kms_flip@2x-wf_vblank-ts-check:
    - shard-snb:          [PASS][205] -> [FAIL][206] ([i915#11832]) +1 other test fail
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-snb7/igt@kms_flip@2x-wf_vblank-ts-check.html
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-snb1/igt@kms_flip@2x-wf_vblank-ts-check.html

  * igt@kms_flip@flip-vs-fences:
    - shard-dg2:          NOTRUN -> [SKIP][207] ([i915#8381])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_flip@flip-vs-fences.html

  * igt@kms_flip@wf_vblank-ts-check:
    - shard-dg1:          [PASS][208] -> [FAIL][209] ([i915#13690])
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-13/igt@kms_flip@wf_vblank-ts-check.html
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-15/igt@kms_flip@wf_vblank-ts-check.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
    - shard-mtlp:         NOTRUN -> [SKIP][210] ([i915#2672] / [i915#3555] / [i915#8813]) +2 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling:
    - shard-mtlp:         NOTRUN -> [SKIP][211] ([i915#3555] / [i915#8810] / [i915#8813])
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][212] ([i915#8810])
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode:
    - shard-tglu-1:       NOTRUN -> [SKIP][213] ([i915#2587] / [i915#2672]) +1 other test skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling:
    - shard-dg2:          NOTRUN -> [SKIP][214] ([i915#2672] / [i915#3555]) +3 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html
    - shard-tglu-1:       NOTRUN -> [SKIP][215] ([i915#2672] / [i915#3555]) +1 other test skip
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][216] ([i915#2672]) +3 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
    - shard-dg2-9:        NOTRUN -> [SKIP][217] ([i915#2672] / [i915#3555] / [i915#5190]) +1 other test skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-valid-mode:
    - shard-dg2-9:        NOTRUN -> [SKIP][218] ([i915#2672]) +1 other test skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
    - shard-rkl:          NOTRUN -> [SKIP][219] ([i915#2672] / [i915#3555]) +1 other test skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling:
    - shard-dg1:          NOTRUN -> [SKIP][220] ([i915#2672] / [i915#3555])
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html
    - shard-tglu:         NOTRUN -> [SKIP][221] ([i915#2672] / [i915#3555])
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode:
    - shard-tglu:         NOTRUN -> [SKIP][222] ([i915#2587] / [i915#2672])
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode.html
    - shard-dg1:          NOTRUN -> [SKIP][223] ([i915#2587] / [i915#2672])
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][224] ([i915#2672] / [i915#8813]) +2 other tests skip
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][225] ([i915#2672]) +1 other test skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu:
    - shard-dg2:          [PASS][226] -> [FAIL][227] ([i915#6880]) +2 other tests fail
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu.html
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][228] ([i915#8708]) +8 other tests skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][229] ([i915#5354]) +23 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-cpu:
    - shard-dg2-9:        NOTRUN -> [SKIP][230] ([i915#3458]) +7 other tests skip
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
    - shard-rkl:          NOTRUN -> [SKIP][231] ([i915#3023]) +28 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt:
    - shard-dg1:          NOTRUN -> [SKIP][232] +4 other tests skip
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-dg2-9:        NOTRUN -> [SKIP][233] ([i915#8708]) +11 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-move:
    - shard-dg2-9:        NOTRUN -> [SKIP][234] ([i915#5354]) +10 other tests skip
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-cpu:
    - shard-rkl:          NOTRUN -> [SKIP][235] ([i915#1825]) +50 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][236] ([i915#1825]) +13 other tests skip
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
    - shard-rkl:          NOTRUN -> [SKIP][237] ([i915#5439])
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt:
    - shard-dg1:          NOTRUN -> [SKIP][238] ([i915#3458])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][239] ([i915#8708]) +2 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu:
    - shard-tglu:         NOTRUN -> [SKIP][240] +26 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-1p-rte:
    - shard-dg2:          NOTRUN -> [SKIP][241] ([i915#3458]) +14 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-rte.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu:
    - shard-tglu-1:       NOTRUN -> [SKIP][242] +38 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-dg2:          [PASS][243] -> [SKIP][244] ([i915#3555] / [i915#8228]) +1 other test skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-11/igt@kms_hdr@bpc-switch-suspend.html
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-dg2-9:        NOTRUN -> [SKIP][245] ([i915#12713])
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_hdr@brightness-with-hdr.html
    - shard-rkl:          NOTRUN -> [SKIP][246] ([i915#12713])
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_hdr@static-swap:
    - shard-rkl:          NOTRUN -> [SKIP][247] ([i915#3555] / [i915#8228])
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_hdr@static-swap.html

  * igt@kms_hdr@static-toggle:
    - shard-dg2-9:        NOTRUN -> [SKIP][248] ([i915#3555] / [i915#8228])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_hdr@static-toggle.html

  * igt@kms_hdr@static-toggle-dpms:
    - shard-tglu-1:       NOTRUN -> [SKIP][249] ([i915#3555] / [i915#8228])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_hdr@static-toggle-dpms.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][250] ([i915#3555] / [i915#8228])
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][251] ([i915#12394])
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_joiner@basic-force-ultra-joiner.html
    - shard-dg2:          NOTRUN -> [SKIP][252] ([i915#10656]) +1 other test skip
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_joiner@basic-force-ultra-joiner.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-tglu-1:       NOTRUN -> [SKIP][253] ([i915#12339])
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-rkl:          NOTRUN -> [SKIP][254] ([i915#12339])
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-dg2:          NOTRUN -> [SKIP][255] ([i915#4816])
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_panel_fitting@legacy:
    - shard-tglu-1:       NOTRUN -> [SKIP][256] ([i915#6301])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_panel_fitting@legacy.html

  * igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c:
    - shard-dg2-9:        NOTRUN -> [SKIP][257] +9 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_pipe_b_c_ivb@disable-pipe-b-enable-pipe-c.html

  * igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes:
    - shard-dg2:          NOTRUN -> [SKIP][258] +10 other tests skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes.html

  * igt@kms_plane_lowres@tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][259] ([i915#3555] / [i915#8821])
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_plane_lowres@tiling-y.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-dg2:          NOTRUN -> [SKIP][260] ([i915#8806])
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@intel-max-src-size:
    - shard-rkl:          NOTRUN -> [SKIP][261] ([i915#6953])
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_plane_scaling@intel-max-src-size.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-a:
    - shard-mtlp:         NOTRUN -> [SKIP][262] ([i915#12247]) +17 other tests skip
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-a.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-b:
    - shard-rkl:          NOTRUN -> [SKIP][263] ([i915#12247]) +6 other tests skip
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-b.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20:
    - shard-dg2-9:        NOTRUN -> [SKIP][264] ([i915#12247] / [i915#9423])
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
    - shard-mtlp:         NOTRUN -> [SKIP][265] ([i915#6953])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25:
    - shard-dg2-9:        NOTRUN -> [SKIP][266] ([i915#12247] / [i915#3555] / [i915#9423])
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d:
    - shard-dg2-9:        NOTRUN -> [SKIP][267] ([i915#12247]) +7 other tests skip
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75:
    - shard-mtlp:         NOTRUN -> [SKIP][268] ([i915#12247] / [i915#6953])
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25:
    - shard-tglu-1:       NOTRUN -> [SKIP][269] ([i915#12247] / [i915#6953])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-c:
    - shard-tglu-1:       NOTRUN -> [SKIP][270] ([i915#12247]) +8 other tests skip
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-c.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-rkl:          NOTRUN -> [SKIP][271] ([i915#5354])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_backlight@basic-brightness:
    - shard-tglu:         NOTRUN -> [SKIP][272] ([i915#9812])
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_pm_backlight@brightness-with-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][273] ([i915#12343])
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@kms_pm_backlight@brightness-with-dpms.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-dg2-9:        NOTRUN -> [SKIP][274] ([i915#9685])
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-rkl:          NOTRUN -> [SKIP][275] ([i915#9685]) +1 other test skip
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-2/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][276] ([i915#3361])
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-dg2:          NOTRUN -> [SKIP][277] ([i915#9685])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_pm_dc@dc6-psr.html
    - shard-tglu-1:       NOTRUN -> [SKIP][278] ([i915#9685])
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-tglu:         [PASS][279] -> [SKIP][280] ([i915#4281])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-tglu-10/igt@kms_pm_dc@dc9-dpms.html
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-4/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-dg2:          [PASS][281] -> [SKIP][282] ([i915#9519])
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-4/igt@kms_pm_rpm@dpms-lpsp.html
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-3/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-dg2:          NOTRUN -> [SKIP][283] ([i915#9519]) +1 other test skip
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-rkl:          NOTRUN -> [SKIP][284] ([i915#9519])
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-dg2-9:        NOTRUN -> [SKIP][285] ([i915#9519])
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-tglu-1:       NOTRUN -> [SKIP][286] ([i915#9519])
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@kms_pm_rpm@pc8-residency:
    - shard-mtlp:         NOTRUN -> [SKIP][287] +9 other tests skip
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@kms_pm_rpm@pc8-residency.html

  * igt@kms_prime@basic-crc-vgem:
    - shard-dg2-9:        NOTRUN -> [SKIP][288] ([i915#6524] / [i915#6805])
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_prime@basic-crc-vgem.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf:
    - shard-tglu:         NOTRUN -> [SKIP][289] ([i915#11520]) +3 other tests skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
    - shard-tglu-1:       NOTRUN -> [SKIP][290] ([i915#11520]) +3 other tests skip
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
    - shard-mtlp:         NOTRUN -> [SKIP][291] ([i915#12316]) +2 other tests skip
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
    - shard-dg1:          NOTRUN -> [SKIP][292] ([i915#11520])
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
    - shard-glk:          NOTRUN -> [SKIP][293] ([i915#11520])
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf:
    - shard-dg2:          NOTRUN -> [SKIP][294] ([i915#11520]) +6 other tests skip
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
    - shard-rkl:          NOTRUN -> [SKIP][295] ([i915#11520]) +12 other tests skip
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-plane-move-sf-dmg-area:
    - shard-dg2-9:        NOTRUN -> [SKIP][296] ([i915#11520]) +3 other tests skip
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_psr2_sf@pr-plane-move-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-rkl:          NOTRUN -> [SKIP][297] ([i915#9683])
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-dg2:          NOTRUN -> [SKIP][298] ([i915#9683])
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-pr-cursor-plane-onoff:
    - shard-rkl:          NOTRUN -> [SKIP][299] ([i915#1072] / [i915#9732]) +26 other tests skip
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_psr@fbc-pr-cursor-plane-onoff.html

  * igt@kms_psr@fbc-psr-sprite-mmap-cpu:
    - shard-dg2-9:        NOTRUN -> [SKIP][300] ([i915#1072] / [i915#9732]) +9 other tests skip
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_psr@fbc-psr-sprite-mmap-cpu.html

  * igt@kms_psr@fbc-psr2-cursor-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][301] ([i915#9688]) +5 other tests skip
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html

  * igt@kms_psr@pr-primary-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][302] ([i915#1072] / [i915#9732])
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@kms_psr@pr-primary-mmap-cpu.html

  * igt@kms_psr@psr-cursor-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][303] ([i915#1072] / [i915#9732]) +14 other tests skip
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_psr@psr-cursor-mmap-cpu.html

  * igt@kms_psr@psr2-cursor-mmap-gtt:
    - shard-tglu:         NOTRUN -> [SKIP][304] ([i915#9732]) +5 other tests skip
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_psr@psr2-cursor-mmap-gtt.html

  * igt@kms_psr@psr2-sprite-blt:
    - shard-tglu-1:       NOTRUN -> [SKIP][305] ([i915#9732]) +9 other tests skip
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_psr@psr2-sprite-blt.html

  * igt@kms_psr@psr2-sprite-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][306] ([i915#4077] / [i915#9688]) +1 other test skip
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@kms_psr@psr2-sprite-mmap-gtt.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-tglu:         NOTRUN -> [SKIP][307] ([i915#9685])
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
    - shard-tglu-1:       NOTRUN -> [SKIP][308] ([i915#5289])
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-rkl:          NOTRUN -> [SKIP][309] ([i915#5289]) +1 other test skip
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
    - shard-dg2-9:        NOTRUN -> [SKIP][310] ([i915#5190])
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_scaling_modes@scaling-mode-full:
    - shard-tglu:         NOTRUN -> [SKIP][311] ([i915#3555]) +3 other tests skip
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_scaling_modes@scaling-mode-full.html

  * igt@kms_selftest@drm_framebuffer:
    - shard-tglu:         NOTRUN -> [ABORT][312] ([i915#13179]) +1 other test abort
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_selftest@drm_framebuffer.html

  * igt@kms_selftest@drm_framebuffer@drm_test_framebuffer_free:
    - shard-dg2:          NOTRUN -> [ABORT][313] ([i915#13179]) +1 other test abort
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@kms_selftest@drm_framebuffer@drm_test_framebuffer_free.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-tglu-1:       NOTRUN -> [SKIP][314] ([i915#3555])
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_vrr@flip-basic-fastset:
    - shard-dg2-9:        NOTRUN -> [SKIP][315] ([i915#9906])
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@kms_vrr@flip-basic-fastset.html
    - shard-rkl:          NOTRUN -> [SKIP][316] ([i915#9906])
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@kms_vrr@flip-basic-fastset.html

  * igt@kms_vrr@lobf:
    - shard-dg2:          NOTRUN -> [SKIP][317] ([i915#11920])
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@kms_vrr@lobf.html
    - shard-tglu-1:       NOTRUN -> [SKIP][318] ([i915#11920])
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_vrr@lobf.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-tglu:         NOTRUN -> [SKIP][319] ([i915#9906])
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-10/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-tglu-1:       NOTRUN -> [SKIP][320] ([i915#9906])
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-rkl:          NOTRUN -> [SKIP][321] ([i915#2437])
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@kms_writeback@writeback-fb-id.html

  * igt@kms_writeback@writeback-fb-id-xrgb2101010:
    - shard-dg2:          NOTRUN -> [SKIP][322] ([i915#2437] / [i915#9412])
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@kms_writeback@writeback-fb-id-xrgb2101010.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-mtlp:         NOTRUN -> [SKIP][323] ([i915#2437])
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-6/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-rkl:          NOTRUN -> [SKIP][324] ([i915#2437] / [i915#9412])
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-2/igt@kms_writeback@writeback-pixel-formats.html

  * igt@perf@gen12-group-concurrent-oa-buffer-read:
    - shard-rkl:          NOTRUN -> [DMESG-WARN][325] ([i915#12964]) +12 other tests dmesg-warn
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@perf@gen12-group-concurrent-oa-buffer-read.html

  * igt@perf@global-sseu-config-invalid:
    - shard-mtlp:         NOTRUN -> [SKIP][326] ([i915#7387])
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-8/igt@perf@global-sseu-config-invalid.html

  * igt@perf@unprivileged-single-ctx-counters:
    - shard-rkl:          NOTRUN -> [SKIP][327] ([i915#2433])
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@perf@unprivileged-single-ctx-counters.html

  * igt@perf_pmu@invalid-init:
    - shard-dg2-9:        NOTRUN -> [FAIL][328] ([i915#13663])
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@perf_pmu@invalid-init.html

  * igt@perf_pmu@rc6@other-idle-gt0:
    - shard-dg1:          NOTRUN -> [SKIP][329] ([i915#8516])
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@perf_pmu@rc6@other-idle-gt0.html
    - shard-tglu:         NOTRUN -> [SKIP][330] ([i915#8516])
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@perf_pmu@rc6@other-idle-gt0.html

  * igt@prime_vgem@basic-fence-read:
    - shard-dg2:          NOTRUN -> [SKIP][331] ([i915#3291] / [i915#3708])
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-7/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][332] ([i915#3708] / [i915#4077])
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-read:
    - shard-rkl:          NOTRUN -> [SKIP][333] ([i915#3291] / [i915#3708])
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-1/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@fence-flip-hang:
    - shard-rkl:          NOTRUN -> [SKIP][334] ([i915#3708])
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-8/igt@prime_vgem@fence-flip-hang.html

  * igt@prime_vgem@fence-write-hang:
    - shard-dg2:          NOTRUN -> [SKIP][335] ([i915#3708])
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@prime_vgem@fence-write-hang.html

  * igt@sriov_basic@bind-unbind-vf:
    - shard-dg2-9:        NOTRUN -> [SKIP][336] ([i915#9917])
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-9/igt@sriov_basic@bind-unbind-vf.html
    - shard-rkl:          NOTRUN -> [SKIP][337] ([i915#9917]) +1 other test skip
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-7/igt@sriov_basic@bind-unbind-vf.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-rkl:          NOTRUN -> [SKIP][338] +25 other tests skip
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-6/igt@tools_test@sysfs_l3_parity.html

  
#### Possible fixes ####

  * igt@drm_mm@drm_mm:
    - shard-rkl:          [DMESG-WARN][339] ([i915#12964]) -> [PASS][340] +3 other tests pass
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-rkl-4/igt@drm_mm@drm_mm.html
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-4/igt@drm_mm@drm_mm.html

  * igt@gem_ccs@suspend-resume:
    - shard-dg2:          [INCOMPLETE][341] ([i915#13356]) -> [PASS][342]
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-5/igt@gem_ccs@suspend-resume.html
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@gem_ccs@suspend-resume.html

  * igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0:
    - shard-dg2:          [INCOMPLETE][343] ([i915#12392]) -> [PASS][344]
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-5/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-8/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html

  * igt@gem_eio@context-create:
    - shard-mtlp:         [ABORT][345] ([i915#13193]) -> [PASS][346] +3 other tests pass
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-mtlp-7/igt@gem_eio@context-create.html
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-4/igt@gem_eio@context-create.html

  * igt@gem_exec_endless@dispatch:
    - shard-dg2:          [TIMEOUT][347] ([i915#3778] / [i915#7016]) -> [PASS][348] +1 other test pass
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-11/igt@gem_exec_endless@dispatch.html
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@gem_exec_endless@dispatch.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-dg1:          [ABORT][349] ([i915#9820]) -> [PASS][350]
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-17/igt@i915_module_load@reload-with-fault-injection.html
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-18/igt@i915_module_load@reload-with-fault-injection.html
    - shard-tglu:         [ABORT][351] ([i915#10887] / [i915#12817] / [i915#9820]) -> [PASS][352]
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-tglu-5/igt@i915_module_load@reload-with-fault-injection.html
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-6/igt@i915_module_load@reload-with-fault-injection.html
    - shard-glk:          [ABORT][353] ([i915#9820]) -> [PASS][354]
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-glk6/igt@i915_module_load@reload-with-fault-injection.html
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk8/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_freq_api@freq-suspend@gt0:
    - shard-dg2:          [INCOMPLETE][355] ([i915#12455]) -> [PASS][356] +1 other test pass
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-7/igt@i915_pm_freq_api@freq-suspend@gt0.html
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-5/igt@i915_pm_freq_api@freq-suspend@gt0.html

  * igt@i915_pm_rpm@gem-execbuf-stress@smem0:
    - shard-dg1:          [DMESG-WARN][357] ([i915#4423]) -> [PASS][358] +4 other tests pass
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-19/igt@i915_pm_rpm@gem-execbuf-stress@smem0.html
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-16/igt@i915_pm_rpm@gem-execbuf-stress@smem0.html

  * igt@i915_pm_rps@engine-order:
    - shard-glk:          [FAIL][359] ([i915#13547]) -> [PASS][360]
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-glk5/igt@i915_pm_rps@engine-order.html
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk1/igt@i915_pm_rps@engine-order.html

  * igt@i915_selftest@live:
    - shard-dg1:          [DMESG-FAIL][361] ([i915#12435]) -> [PASS][362]
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-19/igt@i915_selftest@live.html
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-16/igt@i915_selftest@live.html

  * igt@i915_selftest@live@gem_contexts:
    - shard-dg1:          [DMESG-FAIL][363] -> [PASS][364]
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-19/igt@i915_selftest@live@gem_contexts.html
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-16/igt@i915_selftest@live@gem_contexts.html

  * igt@kms_cursor_crc@cursor-offscreen-128x128:
    - shard-glk:          [DMESG-FAIL][365] ([i915#118]) -> [PASS][366] +1 other test pass
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-glk8/igt@kms_cursor_crc@cursor-offscreen-128x128.html
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk9/igt@kms_cursor_crc@cursor-offscreen-128x128.html

  * igt@kms_cursor_crc@cursor-onscreen-128x42:
    - shard-rkl:          [FAIL][367] ([i915#13566]) -> [PASS][368] +5 other tests pass
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-128x42.html
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-3/igt@kms_cursor_crc@cursor-onscreen-128x42.html

  * igt@kms_cursor_crc@cursor-sliding-128x42:
    - shard-tglu:         [FAIL][369] ([i915#13566]) -> [PASS][370] +11 other tests pass
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-tglu-3/igt@kms_cursor_crc@cursor-sliding-128x42.html
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-5/igt@kms_cursor_crc@cursor-sliding-128x42.html

  * igt@kms_dp_aux_dev:
    - shard-dg2:          [SKIP][371] ([i915#1257]) -> [PASS][372]
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-6/igt@kms_dp_aux_dev.html
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-10/igt@kms_dp_aux_dev.html

  * igt@kms_flip@dpms-vs-vblank-race-interruptible:
    - shard-dg2:          [FAIL][373] ([i915#10826]) -> [PASS][374]
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-2/igt@kms_flip@dpms-vs-vblank-race-interruptible.html
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@kms_flip@dpms-vs-vblank-race-interruptible.html

  * igt@kms_flip@wf_vblank-ts-check:
    - shard-dg2:          [FAIL][375] ([i915#13690]) -> [PASS][376]
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-6/igt@kms_flip@wf_vblank-ts-check.html
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@kms_flip@wf_vblank-ts-check.html

  * igt@kms_flip@wf_vblank-ts-check@a-edp1:
    - shard-mtlp:         [FAIL][377] ([i915#13690]) -> [PASS][378] +4 other tests pass
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-mtlp-8/igt@kms_flip@wf_vblank-ts-check@a-edp1.html
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-3/igt@kms_flip@wf_vblank-ts-check@a-edp1.html

  * igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1:
    - shard-tglu:         [FAIL][379] ([i915#13690]) -> [PASS][380] +1 other test pass
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-tglu-10/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1.html
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-tglu-4/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt:
    - shard-snb:          [SKIP][381] -> [PASS][382] +1 other test pass
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-snb1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render:
    - shard-dg2:          [FAIL][383] ([i915#6880]) -> [PASS][384]
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html

  * igt@kms_hdr@static-swap:
    - shard-dg2:          [SKIP][385] ([i915#3555] / [i915#8228]) -> [PASS][386]
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-2/igt@kms_hdr@static-swap.html
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@kms_hdr@static-swap.html

  * igt@kms_joiner@basic-force-big-joiner:
    - shard-dg2:          [SKIP][387] ([i915#12388]) -> [PASS][388]
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-6/igt@kms_joiner@basic-force-big-joiner.html
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@kms_joiner@basic-force-big-joiner.html

  * igt@kms_plane_scaling@intel-max-src-size:
    - shard-dg2:          [SKIP][389] ([i915#6953] / [i915#9423]) -> [PASS][390]
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-2/igt@kms_plane_scaling@intel-max-src-size.html
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@kms_plane_scaling@intel-max-src-size.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-mtlp:         [FAIL][391] ([i915#12913]) -> [PASS][392]
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-mtlp-4/igt@kms_pm_dc@dc6-dpms.html
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-7/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-mtlp:         [FAIL][393] ([i915#12912]) -> [PASS][394]
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-mtlp-6/igt@kms_pm_dc@dc6-psr.html
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-mtlp-7/igt@kms_pm_dc@dc6-psr.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          [FAIL][395] ([i915#4349]) -> [PASS][396] +4 other tests pass
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-7/igt@perf_pmu@busy-double-start@vecs1.html
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@syncobj_timeline@etime-single-wait-all-for-submit-available-unsubmitted:
    - shard-glk:          [DMESG-WARN][397] ([i915#118]) -> [PASS][398]
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-glk1/igt@syncobj_timeline@etime-single-wait-all-for-submit-available-unsubmitted.html
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk4/igt@syncobj_timeline@etime-single-wait-all-for-submit-available-unsubmitted.html

  
#### Warnings ####

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs:
    - shard-dg1:          [SKIP][399] ([i915#12313]) -> [SKIP][400] ([i915#12313] / [i915#4423])
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-14/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-14/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
    - shard-dg1:          [SKIP][401] ([i915#4423] / [i915#6095]) -> [SKIP][402] ([i915#6095]) +3 other tests skip
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-19/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-16/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html

  * igt@kms_chamelium_hpd@vga-hpd-fast:
    - shard-dg1:          [SKIP][403] ([i915#11151] / [i915#7828]) -> [SKIP][404] ([i915#11151] / [i915#4423] / [i915#7828])
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-13/igt@kms_chamelium_hpd@vga-hpd-fast.html
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-15/igt@kms_chamelium_hpd@vga-hpd-fast.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg2:          [SKIP][405] ([i915#7118] / [i915#9424]) -> [FAIL][406] ([i915#7173]) +1 other test fail
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-7/igt@kms_content_protection@atomic-dpms.html
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-11/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@type1:
    - shard-dg2:          [SKIP][407] ([i915#7118] / [i915#9424]) -> [SKIP][408] ([i915#7118] / [i915#7162] / [i915#9424])
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-6/igt@kms_content_protection@type1.html
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-10/igt@kms_content_protection@type1.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-glk:          [INCOMPLETE][409] ([i915#12314] / [i915#12745] / [i915#4839]) -> [INCOMPLETE][410] ([i915#12745] / [i915#4839])
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-glk8/igt@kms_flip@flip-vs-suspend.html
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk9/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend@a-hdmi-a1:
    - shard-glk:          [INCOMPLETE][411] ([i915#12314] / [i915#12745]) -> [INCOMPLETE][412] ([i915#12745])
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-glk8/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-glk9/igt@kms_flip@flip-vs-suspend@a-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite:
    - shard-dg1:          [SKIP][413] ([i915#4423]) -> [SKIP][414] +1 other test skip
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-19/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite.html
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-pwrite:
    - shard-dg1:          [SKIP][415] -> [SKIP][416] ([i915#4423])
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-18/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-pwrite.html
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-13/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move:
    - shard-dg2:          [SKIP][417] ([i915#3458]) -> [SKIP][418] ([i915#10433] / [i915#3458]) +2 other tests skip
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-blt:
    - shard-dg2:          [SKIP][419] ([i915#10433] / [i915#3458]) -> [SKIP][420] ([i915#3458]) +2 other tests skip
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-blt.html
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt:
    - shard-dg1:          [SKIP][421] ([i915#3458] / [i915#4423]) -> [SKIP][422] ([i915#3458])
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt.html
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-rkl:          [SKIP][423] ([i915#3828]) -> [SKIP][424] ([i915#9340])
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16195/shard-rkl-2/igt@kms_pm_lpsp@kms-lpsp.html
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_142437v4/shard-rkl-5/igt@kms_pm_lpsp@kms-lpsp.html

  
  [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
  [i915#10333]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10333
  [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
  [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
  [i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#10826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10826
  [i915#10887]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10887
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/118
  [i915#11808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11808
  [i915#11832]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11832
  [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
  [i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
  [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
  [i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314
  [i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
  [i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339
  [i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
  [i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
  [i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392
  [i915#12394]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12394
  [i915#12435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12435
  [i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454
  [i915#12455]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12455
  [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
  [i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712
  [i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
  [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
  [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
  [i915#12817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12817
  [i915#12912]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12912
  [i915#12913]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12913
  [i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917
  [i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
  [i915#12967]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12967
  [i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
  [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
  [i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
  [i915#13193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13193
  [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
  [i915#13547]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13547
  [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
  [i915#13663]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13663
  [i915#13690]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13690
  [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
  [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
  [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
  [i915#13784]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13784
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
  [i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
  [i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
  [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
  [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
  [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
  [i915#3361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#3778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3778
  [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
  [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
  [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [i915#4879]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4879
  [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
  [i915#5107]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5107
  [i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
  [i915#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493
  [i915#5507]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5507
  [i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6228
  [i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
  [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
  [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
  [i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590
  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#6805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6805
  [i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880
  [i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
  [i915#7016]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7016
  [i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
  [i915#7162]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7162
  [i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
  [i915#7387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7387
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8289
  [i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
  [i915#8414]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8414
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
  [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8709
  [i915#8806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8806
  [i915#8810]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8810
  [i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812
  [i915#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#8821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8821
  [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
  [i915#9311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9311
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
  [i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
  [i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
  [i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
  [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531
  [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
  [i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9820
  [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934


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

  * Linux: CI_DRM_16195 -> Patchwork_142437v4

  CI-20190529: 20190529
  CI_DRM_16195: c40c94f48913c93fe0d7a59f3a8d8854fc2ab357 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8251: f0b66883398b4a07bb8fcaa3663a2140129d9a58 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_142437v4: c40c94f48913c93fe0d7a59f3a8d8854fc2ab357 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

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

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

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

* Re: [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered LUT registers
  2025-02-25 18:09 ` [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered " Chaitanya Kumar Borah
@ 2025-02-28 15:14   ` Ville Syrjälä
  2025-03-04 14:43     ` Borah, Chaitanya Kumar
  0 siblings, 1 reply; 15+ messages in thread
From: Ville Syrjälä @ 2025-02-28 15:14 UTC (permalink / raw)
  To: Chaitanya Kumar Borah; +Cc: intel-xe, intel-gfx, uma.shankar

On Tue, Feb 25, 2025 at 11:39:04PM +0530, Chaitanya Kumar Borah wrote:
> >From PTL, LUT registers are made double buffered. This helps us
> to program them in the active region without any concern of tearing.
> This particulary helps in case of displays with high refresh rates
> where vblank periods are shorter.
> 
> This patch makes the following changes
> 
> 	- Adds the macro HAS_DOUBLE_BUFFERED_LUT() to distinguish
> 	  platforms that have double buffered LUT registers.
> 
> 	- Program LUT values in active region through
> 	  intel_pre_update_crtc()
> 
> 	- Disable updating of LUT values during vblank.
> 
> 	- Disable pre-loading of LUT values as they are no longer
> 	  single buffered.
> 
> Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_color.c          | 4 ++++
>  drivers/gpu/drm/i915/display/intel_crtc.c           | 4 +++-
>  drivers/gpu/drm/i915/display/intel_display.c        | 6 +++++-
>  drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
>  4 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c
> index cfe14162231d..c3ee34b96c15 100644
> --- a/drivers/gpu/drm/i915/display/intel_color.c
> +++ b/drivers/gpu/drm/i915/display/intel_color.c
> @@ -2022,6 +2022,10 @@ static bool intel_can_preload_luts(struct intel_atomic_state *state,
>  {
>  	const struct intel_crtc_state *old_crtc_state =
>  		intel_atomic_get_old_crtc_state(state, crtc);
> +	struct intel_display *display = to_intel_display(crtc);
> +
> +	if (HAS_DOUBLE_BUFFERED_LUT(display))
> +		return false;
>  
>  	return !old_crtc_state->post_csc_lut &&
>  		!old_crtc_state->pre_csc_lut;
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
> index 5b2603ef2ff7..927f9acf61c4 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> @@ -432,10 +432,12 @@ static void intel_crtc_vblank_work(struct kthread_work *base)
>  	struct intel_crtc_state *crtc_state =
>  		container_of(work, typeof(*crtc_state), vblank_work);
>  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> +	struct intel_display *display = to_intel_display(crtc_state);
>  
>  	trace_intel_crtc_vblank_work_start(crtc);
>  
> -	intel_color_load_luts(crtc_state);
> +	if (!HAS_DOUBLE_BUFFERED_LUT(display))

Wrong place. You don't even want to schedule the vblank worker
for this.

> +		intel_color_load_luts(crtc_state);
>  
>  	if (crtc_state->uapi.event) {
>  		spin_lock_irq(&crtc->base.dev->event_lock);
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 065fdf6dbb88..919e236a9650 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -6879,9 +6879,13 @@ static void intel_pre_update_crtc(struct intel_atomic_state *state,
>  
>  	if (!modeset &&
>  	    intel_crtc_needs_color_update(new_crtc_state) &&
> -	    !new_crtc_state->use_dsb)
> +	    !new_crtc_state->use_dsb) {
>  		intel_color_commit_noarm(NULL, new_crtc_state);
>  
> +		if (HAS_DOUBLE_BUFFERED_LUT(display))
> +			intel_color_load_luts(new_crtc_state);

Explanation missing on the double buffering behaviour of the LUT.
This now assumes that it's not self-arming, and therefore some
other register must be the arming register. Which register is it?

> +	}
> +
>  	if (!new_crtc_state->use_dsb)
>  		intel_crtc_planes_update_noarm(NULL, state, crtc);
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_display_device.h b/drivers/gpu/drm/i915/display/intel_display_device.h
> index fc33791f02b9..419d0213e412 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> @@ -155,6 +155,7 @@ struct intel_display_platforms {
>  #define HAS_DMC(__display)		(DISPLAY_RUNTIME_INFO(__display)->has_dmc)
>  #define HAS_DMC_WAKELOCK(__display)	(DISPLAY_VER(__display) >= 20)
>  #define HAS_DOUBLE_BUFFERED_M_N(__display)	(DISPLAY_VER(__display) >= 9 || (__display)->platform.broadwell)
> +#define HAS_DOUBLE_BUFFERED_LUT(__display)	(DISPLAY_VER(__display) >= 30)
>  #define HAS_DOUBLE_WIDE(__display)	(DISPLAY_VER(__display) < 4)
>  #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)->has_dp_mst)
>  #define HAS_DP20(__display)		((__display)->platform.dg2 || DISPLAY_VER(__display) >= 14)
> -- 
> 2.25.1

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming
  2025-02-25 18:09 ` [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming Chaitanya Kumar Borah
  2025-02-27 12:40   ` Jani Nikula
@ 2025-02-28 16:31   ` Ville Syrjälä
  2025-03-04 14:31     ` Borah, Chaitanya Kumar
  1 sibling, 1 reply; 15+ messages in thread
From: Ville Syrjälä @ 2025-02-28 16:31 UTC (permalink / raw)
  To: Chaitanya Kumar Borah; +Cc: intel-xe, intel-gfx, uma.shankar

On Tue, Feb 25, 2025 at 11:39:05PM +0530, Chaitanya Kumar Borah wrote:
> >From PTL, LUT registers are made double buffered. With this change,
> we don't need to wait for vblank to program them. Start DSB1 for
> programming them without waiting for vblank.
> 
> Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 919e236a9650..9c3fdfcd6759 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7352,6 +7352,7 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
>  {
>  	struct intel_crtc_state *new_crtc_state =
>  		intel_atomic_get_new_crtc_state(state, crtc);
> +	struct intel_display *display = to_intel_display(state);
>  
>  	if (!new_crtc_state->use_dsb && !new_crtc_state->dsb_color_vblank)
>  		return;
> @@ -7408,7 +7409,8 @@ static void intel_atomic_dsb_finish(struct intel_atomic_state *state,
>  
>  	if (new_crtc_state->dsb_color_vblank)
>  		intel_dsb_chain(state, new_crtc_state->dsb_commit,
> -				new_crtc_state->dsb_color_vblank, true);
> +				new_crtc_state->dsb_color_vblank,
> +				HAS_DOUBLE_BUFFERED_LUT(display) ? false : true);

Using chaining for this is a bit ugly. GOSUB would seem more
appropriate. Here's a quick 1h effort to implement the basics
for that (completely untested):
https://github.com/vsyrjala/linux.git dsb_gosub

>  
>  	intel_dsb_finish(new_crtc_state->dsb_commit);
>  }
> -- 
> 2.25.1

-- 
Ville Syrjälä
Intel

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

* RE: [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming
  2025-02-27 12:40   ` Jani Nikula
@ 2025-03-04 14:07     ` Borah, Chaitanya Kumar
  0 siblings, 0 replies; 15+ messages in thread
From: Borah, Chaitanya Kumar @ 2025-03-04 14:07 UTC (permalink / raw)
  To: Jani Nikula, intel-xe@lists.freedesktop.org,
	intel-gfx@lists.freedesktop.org
  Cc: ville.syrjala@linux.intel.com, Shankar,  Uma

Thank you, Jani, for the review.

> -----Original Message-----
> From: Jani Nikula <jani.nikula@linux.intel.com>
> Sent: Thursday, February 27, 2025 6:11 PM
> To: Borah, Chaitanya Kumar <chaitanya.kumar.borah@intel.com>; intel-
> xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: ville.syrjala@linux.intel.com; Shankar, Uma <uma.shankar@intel.com>;
> Borah, Chaitanya Kumar <chaitanya.kumar.borah@intel.com>
> Subject: Re: [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB
> programming
> 
> On Tue, 25 Feb 2025, Chaitanya Kumar Borah
> <chaitanya.kumar.borah@intel.com> wrote:
> > From PTL, LUT registers are made double buffered. With this change, we
> > don't need to wait for vblank to program them. Start DSB1 for
> > programming them without waiting for vblank.
> >
> > Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index 919e236a9650..9c3fdfcd6759 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -7352,6 +7352,7 @@ static void intel_atomic_dsb_finish(struct
> > intel_atomic_state *state,  {
> >  	struct intel_crtc_state *new_crtc_state =
> >  		intel_atomic_get_new_crtc_state(state, crtc);
> > +	struct intel_display *display = to_intel_display(state);
> 
> Please always put display local variable first.
> 

Ack.
What about the cases it is dependent on other local variables. Should we put it immediately after them?

> >
> >  	if (!new_crtc_state->use_dsb && !new_crtc_state->dsb_color_vblank)
> >  		return;
> > @@ -7408,7 +7409,8 @@ static void intel_atomic_dsb_finish(struct
> > intel_atomic_state *state,
> >
> >  	if (new_crtc_state->dsb_color_vblank)
> >  		intel_dsb_chain(state, new_crtc_state->dsb_commit,
> > -				new_crtc_state->dsb_color_vblank, true);
> > +				new_crtc_state->dsb_color_vblank,
> > +				HAS_DOUBLE_BUFFERED_LUT(display) ? false
> : true);
> 
> HAS_DOUBLE_BUFFERED_LUT(display) ? false : true
> 
> =>
> 
> !HAS_DOUBLE_BUFFERED_LUT(display)
> 

Ack.

Regards

Chaitanya

> 
> >
> >  	intel_dsb_finish(new_crtc_state->dsb_commit);
> >  }
> 
> --
> Jani Nikula, Intel

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

* RE: [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming
  2025-02-28 16:31   ` Ville Syrjälä
@ 2025-03-04 14:31     ` Borah, Chaitanya Kumar
  2025-03-19 12:18       ` Borah, Chaitanya Kumar
  0 siblings, 1 reply; 15+ messages in thread
From: Borah, Chaitanya Kumar @ 2025-03-04 14:31 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Shankar, Uma

> -----Original Message-----
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Sent: Friday, February 28, 2025 10:02 PM
> To: Borah, Chaitanya Kumar <chaitanya.kumar.borah@intel.com>
> Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; Shankar,
> Uma <uma.shankar@intel.com>
> Subject: Re: [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB
> programming
> 
> On Tue, Feb 25, 2025 at 11:39:05PM +0530, Chaitanya Kumar Borah wrote:
> > >From PTL, LUT registers are made double buffered. With this change,
> > we don't need to wait for vblank to program them. Start DSB1 for
> > programming them without waiting for vblank.
> >
> > Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index 919e236a9650..9c3fdfcd6759 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -7352,6 +7352,7 @@ static void intel_atomic_dsb_finish(struct
> > intel_atomic_state *state,  {
> >  	struct intel_crtc_state *new_crtc_state =
> >  		intel_atomic_get_new_crtc_state(state, crtc);
> > +	struct intel_display *display = to_intel_display(state);
> >
> >  	if (!new_crtc_state->use_dsb && !new_crtc_state->dsb_color_vblank)
> >  		return;
> > @@ -7408,7 +7409,8 @@ static void intel_atomic_dsb_finish(struct
> > intel_atomic_state *state,
> >
> >  	if (new_crtc_state->dsb_color_vblank)
> >  		intel_dsb_chain(state, new_crtc_state->dsb_commit,
> > -				new_crtc_state->dsb_color_vblank, true);
> > +				new_crtc_state->dsb_color_vblank,
> > +				HAS_DOUBLE_BUFFERED_LUT(display) ? false
> : true);
> 
> Using chaining for this is a bit ugly. GOSUB would seem more appropriate.
> Here's a quick 1h effort to implement the basics for that (completely
> untested):
> https://github.com/vsyrjala/linux.git dsb_gosub
> 

Thank you, Ville, for sharing this, I will give it a try.

Regards

Chaitanya

> >
> >  	intel_dsb_finish(new_crtc_state->dsb_commit);
> >  }
> > --
> > 2.25.1
> 
> --
> Ville Syrjälä
> Intel

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

* RE: [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered LUT registers
  2025-02-28 15:14   ` Ville Syrjälä
@ 2025-03-04 14:43     ` Borah, Chaitanya Kumar
  2025-03-04 15:49       ` Ville Syrjälä
  0 siblings, 1 reply; 15+ messages in thread
From: Borah, Chaitanya Kumar @ 2025-03-04 14:43 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Shankar, Uma

Thank you Ville for the review.

> -----Original Message-----
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Sent: Friday, February 28, 2025 8:45 PM
> To: Borah, Chaitanya Kumar <chaitanya.kumar.borah@intel.com>
> Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; Shankar,
> Uma <uma.shankar@intel.com>
> Subject: Re: [PATCH 1/2] drm/i915/display: Add MMIO path for double-
> buffered LUT registers
> 
> On Tue, Feb 25, 2025 at 11:39:04PM +0530, Chaitanya Kumar Borah wrote:
> > >From PTL, LUT registers are made double buffered. This helps us
> > to program them in the active region without any concern of tearing.
> > This particulary helps in case of displays with high refresh rates
> > where vblank periods are shorter.
> >
> > This patch makes the following changes
> >
> > 	- Adds the macro HAS_DOUBLE_BUFFERED_LUT() to distinguish
> > 	  platforms that have double buffered LUT registers.
> >
> > 	- Program LUT values in active region through
> > 	  intel_pre_update_crtc()
> >
> > 	- Disable updating of LUT values during vblank.
> >
> > 	- Disable pre-loading of LUT values as they are no longer
> > 	  single buffered.
> >
> > Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_color.c          | 4 ++++
> >  drivers/gpu/drm/i915/display/intel_crtc.c           | 4 +++-
> >  drivers/gpu/drm/i915/display/intel_display.c        | 6 +++++-
> >  drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
> >  4 files changed, 13 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_color.c
> > b/drivers/gpu/drm/i915/display/intel_color.c
> > index cfe14162231d..c3ee34b96c15 100644
> > --- a/drivers/gpu/drm/i915/display/intel_color.c
> > +++ b/drivers/gpu/drm/i915/display/intel_color.c
> > @@ -2022,6 +2022,10 @@ static bool intel_can_preload_luts(struct
> > intel_atomic_state *state,  {
> >  	const struct intel_crtc_state *old_crtc_state =
> >  		intel_atomic_get_old_crtc_state(state, crtc);
> > +	struct intel_display *display = to_intel_display(crtc);
> > +
> > +	if (HAS_DOUBLE_BUFFERED_LUT(display))
> > +		return false;
> >
> >  	return !old_crtc_state->post_csc_lut &&
> >  		!old_crtc_state->pre_csc_lut;
> > diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> > b/drivers/gpu/drm/i915/display/intel_crtc.c
> > index 5b2603ef2ff7..927f9acf61c4 100644
> > --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> > @@ -432,10 +432,12 @@ static void intel_crtc_vblank_work(struct
> kthread_work *base)
> >  	struct intel_crtc_state *crtc_state =
> >  		container_of(work, typeof(*crtc_state), vblank_work);
> >  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> > +	struct intel_display *display = to_intel_display(crtc_state);
> >
> >  	trace_intel_crtc_vblank_work_start(crtc);
> >
> > -	intel_color_load_luts(crtc_state);
> > +	if (!HAS_DOUBLE_BUFFERED_LUT(display))
> 
> Wrong place. You don't even want to schedule the vblank worker for this.
> 

Ack.

> > +		intel_color_load_luts(crtc_state);
> >
> >  	if (crtc_state->uapi.event) {
> >  		spin_lock_irq(&crtc->base.dev->event_lock);
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index 065fdf6dbb88..919e236a9650 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -6879,9 +6879,13 @@ static void intel_pre_update_crtc(struct
> > intel_atomic_state *state,
> >
> >  	if (!modeset &&
> >  	    intel_crtc_needs_color_update(new_crtc_state) &&
> > -	    !new_crtc_state->use_dsb)
> > +	    !new_crtc_state->use_dsb) {
> >  		intel_color_commit_noarm(NULL, new_crtc_state);
> >
> > +		if (HAS_DOUBLE_BUFFERED_LUT(display))
> > +			intel_color_load_luts(new_crtc_state);
> 
> Explanation missing on the double buffering behaviour of the LUT.
> This now assumes that it's not self-arming, and therefore some other register
> must be the arming register. Which register is it?
> 

You are correct (took some brain workout😐). The assumption here that the LUT registers are not self-arming is wrong.
They are self-arming and will latch on to HW at double buffer update point. I will add this to the commit message in the next version.

Now to ensure atomicity, that leaves us with two possibilities.

	1. Write the LUT registers during vblank evasion critical section. While I have to profile it, this might not be possible because
	    of the number of registers that needs to be written.
 	2. Use double buffer stalling. This approach might carry the risk of stalling updates of other registers.

Would appreciate your insights.

Regards

Chaitanya

> > +	}
> > +
> >  	if (!new_crtc_state->use_dsb)
> >  		intel_crtc_planes_update_noarm(NULL, state, crtc);  } diff --git
> > a/drivers/gpu/drm/i915/display/intel_display_device.h
> > b/drivers/gpu/drm/i915/display/intel_display_device.h
> > index fc33791f02b9..419d0213e412 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_device.h
> > +++ b/drivers/gpu/drm/i915/display/intel_display_device.h
> > @@ -155,6 +155,7 @@ struct intel_display_platforms {
> >  #define HAS_DMC(__display)
> 	(DISPLAY_RUNTIME_INFO(__display)->has_dmc)
> >  #define HAS_DMC_WAKELOCK(__display)	(DISPLAY_VER(__display) >=
> 20)
> >  #define HAS_DOUBLE_BUFFERED_M_N(__display)
> 	(DISPLAY_VER(__display) >= 9 || (__display)->platform.broadwell)
> > +#define HAS_DOUBLE_BUFFERED_LUT(__display)
> 	(DISPLAY_VER(__display) >= 30)
> >  #define HAS_DOUBLE_WIDE(__display)	(DISPLAY_VER(__display) < 4)
> >  #define HAS_DP_MST(__display)		(DISPLAY_INFO(__display)-
> >has_dp_mst)
> >  #define HAS_DP20(__display)		((__display)->platform.dg2 ||
> DISPLAY_VER(__display) >= 14)
> > --
> > 2.25.1
> 
> --
> Ville Syrjälä
> Intel

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

* Re: [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered LUT registers
  2025-03-04 14:43     ` Borah, Chaitanya Kumar
@ 2025-03-04 15:49       ` Ville Syrjälä
  2025-04-02 15:39         ` Borah, Chaitanya Kumar
  0 siblings, 1 reply; 15+ messages in thread
From: Ville Syrjälä @ 2025-03-04 15:49 UTC (permalink / raw)
  To: Borah, Chaitanya Kumar
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Shankar, Uma

On Tue, Mar 04, 2025 at 02:43:06PM +0000, Borah, Chaitanya Kumar wrote:
> Thank you Ville for the review.
> 
> > -----Original Message-----
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Sent: Friday, February 28, 2025 8:45 PM
> > To: Borah, Chaitanya Kumar <chaitanya.kumar.borah@intel.com>
> > Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; Shankar,
> > Uma <uma.shankar@intel.com>
> > Subject: Re: [PATCH 1/2] drm/i915/display: Add MMIO path for double-
> > buffered LUT registers
> > 
> > On Tue, Feb 25, 2025 at 11:39:04PM +0530, Chaitanya Kumar Borah wrote:
> > > >From PTL, LUT registers are made double buffered. This helps us
> > > to program them in the active region without any concern of tearing.
> > > This particulary helps in case of displays with high refresh rates
> > > where vblank periods are shorter.
> > >
> > > This patch makes the following changes
> > >
> > > 	- Adds the macro HAS_DOUBLE_BUFFERED_LUT() to distinguish
> > > 	  platforms that have double buffered LUT registers.
> > >
> > > 	- Program LUT values in active region through
> > > 	  intel_pre_update_crtc()
> > >
> > > 	- Disable updating of LUT values during vblank.
> > >
> > > 	- Disable pre-loading of LUT values as they are no longer
> > > 	  single buffered.
> > >
> > > Signed-off-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_color.c          | 4 ++++
> > >  drivers/gpu/drm/i915/display/intel_crtc.c           | 4 +++-
> > >  drivers/gpu/drm/i915/display/intel_display.c        | 6 +++++-
> > >  drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
> > >  4 files changed, 13 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_color.c
> > > b/drivers/gpu/drm/i915/display/intel_color.c
> > > index cfe14162231d..c3ee34b96c15 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_color.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_color.c
> > > @@ -2022,6 +2022,10 @@ static bool intel_can_preload_luts(struct
> > > intel_atomic_state *state,  {
> > >  	const struct intel_crtc_state *old_crtc_state =
> > >  		intel_atomic_get_old_crtc_state(state, crtc);
> > > +	struct intel_display *display = to_intel_display(crtc);
> > > +
> > > +	if (HAS_DOUBLE_BUFFERED_LUT(display))
> > > +		return false;
> > >
> > >  	return !old_crtc_state->post_csc_lut &&
> > >  		!old_crtc_state->pre_csc_lut;
> > > diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> > > b/drivers/gpu/drm/i915/display/intel_crtc.c
> > > index 5b2603ef2ff7..927f9acf61c4 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> > > @@ -432,10 +432,12 @@ static void intel_crtc_vblank_work(struct
> > kthread_work *base)
> > >  	struct intel_crtc_state *crtc_state =
> > >  		container_of(work, typeof(*crtc_state), vblank_work);
> > >  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> > > +	struct intel_display *display = to_intel_display(crtc_state);
> > >
> > >  	trace_intel_crtc_vblank_work_start(crtc);
> > >
> > > -	intel_color_load_luts(crtc_state);
> > > +	if (!HAS_DOUBLE_BUFFERED_LUT(display))
> > 
> > Wrong place. You don't even want to schedule the vblank worker for this.
> > 
> 
> Ack.
> 
> > > +		intel_color_load_luts(crtc_state);
> > >
> > >  	if (crtc_state->uapi.event) {
> > >  		spin_lock_irq(&crtc->base.dev->event_lock);
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > index 065fdf6dbb88..919e236a9650 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > @@ -6879,9 +6879,13 @@ static void intel_pre_update_crtc(struct
> > > intel_atomic_state *state,
> > >
> > >  	if (!modeset &&
> > >  	    intel_crtc_needs_color_update(new_crtc_state) &&
> > > -	    !new_crtc_state->use_dsb)
> > > +	    !new_crtc_state->use_dsb) {
> > >  		intel_color_commit_noarm(NULL, new_crtc_state);
> > >
> > > +		if (HAS_DOUBLE_BUFFERED_LUT(display))
> > > +			intel_color_load_luts(new_crtc_state);
> > 
> > Explanation missing on the double buffering behaviour of the LUT.
> > This now assumes that it's not self-arming, and therefore some other register
> > must be the arming register. Which register is it?
> > 
> 
> You are correct (took some brain workout😐). The assumption here that the LUT registers are not self-arming is wrong.
> They are self-arming and will latch on to HW at double buffer update point. I will add this to the commit message in the next version.
> 
> Now to ensure atomicity, that leaves us with two possibilities.
> 
> 	1. Write the LUT registers during vblank evasion critical section. While I have to profile it, this might not be possible because
> 	    of the number of registers that needs to be written.

Looking at some numbers I grabbed at some point (on tgl/adl/dg2)
the current (randomly chosen) 20usec vblank evasion should be
ok for ~1500-2000 registers, even with low cdclk/memory clock.

>  	2. Use double buffer stalling. This approach might carry the risk of stalling updates of other registers.

... but I think this is probably what we want to do. I think to
start we could enable the DB stall only for the LUT registers.
I presume we still have those "allow DB stall" bits strewn
about in various control registers? And I presume PTL now
has usable DB stall control (ie. some kind of per-pipe bits
rather than a single global bit)?

Bspec also seems to say that the double buffer swap isn't
immediate for the LUT, so we might need yet another scanline
evasion to make this 100% safe. I think I saw something
about ~500 cdclk cycles, and with a low cdclk of ~170 MHz
that would come out to about 3 usecs, which to me sounds
long enough to potentially be a problem.

Also once we have the basics of DB stall enabled, we could
start extending it to cover other hw resources to make
the critical section even leaner.

-- 
Ville Syrjälä
Intel

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

* RE: [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming
  2025-03-04 14:31     ` Borah, Chaitanya Kumar
@ 2025-03-19 12:18       ` Borah, Chaitanya Kumar
  0 siblings, 0 replies; 15+ messages in thread
From: Borah, Chaitanya Kumar @ 2025-03-19 12:18 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Shankar, Uma

Hi Ville

> -----Original Message-----
> From: Borah, Chaitanya Kumar
> Sent: Tuesday, March 4, 2025 8:02 PM
> To: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; Shankar,
> Uma <uma.shankar@intel.com>
> Subject: RE: [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB
> programming
> 
> > -----Original Message-----
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Sent: Friday, February 28, 2025 10:02 PM
> > To: Borah, Chaitanya Kumar <chaitanya.kumar.borah@intel.com>
> > Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org;
> > Shankar, Uma <uma.shankar@intel.com>
> > Subject: Re: [PATCH 2/2] drm/i915/display: Don't wait for vblank for
> > LUT DSB programming
> >
> > On Tue, Feb 25, 2025 at 11:39:05PM +0530, Chaitanya Kumar Borah wrote:
> > > >From PTL, LUT registers are made double buffered. With this change,
> > > we don't need to wait for vblank to program them. Start DSB1 for
> > > programming them without waiting for vblank.
> > >
> > > Signed-off-by: Chaitanya Kumar Borah
> > > <chaitanya.kumar.borah@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_display.c | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > index 919e236a9650..9c3fdfcd6759 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > @@ -7352,6 +7352,7 @@ static void intel_atomic_dsb_finish(struct
> > > intel_atomic_state *state,  {
> > >  	struct intel_crtc_state *new_crtc_state =
> > >  		intel_atomic_get_new_crtc_state(state, crtc);
> > > +	struct intel_display *display = to_intel_display(state);
> > >
> > >  	if (!new_crtc_state->use_dsb && !new_crtc_state->dsb_color_vblank)
> > >  		return;
> > > @@ -7408,7 +7409,8 @@ static void intel_atomic_dsb_finish(struct
> > > intel_atomic_state *state,
> > >
> > >  	if (new_crtc_state->dsb_color_vblank)
> > >  		intel_dsb_chain(state, new_crtc_state->dsb_commit,
> > > -				new_crtc_state->dsb_color_vblank, true);
> > > +				new_crtc_state->dsb_color_vblank,
> > > +				HAS_DOUBLE_BUFFERED_LUT(display) ? false
> > : true);
> >
> > Using chaining for this is a bit ugly. GOSUB would seem more appropriate.
> > Here's a quick 1h effort to implement the basics for that (completely
> > untested):
> > https://github.com/vsyrjala/linux.git dsb_gosub
> >
> 
> Thank you, Ville, for sharing this, I will give it a try.
> 

While I fix the MMIO path, here is a working implementation of gosub

https://github.com/ckborah/drm-tip-sandbox/tree/db_gamma_v3

Change made on top of patches in [1]

-  Correct head/tail pointer alignment for GOSUB command
-  Add intel_gosub_dsb_finish() to align and flush the GOSUB buffer
-  Add handling of DSB_GOSUB_INT_STATUS

Regards

Chaitanya


[1] https://github.com/vsyrjala/linux.git dsb_gosub

> Regards
> 
> Chaitanya
> 
> > >
> > >  	intel_dsb_finish(new_crtc_state->dsb_commit);
> > >  }
> > > --
> > > 2.25.1
> >
> > --
> > Ville Syrjälä
> > Intel

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

* RE: [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered LUT registers
  2025-03-04 15:49       ` Ville Syrjälä
@ 2025-04-02 15:39         ` Borah, Chaitanya Kumar
  0 siblings, 0 replies; 15+ messages in thread
From: Borah, Chaitanya Kumar @ 2025-04-02 15:39 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	Shankar, Uma

Sorry for the late response.

> -----Original Message-----
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Sent: Tuesday, March 4, 2025 9:20 PM
> To: Borah, Chaitanya Kumar <chaitanya.kumar.borah@intel.com>
> Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org; Shankar,
> Uma <uma.shankar@intel.com>
> Subject: Re: [PATCH 1/2] drm/i915/display: Add MMIO path for double-
> buffered LUT registers
> 
> On Tue, Mar 04, 2025 at 02:43:06PM +0000, Borah, Chaitanya Kumar wrote:
> > Thank you Ville for the review.
> >
> > > -----Original Message-----
> > > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > Sent: Friday, February 28, 2025 8:45 PM
> > > To: Borah, Chaitanya Kumar <chaitanya.kumar.borah@intel.com>
> > > Cc: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org;
> > > Shankar, Uma <uma.shankar@intel.com>
> > > Subject: Re: [PATCH 1/2] drm/i915/display: Add MMIO path for double-
> > > buffered LUT registers
> > >
> > > On Tue, Feb 25, 2025 at 11:39:04PM +0530, Chaitanya Kumar Borah wrote:
> > > > >From PTL, LUT registers are made double buffered. This helps us
> > > > to program them in the active region without any concern of tearing.
> > > > This particulary helps in case of displays with high refresh rates
> > > > where vblank periods are shorter.
> > > >
> > > > This patch makes the following changes
> > > >
> > > > 	- Adds the macro HAS_DOUBLE_BUFFERED_LUT() to distinguish
> > > > 	  platforms that have double buffered LUT registers.
> > > >
> > > > 	- Program LUT values in active region through
> > > > 	  intel_pre_update_crtc()
> > > >
> > > > 	- Disable updating of LUT values during vblank.
> > > >
> > > > 	- Disable pre-loading of LUT values as they are no longer
> > > > 	  single buffered.
> > > >
> > > > Signed-off-by: Chaitanya Kumar Borah
> > > > <chaitanya.kumar.borah@intel.com>
> > > > ---
> > > >  drivers/gpu/drm/i915/display/intel_color.c          | 4 ++++
> > > >  drivers/gpu/drm/i915/display/intel_crtc.c           | 4 +++-
> > > >  drivers/gpu/drm/i915/display/intel_display.c        | 6 +++++-
> > > >  drivers/gpu/drm/i915/display/intel_display_device.h | 1 +
> > > >  4 files changed, 13 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_color.c
> > > > b/drivers/gpu/drm/i915/display/intel_color.c
> > > > index cfe14162231d..c3ee34b96c15 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_color.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_color.c
> > > > @@ -2022,6 +2022,10 @@ static bool intel_can_preload_luts(struct
> > > > intel_atomic_state *state,  {
> > > >  	const struct intel_crtc_state *old_crtc_state =
> > > >  		intel_atomic_get_old_crtc_state(state, crtc);
> > > > +	struct intel_display *display = to_intel_display(crtc);
> > > > +
> > > > +	if (HAS_DOUBLE_BUFFERED_LUT(display))
> > > > +		return false;
> > > >
> > > >  	return !old_crtc_state->post_csc_lut &&
> > > >  		!old_crtc_state->pre_csc_lut;
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> > > > b/drivers/gpu/drm/i915/display/intel_crtc.c
> > > > index 5b2603ef2ff7..927f9acf61c4 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> > > > @@ -432,10 +432,12 @@ static void intel_crtc_vblank_work(struct
> > > kthread_work *base)
> > > >  	struct intel_crtc_state *crtc_state =
> > > >  		container_of(work, typeof(*crtc_state), vblank_work);
> > > >  	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> > > > +	struct intel_display *display = to_intel_display(crtc_state);
> > > >
> > > >  	trace_intel_crtc_vblank_work_start(crtc);
> > > >
> > > > -	intel_color_load_luts(crtc_state);
> > > > +	if (!HAS_DOUBLE_BUFFERED_LUT(display))
> > >
> > > Wrong place. You don't even want to schedule the vblank worker for this.
> > >
> >
> > Ack.
> >
> > > > +		intel_color_load_luts(crtc_state);
> > > >
> > > >  	if (crtc_state->uapi.event) {
> > > >  		spin_lock_irq(&crtc->base.dev->event_lock);
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > > > b/drivers/gpu/drm/i915/display/intel_display.c
> > > > index 065fdf6dbb88..919e236a9650 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > > > @@ -6879,9 +6879,13 @@ static void intel_pre_update_crtc(struct
> > > > intel_atomic_state *state,
> > > >
> > > >  	if (!modeset &&
> > > >  	    intel_crtc_needs_color_update(new_crtc_state) &&
> > > > -	    !new_crtc_state->use_dsb)
> > > > +	    !new_crtc_state->use_dsb) {
> > > >  		intel_color_commit_noarm(NULL, new_crtc_state);
> > > >
> > > > +		if (HAS_DOUBLE_BUFFERED_LUT(display))
> > > > +			intel_color_load_luts(new_crtc_state);
> > >
> > > Explanation missing on the double buffering behaviour of the LUT.
> > > This now assumes that it's not self-arming, and therefore some other
> > > register must be the arming register. Which register is it?
> > >
> >
> > You are correct (took some brain workout😐). The assumption here that
> the LUT registers are not self-arming is wrong.
> > They are self-arming and will latch on to HW at double buffer update point.
> I will add this to the commit message in the next version.
> >
> > Now to ensure atomicity, that leaves us with two possibilities.
> >
> > 	1. Write the LUT registers during vblank evasion critical section. While
> I have to profile it, this might not be possible because
> > 	    of the number of registers that needs to be written.
> 
> Looking at some numbers I grabbed at some point (on tgl/adl/dg2) the current
> (randomly chosen) 20usec vblank evasion should be ok for ~1500-2000
> registers, even with low cdclk/memory clock.
> 

Therefore also within the 100us evasion for the MMIO path?

> >  	2. Use double buffer stalling. This approach might carry the risk of
> stalling updates of other registers.
> 
> ... but I think this is probably what we want to do. I think to start we could
> enable the DB stall only for the LUT registers.
> I presume we still have those "allow DB stall" bits strewn about in various
> control registers? And I presume PTL now has usable DB stall control (ie. some
> kind of per-pipe bits rather than a single global bit)?
> 

Looks like these registers do not honor the DB stall mechanism. So DB stall is out of the equation.

> Bspec also seems to say that the double buffer swap isn't immediate for the
> LUT, so we might need yet another scanline evasion to make this 100% safe. I
> think I saw something about ~500 cdclk cycles, and with a low cdclk of ~170
> MHz that would come out to about 3 usecs, which to me sounds long enough
> to potentially be a problem.
> 

Spec says it takes about ~1024 cycles for the double buffer swap so that would be 6us
(so still within 1 scanline). As far as I understand, this should be added to the guardband
given that the swap starts after delayed vblank. Would that be correct?

Regards

Chaitanya

> Also once we have the basics of DB stall enabled, we could start extending it
> to cover other hw resources to make the critical section even leaner.
> 
> --
> Ville Syrjälä
> Intel

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

end of thread, other threads:[~2025-04-02 15:40 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-25 18:09 [PATCH 0/2] drm/xe/display: Program double buffered LUT registers Chaitanya Kumar Borah
2025-02-25 18:09 ` [PATCH 1/2] drm/i915/display: Add MMIO path for double-buffered " Chaitanya Kumar Borah
2025-02-28 15:14   ` Ville Syrjälä
2025-03-04 14:43     ` Borah, Chaitanya Kumar
2025-03-04 15:49       ` Ville Syrjälä
2025-04-02 15:39         ` Borah, Chaitanya Kumar
2025-02-25 18:09 ` [PATCH 2/2] drm/i915/display: Don't wait for vblank for LUT DSB programming Chaitanya Kumar Borah
2025-02-27 12:40   ` Jani Nikula
2025-03-04 14:07     ` Borah, Chaitanya Kumar
2025-02-28 16:31   ` Ville Syrjälä
2025-03-04 14:31     ` Borah, Chaitanya Kumar
2025-03-19 12:18       ` Borah, Chaitanya Kumar
2025-02-27 17:52 ` ✗ Fi.CI.SPARSE: warning for drm/xe/display: Program double buffered LUT registers (rev4) Patchwork
2025-02-27 18:08 ` ✓ i915.CI.BAT: success " Patchwork
2025-02-28  3:42 ` ✗ i915.CI.Full: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).