diff mbox series

drm/i915/d12+: Disable DMC firmware flip queue handlers

Message ID 20220511191911.2133928-1-imre.deak@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/d12+: Disable DMC firmware flip queue handlers | expand

Commit Message

Imre Deak May 11, 2022, 7:19 p.m. UTC
Based on a bspec update the DMC firmware's flip queue handling events
need to be disabled before enabling DC5/6. i915 doesn't use the flip
queue feature atm, so disable it already after loading the firmware.
This removes some overhead of the event handler which runs at a 1 kHz
frequency.

Bspec: 49193, 72486, 72487

Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dmc.c      | 89 ++++++++++++++++++-
 drivers/gpu/drm/i915/display/intel_dmc_regs.h | 74 +++++++++++++++
 2 files changed, 162 insertions(+), 1 deletion(-)

Comments

Srivatsa, Anusha May 11, 2022, 9:37 p.m. UTC | #1
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Imre
> Deak
> Sent: Wednesday, May 11, 2022 12:19 PM
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH] drm/i915/d12+: Disable DMC firmware flip queue
> handlers
> 
> Based on a bspec update the DMC firmware's flip queue handling events
> need to be disabled before enabling DC5/6. i915 doesn't use the flip queue
> feature atm, so disable it already after loading the firmware.
> This removes some overhead of the event handler which runs at a 1 kHz
> frequency.
> 
> Bspec: 49193, 72486, 72487
> 
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Thanks for the patch.

Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dmc.c      | 89 ++++++++++++++++++-
>  drivers/gpu/drm/i915/display/intel_dmc_regs.h | 74 +++++++++++++++
>  2 files changed, 162 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c
> b/drivers/gpu/drm/i915/display/intel_dmc.c
> index 257cf662f9f4b..37e58b056cfb7 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -244,9 +244,14 @@ struct stepping_info {
>  	char substepping;
>  };
> 
> +static bool intel_dmc_has_fw_payload(struct drm_i915_private *i915, int
> +dmc_id) {
> +	return i915->dmc.dmc_info[dmc_id].payload;
> +}
> +
>  bool intel_dmc_has_payload(struct drm_i915_private *i915)  {
> -	return i915->dmc.dmc_info[DMC_FW_MAIN].payload;
> +	return intel_dmc_has_fw_payload(i915, DMC_FW_MAIN);
>  }
> 
>  static const struct stepping_info *
> @@ -268,6 +273,81 @@ static void gen9_set_dc_state_debugmask(struct
> drm_i915_private *dev_priv)
>  	intel_de_posting_read(dev_priv, DC_STATE_DEBUG);  }
> 
> +static void
> +disable_simple_flip_queue_event(struct drm_i915_private *i915,
> +				i915_reg_t ctl_reg, i915_reg_t htp_reg) {
> +	u32 event_ctl;
> +	u32 event_htp;
> +
> +	event_ctl = intel_de_read(i915, ctl_reg);
> +	event_htp = intel_de_read(i915, htp_reg);
> +	if (event_ctl != (DMC_EVT_CTL_ENABLE |
> +			  DMC_EVT_CTL_RECURRING |
> +			  REG_FIELD_PREP(DMC_EVT_CTL_TYPE_MASK,
> +					 DMC_EVT_CTL_TYPE_EDGE_0_1) |
> +			  REG_FIELD_PREP(DMC_EVT_CTL_EVENT_ID_MASK,
> +
> DMC_EVT_CTL_EVENT_ID_CLK_MSEC)) ||
> +	    !event_htp) {
> +		drm_dbg_kms(&i915->drm,
> +			    "Unexpected DMC event configuration (control
> %08x htp %08x)\n",
> +			    event_ctl, event_htp);
> +		return;
> +	}
> +
> +	intel_de_write(i915, ctl_reg,
> +		       REG_FIELD_PREP(DMC_EVT_CTL_TYPE_MASK,
> +				      DMC_EVT_CTL_TYPE_EDGE_0_1) |
> +		       REG_FIELD_PREP(DMC_EVT_CTL_EVENT_ID_MASK,
> +				      DMC_EVT_CTL_EVENT_ID_FALSE));
> +	intel_de_write(i915, htp_reg, 0);
> +}
> +
> +static bool
> +get_simple_flip_queue_event_regs(struct drm_i915_private *i915, int
> dmc_id,
> +				 i915_reg_t *ctl_reg, i915_reg_t *htp_reg) {
> +	switch (dmc_id) {
> +	case DMC_FW_MAIN:
> +		if (DISPLAY_VER(i915) == 12) {
> +			*ctl_reg = DMC_EVT_CTL(dmc_id, 3);
> +			*htp_reg = DMC_EVT_HTP(dmc_id, 3);
> +
> +			return true;
> +		}
> +		break;
> +	default:
> +		if (IS_DG2(i915)) {
> +			*ctl_reg = DMC_EVT_CTL(dmc_id, 2);
> +			*htp_reg = DMC_EVT_HTP(dmc_id, 2);
> +
> +			return true;
> +		}
> +		break;
> +	}
> +
> +	return false;
> +}
> +
> +static void
> +disable_all_simple_flip_queue_events(struct drm_i915_private *i915) {
> +	int dmc_id;
> +
> +	for (dmc_id = 0; dmc_id < DMC_FW_MAX; dmc_id++) {
> +		i915_reg_t ctl_reg;
> +		i915_reg_t htp_reg;
> +
> +		if (!intel_dmc_has_fw_payload(i915, dmc_id))
> +			continue;
> +
> +		if (!get_simple_flip_queue_event_regs(i915, dmc_id,
> &ctl_reg, &htp_reg))
> +			continue;
> +
> +		disable_simple_flip_queue_event(i915, ctl_reg, htp_reg);
> +	}
> +}
> +
>  /**
>   * intel_dmc_load_program() - write the firmware from memory to register.
>   * @dev_priv: i915 drm device.
> @@ -308,6 +388,13 @@ void intel_dmc_load_program(struct
> drm_i915_private *dev_priv)
>  	dev_priv->dmc.dc_state = 0;
> 
>  	gen9_set_dc_state_debugmask(dev_priv);
> +
> +	/*
> +	 * Flip queue events need to be disabled before enabling DC5/6.
> +	 * i915 doesn't use the flip queue feature, so disable it already
> +	 * here.
> +	 */
> +	disable_all_simple_flip_queue_events(dev_priv);
>  }
> 
>  void assert_dmc_loaded(struct drm_i915_private *i915) diff --git
> a/drivers/gpu/drm/i915/display/intel_dmc_regs.h
> b/drivers/gpu/drm/i915/display/intel_dmc_regs.h
> index d65e698832eb5..d01861b7db3c0 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_dmc_regs.h
> @@ -10,6 +10,80 @@
> 
>  #define DMC_PROGRAM(addr, i)	_MMIO((addr) + (i) * 4)
>  #define DMC_SSP_BASE_ADDR_GEN9	0x00002FC0
> +
> +#define _PIPEDMC_EVT_HTP_0_A		0x5f004
> +#define _PIPEDMC_EVT_HTP_0_B		0x5f404
> +#define _PIPEDMC_EVT_HTP_0_C		0x5f804
> +#define _PIPEDMC_EVT_HTP_0_D		0x5fc04
> +#define _MAINDMC_EVT_HTP_0		0x8f004
> +
> +#define _PIPEDMC_EVT_HTP_1_A		0x5f008
> +#define _PIPEDMC_EVT_HTP_1_B		0x5f408
> +#define _PIPEDMC_EVT_HTP_1_C		0x5f808
> +#define _PIPEDMC_EVT_HTP_1_D		0x5fc08
> +#define _MAINDMC_EVT_HTP_1		0x8f008
> +
> +#define _DMC_EVT_HTP_0(dmc_id)		_PICK(dmc_id, \
> +					      _MAINDMC_EVT_HTP_0, \
> +					      _PIPEDMC_EVT_HTP_0_A, \
> +					      _PIPEDMC_EVT_HTP_0_B, \
> +					      _PIPEDMC_EVT_HTP_0_C, \
> +					      _PIPEDMC_EVT_HTP_0_D)
> +
> +#define _DMC_EVT_HTP_1(dmc_id)		_PICK(dmc_id, \
> +					      _MAINDMC_EVT_HTP_1, \
> +					      _PIPEDMC_EVT_HTP_1_A, \
> +					      _PIPEDMC_EVT_HTP_1_B, \
> +					      _PIPEDMC_EVT_HTP_1_C, \
> +					      _PIPEDMC_EVT_HTP_1_D)
> +
> +#define DMC_EVT_HTP(dmc_id, handler)	_MMIO(_PICK_EVEN(handler,
> \
> +
> _DMC_EVT_HTP_0(dmc_id), \
> +
> _DMC_EVT_HTP_1(dmc_id)))
> +
> +#define _PIPEDMC_EVT_CTL_0_A		0x5f034
> +#define _PIPEDMC_EVT_CTL_0_B		0x5f434
> +#define _PIPEDMC_EVT_CTL_0_C		0x5f834
> +#define _PIPEDMC_EVT_CTL_0_D		0x5fc34
> +#define _MAINDMC_EVT_CTL_0		0x8f034
> +
> +#define _PIPEDMC_EVT_CTL_1_A		0x5f038
> +#define _PIPEDMC_EVT_CTL_1_B		0x5f438
> +#define _PIPEDMC_EVT_CTL_1_C		0x5f838
> +#define _PIPEDMC_EVT_CTL_1_D		0x5fc38
> +#define _MAINDMC_EVT_CTL_1		0x8f038
> +
> +#define _DMC_EVT_CTL_0(dmc_id)		_PICK(dmc_id, \
> +					      _MAINDMC_EVT_CTL_0, \
> +					      _PIPEDMC_EVT_CTL_0_A, \
> +					      _PIPEDMC_EVT_CTL_0_B, \
> +					      _PIPEDMC_EVT_CTL_0_C, \
> +					      _PIPEDMC_EVT_CTL_0_D)
> +
> +#define _DMC_EVT_CTL_1(dmc_id)		_PICK(dmc_id, \
> +					      _MAINDMC_EVT_CTL_1, \
> +					      _PIPEDMC_EVT_CTL_1_A, \
> +					      _PIPEDMC_EVT_CTL_1_B, \
> +					      _PIPEDMC_EVT_CTL_1_C, \
> +					      _PIPEDMC_EVT_CTL_1_D)
> +
> +#define DMC_EVT_CTL(dmc_id, handler)	_MMIO(_PICK_EVEN(handler,
> \
> +
> _DMC_EVT_CTL_0(dmc_id), \
> +
> _DMC_EVT_CTL_1(dmc_id)))
> +
> +#define DMC_EVT_CTL_ENABLE		REG_BIT(31)
> +#define DMC_EVT_CTL_RECURRING		REG_BIT(30)
> +#define DMC_EVT_CTL_TYPE_MASK		REG_GENMASK(17, 16)
> +#define DMC_EVT_CTL_TYPE_LEVEL_0	0
> +#define DMC_EVT_CTL_TYPE_LEVEL_1	1
> +#define DMC_EVT_CTL_TYPE_EDGE_1_0	2
> +#define DMC_EVT_CTL_TYPE_EDGE_0_1	3
> +
> +#define DMC_EVT_CTL_EVENT_ID_MASK	REG_GENMASK(15, 8)
> +#define DMC_EVT_CTL_EVENT_ID_FALSE	0x01
> +/* An event handler scheduled to run at a 1 kHz frequency. */
> +#define DMC_EVT_CTL_EVENT_ID_CLK_MSEC	0xbf
> +
>  #define DMC_HTP_ADDR_SKL	0x00500034
>  #define DMC_SSP_BASE		_MMIO(0x8F074)
>  #define DMC_HTP_SKL		_MMIO(0x8F004)
> --
> 2.30.2
Imre Deak May 23, 2022, 1:54 p.m. UTC | #2
On Sat, May 21, 2022 at 03:09:30PM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915/d12+: Disable DMC firmware flip queue handlers (rev4)
> URL   : https://patchwork.freedesktop.org/series/103888/
> State : success

Pushed to drm-intel-next, thanks for the reviews.

> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_11682_full -> Patchwork_103888v4_full
> ====================================================
> 
> Summary
> -------
> 
>   **SUCCESS**
> 
>   No regressions found.
> 
>   
> 
> Participating hosts (13 -> 13)
> ------------------------------
> 
>   No changes in participating hosts
> 
> Known issues
> ------------
> 
>   Here are the changes found in Patchwork_103888v4_full that come from known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@gem_eio@in-flight-immediate:
>     - shard-skl:          [PASS][1] -> [TIMEOUT][2] ([i915#3063])
>    [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-skl7/igt@gem_eio@in-flight-immediate.html
>    [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl5/igt@gem_eio@in-flight-immediate.html
> 
>   * igt@gem_exec_fair@basic-flow@rcs0:
>     - shard-tglb:         [PASS][3] -> [FAIL][4] ([i915#2842])
>    [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html
>    [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-tglb1/igt@gem_exec_fair@basic-flow@rcs0.html
> 
>   * igt@gem_exec_fair@basic-none@rcs0:
>     - shard-kbl:          [PASS][5] -> [FAIL][6] ([i915#2842]) +1 similar issue
>    [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-kbl1/igt@gem_exec_fair@basic-none@rcs0.html
>    [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-kbl4/igt@gem_exec_fair@basic-none@rcs0.html
> 
>   * igt@gem_exec_fair@basic-throttle@rcs0:
>     - shard-iclb:         [PASS][7] -> [FAIL][8] ([i915#2849])
>    [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb4/igt@gem_exec_fair@basic-throttle@rcs0.html
>    [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@gem_exec_fair@basic-throttle@rcs0.html
> 
>   * igt@gem_exec_flush@basic-uc-pro-default:
>     - shard-snb:          [PASS][9] -> [SKIP][10] ([fdo#109271]) +1 similar issue
>    [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-snb5/igt@gem_exec_flush@basic-uc-pro-default.html
>    [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-snb6/igt@gem_exec_flush@basic-uc-pro-default.html
> 
>   * igt@gem_lmem_swapping@verify:
>     - shard-skl:          NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#4613])
>    [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl2/igt@gem_lmem_swapping@verify.html
> 
>   * igt@gem_lmem_swapping@verify-random:
>     - shard-apl:          NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#4613])
>    [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl8/igt@gem_lmem_swapping@verify-random.html
> 
>   * igt@i915_pm_dc@dc6-psr:
>     - shard-iclb:         [PASS][13] -> [FAIL][14] ([i915#454])
>    [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb5/igt@i915_pm_dc@dc6-psr.html
>    [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb6/igt@i915_pm_dc@dc6-psr.html
> 
>   * igt@i915_pm_rpm@dpms-mode-unset-non-lpsp:
>     - shard-iclb:         NOTRUN -> [SKIP][15] ([fdo#110892])
>    [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@i915_pm_rpm@dpms-mode-unset-non-lpsp.html
> 
>   * igt@i915_selftest@live@gt_pm:
>     - shard-skl:          NOTRUN -> [DMESG-FAIL][16] ([i915#1886])
>    [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl9/igt@i915_selftest@live@gt_pm.html
> 
>   * igt@i915_suspend@fence-restore-tiled2untiled:
>     - shard-kbl:          [PASS][17] -> [DMESG-WARN][18] ([i915#180])
>    [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-kbl1/igt@i915_suspend@fence-restore-tiled2untiled.html
>    [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-kbl6/igt@i915_suspend@fence-restore-tiled2untiled.html
> 
>   * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
>     - shard-iclb:         NOTRUN -> [SKIP][19] ([i915#5286])
>    [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
> 
>   * igt@kms_big_fb@x-tiled-32bpp-rotate-90:
>     - shard-snb:          NOTRUN -> [SKIP][20] ([fdo#109271]) +21 similar issues
>    [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-snb2/igt@kms_big_fb@x-tiled-32bpp-rotate-90.html
> 
>   * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
>     - shard-skl:          NOTRUN -> [FAIL][21] ([i915#3743])
>    [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl8/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
> 
>   * igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs:
>     - shard-apl:          NOTRUN -> [SKIP][22] ([fdo#109271] / [i915#3886]) +1 similar issue
>    [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl8/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs.html
> 
>   * igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
>     - shard-skl:          NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#3886]) +7 similar issues
>    [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl4/igt@kms_ccs@pipe-c-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html
> 
>   * igt@kms_chamelium@dp-hpd-for-each-pipe:
>     - shard-apl:          NOTRUN -> [SKIP][24] ([fdo#109271] / [fdo#111827]) +3 similar issues
>    [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl8/igt@kms_chamelium@dp-hpd-for-each-pipe.html
> 
>   * igt@kms_chamelium@vga-hpd-after-suspend:
>     - shard-skl:          NOTRUN -> [SKIP][25] ([fdo#109271] / [fdo#111827]) +9 similar issues
>    [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl2/igt@kms_chamelium@vga-hpd-after-suspend.html
> 
>   * igt@kms_color_chamelium@pipe-b-ctm-negative:
>     - shard-iclb:         NOTRUN -> [SKIP][26] ([fdo#109284] / [fdo#111827])
>    [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@kms_color_chamelium@pipe-b-ctm-negative.html
> 
>   * igt@kms_cursor_crc@pipe-b-cursor-32x32-onscreen:
>     - shard-skl:          NOTRUN -> [SKIP][27] ([fdo#109271]) +142 similar issues
>    [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl8/igt@kms_cursor_crc@pipe-b-cursor-32x32-onscreen.html
> 
>   * igt@kms_cursor_crc@pipe-c-cursor-512x170-rapid-movement:
>     - shard-iclb:         NOTRUN -> [SKIP][28] ([fdo#109278]) +1 similar issue
>    [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@kms_cursor_crc@pipe-c-cursor-512x170-rapid-movement.html
> 
>   * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
>     - shard-iclb:         [PASS][29] -> [FAIL][30] ([i915#2346])
>    [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
>    [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
> 
>   * igt@kms_dsc@basic-dsc-enable:
>     - shard-iclb:         NOTRUN -> [SKIP][31] ([i915#3840])
>    [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@kms_dsc@basic-dsc-enable.html
> 
>   * igt@kms_flip@2x-flip-vs-expired-vblank:
>     - shard-iclb:         NOTRUN -> [SKIP][32] ([fdo#109274])
>    [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@kms_flip@2x-flip-vs-expired-vblank.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2:
>     - shard-glk:          [PASS][33] -> [FAIL][34] ([i915#79])
>    [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-glk9/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html
>    [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-glk8/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1:
>     - shard-apl:          [PASS][35] -> [FAIL][36] ([i915#79])
>    [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html
>    [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
>     - shard-skl:          [PASS][37] -> [FAIL][38] ([i915#79])
>    [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-skl6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
>    [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
> 
>   * igt@kms_flip@plain-flip-ts-check@b-edp1:
>     - shard-skl:          [PASS][39] -> [FAIL][40] ([i915#2122])
>    [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-skl6/igt@kms_flip@plain-flip-ts-check@b-edp1.html
>    [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl7/igt@kms_flip@plain-flip-ts-check@b-edp1.html
> 
>   * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
>     - shard-skl:          NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#3701])
>    [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
> 
>   * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite:
>     - shard-iclb:         NOTRUN -> [SKIP][42] ([fdo#109280]) +4 similar issues
>    [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite.html
> 
>   * igt@kms_frontbuffer_tracking@psr-2p-pri-indfb-multidraw:
>     - shard-apl:          NOTRUN -> [SKIP][43] ([fdo#109271]) +36 similar issues
>    [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl8/igt@kms_frontbuffer_tracking@psr-2p-pri-indfb-multidraw.html
> 
>   * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d:
>     - shard-apl:          NOTRUN -> [SKIP][44] ([fdo#109271] / [i915#533])
>    [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl8/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html
> 
>   * igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb:
>     - shard-skl:          NOTRUN -> [FAIL][45] ([fdo#108145] / [i915#265]) +1 similar issue
>    [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-alpha-opaque-fb.html
> 
>   * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale:
>     - shard-iclb:         [PASS][46] -> [SKIP][47] ([i915#5235]) +2 similar issues
>    [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb8/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale.html
>    [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb2/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-a-edp-1-planes-downscale.html
> 
>   * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
>     - shard-skl:          NOTRUN -> [SKIP][48] ([fdo#109271] / [i915#658]) +1 similar issue
>    [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl4/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
> 
>   * igt@kms_psr@psr2_sprite_mmap_gtt:
>     - shard-iclb:         [PASS][49] -> [SKIP][50] ([fdo#109441]) +1 similar issue
>    [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html
>    [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb6/igt@kms_psr@psr2_sprite_mmap_gtt.html
> 
>   * igt@sysfs_clients@busy:
>     - shard-skl:          NOTRUN -> [SKIP][51] ([fdo#109271] / [i915#2994]) +2 similar issues
>    [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl8/igt@sysfs_clients@busy.html
> 
>   * igt@sysfs_clients@split-10:
>     - shard-iclb:         NOTRUN -> [SKIP][52] ([i915#2994])
>    [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@sysfs_clients@split-10.html
> 
>   
> #### Possible fixes ####
> 
>   * igt@fbdev@read:
>     - {shard-rkl}:        ([SKIP][53], [SKIP][54]) ([i915#2582]) -> [PASS][55]
>    [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@fbdev@read.html
>    [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@fbdev@read.html
>    [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@fbdev@read.html
> 
>   * igt@feature_discovery@psr1:
>     - {shard-rkl}:        ([SKIP][56], [SKIP][57]) ([i915#658]) -> [PASS][58]
>    [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@feature_discovery@psr1.html
>    [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@feature_discovery@psr1.html
>    [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@feature_discovery@psr1.html
> 
>   * igt@gem_eio@kms:
>     - {shard-dg1}:        [FAIL][59] ([i915#5784]) -> [PASS][60]
>    [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-dg1-19/igt@gem_eio@kms.html
>    [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-dg1-15/igt@gem_eio@kms.html
>     - shard-tglb:         [FAIL][61] ([i915#5784]) -> [PASS][62]
>    [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-tglb2/igt@gem_eio@kms.html
>    [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-tglb7/igt@gem_eio@kms.html
> 
>   * igt@gem_eio@suspend:
>     - {shard-rkl}:        ([FAIL][63], [PASS][64]) ([i915#3736] / [i915#5115]) -> [PASS][65]
>    [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@gem_eio@suspend.html
>    [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@gem_eio@suspend.html
>    [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-1/igt@gem_eio@suspend.html
> 
>   * igt@gem_exec_fair@basic-none-solo@rcs0:
>     - shard-apl:          [FAIL][66] ([i915#2842]) -> [PASS][67]
>    [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl2/igt@gem_exec_fair@basic-none-solo@rcs0.html
>    [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html
> 
>   * igt@gem_exec_fair@basic-pace-solo@rcs0:
>     - shard-kbl:          [FAIL][68] ([i915#2842]) -> [PASS][69]
>    [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-kbl3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
>    [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-kbl3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
> 
>   * igt@gem_exec_fair@basic-throttle@rcs0:
>     - shard-glk:          [FAIL][70] ([i915#2842]) -> [PASS][71]
>    [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-glk7/igt@gem_exec_fair@basic-throttle@rcs0.html
>    [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-glk5/igt@gem_exec_fair@basic-throttle@rcs0.html
> 
>   * igt@gem_exec_flush@basic-uc-set-default:
>     - shard-snb:          [SKIP][72] ([fdo#109271]) -> [PASS][73] +5 similar issues
>    [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-snb6/igt@gem_exec_flush@basic-uc-set-default.html
>    [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-snb7/igt@gem_exec_flush@basic-uc-set-default.html
> 
>   * igt@gem_huc_copy@huc-copy:
>     - shard-tglb:         [SKIP][74] ([i915#2190]) -> [PASS][75]
>    [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-tglb7/igt@gem_huc_copy@huc-copy.html
>    [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-tglb3/igt@gem_huc_copy@huc-copy.html
> 
>   * igt@gem_softpin@evict-single-offset:
>     - {shard-tglu}:       [FAIL][76] ([i915#4171]) -> [PASS][77]
>    [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-tglu-6/igt@gem_softpin@evict-single-offset.html
>    [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-tglu-8/igt@gem_softpin@evict-single-offset.html
> 
>   * igt@gem_workarounds@suspend-resume:
>     - {shard-rkl}:        ([PASS][78], [FAIL][79]) ([fdo#103375]) -> ([PASS][80], [PASS][81])
>    [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@gem_workarounds@suspend-resume.html
>    [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@gem_workarounds@suspend-resume.html
>    [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-1/igt@gem_workarounds@suspend-resume.html
>    [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-4/igt@gem_workarounds@suspend-resume.html
> 
>   * igt@gem_workarounds@suspend-resume-fd:
>     - {shard-rkl}:        ([FAIL][82], [PASS][83]) ([fdo#103375]) -> [PASS][84]
>    [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@gem_workarounds@suspend-resume-fd.html
>    [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@gem_workarounds@suspend-resume-fd.html
>    [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-1/igt@gem_workarounds@suspend-resume-fd.html
> 
>   * igt@i915_module_load@reload-with-fault-injection:
>     - shard-skl:          [DMESG-WARN][85] ([i915#1982]) -> [PASS][86]
>    [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-skl9/igt@i915_module_load@reload-with-fault-injection.html
>    [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl10/igt@i915_module_load@reload-with-fault-injection.html
> 
>   * igt@i915_pm_rpm@dpms-lpsp:
>     - {shard-rkl}:        ([SKIP][87], [SKIP][88]) ([i915#1397]) -> [PASS][89]
>    [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@i915_pm_rpm@dpms-lpsp.html
>    [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@i915_pm_rpm@dpms-lpsp.html
>    [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@i915_pm_rpm@dpms-lpsp.html
> 
>   * igt@i915_selftest@live@hangcheck:
>     - shard-snb:          [INCOMPLETE][90] ([i915#3921]) -> [PASS][91]
>    [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-snb7/igt@i915_selftest@live@hangcheck.html
>    [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-snb2/igt@i915_selftest@live@hangcheck.html
> 
>   * igt@i915_suspend@forcewake:
>     - shard-apl:          [DMESG-WARN][92] ([i915#180]) -> [PASS][93]
>    [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl7/igt@i915_suspend@forcewake.html
>    [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl8/igt@i915_suspend@forcewake.html
> 
>   * igt@kms_atomic_transition@plane-all-transition-fencing@hdmi-a-1-pipe-a:
>     - {shard-tglu}:       [FAIL][94] -> [PASS][95]
>    [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-tglu-2/igt@kms_atomic_transition@plane-all-transition-fencing@hdmi-a-1-pipe-a.html
>    [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-tglu-4/igt@kms_atomic_transition@plane-all-transition-fencing@hdmi-a-1-pipe-a.html
> 
>   * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
>     - {shard-rkl}:        [SKIP][96] ([i915#1845] / [i915#4098]) -> [PASS][97] +8 similar issues
>    [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
>    [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
> 
>   * igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_rc_ccs:
>     - {shard-rkl}:        ([SKIP][98], [SKIP][99]) ([i915#1845] / [i915#4098]) -> [PASS][100]
>    [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_rc_ccs.html
>    [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_rc_ccs.html
>    [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_rc_ccs.html
> 
>   * igt@kms_color@pipe-b-ctm-max:
>     - {shard-rkl}:        [SKIP][101] ([i915#1149] / [i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][102]
>    [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_color@pipe-b-ctm-max.html
>    [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_color@pipe-b-ctm-max.html
> 
>   * igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen:
>     - {shard-rkl}:        ([SKIP][103], [SKIP][104]) ([fdo#112022] / [i915#4070]) -> [PASS][105]
>    [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen.html
>    [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen.html
>    [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen.html
> 
>   * igt@kms_cursor_crc@pipe-a-cursor-suspend:
>     - {shard-rkl}:        [SKIP][106] ([fdo#112022] / [i915#4070]) -> [PASS][107] +3 similar issues
>    [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
>    [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
> 
>   * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
>     - {shard-rkl}:        [SKIP][108] ([fdo#111825] / [i915#4070]) -> [PASS][109] +2 similar issues
>    [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
>    [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
> 
>   * igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled:
>     - {shard-rkl}:        ([SKIP][110], [SKIP][111]) ([fdo#111314] / [i915#4098] / [i915#4369]) -> [PASS][112]
>    [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled.html
>    [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled.html
>    [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb2101010-mmap-wc-untiled.html
> 
>   * igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-untiled:
>     - {shard-rkl}:        [SKIP][113] ([fdo#111314] / [i915#4098] / [i915#4369]) -> [PASS][114]
>    [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-untiled.html
>    [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-untiled.html
> 
>   * igt@kms_fbcon_fbt@fbc-suspend:
>     - shard-apl:          [FAIL][115] ([i915#4767]) -> [PASS][116]
>    [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl1/igt@kms_fbcon_fbt@fbc-suspend.html
>    [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl7/igt@kms_fbcon_fbt@fbc-suspend.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
>     - shard-skl:          [FAIL][117] ([i915#2122]) -> [PASS][118]
>    [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-skl7/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
>    [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl4/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
> 
>   * igt@kms_flip@flip-vs-suspend-interruptible@c-edp1:
>     - shard-tglb:         [DMESG-WARN][119] ([i915#2411] / [i915#2867]) -> [PASS][120]
>    [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-tglb7/igt@kms_flip@flip-vs-suspend-interruptible@c-edp1.html
>    [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-tglb2/igt@kms_flip@flip-vs-suspend-interruptible@c-edp1.html
> 
>   * igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt:
>     - {shard-rkl}:        ([SKIP][121], [SKIP][122]) ([i915#1849] / [i915#4098]) -> [PASS][123] +5 similar issues
>    [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt.html
>    [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt.html
>    [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt.html
> 
>   * igt@kms_frontbuffer_tracking@psr-rgb565-draw-pwrite:
>     - {shard-rkl}:        [SKIP][124] ([i915#1849] / [i915#4098]) -> [PASS][125] +9 similar issues
>    [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-rgb565-draw-pwrite.html
>    [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-rgb565-draw-pwrite.html
> 
>   * igt@kms_plane@plane-position-covered@pipe-b-planes:
>     - {shard-rkl}:        [SKIP][126] ([i915#3558]) -> [PASS][127] +1 similar issue
>    [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_plane@plane-position-covered@pipe-b-planes.html
>    [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_plane@plane-position-covered@pipe-b-planes.html
> 
>   * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc:
>     - {shard-rkl}:        [SKIP][128] ([i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][129] +3 similar issues
>    [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
>    [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html
> 
>   * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
>     - shard-skl:          [FAIL][130] ([fdo#108145] / [i915#265]) -> [PASS][131]
>    [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-skl8/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
>    [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl7/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
> 
>   * igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping:
>     - shard-iclb:         [SKIP][132] ([i915#5176]) -> [PASS][133] +1 similar issue
>    [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb3/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping.html
>    [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb5/igt@kms_plane_scaling@scaler-with-clipping-clamping@pipe-b-edp-1-scaler-with-clipping-clamping.html
> 
>   * igt@kms_psr@dpms:
>     - {shard-rkl}:        [SKIP][134] ([i915#1072]) -> [PASS][135]
>    [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_psr@dpms.html
>    [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_psr@dpms.html
> 
>   * igt@kms_psr@primary_render:
>     - {shard-rkl}:        ([SKIP][136], [SKIP][137]) ([i915#1072]) -> [PASS][138]
>    [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@kms_psr@primary_render.html
>    [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-4/igt@kms_psr@primary_render.html
>    [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@kms_psr@primary_render.html
> 
>   * igt@kms_psr@psr2_primary_mmap_cpu:
>     - shard-iclb:         [SKIP][139] ([fdo#109441]) -> [PASS][140]
>    [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb8/igt@kms_psr@psr2_primary_mmap_cpu.html
>    [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html
> 
>   * igt@kms_rotation_crc@primary-rotation-90:
>     - shard-kbl:          [FAIL][141] -> [PASS][142]
>    [141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-kbl1/igt@kms_rotation_crc@primary-rotation-90.html
>    [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-kbl4/igt@kms_rotation_crc@primary-rotation-90.html
> 
>   * igt@perf@polling:
>     - {shard-rkl}:        [FAIL][143] ([i915#5639]) -> ([PASS][144], [PASS][145])
>    [143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@perf@polling.html
>    [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-4/igt@perf@polling.html
>    [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-1/igt@perf@polling.html
> 
>   * igt@perf@polling-parameterized:
>     - shard-skl:          [FAIL][146] ([i915#5639]) -> [PASS][147]
>    [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-skl3/igt@perf@polling-parameterized.html
>    [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl4/igt@perf@polling-parameterized.html
> 
>   * igt@prime_vgem@basic-fence-flip:
>     - {shard-rkl}:        [SKIP][148] ([i915#3708] / [i915#4098]) -> [PASS][149]
>    [148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-rkl-1/igt@prime_vgem@basic-fence-flip.html
>    [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-rkl-6/igt@prime_vgem@basic-fence-flip.html
> 
>   
> #### Warnings ####
> 
>   * igt@gem_eio@unwedge-stress:
>     - shard-tglb:         [TIMEOUT][150] ([i915#3063]) -> [FAIL][151] ([i915#5784])
>    [150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-tglb7/igt@gem_eio@unwedge-stress.html
>    [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-tglb3/igt@gem_eio@unwedge-stress.html
> 
>   * igt@gem_exec_balancer@parallel-keep-in-fence:
>     - shard-iclb:         [DMESG-WARN][152] ([i915#5614]) -> [SKIP][153] ([i915#4525])
>    [152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb4/igt@gem_exec_balancer@parallel-keep-in-fence.html
>    [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb7/igt@gem_exec_balancer@parallel-keep-in-fence.html
> 
>   * igt@gem_exec_balancer@parallel-ordering:
>     - shard-iclb:         [SKIP][154] ([i915#4525]) -> [DMESG-FAIL][155] ([i915#5614])
>    [154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb8/igt@gem_exec_balancer@parallel-ordering.html
>    [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb1/igt@gem_exec_balancer@parallel-ordering.html
> 
>   * igt@gem_exec_balancer@parallel-out-fence:
>     - shard-iclb:         [SKIP][156] ([i915#4525]) -> [DMESG-WARN][157] ([i915#5614])
>    [156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb6/igt@gem_exec_balancer@parallel-out-fence.html
>    [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb2/igt@gem_exec_balancer@parallel-out-fence.html
> 
>   * igt@kms_plane_cursor@pipe-d-overlay-size-64:
>     - shard-skl:          [SKIP][158] ([fdo#109271]) -> [SKIP][159] ([fdo#109271] / [i915#1888])
>    [158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-skl1/igt@kms_plane_cursor@pipe-d-overlay-size-64.html
>    [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-skl5/igt@kms_plane_cursor@pipe-d-overlay-size-64.html
> 
>   * igt@kms_psr2_su@page_flip-p010:
>     - shard-iclb:         [SKIP][160] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [FAIL][161] ([i915#5939])
>    [160]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-iclb8/igt@kms_psr2_su@page_flip-p010.html
>    [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-iclb2/igt@kms_psr2_su@page_flip-p010.html
> 
>   * igt@runner@aborted:
>     - shard-apl:          ([FAIL][162], [FAIL][163], [FAIL][164], [FAIL][165], [FAIL][166]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][167], [FAIL][168], [FAIL][169], [FAIL][170]) ([i915#3002] / [i915#4312] / [i915#5257])
>    [162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl4/igt@runner@aborted.html
>    [163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl1/igt@runner@aborted.html
>    [164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl3/igt@runner@aborted.html
>    [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl2/igt@runner@aborted.html
>    [166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11682/shard-apl7/igt@runner@aborted.html
>    [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl8/igt@runner@aborted.html
>    [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl7/igt@runner@aborted.html
>    [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl2/igt@runner@aborted.html
>    [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_103888v4/shard-apl2/igt@runner@aborted.html
> 
>   
>   {name}: This element is suppressed. This means it is ignored when computing
>           the status of the difference (SUCCESS, WARNING, or FAILURE).
> 
>   [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
>   [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
>   [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
>   [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
>   [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
>   [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
>   [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
>   [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
>   [fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
>   [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
>   [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
>   [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
>   [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
>   [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
>   [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
>   [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
>   [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
>   [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
>   [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
>   [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
>   [fdo#110892]: https://bugs.freedesktop.org/show_bug.cgi?id=110892
>   [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
>   [fdo#111314]: https://bugs.freedesktop.org/show_bug.cgi?id=111314
>   [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
>   [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
>   [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
>   [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
>   [fdo#112022]: https://bugs.freedesktop.org/show_bug.cgi?id=112022
>   [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
>   [i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
>   [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
>   [i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
>   [i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
>   [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
>   [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
>   [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
>   [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
>   [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
>   [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
>   [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
>   [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
>   [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
>   [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
>   [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
>   [i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
>   [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
>   [i915#1911]: https://gitlab.freedesktop.org/drm/intel/issues/1911
>   [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
>   [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
>   [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
>   [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
>   [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
>   [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
>   [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
>   [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
>   [i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
>   [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
>   [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
>   [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
>   [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
>   [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
>   [i915#2849]: https://gitlab.freedesktop.org/drm/intel/issues/2849
>   [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
>   [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
>   [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
>   [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
>   [i915#3012]: https://gitlab.freedesktop.org/drm/intel/issues/3012
>   [i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
>   [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
>   [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
>   [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
>   [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
>   [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
>   [i915#3319]: https://gitlab.freedesktop.org/drm/intel/issues/3319
>   [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
>   [i915#3376]: https://gitlab.freedesktop.org/drm/intel/issues/3376
>   [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
>   [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
>   [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
>   [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
>   [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
>   [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
>   [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
>   [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
>   [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
>   [i915#3701]: https://gitlab.freedesktop.org/drm/intel/issues/3701
>   [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
>   [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
>   [i915#3736]: https://gitlab.freedesktop.org/drm/intel/issues/3736
>   [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
>   [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
>   [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
>   [i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
>   [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
>   [i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
>   [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
>   [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
>   [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
>   [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
>   [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
>   [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
>   [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
>   [i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
>   [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
>   [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
>   [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
>   [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
>   [i915#4278]: https://gitlab.freedesktop.org/drm/intel/issues/4278
>   [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
>   [i915#4369]: https://gitlab.freedesktop.org/drm/intel/issues/4369
>   [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
>   [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
>   [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
>   [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
>   [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
>   [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
>   [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
>   [i915#4807]: https://gitlab.freedesktop.org/drm/intel/issues/4807
>   [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
>   [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
>   [i915#4842]: https://gitlab.freedesktop.org/drm/intel/issues/4842
>   [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
>   [i915#4853]: https://gitlab.freedesktop.org/drm/intel/issues/4853
>   [i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
>   [i915#4855]: https://gitlab.freedesktop.org/drm/intel/issues/4855
>   [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
>   [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
>   [i915#4883]: https://gitlab.freedesktop.org/drm/intel/issues/4883
>   [i915#4893]: https://gitlab.freedesktop.org/drm/intel/issues/4893
>   [i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
>   [i915#5098]: https://gitlab.freedesktop.org/drm/intel/issues/5098
>   [i915#5115]: https://gitlab.freedesktop.org/drm/intel/issues/5115
>   [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
>   [i915#5182]: https://gitlab.freedesktop.org/drm/intel/issues/5182
>   [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
>   [i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
>   [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
>   [i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
>   [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
>   [i915#5303]: https://gitlab.freedesktop.org/drm/intel/issues/5303
>   [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
>   [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
>   [i915#5614]: https://gitlab.freedesktop.org/drm/intel/issues/5614
>   [i915#5639]: https://gitlab.freedesktop.org/drm/intel/issues/5639
>   [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
>   [i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939
>   [i915#6029]: https://gitlab.freedesktop.org/drm/intel/issues/6029
>   [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
>   [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
> 
> 
> Build changes
> -------------
> 
>   * Linux: CI_DRM_11682 -> Patchwork_103888v4
> 
>   CI-20190529: 20190529
>   CI_DRM_11682: 8a34ee3d1f9619f8c235c485235a1a5d20f61585 @ git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_6484: 14ad49f5b6ed861eda93e9d6b6ed0f3c77d228d1 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
>   Patchwork_103888v4: 8a34ee3d1f9619f8c235c485235a1a5d20f61585 @ 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_103888v4/index.html
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
index 257cf662f9f4b..37e58b056cfb7 100644
--- a/drivers/gpu/drm/i915/display/intel_dmc.c
+++ b/drivers/gpu/drm/i915/display/intel_dmc.c
@@ -244,9 +244,14 @@  struct stepping_info {
 	char substepping;
 };
 
+static bool intel_dmc_has_fw_payload(struct drm_i915_private *i915, int dmc_id)
+{
+	return i915->dmc.dmc_info[dmc_id].payload;
+}
+
 bool intel_dmc_has_payload(struct drm_i915_private *i915)
 {
-	return i915->dmc.dmc_info[DMC_FW_MAIN].payload;
+	return intel_dmc_has_fw_payload(i915, DMC_FW_MAIN);
 }
 
 static const struct stepping_info *
@@ -268,6 +273,81 @@  static void gen9_set_dc_state_debugmask(struct drm_i915_private *dev_priv)
 	intel_de_posting_read(dev_priv, DC_STATE_DEBUG);
 }
 
+static void
+disable_simple_flip_queue_event(struct drm_i915_private *i915,
+				i915_reg_t ctl_reg, i915_reg_t htp_reg)
+{
+	u32 event_ctl;
+	u32 event_htp;
+
+	event_ctl = intel_de_read(i915, ctl_reg);
+	event_htp = intel_de_read(i915, htp_reg);
+	if (event_ctl != (DMC_EVT_CTL_ENABLE |
+			  DMC_EVT_CTL_RECURRING |
+			  REG_FIELD_PREP(DMC_EVT_CTL_TYPE_MASK,
+					 DMC_EVT_CTL_TYPE_EDGE_0_1) |
+			  REG_FIELD_PREP(DMC_EVT_CTL_EVENT_ID_MASK,
+					 DMC_EVT_CTL_EVENT_ID_CLK_MSEC)) ||
+	    !event_htp) {
+		drm_dbg_kms(&i915->drm,
+			    "Unexpected DMC event configuration (control %08x htp %08x)\n",
+			    event_ctl, event_htp);
+		return;
+	}
+
+	intel_de_write(i915, ctl_reg,
+		       REG_FIELD_PREP(DMC_EVT_CTL_TYPE_MASK,
+				      DMC_EVT_CTL_TYPE_EDGE_0_1) |
+		       REG_FIELD_PREP(DMC_EVT_CTL_EVENT_ID_MASK,
+				      DMC_EVT_CTL_EVENT_ID_FALSE));
+	intel_de_write(i915, htp_reg, 0);
+}
+
+static bool
+get_simple_flip_queue_event_regs(struct drm_i915_private *i915, int dmc_id,
+				 i915_reg_t *ctl_reg, i915_reg_t *htp_reg)
+{
+	switch (dmc_id) {
+	case DMC_FW_MAIN:
+		if (DISPLAY_VER(i915) == 12) {
+			*ctl_reg = DMC_EVT_CTL(dmc_id, 3);
+			*htp_reg = DMC_EVT_HTP(dmc_id, 3);
+
+			return true;
+		}
+		break;
+	default:
+		if (IS_DG2(i915)) {
+			*ctl_reg = DMC_EVT_CTL(dmc_id, 2);
+			*htp_reg = DMC_EVT_HTP(dmc_id, 2);
+
+			return true;
+		}
+		break;
+	}
+
+	return false;
+}
+
+static void
+disable_all_simple_flip_queue_events(struct drm_i915_private *i915)
+{
+	int dmc_id;
+
+	for (dmc_id = 0; dmc_id < DMC_FW_MAX; dmc_id++) {
+		i915_reg_t ctl_reg;
+		i915_reg_t htp_reg;
+
+		if (!intel_dmc_has_fw_payload(i915, dmc_id))
+			continue;
+
+		if (!get_simple_flip_queue_event_regs(i915, dmc_id, &ctl_reg, &htp_reg))
+			continue;
+
+		disable_simple_flip_queue_event(i915, ctl_reg, htp_reg);
+	}
+}
+
 /**
  * intel_dmc_load_program() - write the firmware from memory to register.
  * @dev_priv: i915 drm device.
@@ -308,6 +388,13 @@  void intel_dmc_load_program(struct drm_i915_private *dev_priv)
 	dev_priv->dmc.dc_state = 0;
 
 	gen9_set_dc_state_debugmask(dev_priv);
+
+	/*
+	 * Flip queue events need to be disabled before enabling DC5/6.
+	 * i915 doesn't use the flip queue feature, so disable it already
+	 * here.
+	 */
+	disable_all_simple_flip_queue_events(dev_priv);
 }
 
 void assert_dmc_loaded(struct drm_i915_private *i915)
diff --git a/drivers/gpu/drm/i915/display/intel_dmc_regs.h b/drivers/gpu/drm/i915/display/intel_dmc_regs.h
index d65e698832eb5..d01861b7db3c0 100644
--- a/drivers/gpu/drm/i915/display/intel_dmc_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_dmc_regs.h
@@ -10,6 +10,80 @@ 
 
 #define DMC_PROGRAM(addr, i)	_MMIO((addr) + (i) * 4)
 #define DMC_SSP_BASE_ADDR_GEN9	0x00002FC0
+
+#define _PIPEDMC_EVT_HTP_0_A		0x5f004
+#define _PIPEDMC_EVT_HTP_0_B		0x5f404
+#define _PIPEDMC_EVT_HTP_0_C		0x5f804
+#define _PIPEDMC_EVT_HTP_0_D		0x5fc04
+#define _MAINDMC_EVT_HTP_0		0x8f004
+
+#define _PIPEDMC_EVT_HTP_1_A		0x5f008
+#define _PIPEDMC_EVT_HTP_1_B		0x5f408
+#define _PIPEDMC_EVT_HTP_1_C		0x5f808
+#define _PIPEDMC_EVT_HTP_1_D		0x5fc08
+#define _MAINDMC_EVT_HTP_1		0x8f008
+
+#define _DMC_EVT_HTP_0(dmc_id)		_PICK(dmc_id, \
+					      _MAINDMC_EVT_HTP_0, \
+					      _PIPEDMC_EVT_HTP_0_A, \
+					      _PIPEDMC_EVT_HTP_0_B, \
+					      _PIPEDMC_EVT_HTP_0_C, \
+					      _PIPEDMC_EVT_HTP_0_D)
+
+#define _DMC_EVT_HTP_1(dmc_id)		_PICK(dmc_id, \
+					      _MAINDMC_EVT_HTP_1, \
+					      _PIPEDMC_EVT_HTP_1_A, \
+					      _PIPEDMC_EVT_HTP_1_B, \
+					      _PIPEDMC_EVT_HTP_1_C, \
+					      _PIPEDMC_EVT_HTP_1_D)
+
+#define DMC_EVT_HTP(dmc_id, handler)	_MMIO(_PICK_EVEN(handler, \
+							 _DMC_EVT_HTP_0(dmc_id), \
+							 _DMC_EVT_HTP_1(dmc_id)))
+
+#define _PIPEDMC_EVT_CTL_0_A		0x5f034
+#define _PIPEDMC_EVT_CTL_0_B		0x5f434
+#define _PIPEDMC_EVT_CTL_0_C		0x5f834
+#define _PIPEDMC_EVT_CTL_0_D		0x5fc34
+#define _MAINDMC_EVT_CTL_0		0x8f034
+
+#define _PIPEDMC_EVT_CTL_1_A		0x5f038
+#define _PIPEDMC_EVT_CTL_1_B		0x5f438
+#define _PIPEDMC_EVT_CTL_1_C		0x5f838
+#define _PIPEDMC_EVT_CTL_1_D		0x5fc38
+#define _MAINDMC_EVT_CTL_1		0x8f038
+
+#define _DMC_EVT_CTL_0(dmc_id)		_PICK(dmc_id, \
+					      _MAINDMC_EVT_CTL_0, \
+					      _PIPEDMC_EVT_CTL_0_A, \
+					      _PIPEDMC_EVT_CTL_0_B, \
+					      _PIPEDMC_EVT_CTL_0_C, \
+					      _PIPEDMC_EVT_CTL_0_D)
+
+#define _DMC_EVT_CTL_1(dmc_id)		_PICK(dmc_id, \
+					      _MAINDMC_EVT_CTL_1, \
+					      _PIPEDMC_EVT_CTL_1_A, \
+					      _PIPEDMC_EVT_CTL_1_B, \
+					      _PIPEDMC_EVT_CTL_1_C, \
+					      _PIPEDMC_EVT_CTL_1_D)
+
+#define DMC_EVT_CTL(dmc_id, handler)	_MMIO(_PICK_EVEN(handler, \
+							 _DMC_EVT_CTL_0(dmc_id), \
+							 _DMC_EVT_CTL_1(dmc_id)))
+
+#define DMC_EVT_CTL_ENABLE		REG_BIT(31)
+#define DMC_EVT_CTL_RECURRING		REG_BIT(30)
+#define DMC_EVT_CTL_TYPE_MASK		REG_GENMASK(17, 16)
+#define DMC_EVT_CTL_TYPE_LEVEL_0	0
+#define DMC_EVT_CTL_TYPE_LEVEL_1	1
+#define DMC_EVT_CTL_TYPE_EDGE_1_0	2
+#define DMC_EVT_CTL_TYPE_EDGE_0_1	3
+
+#define DMC_EVT_CTL_EVENT_ID_MASK	REG_GENMASK(15, 8)
+#define DMC_EVT_CTL_EVENT_ID_FALSE	0x01
+/* An event handler scheduled to run at a 1 kHz frequency. */
+#define DMC_EVT_CTL_EVENT_ID_CLK_MSEC	0xbf
+
 #define DMC_HTP_ADDR_SKL	0x00500034
 #define DMC_SSP_BASE		_MMIO(0x8F074)
 #define DMC_HTP_SKL		_MMIO(0x8F004)