All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] drm/i915: Use drm_printer more
@ 2024-02-15 16:40 Ville Syrjala
  2024-02-15 16:40 ` [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall Ville Syrjala
                   ` (32 more replies)
  0 siblings, 33 replies; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Convert the entire state dumper and state checker to
use drm_printer.

One can perhaps consider this as the first step towards
hooking into .atomic_print_state(). Unfortunately that
stuff is a full blown midlayer currently, so we'd first
have to demidlayer it to make it work for us. The other
annoying thing there is the format in which it currently
prints stuff. Whoever wrote that had some kind of allergy
towards whitespace, making the output not so great for
human consumption, which is the primary use case for us.

Ville Syrjälä (12):
  drm/i915: Indicate which pipe failed the fastset check overall
  drm/i915: Include CRTC info in infoframe mismatch prints
  drm/i915: Include CRTC info in VSC SDP mismatch prints
  drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
  drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
  drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
  drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
  drm/i915: Convert the remaining state dump to drm_printer
  drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
  drm/i915: Relocate pipe_config_mismatch()
  drm/i915: Reuse pipe_config_mismatch() more
  drm/i915: Create the printer only once in intel_pipe_config_compare()

 .../drm/i915/display/intel_crtc_state_dump.c  | 330 ++++++++----------
 drivers/gpu/drm/i915/display/intel_display.c  | 189 +++++-----
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 105 +++---
 drivers/gpu/drm/i915/display/intel_dpll_mgr.h |   2 +
 4 files changed, 288 insertions(+), 338 deletions(-)

-- 
2.43.0


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

* [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-22 21:46   ` Rodrigo Vivi
  2024-02-15 16:40 ` [PATCH 02/12] drm/i915: Include CRTC info in infoframe mismatch prints Ville Syrjala
                   ` (31 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

intel_crtc_check_fastset() is done per-pipe, so it would be nice
to know which pipe it was that failed its checkup.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 00ac65a14029..a7f487f5c2b2 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -5562,14 +5562,16 @@ static int intel_modeset_checks(struct intel_atomic_state *state)
 static void intel_crtc_check_fastset(const struct intel_crtc_state *old_crtc_state,
 				     struct intel_crtc_state *new_crtc_state)
 {
-	struct drm_i915_private *i915 = to_i915(old_crtc_state->uapi.crtc->dev);
+	struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc);
+	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 
 	/* only allow LRR when the timings stay within the VRR range */
 	if (old_crtc_state->vrr.in_range != new_crtc_state->vrr.in_range)
 		new_crtc_state->update_lrr = false;
 
 	if (!intel_pipe_config_compare(old_crtc_state, new_crtc_state, true))
-		drm_dbg_kms(&i915->drm, "fastset requirement not met, forcing full modeset\n");
+		drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] fastset requirement not met, forcing full modeset\n",
+			    crtc->base.base.id, crtc->base.name);
 	else
 		new_crtc_state->uapi.mode_changed = false;
 
-- 
2.43.0


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

* [PATCH 02/12] drm/i915: Include CRTC info in infoframe mismatch prints
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
  2024-02-15 16:40 ` [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-22 21:47   ` Rodrigo Vivi
  2024-02-15 16:40 ` [PATCH 03/12] drm/i915: Include CRTC info in VSC SDP " Ville Syrjala
                   ` (30 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Most crtc state mismatches include the CRTC id+name in the
prints. Also include it in the infoframe mismatches.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index a7f487f5c2b2..e3520a3da468 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4788,23 +4788,27 @@ intel_compare_buffer(const u8 *a, const u8 *b, size_t len)
 }
 
 static void
-pipe_config_infoframe_mismatch(struct drm_i915_private *dev_priv,
-			       bool fastset, const char *name,
+pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
+			       const char *name,
 			       const union hdmi_infoframe *a,
 			       const union hdmi_infoframe *b)
 {
+	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+
 	if (fastset) {
 		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
 		drm_dbg_kms(&dev_priv->drm,
-			    "fastset requirement not met in %s infoframe\n", name);
+			    "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
+			    crtc->base.base.id, crtc->base.name, name);
 		drm_dbg_kms(&dev_priv->drm, "expected:\n");
 		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, a);
 		drm_dbg_kms(&dev_priv->drm, "found:\n");
 		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, b);
 	} else {
-		drm_err(&dev_priv->drm, "mismatch in %s infoframe\n", name);
+		drm_err(&dev_priv->drm, "[CRTC:%d:%s] mismatch in %s infoframe\n",
+			crtc->base.base.id, crtc->base.name, name);
 		drm_err(&dev_priv->drm, "expected:\n");
 		hdmi_infoframe_log(KERN_ERR, dev_priv->drm.dev, a);
 		drm_err(&dev_priv->drm, "found:\n");
@@ -5072,7 +5076,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_INFOFRAME(name) do { \
 	if (!intel_compare_infoframe(&current_config->infoframes.name, \
 				     &pipe_config->infoframes.name)) { \
-		pipe_config_infoframe_mismatch(dev_priv, fastset, __stringify(name), \
+		pipe_config_infoframe_mismatch(fastset, crtc, __stringify(name), \
 					       &current_config->infoframes.name, \
 					       &pipe_config->infoframes.name); \
 		ret = false; \
-- 
2.43.0


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

* [PATCH 03/12] drm/i915: Include CRTC info in VSC SDP mismatch prints
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
  2024-02-15 16:40 ` [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall Ville Syrjala
  2024-02-15 16:40 ` [PATCH 02/12] drm/i915: Include CRTC info in infoframe mismatch prints Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-22 21:48   ` Rodrigo Vivi
  2024-02-15 16:40 ` [PATCH 04/12] drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer Ville Syrjala
                   ` (29 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Most crtc state mismatches include the CRTC id+name in the
prints. Also include it in the VSC SDP mismatches.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index e3520a3da468..2aabfa154d8a 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4817,21 +4817,24 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
 }
 
 static void
-pipe_config_dp_vsc_sdp_mismatch(struct drm_i915_private *i915,
-				bool fastset, const char *name,
+pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
+				const char *name,
 				const struct drm_dp_vsc_sdp *a,
 				const struct drm_dp_vsc_sdp *b)
 {
+	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	struct drm_printer p;
 
 	if (fastset) {
 		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 
-		drm_printf(&p, "fastset requirement not met in %s dp sdp\n", name);
+		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s dp sdp\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	} else {
 		p = drm_err_printer(&i915->drm, NULL);
 
-		drm_printf(&p, "mismatch in %s dp sdp\n", name);
+		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s dp sdp\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	}
 
 	drm_printf(&p, "expected:\n");
@@ -5086,7 +5089,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_DP_VSC_SDP(name) do { \
 	if (!intel_compare_dp_vsc_sdp(&current_config->infoframes.name, \
 				      &pipe_config->infoframes.name)) { \
-		pipe_config_dp_vsc_sdp_mismatch(dev_priv, fastset, __stringify(name), \
+		pipe_config_dp_vsc_sdp_mismatch(fastset, crtc, __stringify(name), \
 						&current_config->infoframes.name, \
 						&pipe_config->infoframes.name); \
 		ret = false; \
-- 
2.43.0


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

* [PATCH 04/12] drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (2 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 03/12] drm/i915: Include CRTC info in VSC SDP " Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-22 21:50   ` Rodrigo Vivi
  2024-02-15 16:40 ` [PATCH 05/12] drm/i915: Convert pipe_config_buffer_mismatch() " Ville Syrjala
                   ` (28 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Utilize drm_printer in pipe_config_infoframe_mismatch() to avoid
a bit of code duplication.

hdmi_infoframe_log() can't use the printer of course, but for that
we can just figure out which loglevel to use. And we do need to keep
the explicit drm_debug_enabled(DRM_UT_KMS) since hdmi_infoframe_log()
won't do it for us.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 32 +++++++++++---------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 2aabfa154d8a..0292c49e0dad 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4793,27 +4793,31 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
 			       const union hdmi_infoframe *a,
 			       const union hdmi_infoframe *b)
 {
-	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+	struct drm_printer p;
+	const char *loglevel;
 
 	if (fastset) {
 		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
-		drm_dbg_kms(&dev_priv->drm,
-			    "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
-			    crtc->base.base.id, crtc->base.name, name);
-		drm_dbg_kms(&dev_priv->drm, "expected:\n");
-		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, a);
-		drm_dbg_kms(&dev_priv->drm, "found:\n");
-		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, b);
+		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
+		loglevel = KERN_DEBUG;
+
+		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	} else {
-		drm_err(&dev_priv->drm, "[CRTC:%d:%s] mismatch in %s infoframe\n",
-			crtc->base.base.id, crtc->base.name, name);
-		drm_err(&dev_priv->drm, "expected:\n");
-		hdmi_infoframe_log(KERN_ERR, dev_priv->drm.dev, a);
-		drm_err(&dev_priv->drm, "found:\n");
-		hdmi_infoframe_log(KERN_ERR, dev_priv->drm.dev, b);
+		p = drm_err_printer(&i915->drm, NULL);
+		loglevel = KERN_ERR;
+
+		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s infoframe\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	}
+
+	drm_printf(&p, "expected:\n");
+	hdmi_infoframe_log(loglevel, i915->drm.dev, a);
+	drm_printf(&p, "found:\n");
+	hdmi_infoframe_log(loglevel, i915->drm.dev, b);
 }
 
 static void
-- 
2.43.0


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

* [PATCH 05/12] drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (3 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 04/12] drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-22 21:51   ` Rodrigo Vivi
  2024-02-15 16:40 ` [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() " Ville Syrjala
                   ` (27 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Utilize drm_printer in pipe_config_infoframe_mismatch() to avoid
a bit of code duplication.

print_hex_dump() doesn't know anything about the printer so
it still needs the DRM_UT_KMS check and special handling for
the loglevel. But at least we end up with a bit less copy-pasta.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 37 ++++++++++----------
 1 file changed, 19 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 0292c49e0dad..e5010049d52e 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4866,33 +4866,34 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
 			    const char *name,
 			    const u8 *a, const u8 *b, size_t len)
 {
-	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
+	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+	struct drm_printer p;
+	const char *loglevel;
 
 	if (fastset) {
 		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
-		/* only dump up to the last difference */
-		len = memcmp_diff_len(a, b, len);
+		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
+		loglevel = KERN_DEBUG;
 
-		drm_dbg_kms(&dev_priv->drm,
-			    "[CRTC:%d:%s] fastset requirement not met in %s buffer\n",
-			    crtc->base.base.id, crtc->base.name, name);
-		print_hex_dump(KERN_DEBUG, "expected: ", DUMP_PREFIX_NONE,
-			       16, 0, a, len, false);
-		print_hex_dump(KERN_DEBUG, "found: ", DUMP_PREFIX_NONE,
-			       16, 0, b, len, false);
+		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s buffer\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	} else {
-		/* only dump up to the last difference */
-		len = memcmp_diff_len(a, b, len);
+		p = drm_err_printer(&i915->drm, NULL);
+		loglevel = KERN_ERR;
 
-		drm_err(&dev_priv->drm, "[CRTC:%d:%s] mismatch in %s buffer\n",
-			crtc->base.base.id, crtc->base.name, name);
-		print_hex_dump(KERN_ERR, "expected: ", DUMP_PREFIX_NONE,
-			       16, 0, a, len, false);
-		print_hex_dump(KERN_ERR, "found: ", DUMP_PREFIX_NONE,
-			       16, 0, b, len, false);
+		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s buffer\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	}
+
+	/* only dump up to the last difference */
+	len = memcmp_diff_len(a, b, len);
+
+	print_hex_dump(loglevel, "expected: ", DUMP_PREFIX_NONE,
+		       16, 0, a, len, false);
+	print_hex_dump(loglevel, "found: ", DUMP_PREFIX_NONE,
+		       16, 0, b, len, false);
 }
 
 static void __printf(4, 5)
-- 
2.43.0


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

* [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (4 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 05/12] drm/i915: Convert pipe_config_buffer_mismatch() " Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-22 21:54   ` Rodrigo Vivi
  2024-02-29 18:40   ` [PATCH v2 " Ville Syrjala
  2024-02-15 16:40 ` [PATCH 07/12] drm/i915: Use drm_printer more extensively in intel_crtc_state_dump() Ville Syrjala
                   ` (26 subsequent siblings)
  32 siblings, 2 replies; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Utilize drm_printer in pipe_config_pll_mismatch() to avoid
a bit of code duplication.

To achieve this we need to plumb the printer all way to the
dpll_mgr .dump_hw_state() functions. Those are also used by
intel_crtc_state_dump() which needs to be adjusted as well.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../drm/i915/display/intel_crtc_state_dump.c  |   5 +-
 drivers/gpu/drm/i915/display/intel_display.c  |  27 ++---
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 105 ++++++++----------
 drivers/gpu/drm/i915/display/intel_dpll_mgr.h |   2 +
 4 files changed, 67 insertions(+), 72 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
index 4bcf446c75f4..59d2b3d39951 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
@@ -205,9 +205,12 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	const struct intel_plane_state *plane_state;
 	struct intel_plane *plane;
+	struct drm_printer p;
 	char buf[64];
 	int i;
 
+	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
+
 	drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] enable: %s [%s]\n",
 		    crtc->base.base.id, crtc->base.name,
 		    str_yes_no(pipe_config->hw.enable), context);
@@ -356,7 +359,7 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		    pipe_config->ips_enabled, pipe_config->double_wide,
 		    pipe_config->has_drrs);
 
-	intel_dpll_dump_hw_state(i915, &pipe_config->dpll_hw_state);
+	intel_dpll_dump_hw_state(i915, &p, &pipe_config->dpll_hw_state);
 
 	if (IS_CHERRYVIEW(i915))
 		drm_dbg_kms(&i915->drm,
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index e5010049d52e..d7f39ad84138 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4927,26 +4927,27 @@ pipe_config_pll_mismatch(bool fastset,
 			 const struct intel_dpll_hw_state *b)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+	struct drm_printer p;
 
 	if (fastset) {
 		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
-		drm_dbg_kms(&i915->drm,
-			    "[CRTC:%d:%s] fastset requirement not met in %s\n",
-			    crtc->base.base.id, crtc->base.name, name);
-		drm_dbg_kms(&i915->drm, "expected:\n");
-		intel_dpll_dump_hw_state(i915, a);
-		drm_dbg_kms(&i915->drm, "found:\n");
-		intel_dpll_dump_hw_state(i915, b);
+		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
+
+		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	} else {
-		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s buffer\n",
-			crtc->base.base.id, crtc->base.name, name);
-		drm_err(&i915->drm, "expected:\n");
-		intel_dpll_dump_hw_state(i915, a);
-		drm_err(&i915->drm, "found:\n");
-		intel_dpll_dump_hw_state(i915, b);
+		p = drm_err_printer(&i915->drm, NULL);
+
+		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	}
+
+	drm_dbg_kms(&i915->drm, "expected:\n");
+	intel_dpll_dump_hw_state(i915, &p, a);
+	drm_dbg_kms(&i915->drm, "found:\n");
+	intel_dpll_dump_hw_state(i915, &p, b);
 }
 
 bool
diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
index ff480f171f75..9542e62186e2 100644
--- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
+++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
@@ -107,7 +107,7 @@ struct intel_dpll_mgr {
 				   struct intel_crtc *crtc,
 				   struct intel_encoder *encoder);
 	void (*update_ref_clks)(struct drm_i915_private *i915);
-	void (*dump_hw_state)(struct drm_i915_private *i915,
+	void (*dump_hw_state)(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state);
 	bool (*compare_hw_state)(const struct intel_dpll_hw_state *a,
 				 const struct intel_dpll_hw_state *b);
@@ -634,16 +634,15 @@ static int ibx_get_dpll(struct intel_atomic_state *state,
 	return 0;
 }
 
-static void ibx_dump_hw_state(struct drm_i915_private *i915,
+static void ibx_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm,
-		    "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
-		    "fp0: 0x%x, fp1: 0x%x\n",
-		    hw_state->dpll,
-		    hw_state->dpll_md,
-		    hw_state->fp0,
-		    hw_state->fp1);
+	drm_printf(p, "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
+		   "fp0: 0x%x, fp1: 0x%x\n",
+		   hw_state->dpll,
+		   hw_state->dpll_md,
+		   hw_state->fp0,
+		   hw_state->fp1);
 }
 
 static bool ibx_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -1225,11 +1224,11 @@ static void hsw_update_dpll_ref_clks(struct drm_i915_private *i915)
 		i915->display.dpll.ref_clks.nssc = 135000;
 }
 
-static void hsw_dump_hw_state(struct drm_i915_private *i915,
+static void hsw_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm, "dpll_hw_state: wrpll: 0x%x spll: 0x%x\n",
-		    hw_state->wrpll, hw_state->spll);
+	drm_printf(p, "dpll_hw_state: wrpll: 0x%x spll: 0x%x\n",
+		   hw_state->wrpll, hw_state->spll);
 }
 
 static bool hsw_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -1939,14 +1938,11 @@ static void skl_update_dpll_ref_clks(struct drm_i915_private *i915)
 	i915->display.dpll.ref_clks.nssc = i915->display.cdclk.hw.ref;
 }
 
-static void skl_dump_hw_state(struct drm_i915_private *i915,
+static void skl_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm, "dpll_hw_state: "
-		      "ctrl1: 0x%x, cfgcr1: 0x%x, cfgcr2: 0x%x\n",
-		      hw_state->ctrl1,
-		      hw_state->cfgcr1,
-		      hw_state->cfgcr2);
+	drm_printf(p, "dpll_hw_state: ctrl1: 0x%x, cfgcr1: 0x%x, cfgcr2: 0x%x\n",
+		   hw_state->ctrl1, hw_state->cfgcr1, hw_state->cfgcr2);
 }
 
 static bool skl_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -2402,23 +2398,16 @@ static void bxt_update_dpll_ref_clks(struct drm_i915_private *i915)
 	/* DSI non-SSC ref 19.2MHz */
 }
 
-static void bxt_dump_hw_state(struct drm_i915_private *i915,
+static void bxt_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm, "dpll_hw_state: ebb0: 0x%x, ebb4: 0x%x,"
-		    "pll0: 0x%x, pll1: 0x%x, pll2: 0x%x, pll3: 0x%x, "
-		    "pll6: 0x%x, pll8: 0x%x, pll9: 0x%x, pll10: 0x%x, pcsdw12: 0x%x\n",
-		    hw_state->ebb0,
-		    hw_state->ebb4,
-		    hw_state->pll0,
-		    hw_state->pll1,
-		    hw_state->pll2,
-		    hw_state->pll3,
-		    hw_state->pll6,
-		    hw_state->pll8,
-		    hw_state->pll9,
-		    hw_state->pll10,
-		    hw_state->pcsdw12);
+	drm_printf(p, "dpll_hw_state: ebb0: 0x%x, ebb4: 0x%x,"
+		   "pll0: 0x%x, pll1: 0x%x, pll2: 0x%x, pll3: 0x%x, "
+		   "pll6: 0x%x, pll8: 0x%x, pll9: 0x%x, pll10: 0x%x, pcsdw12: 0x%x\n",
+		   hw_state->ebb0, hw_state->ebb4,
+		   hw_state->pll0, hw_state->pll1, hw_state->pll2, hw_state->pll3,
+		   hw_state->pll6, hw_state->pll8, hw_state->pll9, hw_state->pll10,
+		   hw_state->pcsdw12);
 }
 
 static bool bxt_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -4026,28 +4015,26 @@ static void icl_update_dpll_ref_clks(struct drm_i915_private *i915)
 	i915->display.dpll.ref_clks.nssc = i915->display.cdclk.hw.ref;
 }
 
-static void icl_dump_hw_state(struct drm_i915_private *i915,
+static void icl_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm,
-		    "dpll_hw_state: cfgcr0: 0x%x, cfgcr1: 0x%x, div0: 0x%x, "
-		    "mg_refclkin_ctl: 0x%x, hg_clktop2_coreclkctl1: 0x%x, "
-		    "mg_clktop2_hsclkctl: 0x%x, mg_pll_div0: 0x%x, "
-		    "mg_pll_div2: 0x%x, mg_pll_lf: 0x%x, "
-		    "mg_pll_frac_lock: 0x%x, mg_pll_ssc: 0x%x, "
-		    "mg_pll_bias: 0x%x, mg_pll_tdc_coldst_bias: 0x%x\n",
-		    hw_state->cfgcr0, hw_state->cfgcr1,
-		    hw_state->div0,
-		    hw_state->mg_refclkin_ctl,
-		    hw_state->mg_clktop2_coreclkctl1,
-		    hw_state->mg_clktop2_hsclkctl,
-		    hw_state->mg_pll_div0,
-		    hw_state->mg_pll_div1,
-		    hw_state->mg_pll_lf,
-		    hw_state->mg_pll_frac_lock,
-		    hw_state->mg_pll_ssc,
-		    hw_state->mg_pll_bias,
-		    hw_state->mg_pll_tdc_coldst_bias);
+	drm_printf(p, "dpll_hw_state: cfgcr0: 0x%x, cfgcr1: 0x%x, div0: 0x%x, "
+		   "mg_refclkin_ctl: 0x%x, hg_clktop2_coreclkctl1: 0x%x, "
+		   "mg_clktop2_hsclkctl: 0x%x, mg_pll_div0: 0x%x, "
+		   "mg_pll_div2: 0x%x, mg_pll_lf: 0x%x, "
+		   "mg_pll_frac_lock: 0x%x, mg_pll_ssc: 0x%x, "
+		   "mg_pll_bias: 0x%x, mg_pll_tdc_coldst_bias: 0x%x\n",
+		   hw_state->cfgcr0, hw_state->cfgcr1, hw_state->div0,
+		   hw_state->mg_refclkin_ctl,
+		   hw_state->mg_clktop2_coreclkctl1,
+		   hw_state->mg_clktop2_hsclkctl,
+		   hw_state->mg_pll_div0,
+		   hw_state->mg_pll_div1,
+		   hw_state->mg_pll_lf,
+		   hw_state->mg_pll_frac_lock,
+		   hw_state->mg_pll_ssc,
+		   hw_state->mg_pll_bias,
+		   hw_state->mg_pll_tdc_coldst_bias);
 }
 
 static bool icl_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -4514,22 +4501,24 @@ void intel_dpll_sanitize_state(struct drm_i915_private *i915)
 }
 
 /**
- * intel_dpll_dump_hw_state - write hw_state to dmesg
+ * intel_dpll_dump_hw_state - dump hw_state
  * @i915: i915 drm device
- * @hw_state: hw state to be written to the log
+ * @p: where to print the state to
+ * @hw_state: hw state to be dumped
  *
- * Write the relevant values in @hw_state to dmesg using drm_dbg_kms.
+ * Dumo out the relevant values in @hw_state.
  */
 void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
+			      struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
 	if (i915->display.dpll.mgr) {
-		i915->display.dpll.mgr->dump_hw_state(i915, hw_state);
+		i915->display.dpll.mgr->dump_hw_state(p, hw_state);
 	} else {
 		/* fallback for platforms that don't use the shared dpll
 		 * infrastructure
 		 */
-		ibx_dump_hw_state(i915, hw_state);
+		ibx_dump_hw_state(p, hw_state);
 	}
 }
 
diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
index cc0e1386309d..d4d97e40440a 100644
--- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
+++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
@@ -36,6 +36,7 @@
 
 enum tc_port;
 struct drm_i915_private;
+struct drm_printer;
 struct intel_atomic_state;
 struct intel_crtc;
 struct intel_crtc_state;
@@ -377,6 +378,7 @@ void intel_dpll_readout_hw_state(struct drm_i915_private *i915);
 void intel_dpll_sanitize_state(struct drm_i915_private *i915);
 
 void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
+			      struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state);
 bool intel_dpll_compare_hw_state(struct drm_i915_private *i915,
 				 const struct intel_dpll_hw_state *a,
-- 
2.43.0


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

* [PATCH 07/12] drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (5 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() " Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-22 21:57   ` Rodrigo Vivi
  2024-02-15 16:40 ` [PATCH 08/12] drm/i915: Convert the remaining state dump to drm_printer Ville Syrjala
                   ` (25 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Convert all the direct drm_dbg_kms() stuff in intel_crtc_state_dump()
over to drm_printf() since we now have the drm_printer around.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../drm/i915/display/intel_crtc_state_dump.c  | 185 ++++++++----------
 1 file changed, 87 insertions(+), 98 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
index 59d2b3d39951..b34fb0e6e46d 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
@@ -211,43 +211,40 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 
 	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 
-	drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] enable: %s [%s]\n",
-		    crtc->base.base.id, crtc->base.name,
-		    str_yes_no(pipe_config->hw.enable), context);
+	drm_printf(&p, "[CRTC:%d:%s] enable: %s [%s]\n",
+		   crtc->base.base.id, crtc->base.name,
+		   str_yes_no(pipe_config->hw.enable), context);
 
 	if (!pipe_config->hw.enable)
 		goto dump_planes;
 
 	snprintf_output_types(buf, sizeof(buf), pipe_config->output_types);
-	drm_dbg_kms(&i915->drm,
-		    "active: %s, output_types: %s (0x%x), output format: %s, sink format: %s\n",
-		    str_yes_no(pipe_config->hw.active),
-		    buf, pipe_config->output_types,
-		    intel_output_format_name(pipe_config->output_format),
-		    intel_output_format_name(pipe_config->sink_format));
+	drm_printf(&p, "active: %s, output_types: %s (0x%x), output format: %s, sink format: %s\n",
+		   str_yes_no(pipe_config->hw.active),
+		   buf, pipe_config->output_types,
+		   intel_output_format_name(pipe_config->output_format),
+		   intel_output_format_name(pipe_config->sink_format));
 
-	drm_dbg_kms(&i915->drm,
-		    "cpu_transcoder: %s, pipe bpp: %i, dithering: %i\n",
-		    transcoder_name(pipe_config->cpu_transcoder),
-		    pipe_config->pipe_bpp, pipe_config->dither);
+	drm_printf(&p, "cpu_transcoder: %s, pipe bpp: %i, dithering: %i\n",
+		   transcoder_name(pipe_config->cpu_transcoder),
+		   pipe_config->pipe_bpp, pipe_config->dither);
 
-	drm_dbg_kms(&i915->drm, "MST master transcoder: %s\n",
-		    transcoder_name(pipe_config->mst_master_transcoder));
+	drm_printf(&p, "MST master transcoder: %s\n",
+		   transcoder_name(pipe_config->mst_master_transcoder));
 
-	drm_dbg_kms(&i915->drm,
-		    "port sync: master transcoder: %s, slave transcoder bitmask = 0x%x\n",
-		    transcoder_name(pipe_config->master_transcoder),
-		    pipe_config->sync_mode_slaves_mask);
+	drm_printf(&p, "port sync: master transcoder: %s, slave transcoder bitmask = 0x%x\n",
+		   transcoder_name(pipe_config->master_transcoder),
+		   pipe_config->sync_mode_slaves_mask);
 
-	drm_dbg_kms(&i915->drm, "bigjoiner: %s, pipes: 0x%x\n",
-		    intel_crtc_is_bigjoiner_slave(pipe_config) ? "slave" :
-		    intel_crtc_is_bigjoiner_master(pipe_config) ? "master" : "no",
-		    pipe_config->bigjoiner_pipes);
+	drm_printf(&p, "bigjoiner: %s, pipes: 0x%x\n",
+		   intel_crtc_is_bigjoiner_slave(pipe_config) ? "slave" :
+		   intel_crtc_is_bigjoiner_master(pipe_config) ? "master" : "no",
+		   pipe_config->bigjoiner_pipes);
 
-	drm_dbg_kms(&i915->drm, "splitter: %s, link count %d, overlap %d\n",
-		    str_enabled_disabled(pipe_config->splitter.enable),
-		    pipe_config->splitter.link_count,
-		    pipe_config->splitter.pixel_overlap);
+	drm_printf(&p, "splitter: %s, link count %d, overlap %d\n",
+		   str_enabled_disabled(pipe_config->splitter.enable),
+		   pipe_config->splitter.link_count,
+		   pipe_config->splitter.pixel_overlap);
 
 	if (pipe_config->has_pch_encoder)
 		intel_dump_m_n_config(pipe_config, "fdi",
@@ -261,32 +258,30 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		intel_dump_m_n_config(pipe_config, "dp m2_n2",
 				      pipe_config->lane_count,
 				      &pipe_config->dp_m2_n2);
-		drm_dbg_kms(&i915->drm, "fec: %s, enhanced framing: %s\n",
-			    str_enabled_disabled(pipe_config->fec_enable),
-			    str_enabled_disabled(pipe_config->enhanced_framing));
+		drm_printf(&p, "fec: %s, enhanced framing: %s\n",
+			   str_enabled_disabled(pipe_config->fec_enable),
+			   str_enabled_disabled(pipe_config->enhanced_framing));
 
-		drm_dbg_kms(&i915->drm, "sdp split: %s\n",
-			    str_enabled_disabled(pipe_config->sdp_split_enable));
+		drm_printf(&p, "sdp split: %s\n",
+			   str_enabled_disabled(pipe_config->sdp_split_enable));
 
-		drm_dbg_kms(&i915->drm, "psr: %s, psr2: %s, panel replay: %s, selective fetch: %s\n",
-			    str_enabled_disabled(pipe_config->has_psr),
-			    str_enabled_disabled(pipe_config->has_psr2),
-			    str_enabled_disabled(pipe_config->has_panel_replay),
-			    str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));
+		drm_printf(&p, "psr: %s, psr2: %s, panel replay: %s, selective fetch: %s\n",
+			   str_enabled_disabled(pipe_config->has_psr),
+			   str_enabled_disabled(pipe_config->has_psr2),
+			   str_enabled_disabled(pipe_config->has_panel_replay),
+			   str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));
 	}
 
-	drm_dbg_kms(&i915->drm, "framestart delay: %d, MSA timing delay: %d\n",
-		    pipe_config->framestart_delay, pipe_config->msa_timing_delay);
+	drm_printf(&p, "framestart delay: %d, MSA timing delay: %d\n",
+		   pipe_config->framestart_delay, pipe_config->msa_timing_delay);
 
-	drm_dbg_kms(&i915->drm,
-		    "audio: %i, infoframes: %i, infoframes enabled: 0x%x\n",
-		    pipe_config->has_audio, pipe_config->has_infoframe,
-		    pipe_config->infoframes.enable);
+	drm_printf(&p, "audio: %i, infoframes: %i, infoframes enabled: 0x%x\n",
+		   pipe_config->has_audio, pipe_config->has_infoframe,
+		   pipe_config->infoframes.enable);
 
 	if (pipe_config->infoframes.enable &
 	    intel_hdmi_infoframe_enable(HDMI_PACKET_TYPE_GENERAL_CONTROL))
-		drm_dbg_kms(&i915->drm, "GCP: 0x%x\n",
-			    pipe_config->infoframes.gcp);
+		drm_printf(&p, "GCP: 0x%x\n", pipe_config->infoframes.gcp);
 	if (pipe_config->infoframes.enable &
 	    intel_hdmi_infoframe_enable(HDMI_INFOFRAME_TYPE_AVI))
 		intel_dump_infoframe(i915, &pipe_config->infoframes.avi);
@@ -310,75 +305,69 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		intel_dump_buffer(i915, "ELD: ", pipe_config->eld,
 				  drm_eld_size(pipe_config->eld));
 
-	drm_dbg_kms(&i915->drm, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
-		    str_yes_no(pipe_config->vrr.enable),
-		    pipe_config->vrr.vmin, pipe_config->vrr.vmax,
-		    pipe_config->vrr.pipeline_full, pipe_config->vrr.guardband,
-		    pipe_config->vrr.flipline,
-		    intel_vrr_vmin_vblank_start(pipe_config),
-		    intel_vrr_vmax_vblank_start(pipe_config));
+	drm_printf(&p, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
+		   str_yes_no(pipe_config->vrr.enable),
+		   pipe_config->vrr.vmin, pipe_config->vrr.vmax,
+		   pipe_config->vrr.pipeline_full, pipe_config->vrr.guardband,
+		   pipe_config->vrr.flipline,
+		   intel_vrr_vmin_vblank_start(pipe_config),
+		   intel_vrr_vmax_vblank_start(pipe_config));
 
-	drm_dbg_kms(&i915->drm, "requested mode: " DRM_MODE_FMT "\n",
-		    DRM_MODE_ARG(&pipe_config->hw.mode));
-	drm_dbg_kms(&i915->drm, "adjusted mode: " DRM_MODE_FMT "\n",
-		    DRM_MODE_ARG(&pipe_config->hw.adjusted_mode));
+	drm_printf(&p, "requested mode: " DRM_MODE_FMT "\n",
+		   DRM_MODE_ARG(&pipe_config->hw.mode));
+	drm_printf(&p, "adjusted mode: " DRM_MODE_FMT "\n",
+		   DRM_MODE_ARG(&pipe_config->hw.adjusted_mode));
 	intel_dump_crtc_timings(i915, &pipe_config->hw.adjusted_mode);
-	drm_dbg_kms(&i915->drm, "pipe mode: " DRM_MODE_FMT "\n",
-		    DRM_MODE_ARG(&pipe_config->hw.pipe_mode));
+	drm_printf(&p, "pipe mode: " DRM_MODE_FMT "\n",
+		   DRM_MODE_ARG(&pipe_config->hw.pipe_mode));
 	intel_dump_crtc_timings(i915, &pipe_config->hw.pipe_mode);
-	drm_dbg_kms(&i915->drm,
-		    "port clock: %d, pipe src: " DRM_RECT_FMT ", pixel rate %d\n",
-		    pipe_config->port_clock, DRM_RECT_ARG(&pipe_config->pipe_src),
-		    pipe_config->pixel_rate);
+	drm_printf(&p, "port clock: %d, pipe src: " DRM_RECT_FMT ", pixel rate %d\n",
+		   pipe_config->port_clock, DRM_RECT_ARG(&pipe_config->pipe_src),
+		   pipe_config->pixel_rate);
 
-	drm_dbg_kms(&i915->drm, "linetime: %d, ips linetime: %d\n",
-		    pipe_config->linetime, pipe_config->ips_linetime);
+	drm_printf(&p, "linetime: %d, ips linetime: %d\n",
+		   pipe_config->linetime, pipe_config->ips_linetime);
 
 	if (DISPLAY_VER(i915) >= 9)
-		drm_dbg_kms(&i915->drm,
-			    "num_scalers: %d, scaler_users: 0x%x, scaler_id: %d, scaling_filter: %d\n",
-			    crtc->num_scalers,
-			    pipe_config->scaler_state.scaler_users,
-			    pipe_config->scaler_state.scaler_id,
-			    pipe_config->hw.scaling_filter);
+		drm_printf(&p, "num_scalers: %d, scaler_users: 0x%x, scaler_id: %d, scaling_filter: %d\n",
+			   crtc->num_scalers,
+			   pipe_config->scaler_state.scaler_users,
+			   pipe_config->scaler_state.scaler_id,
+			   pipe_config->hw.scaling_filter);
 
 	if (HAS_GMCH(i915))
-		drm_dbg_kms(&i915->drm,
-			    "gmch pfit: control: 0x%08x, ratios: 0x%08x, lvds border: 0x%08x\n",
-			    pipe_config->gmch_pfit.control,
-			    pipe_config->gmch_pfit.pgm_ratios,
-			    pipe_config->gmch_pfit.lvds_border_bits);
+		drm_printf(&p, "gmch pfit: control: 0x%08x, ratios: 0x%08x, lvds border: 0x%08x\n",
+			   pipe_config->gmch_pfit.control,
+			   pipe_config->gmch_pfit.pgm_ratios,
+			   pipe_config->gmch_pfit.lvds_border_bits);
 	else
-		drm_dbg_kms(&i915->drm,
-			    "pch pfit: " DRM_RECT_FMT ", %s, force thru: %s\n",
-			    DRM_RECT_ARG(&pipe_config->pch_pfit.dst),
-			    str_enabled_disabled(pipe_config->pch_pfit.enabled),
-			    str_yes_no(pipe_config->pch_pfit.force_thru));
+		drm_printf(&p, "pch pfit: " DRM_RECT_FMT ", %s, force thru: %s\n",
+			   DRM_RECT_ARG(&pipe_config->pch_pfit.dst),
+			   str_enabled_disabled(pipe_config->pch_pfit.enabled),
+			   str_yes_no(pipe_config->pch_pfit.force_thru));
 
-	drm_dbg_kms(&i915->drm, "ips: %i, double wide: %i, drrs: %i\n",
-		    pipe_config->ips_enabled, pipe_config->double_wide,
-		    pipe_config->has_drrs);
+	drm_printf(&p, "ips: %i, double wide: %i, drrs: %i\n",
+		   pipe_config->ips_enabled, pipe_config->double_wide,
+		   pipe_config->has_drrs);
 
 	intel_dpll_dump_hw_state(i915, &p, &pipe_config->dpll_hw_state);
 
 	if (IS_CHERRYVIEW(i915))
-		drm_dbg_kms(&i915->drm,
-			    "cgm_mode: 0x%x gamma_mode: 0x%x gamma_enable: %d csc_enable: %d\n",
-			    pipe_config->cgm_mode, pipe_config->gamma_mode,
-			    pipe_config->gamma_enable, pipe_config->csc_enable);
+		drm_printf(&p, "cgm_mode: 0x%x gamma_mode: 0x%x gamma_enable: %d csc_enable: %d\n",
+			   pipe_config->cgm_mode, pipe_config->gamma_mode,
+			   pipe_config->gamma_enable, pipe_config->csc_enable);
 	else
-		drm_dbg_kms(&i915->drm,
-			    "csc_mode: 0x%x gamma_mode: 0x%x gamma_enable: %d csc_enable: %d\n",
-			    pipe_config->csc_mode, pipe_config->gamma_mode,
-			    pipe_config->gamma_enable, pipe_config->csc_enable);
+		drm_printf(&p, "csc_mode: 0x%x gamma_mode: 0x%x gamma_enable: %d csc_enable: %d\n",
+			   pipe_config->csc_mode, pipe_config->gamma_mode,
+			   pipe_config->gamma_enable, pipe_config->csc_enable);
 
-	drm_dbg_kms(&i915->drm, "pre csc lut: %s%d entries, post csc lut: %d entries\n",
-		    pipe_config->pre_csc_lut && pipe_config->pre_csc_lut ==
-		    i915->display.color.glk_linear_degamma_lut ? "(linear) " : "",
-		    pipe_config->pre_csc_lut ?
-		    drm_color_lut_size(pipe_config->pre_csc_lut) : 0,
-		    pipe_config->post_csc_lut ?
-		    drm_color_lut_size(pipe_config->post_csc_lut) : 0);
+	drm_printf(&p, "pre csc lut: %s%d entries, post csc lut: %d entries\n",
+		   pipe_config->pre_csc_lut && pipe_config->pre_csc_lut ==
+		   i915->display.color.glk_linear_degamma_lut ? "(linear) " : "",
+		   pipe_config->pre_csc_lut ?
+		   drm_color_lut_size(pipe_config->pre_csc_lut) : 0,
+		   pipe_config->post_csc_lut ?
+		   drm_color_lut_size(pipe_config->post_csc_lut) : 0);
 
 	if (DISPLAY_VER(i915) >= 11)
 		ilk_dump_csc(i915, "output csc", &pipe_config->output_csc);
-- 
2.43.0


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

* [PATCH 08/12] drm/i915: Convert the remaining state dump to drm_printer
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (6 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 07/12] drm/i915: Use drm_printer more extensively in intel_crtc_state_dump() Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-03-05  9:12   ` Jani Nikula
  2024-02-15 16:40 ` [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled Ville Syrjala
                   ` (24 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Plumb the drm_printer to all the little helpers called
by intel_crtc_state_dump() and use it there as well.

The exceptions are the ELD and infoframe stuff as they
call helpers outside of the drm and thus can't use
drm_printer.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../drm/i915/display/intel_crtc_state_dump.c  | 137 ++++++++----------
 1 file changed, 60 insertions(+), 77 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
index b34fb0e6e46d..b5b9b99213cf 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
@@ -12,33 +12,31 @@
 #include "intel_hdmi.h"
 #include "intel_vrr.h"
 
-static void intel_dump_crtc_timings(struct drm_i915_private *i915,
+static void intel_dump_crtc_timings(struct drm_printer *p,
 				    const struct drm_display_mode *mode)
 {
-	drm_dbg_kms(&i915->drm, "crtc timings: clock=%d, "
-		    "hd=%d hb=%d-%d hs=%d-%d ht=%d, "
-		    "vd=%d vb=%d-%d vs=%d-%d vt=%d, "
-		    "flags=0x%x\n",
-		    mode->crtc_clock,
-		    mode->crtc_hdisplay, mode->crtc_hblank_start, mode->crtc_hblank_end,
-		    mode->crtc_hsync_start, mode->crtc_hsync_end, mode->crtc_htotal,
-		    mode->crtc_vdisplay, mode->crtc_vblank_start, mode->crtc_vblank_end,
-		    mode->crtc_vsync_start, mode->crtc_vsync_end, mode->crtc_vtotal,
-		    mode->flags);
+	drm_printf(p, "crtc timings: clock=%d, "
+		   "hd=%d hb=%d-%d hs=%d-%d ht=%d, "
+		   "vd=%d vb=%d-%d vs=%d-%d vt=%d, "
+		   "flags=0x%x\n",
+		   mode->crtc_clock,
+		   mode->crtc_hdisplay, mode->crtc_hblank_start, mode->crtc_hblank_end,
+		   mode->crtc_hsync_start, mode->crtc_hsync_end, mode->crtc_htotal,
+		   mode->crtc_vdisplay, mode->crtc_vblank_start, mode->crtc_vblank_end,
+		   mode->crtc_vsync_start, mode->crtc_vsync_end, mode->crtc_vtotal,
+		   mode->flags);
 }
 
 static void
-intel_dump_m_n_config(const struct intel_crtc_state *pipe_config,
+intel_dump_m_n_config(struct drm_printer *p,
+		      const struct intel_crtc_state *pipe_config,
 		      const char *id, unsigned int lane_count,
 		      const struct intel_link_m_n *m_n)
 {
-	struct drm_i915_private *i915 = to_i915(pipe_config->uapi.crtc->dev);
-
-	drm_dbg_kms(&i915->drm,
-		    "%s: lanes: %i; data_m: %u, data_n: %u, link_m: %u, link_n: %u, tu: %u\n",
-		    id, lane_count,
-		    m_n->data_m, m_n->data_n,
-		    m_n->link_m, m_n->link_n, m_n->tu);
+	drm_printf(p, "%s: lanes: %i; data_m: %u, data_n: %u, link_m: %u, link_n: %u, tu: %u\n",
+		   id, lane_count,
+		   m_n->data_m, m_n->data_n,
+		   m_n->link_m, m_n->link_n, m_n->tu);
 }
 
 static void
@@ -52,17 +50,7 @@ intel_dump_infoframe(struct drm_i915_private *i915,
 }
 
 static void
-intel_dump_dp_vsc_sdp(struct drm_i915_private *i915,
-		      const struct drm_dp_vsc_sdp *vsc)
-{
-	struct drm_printer p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-
-	drm_dp_vsc_sdp_log(&p, vsc);
-}
-
-static void
-intel_dump_buffer(struct drm_i915_private *i915,
-		  const char *prefix, const u8 *buf, size_t len)
+intel_dump_buffer(const char *prefix, const u8 *buf, size_t len)
 {
 	if (!drm_debug_enabled(DRM_UT_KMS))
 		return;
@@ -130,71 +118,66 @@ const char *intel_output_format_name(enum intel_output_format format)
 	return output_format_str[format];
 }
 
-static void intel_dump_plane_state(const struct intel_plane_state *plane_state)
+static void intel_dump_plane_state(struct drm_printer *p,
+				   const struct intel_plane_state *plane_state)
 {
 	struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
-	struct drm_i915_private *i915 = to_i915(plane->base.dev);
 	const struct drm_framebuffer *fb = plane_state->hw.fb;
 
 	if (!fb) {
-		drm_dbg_kms(&i915->drm,
-			    "[PLANE:%d:%s] fb: [NOFB], visible: %s\n",
-			    plane->base.base.id, plane->base.name,
-			    str_yes_no(plane_state->uapi.visible));
+		drm_printf(p, "[PLANE:%d:%s] fb: [NOFB], visible: %s\n",
+			   plane->base.base.id, plane->base.name,
+			   str_yes_no(plane_state->uapi.visible));
 		return;
 	}
 
-	drm_dbg_kms(&i915->drm,
-		    "[PLANE:%d:%s] fb: [FB:%d] %ux%u format = %p4cc modifier = 0x%llx, visible: %s\n",
-		    plane->base.base.id, plane->base.name,
-		    fb->base.id, fb->width, fb->height, &fb->format->format,
-		    fb->modifier, str_yes_no(plane_state->uapi.visible));
-	drm_dbg_kms(&i915->drm, "\trotation: 0x%x, scaler: %d, scaling_filter: %d\n",
-		    plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);
+	drm_printf(p, "[PLANE:%d:%s] fb: [FB:%d] %ux%u format = %p4cc modifier = 0x%llx, visible: %s\n",
+		   plane->base.base.id, plane->base.name,
+		   fb->base.id, fb->width, fb->height, &fb->format->format,
+		   fb->modifier, str_yes_no(plane_state->uapi.visible));
+	drm_printf(p, "\trotation: 0x%x, scaler: %d, scaling_filter: %d\n",
+		   plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);
 	if (plane_state->uapi.visible)
-		drm_dbg_kms(&i915->drm,
-			    "\tsrc: " DRM_RECT_FP_FMT " dst: " DRM_RECT_FMT "\n",
-			    DRM_RECT_FP_ARG(&plane_state->uapi.src),
-			    DRM_RECT_ARG(&plane_state->uapi.dst));
+		drm_printf(p, "\tsrc: " DRM_RECT_FP_FMT " dst: " DRM_RECT_FMT "\n",
+			   DRM_RECT_FP_ARG(&plane_state->uapi.src),
+			   DRM_RECT_ARG(&plane_state->uapi.dst));
 }
 
 static void
-ilk_dump_csc(struct drm_i915_private *i915, const char *name,
+ilk_dump_csc(struct drm_i915_private *i915,
+	     struct drm_printer *p,
+	     const char *name,
 	     const struct intel_csc_matrix *csc)
 {
 	int i;
 
-	drm_dbg_kms(&i915->drm,
-		    "%s: pre offsets: 0x%04x 0x%04x 0x%04x\n", name,
-		    csc->preoff[0], csc->preoff[1], csc->preoff[2]);
+	drm_printf(p, "%s: pre offsets: 0x%04x 0x%04x 0x%04x\n", name,
+		   csc->preoff[0], csc->preoff[1], csc->preoff[2]);
 
 	for (i = 0; i < 3; i++)
-		drm_dbg_kms(&i915->drm,
-			    "%s: coefficients: 0x%04x 0x%04x 0x%04x\n", name,
-			    csc->coeff[3 * i + 0],
-			    csc->coeff[3 * i + 1],
-			    csc->coeff[3 * i + 2]);
+		drm_printf(p, "%s: coefficients: 0x%04x 0x%04x 0x%04x\n", name,
+			   csc->coeff[3 * i + 0],
+			   csc->coeff[3 * i + 1],
+			   csc->coeff[3 * i + 2]);
 
 	if (DISPLAY_VER(i915) < 7)
 		return;
 
-	drm_dbg_kms(&i915->drm,
-		    "%s: post offsets: 0x%04x 0x%04x 0x%04x\n", name,
-		    csc->postoff[0], csc->postoff[1], csc->postoff[2]);
+	drm_printf(p, "%s: post offsets: 0x%04x 0x%04x 0x%04x\n", name,
+		   csc->postoff[0], csc->postoff[1], csc->postoff[2]);
 }
 
 static void
-vlv_dump_csc(struct drm_i915_private *i915, const char *name,
+vlv_dump_csc(struct drm_printer *p, const char *name,
 	     const struct intel_csc_matrix *csc)
 {
 	int i;
 
 	for (i = 0; i < 3; i++)
-		drm_dbg_kms(&i915->drm,
-			    "%s: coefficients: 0x%04x 0x%04x 0x%04x\n", name,
-			    csc->coeff[3 * i + 0],
-			    csc->coeff[3 * i + 1],
-			    csc->coeff[3 * i + 2]);
+		drm_printf(p, "%s: coefficients: 0x%04x 0x%04x 0x%04x\n", name,
+			   csc->coeff[3 * i + 0],
+			   csc->coeff[3 * i + 1],
+			   csc->coeff[3 * i + 2]);
 }
 
 void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
@@ -247,15 +230,15 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		   pipe_config->splitter.pixel_overlap);
 
 	if (pipe_config->has_pch_encoder)
-		intel_dump_m_n_config(pipe_config, "fdi",
+		intel_dump_m_n_config(&p, pipe_config, "fdi",
 				      pipe_config->fdi_lanes,
 				      &pipe_config->fdi_m_n);
 
 	if (intel_crtc_has_dp_encoder(pipe_config)) {
-		intel_dump_m_n_config(pipe_config, "dp m_n",
+		intel_dump_m_n_config(&p, pipe_config, "dp m_n",
 				      pipe_config->lane_count,
 				      &pipe_config->dp_m_n);
-		intel_dump_m_n_config(pipe_config, "dp m2_n2",
+		intel_dump_m_n_config(&p, pipe_config, "dp m2_n2",
 				      pipe_config->lane_count,
 				      &pipe_config->dp_m2_n2);
 		drm_printf(&p, "fec: %s, enhanced framing: %s\n",
@@ -299,10 +282,10 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		intel_dump_infoframe(i915, &pipe_config->infoframes.drm);
 	if (pipe_config->infoframes.enable &
 	    intel_hdmi_infoframe_enable(DP_SDP_VSC))
-		intel_dump_dp_vsc_sdp(i915, &pipe_config->infoframes.vsc);
+		drm_dp_vsc_sdp_log(&p, &pipe_config->infoframes.vsc);
 
 	if (pipe_config->has_audio)
-		intel_dump_buffer(i915, "ELD: ", pipe_config->eld,
+		intel_dump_buffer("ELD: ", pipe_config->eld,
 				  drm_eld_size(pipe_config->eld));
 
 	drm_printf(&p, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
@@ -317,10 +300,10 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		   DRM_MODE_ARG(&pipe_config->hw.mode));
 	drm_printf(&p, "adjusted mode: " DRM_MODE_FMT "\n",
 		   DRM_MODE_ARG(&pipe_config->hw.adjusted_mode));
-	intel_dump_crtc_timings(i915, &pipe_config->hw.adjusted_mode);
+	intel_dump_crtc_timings(&p, &pipe_config->hw.adjusted_mode);
 	drm_printf(&p, "pipe mode: " DRM_MODE_FMT "\n",
 		   DRM_MODE_ARG(&pipe_config->hw.pipe_mode));
-	intel_dump_crtc_timings(i915, &pipe_config->hw.pipe_mode);
+	intel_dump_crtc_timings(&p, &pipe_config->hw.pipe_mode);
 	drm_printf(&p, "port clock: %d, pipe src: " DRM_RECT_FMT ", pixel rate %d\n",
 		   pipe_config->port_clock, DRM_RECT_ARG(&pipe_config->pipe_src),
 		   pipe_config->pixel_rate);
@@ -370,14 +353,14 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		   drm_color_lut_size(pipe_config->post_csc_lut) : 0);
 
 	if (DISPLAY_VER(i915) >= 11)
-		ilk_dump_csc(i915, "output csc", &pipe_config->output_csc);
+		ilk_dump_csc(i915, &p, "output csc", &pipe_config->output_csc);
 
 	if (!HAS_GMCH(i915))
-		ilk_dump_csc(i915, "pipe csc", &pipe_config->csc);
+		ilk_dump_csc(i915, &p, "pipe csc", &pipe_config->csc);
 	else if (IS_CHERRYVIEW(i915))
-		vlv_dump_csc(i915, "cgm csc", &pipe_config->csc);
+		vlv_dump_csc(&p, "cgm csc", &pipe_config->csc);
 	else if (IS_VALLEYVIEW(i915))
-		vlv_dump_csc(i915, "wgc csc", &pipe_config->csc);
+		vlv_dump_csc(&p, "wgc csc", &pipe_config->csc);
 
 dump_planes:
 	if (!state)
@@ -385,6 +368,6 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 
 	for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
 		if (plane->pipe == crtc->pipe)
-			intel_dump_plane_state(plane_state);
+			intel_dump_plane_state(&p, plane_state);
 	}
 }
-- 
2.43.0


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

* [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (7 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 08/12] drm/i915: Convert the remaining state dump to drm_printer Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-29 15:20   ` Jani Nikula
  2024-02-15 16:40 ` [PATCH 10/12] drm/i915: Relocate pipe_config_mismatch() Ville Syrjala
                   ` (23 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

intel_crtc_state_dump() does a whole boatload of string formatting
which is all wasted energy if the debugs aren't even enabled. Skip
the whole thing in that case.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
index b5b9b99213cf..cd78c200d483 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
@@ -192,6 +192,9 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 	char buf[64];
 	int i;
 
+	if (!drm_debug_enabled(DRM_UT_KMS))
+		return;
+
 	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 
 	drm_printf(&p, "[CRTC:%d:%s] enable: %s [%s]\n",
-- 
2.43.0


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

* [PATCH 10/12] drm/i915: Relocate pipe_config_mismatch()
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (8 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-29 15:21   ` Jani Nikula
  2024-02-15 16:40 ` [PATCH 11/12] drm/i915: Reuse pipe_config_mismatch() more Ville Syrjala
                   ` (22 subsequent siblings)
  32 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Hoist pipe_config_mismatch() upwards a bit so that it can get
reused by the other mismatch() functions.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 46 ++++++++++----------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index d7f39ad84138..a9dd3632898c 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4787,6 +4787,29 @@ intel_compare_buffer(const u8 *a, const u8 *b, size_t len)
 	return memcmp(a, b, len) == 0;
 }
 
+static void __printf(4, 5)
+pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
+		     const char *name, const char *format, ...)
+{
+	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+	struct va_format vaf;
+	va_list args;
+
+	va_start(args, format);
+	vaf.fmt = format;
+	vaf.va = &args;
+
+	if (fastset)
+		drm_dbg_kms(&i915->drm,
+			    "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
+			    crtc->base.base.id, crtc->base.name, name, &vaf);
+	else
+		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s %pV\n",
+			crtc->base.base.id, crtc->base.name, name, &vaf);
+
+	va_end(args);
+}
+
 static void
 pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
 			       const char *name,
@@ -4896,29 +4919,6 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
 		       16, 0, b, len, false);
 }
 
-static void __printf(4, 5)
-pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
-		     const char *name, const char *format, ...)
-{
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct va_format vaf;
-	va_list args;
-
-	va_start(args, format);
-	vaf.fmt = format;
-	vaf.va = &args;
-
-	if (fastset)
-		drm_dbg_kms(&i915->drm,
-			    "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
-			    crtc->base.base.id, crtc->base.name, name, &vaf);
-	else
-		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s %pV\n",
-			crtc->base.base.id, crtc->base.name, name, &vaf);
-
-	va_end(args);
-}
-
 static void
 pipe_config_pll_mismatch(bool fastset,
 			 const struct intel_crtc *crtc,
-- 
2.43.0


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

* [PATCH 11/12] drm/i915: Reuse pipe_config_mismatch() more
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (9 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 10/12] drm/i915: Relocate pipe_config_mismatch() Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-29 15:28   ` Jani Nikula
  2024-02-29 18:42   ` [PATCH v2 " Ville Syrjala
  2024-02-15 16:40 ` [PATCH 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare() Ville Syrjala
                   ` (21 subsequent siblings)
  32 siblings, 2 replies; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Just call pipe_config_mismatch() from all the more specialized
mismatch() functions instead of hand rolling the same printfs
all over.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 45 +++++---------------
 1 file changed, 10 insertions(+), 35 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index a9dd3632898c..26580d4aef2d 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4826,17 +4826,13 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
 
 		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 		loglevel = KERN_DEBUG;
-
-		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
-			   crtc->base.base.id, crtc->base.name, name);
 	} else {
 		p = drm_err_printer(&i915->drm, NULL);
 		loglevel = KERN_ERR;
-
-		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s infoframe\n",
-			   crtc->base.base.id, crtc->base.name, name);
 	}
 
+	pipe_config_mismatch(fastset, crtc, name, "infoframe");
+
 	drm_printf(&p, "expected:\n");
 	hdmi_infoframe_log(loglevel, i915->drm.dev, a);
 	drm_printf(&p, "found:\n");
@@ -4852,17 +4848,12 @@ pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	struct drm_printer p;
 
-	if (fastset) {
+	if (fastset)
 		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-
-		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s dp sdp\n",
-			   crtc->base.base.id, crtc->base.name, name);
-	} else {
+	else
 		p = drm_err_printer(&i915->drm, NULL);
 
-		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s dp sdp\n",
-			   crtc->base.base.id, crtc->base.name, name);
-	}
+	pipe_config_mismatch(fastset, crtc, name, "dp sdp");
 
 	drm_printf(&p, "expected:\n");
 	drm_dp_vsc_sdp_log(&p, a);
@@ -4889,27 +4880,19 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
 			    const char *name,
 			    const u8 *a, const u8 *b, size_t len)
 {
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct drm_printer p;
 	const char *loglevel;
 
 	if (fastset) {
 		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
-		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 		loglevel = KERN_DEBUG;
-
-		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s buffer\n",
-			   crtc->base.base.id, crtc->base.name, name);
 	} else {
-		p = drm_err_printer(&i915->drm, NULL);
 		loglevel = KERN_ERR;
-
-		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s buffer\n",
-			   crtc->base.base.id, crtc->base.name, name);
 	}
 
+	pipe_config_mismatch(fastset, crtc, name, "buffer");
+
 	/* only dump up to the last difference */
 	len = memcmp_diff_len(a, b, len);
 
@@ -4929,20 +4912,12 @@ pipe_config_pll_mismatch(bool fastset,
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	struct drm_printer p;
 
-	if (fastset) {
-		if (!drm_debug_enabled(DRM_UT_KMS))
-			return;
-
+	if (fastset)
 		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-
-		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
-			   crtc->base.base.id, crtc->base.name, name);
-	} else {
+	else
 		p = drm_err_printer(&i915->drm, NULL);
 
-		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n",
-			   crtc->base.base.id, crtc->base.name, name);
-	}
+	pipe_config_mismatch(fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
 
 	drm_dbg_kms(&i915->drm, "expected:\n");
 	intel_dpll_dump_hw_state(i915, &p, a);
-- 
2.43.0


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

* [PATCH 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare()
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (10 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 11/12] drm/i915: Reuse pipe_config_mismatch() more Ville Syrjala
@ 2024-02-15 16:40 ` Ville Syrjala
  2024-02-29 15:29   ` Jani Nikula
  2024-02-29 18:42   ` [PATCH v2 " Ville Syrjala
  2024-02-16 18:03 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more Patchwork
                   ` (20 subsequent siblings)
  32 siblings, 2 replies; 64+ messages in thread
From: Ville Syrjala @ 2024-02-15 16:40 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Create the drm_printer at the start of intel_pipe_config_compare()
and pass it on to all the mismatch() functions.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 101 +++++++++----------
 1 file changed, 46 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 26580d4aef2d..69c9693dcc8d 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4787,11 +4787,11 @@ intel_compare_buffer(const u8 *a, const u8 *b, size_t len)
 	return memcmp(a, b, len) == 0;
 }
 
-static void __printf(4, 5)
-pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
+static void __printf(5, 6)
+pipe_config_mismatch(struct drm_printer *p, bool fastset,
+		     const struct intel_crtc *crtc,
 		     const char *name, const char *format, ...)
 {
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	struct va_format vaf;
 	va_list args;
 
@@ -4800,65 +4800,55 @@ pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
 	vaf.va = &args;
 
 	if (fastset)
-		drm_dbg_kms(&i915->drm,
-			    "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
-			    crtc->base.base.id, crtc->base.name, name, &vaf);
+		drm_printf(p, "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
+			   crtc->base.base.id, crtc->base.name, name, &vaf);
 	else
-		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s %pV\n",
-			crtc->base.base.id, crtc->base.name, name, &vaf);
+		drm_printf(p, "[CRTC:%d:%s] mismatch in %s %pV\n",
+			   crtc->base.base.id, crtc->base.name, name, &vaf);
 
 	va_end(args);
 }
 
 static void
-pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
+pipe_config_infoframe_mismatch(struct drm_printer *p, bool fastset,
+			       const struct intel_crtc *crtc,
 			       const char *name,
 			       const union hdmi_infoframe *a,
 			       const union hdmi_infoframe *b)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct drm_printer p;
 	const char *loglevel;
 
 	if (fastset) {
 		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
-		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 		loglevel = KERN_DEBUG;
 	} else {
-		p = drm_err_printer(&i915->drm, NULL);
 		loglevel = KERN_ERR;
 	}
 
-	pipe_config_mismatch(fastset, crtc, name, "infoframe");
+	pipe_config_mismatch(p, fastset, crtc, name, "infoframe");
 
-	drm_printf(&p, "expected:\n");
+	drm_printf(p, "expected:\n");
 	hdmi_infoframe_log(loglevel, i915->drm.dev, a);
-	drm_printf(&p, "found:\n");
+	drm_printf(p, "found:\n");
 	hdmi_infoframe_log(loglevel, i915->drm.dev, b);
 }
 
 static void
-pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
+pipe_config_dp_vsc_sdp_mismatch(struct drm_printer *p, bool fastset,
+				const struct intel_crtc *crtc,
 				const char *name,
 				const struct drm_dp_vsc_sdp *a,
 				const struct drm_dp_vsc_sdp *b)
 {
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct drm_printer p;
+	pipe_config_mismatch(p, fastset, crtc, name, "dp sdp");
 
-	if (fastset)
-		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-	else
-		p = drm_err_printer(&i915->drm, NULL);
-
-	pipe_config_mismatch(fastset, crtc, name, "dp sdp");
-
-	drm_printf(&p, "expected:\n");
-	drm_dp_vsc_sdp_log(&p, a);
-	drm_printf(&p, "found:\n");
-	drm_dp_vsc_sdp_log(&p, b);
+	drm_printf(p, "expected:\n");
+	drm_dp_vsc_sdp_log(p, a);
+	drm_printf(p, "found:\n");
+	drm_dp_vsc_sdp_log(p, b);
 }
 
 /* Returns the length up to and including the last differing byte */
@@ -4876,7 +4866,8 @@ memcmp_diff_len(const u8 *a, const u8 *b, size_t len)
 }
 
 static void
-pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
+pipe_config_buffer_mismatch(struct drm_printer *p, bool fastset,
+			    const struct intel_crtc *crtc,
 			    const char *name,
 			    const u8 *a, const u8 *b, size_t len)
 {
@@ -4891,7 +4882,7 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
 		loglevel = KERN_ERR;
 	}
 
-	pipe_config_mismatch(fastset, crtc, name, "buffer");
+	pipe_config_mismatch(p, fastset, crtc, name, "buffer");
 
 	/* only dump up to the last difference */
 	len = memcmp_diff_len(a, b, len);
@@ -4903,26 +4894,20 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
 }
 
 static void
-pipe_config_pll_mismatch(bool fastset,
+pipe_config_pll_mismatch(struct drm_printer *p, bool fastset,
 			 const struct intel_crtc *crtc,
 			 const char *name,
 			 const struct intel_dpll_hw_state *a,
 			 const struct intel_dpll_hw_state *b)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct drm_printer p;
 
-	if (fastset)
-		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-	else
-		p = drm_err_printer(&i915->drm, NULL);
+	pipe_config_mismatch(p, fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
 
-	pipe_config_mismatch(fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
-
-	drm_dbg_kms(&i915->drm, "expected:\n");
-	intel_dpll_dump_hw_state(i915, &p, a);
-	drm_dbg_kms(&i915->drm, "found:\n");
-	intel_dpll_dump_hw_state(i915, &p, b);
+	drm_printf(p, "expected:\n");
+	intel_dpll_dump_hw_state(i915, p, a);
+	drm_printf(p, "found:\n");
+	intel_dpll_dump_hw_state(i915, p, b);
 }
 
 bool
@@ -4932,13 +4917,19 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 {
 	struct drm_i915_private *dev_priv = to_i915(current_config->uapi.crtc->dev);
 	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
+	struct drm_printer p;
 	bool ret = true;
 
+	if (fastset)
+		p = drm_dbg_printer(&dev_priv->drm, DRM_UT_KMS, NULL);
+	else
+		p = drm_err_printer(&dev_priv->drm, NULL);
+
 #define PIPE_CONF_CHECK_X(name) do { \
 	if (current_config->name != pipe_config->name) { \
 		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
 				 __stringify(name) " is bool");	\
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected 0x%08x, found 0x%08x)", \
 				     current_config->name, \
 				     pipe_config->name); \
@@ -4950,7 +4941,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	if ((current_config->name & (mask)) != (pipe_config->name & (mask))) { \
 		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
 				 __stringify(name) " is bool");	\
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected 0x%08x, found 0x%08x)", \
 				     current_config->name & (mask), \
 				     pipe_config->name & (mask)); \
@@ -4962,7 +4953,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	if (current_config->name != pipe_config->name) { \
 		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
 				 __stringify(name) " is bool");	\
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected %i, found %i)", \
 				     current_config->name, \
 				     pipe_config->name); \
@@ -4974,7 +4965,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	if (current_config->name != pipe_config->name) { \
 		BUILD_BUG_ON_MSG(!__same_type(current_config->name, bool), \
 				 __stringify(name) " is not bool");	\
-		pipe_config_mismatch(fastset, crtc,  __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc,  __stringify(name), \
 				     "(expected %s, found %s)", \
 				     str_yes_no(current_config->name), \
 				     str_yes_no(pipe_config->name)); \
@@ -4984,7 +4975,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 
 #define PIPE_CONF_CHECK_P(name) do { \
 	if (current_config->name != pipe_config->name) { \
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected %p, found %p)", \
 				     current_config->name, \
 				     pipe_config->name); \
@@ -4995,7 +4986,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_M_N(name) do { \
 	if (!intel_compare_link_m_n(&current_config->name, \
 				    &pipe_config->name)) { \
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected tu %i data %i/%i link %i/%i, " \
 				     "found tu %i, data %i/%i link %i/%i)", \
 				     current_config->name.tu, \
@@ -5015,7 +5006,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_PLL(name) do { \
 	if (!intel_dpll_compare_hw_state(dev_priv, &current_config->name, \
 					 &pipe_config->name)) { \
-		pipe_config_pll_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_pll_mismatch(&p, fastset, crtc, __stringify(name), \
 					 &current_config->name, \
 					 &pipe_config->name); \
 		ret = false; \
@@ -5048,7 +5039,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 
 #define PIPE_CONF_CHECK_FLAGS(name, mask) do { \
 	if ((current_config->name ^ pipe_config->name) & (mask)) { \
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(%x) (expected %i, found %i)", \
 				     (mask), \
 				     current_config->name & (mask), \
@@ -5060,7 +5051,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_INFOFRAME(name) do { \
 	if (!intel_compare_infoframe(&current_config->infoframes.name, \
 				     &pipe_config->infoframes.name)) { \
-		pipe_config_infoframe_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_infoframe_mismatch(&p, fastset, crtc, __stringify(name), \
 					       &current_config->infoframes.name, \
 					       &pipe_config->infoframes.name); \
 		ret = false; \
@@ -5070,7 +5061,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_DP_VSC_SDP(name) do { \
 	if (!intel_compare_dp_vsc_sdp(&current_config->infoframes.name, \
 				      &pipe_config->infoframes.name)) { \
-		pipe_config_dp_vsc_sdp_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_dp_vsc_sdp_mismatch(&p, fastset, crtc, __stringify(name), \
 						&current_config->infoframes.name, \
 						&pipe_config->infoframes.name); \
 		ret = false; \
@@ -5081,7 +5072,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	BUILD_BUG_ON(sizeof(current_config->name) != (len)); \
 	BUILD_BUG_ON(sizeof(pipe_config->name) != (len)); \
 	if (!intel_compare_buffer(current_config->name, pipe_config->name, (len))) { \
-		pipe_config_buffer_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_buffer_mismatch(&p, fastset, crtc, __stringify(name), \
 					    current_config->name, \
 					    pipe_config->name, \
 					    (len)); \
@@ -5094,7 +5085,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	    !intel_color_lut_equal(current_config, \
 				   current_config->lut, pipe_config->lut, \
 				   is_pre_csc_lut)) {	\
-		pipe_config_mismatch(fastset, crtc, __stringify(lut), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(lut), \
 				     "hw_state doesn't match sw_state"); \
 		ret = false; \
 	} \
-- 
2.43.0


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

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (11 preceding siblings ...)
  2024-02-15 16:40 ` [PATCH 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare() Ville Syrjala
@ 2024-02-16 18:03 ` Patchwork
  2024-02-16 18:03 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (19 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-02-16 18:03 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more
URL   : https://patchwork.freedesktop.org/series/129956/
State : warning

== Summary ==

Error: dim checkpatch failed
b35c140de294 drm/i915: Indicate which pipe failed the fastset check overall
69c9610b4741 drm/i915: Include CRTC info in infoframe mismatch prints
af0a289ed17d drm/i915: Include CRTC info in VSC SDP mismatch prints
c6d87b41b13c drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
c9237f8c2c36 drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
39b5dfa17e01 drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
5ee2f6745baa drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
9b449706f9e4 drm/i915: Convert the remaining state dump to drm_printer
-:127: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#127: FILE: drivers/gpu/drm/i915/display/intel_crtc_state_dump.c:139:
+		   plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);

total: 0 errors, 1 warnings, 0 checks, 236 lines checked
4678cb701335 drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
82639ea1d436 drm/i915: Relocate pipe_config_mismatch()
23e154f5648e drm/i915: Reuse pipe_config_mismatch() more
021ee307eba1 drm/i915: Create the printer only once in intel_pipe_config_compare()



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

* ✗ Fi.CI.SPARSE: warning for drm/i915: Use drm_printer more
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (12 preceding siblings ...)
  2024-02-16 18:03 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more Patchwork
@ 2024-02-16 18:03 ` Patchwork
  2024-02-16 18:15 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (18 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-02-16 18:03 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more
URL   : https://patchwork.freedesktop.org/series/129956/
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] 64+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: Use drm_printer more
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (13 preceding siblings ...)
  2024-02-16 18:03 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-02-16 18:15 ` Patchwork
  2024-02-17  7:24 ` ✗ Fi.CI.IGT: failure " Patchwork
                   ` (17 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-02-16 18:15 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Use drm_printer more
URL   : https://patchwork.freedesktop.org/series/129956/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14285 -> Patchwork_129956v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (36 -> 35)
------------------------------

  Missing    (1): fi-snb-2520m 

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@gem_exec_fence@basic-busy@ccs0:
    - {bat-arls-1}:       [DMESG-WARN][1] ([i915#10194]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/bat-arls-1/igt@gem_exec_fence@basic-busy@ccs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/bat-arls-1/igt@gem_exec_fence@basic-busy@ccs0.html

  * igt@i915_pm_rpm@module-reload:
    - fi-kbl-7567u:       [CRASH][3] ([i915#9947]) -> [PASS][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/fi-kbl-7567u/igt@i915_pm_rpm@module-reload.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/fi-kbl-7567u/igt@i915_pm_rpm@module-reload.html

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

  [i915#10194]: https://gitlab.freedesktop.org/drm/intel/issues/10194
  [i915#9947]: https://gitlab.freedesktop.org/drm/intel/issues/9947


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

  * Linux: CI_DRM_14285 -> Patchwork_129956v1

  CI-20190529: 20190529
  CI_DRM_14285: 9c2a8434bbf098a9709cfbbd7df0e1aa02c8927b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7716: 7716
  Patchwork_129956v1: 9c2a8434bbf098a9709cfbbd7df0e1aa02c8927b @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

d7f4fd06a387 drm/i915: Create the printer only once in intel_pipe_config_compare()
503cde3bbc2d drm/i915: Reuse pipe_config_mismatch() more
0082805f766a drm/i915: Relocate pipe_config_mismatch()
03e47a5e1d96 drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
498dd38f794c drm/i915: Convert the remaining state dump to drm_printer
b1b783a6591d drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
808c979ffc2c drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
af010cb68707 drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
e03cb8b204ee drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
29636b93e180 drm/i915: Include CRTC info in VSC SDP mismatch prints
4a8cab442d9f drm/i915: Include CRTC info in infoframe mismatch prints
e3950dbf6672 drm/i915: Indicate which pipe failed the fastset check overall

== Logs ==

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

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

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

* ✗ Fi.CI.IGT: failure for drm/i915: Use drm_printer more
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (14 preceding siblings ...)
  2024-02-16 18:15 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-02-17  7:24 ` Patchwork
  2024-02-29 12:08 ` [PATCH 00/12] " Jani Nikula
                   ` (16 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-02-17  7:24 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Use drm_printer more
URL   : https://patchwork.freedesktop.org/series/129956/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14285_full -> Patchwork_129956v1_full
====================================================

Summary
-------

  **FAILURE**

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

  No changes in participating hosts

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@api_intel_bb@render-ccs:
    - shard-dg2:          NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@api_intel_bb@render-ccs.html

  * igt@i915_selftest@live@gt_pm:
    - shard-rkl:          [PASS][2] -> [DMESG-FAIL][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-3/igt@i915_selftest@live@gt_pm.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@i915_selftest@live@gt_pm.html

  * igt@runner@aborted:
    - shard-glk:          NOTRUN -> [FAIL][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-glk1/igt@runner@aborted.html

  
#### Suppressed ####

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

  * {igt@kms_ccs@pipe-c-crc-primary-rotation-180-4-tiled-xe2-ccs}:
    - shard-rkl:          NOTRUN -> [SKIP][5]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@kms_ccs@pipe-c-crc-primary-rotation-180-4-tiled-xe2-ccs.html

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

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

### CI changes ###

#### Issues hit ####

  * boot:
    - shard-rkl:          ([PASS][6], [PASS][7], [PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [PASS][13], [PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23], [PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], [PASS][29]) -> ([PASS][30], [PASS][31], [PASS][32], [PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37], [PASS][38], [PASS][39], [PASS][40], [PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], [PASS][47], [PASS][48], [FAIL][49], [PASS][50], [PASS][51], [PASS][52], [PASS][53], [PASS][54]) ([i915#8293])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-1/boot.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-1/boot.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-1/boot.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-1/boot.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-1/boot.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-2/boot.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-2/boot.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-3/boot.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-3/boot.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-3/boot.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-4/boot.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-4/boot.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-4/boot.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-4/boot.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-5/boot.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-5/boot.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-5/boot.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-5/boot.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-6/boot.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-7/boot.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-7/boot.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-7/boot.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-7/boot.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-7/boot.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-1/boot.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-1/boot.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-1/boot.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-1/boot.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/boot.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/boot.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/boot.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/boot.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-3/boot.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/boot.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/boot.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/boot.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/boot.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-5/boot.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-5/boot.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-5/boot.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-5/boot.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-5/boot.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-6/boot.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-6/boot.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-7/boot.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-7/boot.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-7/boot.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-7/boot.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-7/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@api_intel_bb@object-reloc-purge-cache:
    - shard-dg2:          NOTRUN -> [SKIP][55] ([i915#8411])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@api_intel_bb@object-reloc-purge-cache.html

  * igt@device_reset@unbind-cold-reset-rebind:
    - shard-mtlp:         NOTRUN -> [SKIP][56] ([i915#7701])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@device_reset@unbind-cold-reset-rebind.html

  * igt@drm_fdinfo@all-busy-check-all:
    - shard-mtlp:         NOTRUN -> [SKIP][57] ([i915#8414]) +3 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@drm_fdinfo@all-busy-check-all.html

  * igt@drm_fdinfo@all-busy-idle-check-all:
    - shard-dg1:          NOTRUN -> [SKIP][58] ([i915#8414])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@drm_fdinfo@all-busy-idle-check-all.html

  * igt@drm_fdinfo@busy-idle@bcs0:
    - shard-dg2:          NOTRUN -> [SKIP][59] ([i915#8414]) +10 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@drm_fdinfo@busy-idle@bcs0.html

  * igt@drm_fdinfo@most-busy-check-all@rcs0:
    - shard-rkl:          [PASS][60] -> [FAIL][61] ([i915#7742])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-3/igt@drm_fdinfo@most-busy-check-all@rcs0.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@drm_fdinfo@most-busy-check-all@rcs0.html

  * igt@gem_ccs@block-multicopy-compressed:
    - shard-mtlp:         NOTRUN -> [SKIP][62] ([i915#9323]) +1 other test skip
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@gem_ccs@block-multicopy-compressed.html

  * igt@gem_ccs@block-multicopy-inplace:
    - shard-rkl:          NOTRUN -> [SKIP][63] ([i915#3555] / [i915#9323]) +1 other test skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@gem_ccs@block-multicopy-inplace.html

  * igt@gem_ccs@suspend-resume@tile4-compressed-compfmt0-lmem0-lmem0:
    - shard-dg2:          [PASS][64] -> [INCOMPLETE][65] ([i915#10137] / [i915#7297])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg2-5/igt@gem_ccs@suspend-resume@tile4-compressed-compfmt0-lmem0-lmem0.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-6/igt@gem_ccs@suspend-resume@tile4-compressed-compfmt0-lmem0-lmem0.html

  * igt@gem_ctx_exec@basic-nohangcheck:
    - shard-rkl:          [PASS][66] -> [FAIL][67] ([i915#6268])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-5/igt@gem_ctx_exec@basic-nohangcheck.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-7/igt@gem_ctx_exec@basic-nohangcheck.html

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

  * igt@gem_ctx_sseu@engines:
    - shard-dg1:          NOTRUN -> [SKIP][69] ([i915#280])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@gem_ctx_sseu@engines.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-dg2:          NOTRUN -> [SKIP][70] ([i915#280])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gem_ctx_sseu@mmap-args.html
    - shard-tglu:         NOTRUN -> [SKIP][71] ([i915#280])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_eio@kms:
    - shard-tglu:         [PASS][72] -> [INCOMPLETE][73] ([i915#10137])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-tglu-9/igt@gem_eio@kms.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-6/igt@gem_eio@kms.html
    - shard-dg2:          [PASS][74] -> [INCOMPLETE][75] ([i915#10137])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg2-2/igt@gem_eio@kms.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-2/igt@gem_eio@kms.html

  * igt@gem_eio@reset-stress:
    - shard-dg1:          [PASS][76] -> [FAIL][77] ([i915#5784])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg1-18/igt@gem_eio@reset-stress.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-13/igt@gem_eio@reset-stress.html

  * igt@gem_exec_balancer@bonded-sync:
    - shard-mtlp:         NOTRUN -> [SKIP][78] ([i915#4771])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@gem_exec_balancer@bonded-sync.html

  * igt@gem_exec_capture@capture-recoverable:
    - shard-rkl:          NOTRUN -> [SKIP][79] ([i915#6344])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@gem_exec_capture@capture-recoverable.html

  * igt@gem_exec_capture@many-4k-zero:
    - shard-tglu:         NOTRUN -> [FAIL][80] ([i915#9606])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@gem_exec_capture@many-4k-zero.html
    - shard-dg2:          NOTRUN -> [FAIL][81] ([i915#9606])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gem_exec_capture@many-4k-zero.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-tglu:         NOTRUN -> [FAIL][82] ([i915#2842])
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-none-vip@rcs0:
    - shard-rkl:          [PASS][83] -> [FAIL][84] ([i915#2842]) +1 other test fail
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-2/igt@gem_exec_fair@basic-none-vip@rcs0.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@gem_exec_fair@basic-none-vip@rcs0.html

  * igt@gem_exec_fair@basic-pace:
    - shard-mtlp:         NOTRUN -> [SKIP][85] ([i915#4473] / [i915#4771]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@gem_exec_fair@basic-pace.html

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

  * igt@gem_exec_gttfill@multigpu-basic:
    - shard-mtlp:         NOTRUN -> [SKIP][87] ([i915#7697])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@gem_exec_gttfill@multigpu-basic.html

  * igt@gem_exec_params@rsvd2-dirt:
    - shard-rkl:          NOTRUN -> [SKIP][88] ([fdo#109283])
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@gem_exec_params@rsvd2-dirt.html

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

  * igt@gem_exec_reloc@basic-range-active:
    - shard-rkl:          NOTRUN -> [SKIP][90] ([i915#3281])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@gem_exec_reloc@basic-range-active.html

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

  * igt@gem_exec_schedule@semaphore-power:
    - shard-mtlp:         NOTRUN -> [SKIP][92] ([i915#4537] / [i915#4812])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@gem_exec_schedule@semaphore-power.html

  * igt@gem_exec_suspend@basic-s0@lmem0:
    - shard-dg2:          [PASS][93] -> [INCOMPLETE][94] ([i915#9275])
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg2-10/igt@gem_exec_suspend@basic-s0@lmem0.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-5/igt@gem_exec_suspend@basic-s0@lmem0.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - shard-rkl:          NOTRUN -> [ABORT][95] ([i915#7975] / [i915#8213])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_fenced_exec_thrash@no-spare-fences-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][96] ([i915#4860]) +1 other test skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@gem_fenced_exec_thrash@no-spare-fences-interruptible.html

  * igt@gem_lmem_swapping@heavy-random:
    - shard-tglu:         NOTRUN -> [SKIP][97] ([i915#4613]) +1 other test skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@gem_lmem_swapping@heavy-random.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-glk:          NOTRUN -> [SKIP][98] ([fdo#109271] / [i915#4613])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-glk4/igt@gem_lmem_swapping@smem-oom.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg2:          [PASS][99] -> [TIMEOUT][100] ([i915#5493])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg2-6/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-3/igt@gem_lmem_swapping@smem-oom@lmem0.html
    - shard-dg1:          [PASS][101] -> [TIMEOUT][102] ([i915#5493])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg1-19/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-16/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@gem_lmem_swapping@verify-ccs@lmem0:
    - shard-dg1:          NOTRUN -> [SKIP][103] ([i915#4565])
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@gem_lmem_swapping@verify-ccs@lmem0.html

  * igt@gem_mmap@bad-size:
    - shard-mtlp:         NOTRUN -> [SKIP][104] ([i915#4083]) +3 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@gem_mmap@bad-size.html

  * igt@gem_mmap_gtt@hang:
    - shard-dg2:          NOTRUN -> [SKIP][105] ([i915#4077]) +8 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gem_mmap_gtt@hang.html

  * igt@gem_mmap_gtt@hang-busy:
    - shard-mtlp:         NOTRUN -> [SKIP][106] ([i915#4077]) +7 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@gem_mmap_gtt@hang-busy.html

  * igt@gem_mmap_wc@coherency:
    - shard-dg2:          NOTRUN -> [SKIP][107] ([i915#4083]) +2 other tests skip
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gem_mmap_wc@coherency.html

  * igt@gem_partial_pwrite_pread@write:
    - shard-dg2:          NOTRUN -> [SKIP][108] ([i915#3282]) +1 other test skip
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gem_partial_pwrite_pread@write.html
    - shard-rkl:          NOTRUN -> [SKIP][109] ([i915#3282]) +1 other test skip
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@gem_partial_pwrite_pread@write.html

  * igt@gem_pxp@create-regular-buffer:
    - shard-mtlp:         NOTRUN -> [SKIP][110] ([i915#4270]) +2 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@gem_pxp@create-regular-buffer.html

  * igt@gem_pxp@display-protected-crc:
    - shard-rkl:          NOTRUN -> [SKIP][111] ([i915#4270]) +2 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@gem_pxp@display-protected-crc.html

  * igt@gem_readwrite@write-bad-handle:
    - shard-mtlp:         NOTRUN -> [SKIP][112] ([i915#3282]) +2 other tests skip
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@gem_readwrite@write-bad-handle.html

  * igt@gem_render_copy@y-tiled-ccs-to-y-tiled:
    - shard-dg2:          NOTRUN -> [SKIP][113] ([i915#5190]) +6 other tests skip
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gem_render_copy@y-tiled-ccs-to-y-tiled.html

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

  * igt@gem_softpin@evict-snoop:
    - shard-tglu:         NOTRUN -> [SKIP][115] ([fdo#109312])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@gem_softpin@evict-snoop.html
    - shard-dg2:          NOTRUN -> [SKIP][116] ([i915#4885])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gem_softpin@evict-snoop.html

  * igt@gem_unfence_active_buffers:
    - shard-dg1:          NOTRUN -> [SKIP][117] ([i915#4879])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@gem_unfence_active_buffers.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
    - shard-dg2:          NOTRUN -> [SKIP][118] ([i915#3297] / [i915#4880])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html

  * igt@gem_userptr_blits@relocations:
    - shard-mtlp:         NOTRUN -> [SKIP][119] ([i915#3281]) +7 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@gem_userptr_blits@relocations.html

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

  * igt@gen7_exec_parse@basic-offset:
    - shard-dg2:          NOTRUN -> [SKIP][121] ([fdo#109289]) +1 other test skip
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gen7_exec_parse@basic-offset.html

  * igt@gen7_exec_parse@basic-rejected:
    - shard-rkl:          NOTRUN -> [SKIP][122] ([fdo#109289])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@gen7_exec_parse@basic-rejected.html

  * igt@gen7_exec_parse@chained-batch:
    - shard-tglu:         NOTRUN -> [SKIP][123] ([fdo#109289])
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@gen7_exec_parse@chained-batch.html

  * igt@gen7_exec_parse@cmd-crossing-page:
    - shard-dg1:          NOTRUN -> [SKIP][124] ([fdo#109289])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@gen7_exec_parse@cmd-crossing-page.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-mtlp:         NOTRUN -> [SKIP][125] ([i915#2856]) +2 other tests skip
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-rkl:          NOTRUN -> [SKIP][126] ([i915#2527])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@gen9_exec_parse@bb-chained.html
    - shard-dg2:          NOTRUN -> [SKIP][127] ([i915#2856])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-tglu:         NOTRUN -> [SKIP][128] ([i915#2527] / [i915#2856])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@gen9_exec_parse@bb-oversize.html

  * igt@i915_pm_rps@min-max-config-loaded:
    - shard-mtlp:         NOTRUN -> [SKIP][129] ([i915#6621])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@i915_pm_rps@min-max-config-loaded.html

  * igt@i915_power@sanity:
    - shard-mtlp:         [PASS][130] -> [SKIP][131] ([i915#7984])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-mtlp-3/igt@i915_power@sanity.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-5/igt@i915_power@sanity.html

  * igt@i915_query@query-topology-unsupported:
    - shard-tglu:         NOTRUN -> [SKIP][132] ([fdo#109302])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@i915_query@query-topology-unsupported.html

  * igt@i915_selftest@mock@memory_region:
    - shard-glk:          NOTRUN -> [DMESG-WARN][133] ([i915#9311])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-glk4/igt@i915_selftest@mock@memory_region.html

  * igt@kms_addfb_basic@clobberred-modifier:
    - shard-dg2:          NOTRUN -> [SKIP][134] ([i915#4212]) +1 other test skip
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_addfb_basic@clobberred-modifier.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-dg2:          NOTRUN -> [SKIP][135] ([i915#1769] / [i915#3555])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

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

  * igt@kms_big_fb@4-tiled-32bpp-rotate-180:
    - shard-tglu:         NOTRUN -> [SKIP][137] ([fdo#111615] / [i915#5286]) +1 other test skip
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-90:
    - shard-dg1:          NOTRUN -> [SKIP][138] ([i915#4538] / [i915#5286])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
    - shard-tglu:         NOTRUN -> [SKIP][139] ([i915#5286])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@linear-16bpp-rotate-270:
    - shard-mtlp:         NOTRUN -> [SKIP][140] ([fdo#111614]) +4 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_big_fb@linear-16bpp-rotate-270.html

  * igt@kms_big_fb@linear-64bpp-rotate-90:
    - shard-tglu:         NOTRUN -> [SKIP][141] ([fdo#111614])
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_big_fb@linear-64bpp-rotate-90.html

  * igt@kms_big_fb@linear-8bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][142] ([fdo#111614]) +2 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_big_fb@linear-8bpp-rotate-90.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-tglu:         [PASS][143] -> [FAIL][144] ([i915#3743]) +1 other test fail
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-tglu-5/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-3/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-16bpp-rotate-180:
    - shard-mtlp:         NOTRUN -> [SKIP][145] ([fdo#111615]) +5 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][146] ([i915#4538] / [i915#5190]) +3 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html
    - shard-rkl:          NOTRUN -> [SKIP][147] ([fdo#111614] / [i915#3638]) +1 other test skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-mtlp:         NOTRUN -> [SKIP][148] ([i915#6187])
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

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

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-tglu:         NOTRUN -> [SKIP][150] ([fdo#111615]) +2 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-rkl:          NOTRUN -> [SKIP][151] ([fdo#110723]) +1 other test skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_ccs@pipe-a-bad-pixel-format-yf-tiled-ccs:
    - shard-tglu:         NOTRUN -> [SKIP][152] ([i915#5354] / [i915#6095]) +24 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_ccs@pipe-a-bad-pixel-format-yf-tiled-ccs.html

  * igt@kms_ccs@pipe-b-crc-primary-basic-4-tiled-mtl-rc-ccs-cc:
    - shard-dg2:          NOTRUN -> [SKIP][153] ([i915#5354]) +35 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_ccs@pipe-b-crc-primary-basic-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@pipe-b-crc-primary-rotation-180-yf-tiled-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][154] ([i915#5354] / [i915#6095]) +6 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@kms_ccs@pipe-b-crc-primary-rotation-180-yf-tiled-ccs.html

  * igt@kms_ccs@pipe-c-bad-rotation-90-4-tiled-dg2-mc-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][155] ([i915#5354] / [i915#6095]) +2 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_ccs@pipe-c-bad-rotation-90-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@pipe-c-crc-primary-basic-y-tiled-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][156] ([i915#5354] / [i915#6095]) +30 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_ccs@pipe-c-crc-primary-basic-y-tiled-ccs.html

  * igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4-tiled-mtl-mc-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][157] ([i915#5354]) +12 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4-tiled-mtl-mc-ccs.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-mtlp:         NOTRUN -> [SKIP][158] ([fdo#111827])
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_color@ctm-0-75:
    - shard-dg2:          NOTRUN -> [SKIP][159] ([fdo#111827])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_chamelium_color@ctm-0-75.html

  * igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
    - shard-mtlp:         NOTRUN -> [SKIP][160] ([i915#7828]) +6 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][161] ([i915#7828]) +3 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode:
    - shard-rkl:          NOTRUN -> [SKIP][162] ([i915#7828]) +2 other tests skip
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html

  * igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe:
    - shard-tglu:         NOTRUN -> [SKIP][163] ([i915#7828]) +3 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-mtlp:         NOTRUN -> [SKIP][164] ([i915#3299]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@legacy:
    - shard-tglu:         NOTRUN -> [SKIP][165] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_content_protection@legacy.html
    - shard-dg2:          NOTRUN -> [SKIP][166] ([i915#7118] / [i915#9424])
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_content_protection@legacy.html

  * igt@kms_cursor_crc@cursor-offscreen-32x10:
    - shard-mtlp:         NOTRUN -> [SKIP][167] ([i915#3555] / [i915#8814]) +3 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_cursor_crc@cursor-offscreen-32x10.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-tglu:         NOTRUN -> [SKIP][168] ([fdo#109279] / [i915#3359])
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_crc@cursor-onscreen-max-size:
    - shard-rkl:          NOTRUN -> [SKIP][169] ([i915#3555])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-max-size.html

  * igt@kms_cursor_crc@cursor-random-max-size:
    - shard-dg2:          NOTRUN -> [SKIP][170] ([i915#3555])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_cursor_crc@cursor-random-max-size.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][171] ([i915#3359])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_crc@cursor-sliding-64x21:
    - shard-mtlp:         NOTRUN -> [SKIP][172] ([i915#8814])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_cursor_crc@cursor-sliding-64x21.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
    - shard-dg2:          NOTRUN -> [SKIP][173] ([fdo#109274] / [i915#5354]) +1 other test skip
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy:
    - shard-snb:          [PASS][174] -> [SKIP][175] ([fdo#109271]) +1 other test skip
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-snb7/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-snb6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-mtlp:         NOTRUN -> [SKIP][176] ([i915#9809]) +2 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-mtlp:         NOTRUN -> [SKIP][177] ([i915#9067])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-tglu:         NOTRUN -> [SKIP][178] ([i915#4103])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-dg1:          NOTRUN -> [SKIP][179] ([i915#4103] / [i915#4213])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_cursor_legacy@torture-bo@all-pipes:
    - shard-snb:          [PASS][180] -> [DMESG-WARN][181] ([i915#10166])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-snb7/igt@kms_cursor_legacy@torture-bo@all-pipes.html
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-snb7/igt@kms_cursor_legacy@torture-bo@all-pipes.html

  * igt@kms_cursor_legacy@torture-move@pipe-a:
    - shard-dg1:          [PASS][182] -> [DMESG-WARN][183] ([i915#10166])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg1-18/igt@kms_cursor_legacy@torture-move@pipe-a.html
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-13/igt@kms_cursor_legacy@torture-move@pipe-a.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-2:
    - shard-dg2:          NOTRUN -> [SKIP][184] ([fdo#110189] / [i915#9227])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-3/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-2.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][185] ([fdo#110189] / [i915#9723])
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-17/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4.html

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

  * igt@kms_dp_aux_dev:
    - shard-dg2:          NOTRUN -> [SKIP][187] ([i915#1257])
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_dp_aux_dev.html
    - shard-tglu:         NOTRUN -> [SKIP][188] ([i915#1257])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_dp_aux_dev.html

  * igt@kms_dsc@dsc-basic:
    - shard-mtlp:         NOTRUN -> [SKIP][189] ([i915#3555] / [i915#3840] / [i915#9159])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_dsc@dsc-basic.html

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

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

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

  * igt@kms_feature_discovery@dp-mst:
    - shard-dg2:          NOTRUN -> [SKIP][193] ([i915#9337])
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_feature_discovery@dp-mst.html
    - shard-tglu:         NOTRUN -> [SKIP][194] ([i915#9337])
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_flip@2x-busy-flip:
    - shard-dg1:          NOTRUN -> [SKIP][195] ([fdo#111825] / [i915#9934])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_flip@2x-busy-flip.html

  * igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
    - shard-tglu:         NOTRUN -> [SKIP][196] ([fdo#109274] / [i915#3637]) +1 other test skip
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
    - shard-rkl:          NOTRUN -> [SKIP][197] ([fdo#111825]) +1 other test skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_flip@2x-flip-vs-fences-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][198] ([i915#8381]) +1 other test skip
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_flip@2x-flip-vs-fences-interruptible.html

  * igt@kms_flip@2x-flip-vs-modeset:
    - shard-tglu:         NOTRUN -> [SKIP][199] ([fdo#109274] / [i915#3637] / [i915#3966]) +1 other test skip
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_flip@2x-flip-vs-modeset.html

  * igt@kms_flip@2x-flip-vs-rmfb:
    - shard-mtlp:         NOTRUN -> [SKIP][200] ([i915#3637]) +3 other tests skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_flip@2x-flip-vs-rmfb.html

  * igt@kms_flip@2x-flip-vs-rmfb-interruptible:
    - shard-rkl:          NOTRUN -> [SKIP][201] ([fdo#111767] / [fdo#111825])
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html

  * igt@kms_flip@2x-wf_vblank-ts-check:
    - shard-dg2:          NOTRUN -> [SKIP][202] ([fdo#109274]) +1 other test skip
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_flip@2x-wf_vblank-ts-check.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][203] ([i915#2672]) +1 other test skip
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode.html

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

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

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][206] ([i915#2672] / [i915#3555]) +1 other test skip
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][207] ([i915#2672])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode.html

  * igt@kms_force_connector_basic@force-load-detect:
    - shard-rkl:          NOTRUN -> [SKIP][208] ([fdo#109285])
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][209] ([fdo#111825] / [i915#1825]) +10 other tests skip
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-4:
    - shard-tglu:         NOTRUN -> [SKIP][210] ([i915#5439])
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_frontbuffer_tracking@fbc-tiling-4.html

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

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-render:
    - shard-tglu:         NOTRUN -> [SKIP][212] ([fdo#109280] / [fdo#111767])
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-mtlp:         NOTRUN -> [SKIP][213] ([fdo#111767] / [i915#1825])
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-pwrite:
    - shard-dg1:          NOTRUN -> [SKIP][214] ([fdo#111825]) +3 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][215] ([i915#10055])
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsr-tiling-y.html

  * igt@kms_frontbuffer_tracking@pipe-fbc-rte:
    - shard-rkl:          NOTRUN -> [SKIP][216] ([i915#9766])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][217] ([i915#8708]) +7 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][218] ([i915#8708]) +2 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw:
    - shard-glk:          NOTRUN -> [SKIP][219] ([fdo#109271]) +116 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-glk4/igt@kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][220] ([i915#3458])
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move:
    - shard-dg2:          NOTRUN -> [SKIP][221] ([i915#3458]) +5 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][222] ([i915#1825]) +25 other tests skip
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html

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

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-blt:
    - shard-tglu:         NOTRUN -> [SKIP][224] ([fdo#109280]) +13 other tests skip
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt:
    - shard-tglu:         NOTRUN -> [SKIP][225] ([fdo#110189]) +7 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-dg2:          NOTRUN -> [SKIP][226] ([i915#3555] / [i915#8228]) +1 other test skip
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_hdr@invalid-metadata-sizes.html
    - shard-tglu:         NOTRUN -> [SKIP][227] ([i915#3555] / [i915#8228])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_hdr@invalid-metadata-sizes.html

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

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

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

  * igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c:
    - shard-mtlp:         NOTRUN -> [SKIP][231] ([fdo#109289]) +3 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_pipe_b_c_ivb@pipe-b-double-modeset-then-modeset-pipe-c.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][232] ([i915#7862]) +1 other test fail
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-glk2/igt@kms_plane_alpha_blend@alpha-basic@pipe-c-hdmi-a-1.html

  * igt@kms_plane_alpha_blend@alpha-basic@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [DMESG-WARN][233] ([i915#9157])
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_plane_alpha_blend@alpha-basic@pipe-d-edp-1.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-tglu:         NOTRUN -> [SKIP][234] ([i915#3555]) +1 other test skip
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-tglu:         NOTRUN -> [SKIP][235] ([fdo#109274]) +3 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@intel-max-src-size:
    - shard-dg2:          NOTRUN -> [SKIP][236] ([i915#6953] / [i915#9423])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_plane_scaling@intel-max-src-size.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [FAIL][237] ([i915#8292])
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [FAIL][238] ([i915#8292])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-12/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][239] ([i915#9423]) +5 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-a-hdmi-a-1.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-b-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][240] ([i915#9423]) +3 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-6/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-b-hdmi-a-3.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][241] ([i915#9423]) +15 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-17/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-4.html

  * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][242] ([i915#9423]) +7 other tests skip
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][243] ([i915#5235]) +3 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-1/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [SKIP][244] ([i915#5235] / [i915#9423]) +3 other tests skip
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-6/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-d-hdmi-a-3.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][245] ([i915#3555] / [i915#5235]) +1 other test skip
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-d-edp-1.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][246] ([i915#5235]) +9 other tests skip
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d-edp-1.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][247] ([i915#5235]) +11 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-13/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-3.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-mtlp:         NOTRUN -> [SKIP][248] ([i915#9292])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-rkl:          NOTRUN -> [SKIP][249] ([i915#9519])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-mtlp:         NOTRUN -> [SKIP][250] ([i915#9519]) +1 other test skip
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg2:          [PASS][251] -> [SKIP][252] ([i915#9519])
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg2-3/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-10/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@kms_prime@d3hot:
    - shard-mtlp:         NOTRUN -> [SKIP][253] ([i915#6524])
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_prime@d3hot.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf:
    - shard-dg1:          NOTRUN -> [SKIP][254] ([i915#9683])
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
    - shard-dg2:          NOTRUN -> [SKIP][255] ([i915#9683]) +1 other test skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf:
    - shard-rkl:          NOTRUN -> [SKIP][256] ([i915#9683])
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_su@page_flip-nv12:
    - shard-mtlp:         NOTRUN -> [SKIP][257] ([i915#4348])
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_psr2_su@page_flip-nv12.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-tglu:         NOTRUN -> [SKIP][258] ([fdo#109642] / [fdo#111068] / [i915#9683])
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_psr2_su@page_flip-p010.html

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

  * igt@kms_rotation_crc@primary-4-tiled-reflect-x-180:
    - shard-dg1:          NOTRUN -> [SKIP][260] ([i915#5289])
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@kms_rotation_crc@primary-4-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-mtlp:         NOTRUN -> [SKIP][261] ([i915#4235]) +1 other test skip
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-mtlp:         NOTRUN -> [SKIP][262] ([i915#3555] / [i915#8809])
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-mtlp:         NOTRUN -> [SKIP][263] ([i915#8623])
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1:
    - shard-mtlp:         [PASS][264] -> [FAIL][265] ([i915#9196])
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-mtlp-5/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-1/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [FAIL][266] ([i915#9196]) +1 other test fail
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html

  * igt@kms_vrr@flip-basic:
    - shard-mtlp:         NOTRUN -> [SKIP][267] ([i915#3555] / [i915#8808])
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_vrr@flip-basic.html

  * igt@kms_writeback@writeback-check-output-xrgb2101010:
    - shard-rkl:          NOTRUN -> [SKIP][268] ([i915#2437] / [i915#9412])
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_writeback@writeback-check-output-xrgb2101010.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-tglu:         NOTRUN -> [SKIP][269] ([i915#2437])
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@kms_writeback@writeback-fb-id.html
    - shard-dg2:          NOTRUN -> [SKIP][270] ([i915#2437])
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@kms_writeback@writeback-fb-id.html

  * igt@perf@gen8-unprivileged-single-ctx-counters:
    - shard-rkl:          NOTRUN -> [SKIP][271] ([i915#2436])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@perf@gen8-unprivileged-single-ctx-counters.html

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

  * igt@perf@mi-rpc:
    - shard-dg1:          NOTRUN -> [SKIP][273] ([i915#2434])
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@perf@mi-rpc.html

  * igt@perf@non-zero-reason@0-rcs0:
    - shard-dg2:          [PASS][274] -> [FAIL][275] ([i915#7484])
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg2-10/igt@perf@non-zero-reason@0-rcs0.html
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-6/igt@perf@non-zero-reason@0-rcs0.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          NOTRUN -> [FAIL][276] ([i915#4349]) +3 other tests fail
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@prime_vgem@basic-fence-mmap:
    - shard-dg1:          NOTRUN -> [SKIP][277] ([i915#3708] / [i915#4077])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@prime_vgem@basic-fence-mmap.html

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

  * igt@prime_vgem@fence-read-hang:
    - shard-tglu:         NOTRUN -> [SKIP][279] ([fdo#109295])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@prime_vgem@fence-read-hang.html

  * igt@prime_vgem@fence-write-hang:
    - shard-rkl:          NOTRUN -> [SKIP][280] ([fdo#109295] / [i915#3708])
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@prime_vgem@fence-write-hang.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-mtlp:         NOTRUN -> [SKIP][281] ([i915#9917])
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@v3d/v3d_get_param@base-params:
    - shard-dg2:          NOTRUN -> [SKIP][282] ([i915#2575]) +4 other tests skip
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@v3d/v3d_get_param@base-params.html

  * igt@v3d/v3d_perfmon@get-values-invalid-pointer:
    - shard-mtlp:         NOTRUN -> [SKIP][283] ([i915#2575]) +8 other tests skip
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@v3d/v3d_perfmon@get-values-invalid-pointer.html

  * igt@v3d/v3d_submit_cl@bad-multisync-in-sync:
    - shard-rkl:          NOTRUN -> [SKIP][284] ([fdo#109315]) +2 other tests skip
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@v3d/v3d_submit_cl@bad-multisync-in-sync.html

  * igt@v3d/v3d_submit_cl@single-in-sync:
    - shard-dg1:          NOTRUN -> [SKIP][285] ([i915#2575])
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@v3d/v3d_submit_cl@single-in-sync.html

  * igt@v3d/v3d_submit_cl@valid-submission:
    - shard-tglu:         NOTRUN -> [SKIP][286] ([fdo#109315] / [i915#2575]) +4 other tests skip
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@v3d/v3d_submit_cl@valid-submission.html

  * igt@vc4/vc4_lookup_fail@bad-color-write:
    - shard-mtlp:         NOTRUN -> [SKIP][287] ([i915#7711]) +5 other tests skip
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-3/igt@vc4/vc4_lookup_fail@bad-color-write.html

  * igt@vc4/vc4_perfmon@create-perfmon-invalid-events:
    - shard-dg2:          NOTRUN -> [SKIP][288] ([i915#7711]) +3 other tests skip
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-1/igt@vc4/vc4_perfmon@create-perfmon-invalid-events.html

  * igt@vc4/vc4_wait_bo@bad-pad:
    - shard-rkl:          NOTRUN -> [SKIP][289] ([i915#7711]) +2 other tests skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@vc4/vc4_wait_bo@bad-pad.html

  * igt@vc4/vc4_wait_seqno@bad-seqno-0ns:
    - shard-tglu:         NOTRUN -> [SKIP][290] ([i915#2575]) +3 other tests skip
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-8/igt@vc4/vc4_wait_seqno@bad-seqno-0ns.html

  
#### Possible fixes ####

  * igt@drm_fdinfo@idle@rcs0:
    - shard-rkl:          [FAIL][291] ([i915#7742]) -> [PASS][292]
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-5/igt@drm_fdinfo@idle@rcs0.html
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-5/igt@drm_fdinfo@idle@rcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-rkl:          [FAIL][293] ([i915#2842]) -> [PASS][294] +1 other test pass
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-3/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - shard-rkl:          [FAIL][295] ([i915#2876]) -> [PASS][296]
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-1/igt@gem_exec_fair@basic-pace@rcs0.html
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-1/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_whisper@basic-fds-priority-all:
    - shard-tglu:         [INCOMPLETE][297] ([i915#6755] / [i915#7392] / [i915#9857]) -> [PASS][298]
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-tglu-8/igt@gem_exec_whisper@basic-fds-priority-all.html
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-tglu-5/igt@gem_exec_whisper@basic-fds-priority-all.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-dg1:          [INCOMPLETE][299] ([i915#10137] / [i915#9820] / [i915#9849]) -> [PASS][300]
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg1-18/igt@i915_module_load@reload-with-fault-injection.html
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-15/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0:
    - shard-dg1:          [FAIL][301] ([i915#3591]) -> [PASS][302]
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg1-15/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-rkl:          [FAIL][303] ([i915#10031]) -> [PASS][304]
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-4/igt@i915_suspend@basic-s3-without-i915.html
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@i915_suspend@basic-s3-without-i915.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-snb:          [DMESG-WARN][305] -> [PASS][306]
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-snb2/igt@i915_suspend@fence-restore-untiled.html
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-snb1/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-mtlp:         [FAIL][307] ([i915#5138]) -> [PASS][308]
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-mtlp-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_flip@flip-vs-modeset-vs-hang@a-hdmi-a1:
    - shard-rkl:          [INCOMPLETE][309] ([i915#10137]) -> [PASS][310]
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-2/igt@kms_flip@flip-vs-modeset-vs-hang@a-hdmi-a1.html
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@kms_flip@flip-vs-modeset-vs-hang@a-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-snb:          [SKIP][311] ([fdo#109271]) -> [PASS][312] +5 other tests pass
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-snb4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a:
    - shard-rkl:          [FAIL][313] ([i915#10246]) -> [PASS][314]
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-4/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-dg2:          [SKIP][315] ([i915#9519]) -> [PASS][316]
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg2-3/igt@kms_pm_rpm@modeset-lpsp.html
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-10/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-rkl:          [SKIP][317] ([i915#9519]) -> [PASS][318]
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-3/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
    - shard-rkl:          [INCOMPLETE][319] ([i915#8875] / [i915#9569]) -> [PASS][320]
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-1/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-2/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-c-hdmi-a-4:
    - shard-dg1:          [FAIL][321] ([i915#9196]) -> [PASS][322]
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg1-15/igt@kms_universal_plane@cursor-fb-leak@pipe-c-hdmi-a-4.html
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-19/igt@kms_universal_plane@cursor-fb-leak@pipe-c-hdmi-a-4.html

  
#### Warnings ####

  * igt@gem_eio@kms:
    - shard-dg1:          [FAIL][323] ([i915#5784]) -> [INCOMPLETE][324] ([i915#10137])
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg1-16/igt@gem_eio@kms.html
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg1-18/igt@gem_eio@kms.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-mtlp:         [ABORT][325] ([i915#10131] / [i915#9820]) -> [ABORT][326] ([i915#10131] / [i915#9697])
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-mtlp-3/igt@i915_module_load@reload-with-fault-injection.html
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-mtlp-7/igt@i915_module_load@reload-with-fault-injection.html

  * igt@kms_content_protection@type1:
    - shard-snb:          [INCOMPLETE][327] ([i915#8816]) -> [SKIP][328] ([fdo#109271])
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-snb7/igt@kms_content_protection@type1.html
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-snb6/igt@kms_content_protection@type1.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-rkl:          [SKIP][329] ([fdo#110189] / [i915#3955]) -> [SKIP][330] ([i915#3955])
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-5/igt@kms_fbcon_fbt@psr-suspend.html
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-7/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-pwrite:
    - shard-snb:          [SKIP][331] ([fdo#109271]) -> [SKIP][332] ([fdo#109271] / [fdo#111767])
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-snb7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-pwrite.html
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-snb6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-pwrite.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][333] ([i915#4070] / [i915#4816]) -> [SKIP][334] ([i915#4816])
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-rkl-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-rkl-4/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
    - shard-dg2:          [CRASH][335] ([i915#9351]) -> [INCOMPLETE][336] ([i915#5493])
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14285/shard-dg2-2/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v1/shard-dg2-2/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [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#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [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#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111767]: https://bugs.freedesktop.org/show_bug.cgi?id=111767
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#10031]: https://gitlab.freedesktop.org/drm/intel/issues/10031
  [i915#10055]: https://gitlab.freedesktop.org/drm/intel/issues/10055
  [i915#10131]: https://gitlab.freedesktop.org/drm/intel/issues/10131
  [i915#10137]: https://gitlab.freedesktop.org/drm/intel/issues/10137
  [i915#10166]: https://gitlab.freedesktop.org/drm/intel/issues/10166
  [i915#10246]: https://gitlab.freedesktop.org/drm/intel/issues/10246
  [i915#10278]: https://gitlab.freedesktop.org/drm/intel/issues/10278
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2436]: https://gitlab.freedesktop.org/drm/intel/issues/2436
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2876]: https://gitlab.freedesktop.org/drm/intel/issues/2876
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4348]: https://gitlab.freedesktop.org/drm/intel/issues/4348
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4473]: https://gitlab.freedesktop.org/drm/intel/issues/4473
  [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6187]: https://gitlab.freedesktop.org/drm/intel/issues/6187
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6755]: https://gitlab.freedesktop.org/drm/intel/issues/6755
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7297]: https://gitlab.freedesktop.org/drm/intel/issues/7297
  [i915#7387]: https://gitlab.freedesktop.org/drm/intel/issues/7387
  [i915#7392]: https://gitlab.freedesktop.org/drm/intel/issues/7392
  [i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7862]: https://gitlab.freedesktop.org/drm/intel/issues/7862
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#7984]: https://gitlab.freedesktop.org/drm/intel/issues/7984
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
  [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411
  [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
  [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
  [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
  [i915#8623]: https://gitlab.freedesktop.org/drm/intel/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
  [i915#8808]: https://gitlab.freedesktop.org/drm/intel/issues/8808
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810
  [i915#8814]: https://gitlab.freedesktop.org/drm/intel/issues/8814
  [i915#8816]: https://gitlab.freedesktop.org/drm/intel/issues/8816
  [i915#8875]: https://gitlab.freedesktop.org/drm/intel/issues/8875
  [i915#9067]: https://gitlab.freedesktop.org/drm/intel/issues/9067
  [i915#9157]: https://gitlab.freedesktop.org/drm/intel/issues/9157
  [i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159
  [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196
  [i915#9227]: https://gitlab.freedesktop.org/drm/intel/issues/9227
  [i915#9275]: https://gitlab.freedesktop.org/drm/intel/issues/9275
  [i915#9292]: https://gitlab.freedesktop.org/drm/intel/issues/9292
  [i915#9311]: https://gitlab.freedesktop.org/drm/intel/issues/9311
  [i915#9323]: https://gitlab.freedesktop.org/drm/intel/issues/9323
  [i915#9337]: https://gitlab.freedesktop.org/drm/intel/issues/9337
  [i915#9351]: https://gitlab.freedesktop.org/drm/intel/issues/9351
  [i915#9412]: https://gitlab.freedesktop.org/drm/intel/issues/9412
  [i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423
  [i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424
  [i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519
  [i915#9569]: https://gitlab.freedesktop.org/drm/intel/issues/9569
  [i915#9606]: https://gitlab.freedesktop.org/drm/intel/issues/9606
  [i915#9683]: https://gitlab.freedesktop.org/drm/intel/issues/9683
  [i915#9685]: https://gitlab.freedesktop.org/drm/intel/issues/9685
  [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
  [i915#9697]: https://gitlab.freedesktop.org/drm/intel/issues/9697
  [i915#9723]: https://gitlab.freedesktop.org/drm/intel/issues/9723
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9766]: https://gitlab.freedesktop.org/drm/intel/issues/9766
  [i915#9808]: https://gitlab.freedesktop.org/drm/intel/issues/9808
  [i915#9809]: https://gitlab.freedesktop.org/drm/intel/issues/9809
  [i915#9820]: https://gitlab.freedesktop.org/drm/intel/issues/9820
  [i915#9849]: https://gitlab.freedesktop.org/drm/intel/issues/9849
  [i915#9857]: https://gitlab.freedesktop.org/drm/intel/issues/9857
  [i915#9906]: https://gitlab.freedesktop.org/drm/intel/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/intel/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/intel/issues/9934


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

  * Linux: CI_DRM_14285 -> Patchwork_129956v1

  CI-20190529: 20190529
  CI_DRM_14285: 9c2a8434bbf098a9709cfbbd7df0e1aa02c8927b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7716: 7716
  Patchwork_129956v1: 9c2a8434bbf098a9709cfbbd7df0e1aa02c8927b @ 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_129956v1/index.html

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

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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-15 16:40 ` [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall Ville Syrjala
@ 2024-02-22 21:46   ` Rodrigo Vivi
  2024-02-23 19:47     ` Ville Syrjälä
  0 siblings, 1 reply; 64+ messages in thread
From: Rodrigo Vivi @ 2024-02-22 21:46 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

On Thu, Feb 15, 2024 at 06:40:44PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> intel_crtc_check_fastset() is done per-pipe, so it would be nice
> to know which pipe it was that failed its checkup.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 00ac65a14029..a7f487f5c2b2 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -5562,14 +5562,16 @@ static int intel_modeset_checks(struct intel_atomic_state *state)
>  static void intel_crtc_check_fastset(const struct intel_crtc_state *old_crtc_state,
>  				     struct intel_crtc_state *new_crtc_state)
>  {
> -	struct drm_i915_private *i915 = to_i915(old_crtc_state->uapi.crtc->dev);
> +	struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc);
> +	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  
>  	/* only allow LRR when the timings stay within the VRR range */
>  	if (old_crtc_state->vrr.in_range != new_crtc_state->vrr.in_range)
>  		new_crtc_state->update_lrr = false;
>  
>  	if (!intel_pipe_config_compare(old_crtc_state, new_crtc_state, true))
> -		drm_dbg_kms(&i915->drm, "fastset requirement not met, forcing full modeset\n");
> +		drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] fastset requirement not met, forcing full modeset\n",
> +			    crtc->base.base.id, crtc->base.name);

looking to other patches in this same series, I wonder
if we shouldn't benefit of a crct_dbg(crtc, "message") that would print
[CRTC:%d:%s] underneath.

But anyway,

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

>  	else
>  		new_crtc_state->uapi.mode_changed = false;
>  
> -- 
> 2.43.0
> 

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

* Re: [PATCH 02/12] drm/i915: Include CRTC info in infoframe mismatch prints
  2024-02-15 16:40 ` [PATCH 02/12] drm/i915: Include CRTC info in infoframe mismatch prints Ville Syrjala
@ 2024-02-22 21:47   ` Rodrigo Vivi
  2024-02-23 19:50     ` Ville Syrjälä
  0 siblings, 1 reply; 64+ messages in thread
From: Rodrigo Vivi @ 2024-02-22 21:47 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

On Thu, Feb 15, 2024 at 06:40:45PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Most crtc state mismatches include the CRTC id+name in the
> prints. Also include it in the infoframe mismatches.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index a7f487f5c2b2..e3520a3da468 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4788,23 +4788,27 @@ intel_compare_buffer(const u8 *a, const u8 *b, size_t len)
>  }
>  
>  static void
> -pipe_config_infoframe_mismatch(struct drm_i915_private *dev_priv,
> -			       bool fastset, const char *name,
> +pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,

why not crtc, fastset? having the main struct as the first
argument seems more natural imho

anyway,

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> +			       const char *name,
>  			       const union hdmi_infoframe *a,
>  			       const union hdmi_infoframe *b)
>  {
> +	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> +
>  	if (fastset) {
>  		if (!drm_debug_enabled(DRM_UT_KMS))
>  			return;
>  
>  		drm_dbg_kms(&dev_priv->drm,
> -			    "fastset requirement not met in %s infoframe\n", name);
> +			    "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
> +			    crtc->base.base.id, crtc->base.name, name);
>  		drm_dbg_kms(&dev_priv->drm, "expected:\n");
>  		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, a);
>  		drm_dbg_kms(&dev_priv->drm, "found:\n");
>  		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, b);
>  	} else {
> -		drm_err(&dev_priv->drm, "mismatch in %s infoframe\n", name);
> +		drm_err(&dev_priv->drm, "[CRTC:%d:%s] mismatch in %s infoframe\n",
> +			crtc->base.base.id, crtc->base.name, name);
>  		drm_err(&dev_priv->drm, "expected:\n");
>  		hdmi_infoframe_log(KERN_ERR, dev_priv->drm.dev, a);
>  		drm_err(&dev_priv->drm, "found:\n");
> @@ -5072,7 +5076,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  #define PIPE_CONF_CHECK_INFOFRAME(name) do { \
>  	if (!intel_compare_infoframe(&current_config->infoframes.name, \
>  				     &pipe_config->infoframes.name)) { \
> -		pipe_config_infoframe_mismatch(dev_priv, fastset, __stringify(name), \
> +		pipe_config_infoframe_mismatch(fastset, crtc, __stringify(name), \
>  					       &current_config->infoframes.name, \
>  					       &pipe_config->infoframes.name); \
>  		ret = false; \
> -- 
> 2.43.0
> 

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

* Re: [PATCH 03/12] drm/i915: Include CRTC info in VSC SDP mismatch prints
  2024-02-15 16:40 ` [PATCH 03/12] drm/i915: Include CRTC info in VSC SDP " Ville Syrjala
@ 2024-02-22 21:48   ` Rodrigo Vivi
  0 siblings, 0 replies; 64+ messages in thread
From: Rodrigo Vivi @ 2024-02-22 21:48 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

On Thu, Feb 15, 2024 at 06:40:46PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Most crtc state mismatches include the CRTC id+name in the
> prints. Also include it in the VSC SDP mismatches.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index e3520a3da468..2aabfa154d8a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4817,21 +4817,24 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
>  }
>  
>  static void
> -pipe_config_dp_vsc_sdp_mismatch(struct drm_i915_private *i915,
> -				bool fastset, const char *name,
> +pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
> +				const char *name,
>  				const struct drm_dp_vsc_sdp *a,
>  				const struct drm_dp_vsc_sdp *b)
>  {
> +	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	struct drm_printer p;
>  
>  	if (fastset) {
>  		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>  
> -		drm_printf(&p, "fastset requirement not met in %s dp sdp\n", name);
> +		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s dp sdp\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	} else {
>  		p = drm_err_printer(&i915->drm, NULL);
>  
> -		drm_printf(&p, "mismatch in %s dp sdp\n", name);
> +		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s dp sdp\n",
> +			   crtc->base.base.id, crtc->base.name, name);

ditto

>  	}
>  
>  	drm_printf(&p, "expected:\n");
> @@ -5086,7 +5089,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  #define PIPE_CONF_CHECK_DP_VSC_SDP(name) do { \
>  	if (!intel_compare_dp_vsc_sdp(&current_config->infoframes.name, \
>  				      &pipe_config->infoframes.name)) { \
> -		pipe_config_dp_vsc_sdp_mismatch(dev_priv, fastset, __stringify(name), \
> +		pipe_config_dp_vsc_sdp_mismatch(fastset, crtc, __stringify(name), \

ditto

anyway

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

>  						&current_config->infoframes.name, \
>  						&pipe_config->infoframes.name); \
>  		ret = false; \
> -- 
> 2.43.0
> 

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

* Re: [PATCH 04/12] drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
  2024-02-15 16:40 ` [PATCH 04/12] drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer Ville Syrjala
@ 2024-02-22 21:50   ` Rodrigo Vivi
  0 siblings, 0 replies; 64+ messages in thread
From: Rodrigo Vivi @ 2024-02-22 21:50 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

On Thu, Feb 15, 2024 at 06:40:47PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Utilize drm_printer in pipe_config_infoframe_mismatch() to avoid
> a bit of code duplication.
> 
> hdmi_infoframe_log() can't use the printer of course, but for that
> we can just figure out which loglevel to use. And we do need to keep
> the explicit drm_debug_enabled(DRM_UT_KMS) since hdmi_infoframe_log()
> won't do it for us.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 32 +++++++++++---------
>  1 file changed, 18 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 2aabfa154d8a..0292c49e0dad 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4793,27 +4793,31 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
>  			       const union hdmi_infoframe *a,
>  			       const union hdmi_infoframe *b)
>  {
> -	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> +	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct drm_printer p;
> +	const char *loglevel;
>  
>  	if (fastset) {
>  		if (!drm_debug_enabled(DRM_UT_KMS))
>  			return;
>  
> -		drm_dbg_kms(&dev_priv->drm,
> -			    "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
> -			    crtc->base.base.id, crtc->base.name, name);
> -		drm_dbg_kms(&dev_priv->drm, "expected:\n");
> -		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, a);
> -		drm_dbg_kms(&dev_priv->drm, "found:\n");
> -		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, b);
> +		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> +		loglevel = KERN_DEBUG;
> +
> +		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	} else {
> -		drm_err(&dev_priv->drm, "[CRTC:%d:%s] mismatch in %s infoframe\n",
> -			crtc->base.base.id, crtc->base.name, name);
> -		drm_err(&dev_priv->drm, "expected:\n");
> -		hdmi_infoframe_log(KERN_ERR, dev_priv->drm.dev, a);
> -		drm_err(&dev_priv->drm, "found:\n");
> -		hdmi_infoframe_log(KERN_ERR, dev_priv->drm.dev, b);
> +		p = drm_err_printer(&i915->drm, NULL);
> +		loglevel = KERN_ERR;
> +
> +		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s infoframe\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	}
> +
> +	drm_printf(&p, "expected:\n");
> +	hdmi_infoframe_log(loglevel, i915->drm.dev, a);
> +	drm_printf(&p, "found:\n");
> +	hdmi_infoframe_log(loglevel, i915->drm.dev, b);
>  }
>  
>  static void
> -- 
> 2.43.0
> 

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

* Re: [PATCH 05/12] drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
  2024-02-15 16:40 ` [PATCH 05/12] drm/i915: Convert pipe_config_buffer_mismatch() " Ville Syrjala
@ 2024-02-22 21:51   ` Rodrigo Vivi
  0 siblings, 0 replies; 64+ messages in thread
From: Rodrigo Vivi @ 2024-02-22 21:51 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

On Thu, Feb 15, 2024 at 06:40:48PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Utilize drm_printer in pipe_config_infoframe_mismatch() to avoid
> a bit of code duplication.
> 
> print_hex_dump() doesn't know anything about the printer so
> it still needs the DRM_UT_KMS check and special handling for
> the loglevel. But at least we end up with a bit less copy-pasta.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 37 ++++++++++----------
>  1 file changed, 19 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 0292c49e0dad..e5010049d52e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4866,33 +4866,34 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
>  			    const char *name,
>  			    const u8 *a, const u8 *b, size_t len)
>  {
> -	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> +	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct drm_printer p;
> +	const char *loglevel;
>  
>  	if (fastset) {
>  		if (!drm_debug_enabled(DRM_UT_KMS))
>  			return;
>  
> -		/* only dump up to the last difference */
> -		len = memcmp_diff_len(a, b, len);
> +		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> +		loglevel = KERN_DEBUG;
>  
> -		drm_dbg_kms(&dev_priv->drm,
> -			    "[CRTC:%d:%s] fastset requirement not met in %s buffer\n",
> -			    crtc->base.base.id, crtc->base.name, name);
> -		print_hex_dump(KERN_DEBUG, "expected: ", DUMP_PREFIX_NONE,
> -			       16, 0, a, len, false);
> -		print_hex_dump(KERN_DEBUG, "found: ", DUMP_PREFIX_NONE,
> -			       16, 0, b, len, false);
> +		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s buffer\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	} else {
> -		/* only dump up to the last difference */
> -		len = memcmp_diff_len(a, b, len);
> +		p = drm_err_printer(&i915->drm, NULL);
> +		loglevel = KERN_ERR;
>  
> -		drm_err(&dev_priv->drm, "[CRTC:%d:%s] mismatch in %s buffer\n",
> -			crtc->base.base.id, crtc->base.name, name);
> -		print_hex_dump(KERN_ERR, "expected: ", DUMP_PREFIX_NONE,
> -			       16, 0, a, len, false);
> -		print_hex_dump(KERN_ERR, "found: ", DUMP_PREFIX_NONE,
> -			       16, 0, b, len, false);
> +		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s buffer\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	}
> +
> +	/* only dump up to the last difference */
> +	len = memcmp_diff_len(a, b, len);
> +
> +	print_hex_dump(loglevel, "expected: ", DUMP_PREFIX_NONE,
> +		       16, 0, a, len, false);
> +	print_hex_dump(loglevel, "found: ", DUMP_PREFIX_NONE,
> +		       16, 0, b, len, false);
>  }
>  
>  static void __printf(4, 5)
> -- 
> 2.43.0
> 

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

* Re: [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
  2024-02-15 16:40 ` [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() " Ville Syrjala
@ 2024-02-22 21:54   ` Rodrigo Vivi
  2024-02-23 19:57     ` Ville Syrjälä
  2024-02-29 18:40   ` [PATCH v2 " Ville Syrjala
  1 sibling, 1 reply; 64+ messages in thread
From: Rodrigo Vivi @ 2024-02-22 21:54 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

On Thu, Feb 15, 2024 at 06:40:49PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Utilize drm_printer in pipe_config_pll_mismatch() to avoid
> a bit of code duplication.
> 
> To achieve this we need to plumb the printer all way to the
> dpll_mgr .dump_hw_state() functions. Those are also used by
> intel_crtc_state_dump() which needs to be adjusted as well.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  .../drm/i915/display/intel_crtc_state_dump.c  |   5 +-
>  drivers/gpu/drm/i915/display/intel_display.c  |  27 ++---
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 105 ++++++++----------
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.h |   2 +
>  4 files changed, 67 insertions(+), 72 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> index 4bcf446c75f4..59d2b3d39951 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> @@ -205,9 +205,12 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	const struct intel_plane_state *plane_state;
>  	struct intel_plane *plane;
> +	struct drm_printer p;
>  	char buf[64];
>  	int i;
>  
> +	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> +
>  	drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] enable: %s [%s]\n",
>  		    crtc->base.base.id, crtc->base.name,
>  		    str_yes_no(pipe_config->hw.enable), context);
> @@ -356,7 +359,7 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  		    pipe_config->ips_enabled, pipe_config->double_wide,
>  		    pipe_config->has_drrs);
>  
> -	intel_dpll_dump_hw_state(i915, &pipe_config->dpll_hw_state);
> +	intel_dpll_dump_hw_state(i915, &p, &pipe_config->dpll_hw_state);
>  
>  	if (IS_CHERRYVIEW(i915))
>  		drm_dbg_kms(&i915->drm,
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index e5010049d52e..d7f39ad84138 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4927,26 +4927,27 @@ pipe_config_pll_mismatch(bool fastset,
>  			 const struct intel_dpll_hw_state *b)
>  {
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct drm_printer p;
>  
>  	if (fastset) {
>  		if (!drm_debug_enabled(DRM_UT_KMS))
>  			return;
>  
> -		drm_dbg_kms(&i915->drm,
> -			    "[CRTC:%d:%s] fastset requirement not met in %s\n",
> -			    crtc->base.base.id, crtc->base.name, name);
> -		drm_dbg_kms(&i915->drm, "expected:\n");
> -		intel_dpll_dump_hw_state(i915, a);
> -		drm_dbg_kms(&i915->drm, "found:\n");
> -		intel_dpll_dump_hw_state(i915, b);
> +		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> +
> +		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	} else {
> -		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s buffer\n",
> -			crtc->base.base.id, crtc->base.name, name);
> -		drm_err(&i915->drm, "expected:\n");
> -		intel_dpll_dump_hw_state(i915, a);
> -		drm_err(&i915->drm, "found:\n");
> -		intel_dpll_dump_hw_state(i915, b);
> +		p = drm_err_printer(&i915->drm, NULL);
> +
> +		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	}
> +
> +	drm_dbg_kms(&i915->drm, "expected:\n");
> +	intel_dpll_dump_hw_state(i915, &p, a);
> +	drm_dbg_kms(&i915->drm, "found:\n");
> +	intel_dpll_dump_hw_state(i915, &p, b);

forgot to convert here?

>  }
>  
>  bool
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> index ff480f171f75..9542e62186e2 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> @@ -107,7 +107,7 @@ struct intel_dpll_mgr {
>  				   struct intel_crtc *crtc,
>  				   struct intel_encoder *encoder);
>  	void (*update_ref_clks)(struct drm_i915_private *i915);
> -	void (*dump_hw_state)(struct drm_i915_private *i915,
> +	void (*dump_hw_state)(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state);
>  	bool (*compare_hw_state)(const struct intel_dpll_hw_state *a,
>  				 const struct intel_dpll_hw_state *b);
> @@ -634,16 +634,15 @@ static int ibx_get_dpll(struct intel_atomic_state *state,
>  	return 0;
>  }
>  
> -static void ibx_dump_hw_state(struct drm_i915_private *i915,
> +static void ibx_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm,
> -		    "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
> -		    "fp0: 0x%x, fp1: 0x%x\n",
> -		    hw_state->dpll,
> -		    hw_state->dpll_md,
> -		    hw_state->fp0,
> -		    hw_state->fp1);
> +	drm_printf(p, "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
> +		   "fp0: 0x%x, fp1: 0x%x\n",
> +		   hw_state->dpll,
> +		   hw_state->dpll_md,
> +		   hw_state->fp0,
> +		   hw_state->fp1);
>  }
>  
>  static bool ibx_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -1225,11 +1224,11 @@ static void hsw_update_dpll_ref_clks(struct drm_i915_private *i915)
>  		i915->display.dpll.ref_clks.nssc = 135000;
>  }
>  
> -static void hsw_dump_hw_state(struct drm_i915_private *i915,
> +static void hsw_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm, "dpll_hw_state: wrpll: 0x%x spll: 0x%x\n",
> -		    hw_state->wrpll, hw_state->spll);
> +	drm_printf(p, "dpll_hw_state: wrpll: 0x%x spll: 0x%x\n",
> +		   hw_state->wrpll, hw_state->spll);
>  }
>  
>  static bool hsw_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -1939,14 +1938,11 @@ static void skl_update_dpll_ref_clks(struct drm_i915_private *i915)
>  	i915->display.dpll.ref_clks.nssc = i915->display.cdclk.hw.ref;
>  }
>  
> -static void skl_dump_hw_state(struct drm_i915_private *i915,
> +static void skl_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm, "dpll_hw_state: "
> -		      "ctrl1: 0x%x, cfgcr1: 0x%x, cfgcr2: 0x%x\n",
> -		      hw_state->ctrl1,
> -		      hw_state->cfgcr1,
> -		      hw_state->cfgcr2);
> +	drm_printf(p, "dpll_hw_state: ctrl1: 0x%x, cfgcr1: 0x%x, cfgcr2: 0x%x\n",
> +		   hw_state->ctrl1, hw_state->cfgcr1, hw_state->cfgcr2);
>  }
>  
>  static bool skl_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -2402,23 +2398,16 @@ static void bxt_update_dpll_ref_clks(struct drm_i915_private *i915)
>  	/* DSI non-SSC ref 19.2MHz */
>  }
>  
> -static void bxt_dump_hw_state(struct drm_i915_private *i915,
> +static void bxt_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm, "dpll_hw_state: ebb0: 0x%x, ebb4: 0x%x,"
> -		    "pll0: 0x%x, pll1: 0x%x, pll2: 0x%x, pll3: 0x%x, "
> -		    "pll6: 0x%x, pll8: 0x%x, pll9: 0x%x, pll10: 0x%x, pcsdw12: 0x%x\n",
> -		    hw_state->ebb0,
> -		    hw_state->ebb4,
> -		    hw_state->pll0,
> -		    hw_state->pll1,
> -		    hw_state->pll2,
> -		    hw_state->pll3,
> -		    hw_state->pll6,
> -		    hw_state->pll8,
> -		    hw_state->pll9,
> -		    hw_state->pll10,
> -		    hw_state->pcsdw12);
> +	drm_printf(p, "dpll_hw_state: ebb0: 0x%x, ebb4: 0x%x,"
> +		   "pll0: 0x%x, pll1: 0x%x, pll2: 0x%x, pll3: 0x%x, "
> +		   "pll6: 0x%x, pll8: 0x%x, pll9: 0x%x, pll10: 0x%x, pcsdw12: 0x%x\n",
> +		   hw_state->ebb0, hw_state->ebb4,
> +		   hw_state->pll0, hw_state->pll1, hw_state->pll2, hw_state->pll3,
> +		   hw_state->pll6, hw_state->pll8, hw_state->pll9, hw_state->pll10,
> +		   hw_state->pcsdw12);
>  }
>  
>  static bool bxt_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -4026,28 +4015,26 @@ static void icl_update_dpll_ref_clks(struct drm_i915_private *i915)
>  	i915->display.dpll.ref_clks.nssc = i915->display.cdclk.hw.ref;
>  }
>  
> -static void icl_dump_hw_state(struct drm_i915_private *i915,
> +static void icl_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm,
> -		    "dpll_hw_state: cfgcr0: 0x%x, cfgcr1: 0x%x, div0: 0x%x, "
> -		    "mg_refclkin_ctl: 0x%x, hg_clktop2_coreclkctl1: 0x%x, "
> -		    "mg_clktop2_hsclkctl: 0x%x, mg_pll_div0: 0x%x, "
> -		    "mg_pll_div2: 0x%x, mg_pll_lf: 0x%x, "
> -		    "mg_pll_frac_lock: 0x%x, mg_pll_ssc: 0x%x, "
> -		    "mg_pll_bias: 0x%x, mg_pll_tdc_coldst_bias: 0x%x\n",
> -		    hw_state->cfgcr0, hw_state->cfgcr1,
> -		    hw_state->div0,
> -		    hw_state->mg_refclkin_ctl,
> -		    hw_state->mg_clktop2_coreclkctl1,
> -		    hw_state->mg_clktop2_hsclkctl,
> -		    hw_state->mg_pll_div0,
> -		    hw_state->mg_pll_div1,
> -		    hw_state->mg_pll_lf,
> -		    hw_state->mg_pll_frac_lock,
> -		    hw_state->mg_pll_ssc,
> -		    hw_state->mg_pll_bias,
> -		    hw_state->mg_pll_tdc_coldst_bias);
> +	drm_printf(p, "dpll_hw_state: cfgcr0: 0x%x, cfgcr1: 0x%x, div0: 0x%x, "
> +		   "mg_refclkin_ctl: 0x%x, hg_clktop2_coreclkctl1: 0x%x, "
> +		   "mg_clktop2_hsclkctl: 0x%x, mg_pll_div0: 0x%x, "
> +		   "mg_pll_div2: 0x%x, mg_pll_lf: 0x%x, "
> +		   "mg_pll_frac_lock: 0x%x, mg_pll_ssc: 0x%x, "
> +		   "mg_pll_bias: 0x%x, mg_pll_tdc_coldst_bias: 0x%x\n",
> +		   hw_state->cfgcr0, hw_state->cfgcr1, hw_state->div0,
> +		   hw_state->mg_refclkin_ctl,
> +		   hw_state->mg_clktop2_coreclkctl1,
> +		   hw_state->mg_clktop2_hsclkctl,
> +		   hw_state->mg_pll_div0,
> +		   hw_state->mg_pll_div1,
> +		   hw_state->mg_pll_lf,
> +		   hw_state->mg_pll_frac_lock,
> +		   hw_state->mg_pll_ssc,
> +		   hw_state->mg_pll_bias,
> +		   hw_state->mg_pll_tdc_coldst_bias);
>  }
>  
>  static bool icl_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -4514,22 +4501,24 @@ void intel_dpll_sanitize_state(struct drm_i915_private *i915)
>  }
>  
>  /**
> - * intel_dpll_dump_hw_state - write hw_state to dmesg
> + * intel_dpll_dump_hw_state - dump hw_state
>   * @i915: i915 drm device
> - * @hw_state: hw state to be written to the log
> + * @p: where to print the state to
> + * @hw_state: hw state to be dumped
>   *
> - * Write the relevant values in @hw_state to dmesg using drm_dbg_kms.
> + * Dumo out the relevant values in @hw_state.
>   */
>  void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
> +			      struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
>  	if (i915->display.dpll.mgr) {
> -		i915->display.dpll.mgr->dump_hw_state(i915, hw_state);
> +		i915->display.dpll.mgr->dump_hw_state(p, hw_state);
>  	} else {
>  		/* fallback for platforms that don't use the shared dpll
>  		 * infrastructure
>  		 */
> -		ibx_dump_hw_state(i915, hw_state);
> +		ibx_dump_hw_state(p, hw_state);
>  	}
>  }
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> index cc0e1386309d..d4d97e40440a 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> @@ -36,6 +36,7 @@
>  
>  enum tc_port;
>  struct drm_i915_private;
> +struct drm_printer;
>  struct intel_atomic_state;
>  struct intel_crtc;
>  struct intel_crtc_state;
> @@ -377,6 +378,7 @@ void intel_dpll_readout_hw_state(struct drm_i915_private *i915);
>  void intel_dpll_sanitize_state(struct drm_i915_private *i915);
>  
>  void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
> +			      struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state);
>  bool intel_dpll_compare_hw_state(struct drm_i915_private *i915,
>  				 const struct intel_dpll_hw_state *a,
> -- 
> 2.43.0
> 

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

* Re: [PATCH 07/12] drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
  2024-02-15 16:40 ` [PATCH 07/12] drm/i915: Use drm_printer more extensively in intel_crtc_state_dump() Ville Syrjala
@ 2024-02-22 21:57   ` Rodrigo Vivi
  2024-02-23 19:59     ` Ville Syrjälä
  0 siblings, 1 reply; 64+ messages in thread
From: Rodrigo Vivi @ 2024-02-22 21:57 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

On Thu, Feb 15, 2024 at 06:40:50PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Convert all the direct drm_dbg_kms() stuff in intel_crtc_state_dump()
> over to drm_printf() since we now have the drm_printer around.

looking all this I ask myself if it is really a good idea
to move from the debug helpers to the printf... we need
to keep coming back to where the printer was defined to
know what level we are printing...

well, since the printer is already there, well, let's
use

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

but with some bad gut feeling about the whole change...


> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  .../drm/i915/display/intel_crtc_state_dump.c  | 185 ++++++++----------
>  1 file changed, 87 insertions(+), 98 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> index 59d2b3d39951..b34fb0e6e46d 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> @@ -211,43 +211,40 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  
>  	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>  
> -	drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] enable: %s [%s]\n",
> -		    crtc->base.base.id, crtc->base.name,
> -		    str_yes_no(pipe_config->hw.enable), context);
> +	drm_printf(&p, "[CRTC:%d:%s] enable: %s [%s]\n",
> +		   crtc->base.base.id, crtc->base.name,
> +		   str_yes_no(pipe_config->hw.enable), context);
>  
>  	if (!pipe_config->hw.enable)
>  		goto dump_planes;
>  
>  	snprintf_output_types(buf, sizeof(buf), pipe_config->output_types);
> -	drm_dbg_kms(&i915->drm,
> -		    "active: %s, output_types: %s (0x%x), output format: %s, sink format: %s\n",
> -		    str_yes_no(pipe_config->hw.active),
> -		    buf, pipe_config->output_types,
> -		    intel_output_format_name(pipe_config->output_format),
> -		    intel_output_format_name(pipe_config->sink_format));
> +	drm_printf(&p, "active: %s, output_types: %s (0x%x), output format: %s, sink format: %s\n",
> +		   str_yes_no(pipe_config->hw.active),
> +		   buf, pipe_config->output_types,
> +		   intel_output_format_name(pipe_config->output_format),
> +		   intel_output_format_name(pipe_config->sink_format));
>  
> -	drm_dbg_kms(&i915->drm,
> -		    "cpu_transcoder: %s, pipe bpp: %i, dithering: %i\n",
> -		    transcoder_name(pipe_config->cpu_transcoder),
> -		    pipe_config->pipe_bpp, pipe_config->dither);
> +	drm_printf(&p, "cpu_transcoder: %s, pipe bpp: %i, dithering: %i\n",
> +		   transcoder_name(pipe_config->cpu_transcoder),
> +		   pipe_config->pipe_bpp, pipe_config->dither);
>  
> -	drm_dbg_kms(&i915->drm, "MST master transcoder: %s\n",
> -		    transcoder_name(pipe_config->mst_master_transcoder));
> +	drm_printf(&p, "MST master transcoder: %s\n",
> +		   transcoder_name(pipe_config->mst_master_transcoder));
>  
> -	drm_dbg_kms(&i915->drm,
> -		    "port sync: master transcoder: %s, slave transcoder bitmask = 0x%x\n",
> -		    transcoder_name(pipe_config->master_transcoder),
> -		    pipe_config->sync_mode_slaves_mask);
> +	drm_printf(&p, "port sync: master transcoder: %s, slave transcoder bitmask = 0x%x\n",
> +		   transcoder_name(pipe_config->master_transcoder),
> +		   pipe_config->sync_mode_slaves_mask);
>  
> -	drm_dbg_kms(&i915->drm, "bigjoiner: %s, pipes: 0x%x\n",
> -		    intel_crtc_is_bigjoiner_slave(pipe_config) ? "slave" :
> -		    intel_crtc_is_bigjoiner_master(pipe_config) ? "master" : "no",
> -		    pipe_config->bigjoiner_pipes);
> +	drm_printf(&p, "bigjoiner: %s, pipes: 0x%x\n",
> +		   intel_crtc_is_bigjoiner_slave(pipe_config) ? "slave" :
> +		   intel_crtc_is_bigjoiner_master(pipe_config) ? "master" : "no",
> +		   pipe_config->bigjoiner_pipes);
>  
> -	drm_dbg_kms(&i915->drm, "splitter: %s, link count %d, overlap %d\n",
> -		    str_enabled_disabled(pipe_config->splitter.enable),
> -		    pipe_config->splitter.link_count,
> -		    pipe_config->splitter.pixel_overlap);
> +	drm_printf(&p, "splitter: %s, link count %d, overlap %d\n",
> +		   str_enabled_disabled(pipe_config->splitter.enable),
> +		   pipe_config->splitter.link_count,
> +		   pipe_config->splitter.pixel_overlap);
>  
>  	if (pipe_config->has_pch_encoder)
>  		intel_dump_m_n_config(pipe_config, "fdi",
> @@ -261,32 +258,30 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  		intel_dump_m_n_config(pipe_config, "dp m2_n2",
>  				      pipe_config->lane_count,
>  				      &pipe_config->dp_m2_n2);
> -		drm_dbg_kms(&i915->drm, "fec: %s, enhanced framing: %s\n",
> -			    str_enabled_disabled(pipe_config->fec_enable),
> -			    str_enabled_disabled(pipe_config->enhanced_framing));
> +		drm_printf(&p, "fec: %s, enhanced framing: %s\n",
> +			   str_enabled_disabled(pipe_config->fec_enable),
> +			   str_enabled_disabled(pipe_config->enhanced_framing));
>  
> -		drm_dbg_kms(&i915->drm, "sdp split: %s\n",
> -			    str_enabled_disabled(pipe_config->sdp_split_enable));
> +		drm_printf(&p, "sdp split: %s\n",
> +			   str_enabled_disabled(pipe_config->sdp_split_enable));
>  
> -		drm_dbg_kms(&i915->drm, "psr: %s, psr2: %s, panel replay: %s, selective fetch: %s\n",
> -			    str_enabled_disabled(pipe_config->has_psr),
> -			    str_enabled_disabled(pipe_config->has_psr2),
> -			    str_enabled_disabled(pipe_config->has_panel_replay),
> -			    str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));
> +		drm_printf(&p, "psr: %s, psr2: %s, panel replay: %s, selective fetch: %s\n",
> +			   str_enabled_disabled(pipe_config->has_psr),
> +			   str_enabled_disabled(pipe_config->has_psr2),
> +			   str_enabled_disabled(pipe_config->has_panel_replay),
> +			   str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));
>  	}
>  
> -	drm_dbg_kms(&i915->drm, "framestart delay: %d, MSA timing delay: %d\n",
> -		    pipe_config->framestart_delay, pipe_config->msa_timing_delay);
> +	drm_printf(&p, "framestart delay: %d, MSA timing delay: %d\n",
> +		   pipe_config->framestart_delay, pipe_config->msa_timing_delay);
>  
> -	drm_dbg_kms(&i915->drm,
> -		    "audio: %i, infoframes: %i, infoframes enabled: 0x%x\n",
> -		    pipe_config->has_audio, pipe_config->has_infoframe,
> -		    pipe_config->infoframes.enable);
> +	drm_printf(&p, "audio: %i, infoframes: %i, infoframes enabled: 0x%x\n",
> +		   pipe_config->has_audio, pipe_config->has_infoframe,
> +		   pipe_config->infoframes.enable);
>  
>  	if (pipe_config->infoframes.enable &
>  	    intel_hdmi_infoframe_enable(HDMI_PACKET_TYPE_GENERAL_CONTROL))
> -		drm_dbg_kms(&i915->drm, "GCP: 0x%x\n",
> -			    pipe_config->infoframes.gcp);
> +		drm_printf(&p, "GCP: 0x%x\n", pipe_config->infoframes.gcp);
>  	if (pipe_config->infoframes.enable &
>  	    intel_hdmi_infoframe_enable(HDMI_INFOFRAME_TYPE_AVI))
>  		intel_dump_infoframe(i915, &pipe_config->infoframes.avi);
> @@ -310,75 +305,69 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  		intel_dump_buffer(i915, "ELD: ", pipe_config->eld,
>  				  drm_eld_size(pipe_config->eld));
>  
> -	drm_dbg_kms(&i915->drm, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
> -		    str_yes_no(pipe_config->vrr.enable),
> -		    pipe_config->vrr.vmin, pipe_config->vrr.vmax,
> -		    pipe_config->vrr.pipeline_full, pipe_config->vrr.guardband,
> -		    pipe_config->vrr.flipline,
> -		    intel_vrr_vmin_vblank_start(pipe_config),
> -		    intel_vrr_vmax_vblank_start(pipe_config));
> +	drm_printf(&p, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
> +		   str_yes_no(pipe_config->vrr.enable),
> +		   pipe_config->vrr.vmin, pipe_config->vrr.vmax,
> +		   pipe_config->vrr.pipeline_full, pipe_config->vrr.guardband,
> +		   pipe_config->vrr.flipline,
> +		   intel_vrr_vmin_vblank_start(pipe_config),
> +		   intel_vrr_vmax_vblank_start(pipe_config));
>  
> -	drm_dbg_kms(&i915->drm, "requested mode: " DRM_MODE_FMT "\n",
> -		    DRM_MODE_ARG(&pipe_config->hw.mode));
> -	drm_dbg_kms(&i915->drm, "adjusted mode: " DRM_MODE_FMT "\n",
> -		    DRM_MODE_ARG(&pipe_config->hw.adjusted_mode));
> +	drm_printf(&p, "requested mode: " DRM_MODE_FMT "\n",
> +		   DRM_MODE_ARG(&pipe_config->hw.mode));
> +	drm_printf(&p, "adjusted mode: " DRM_MODE_FMT "\n",
> +		   DRM_MODE_ARG(&pipe_config->hw.adjusted_mode));
>  	intel_dump_crtc_timings(i915, &pipe_config->hw.adjusted_mode);
> -	drm_dbg_kms(&i915->drm, "pipe mode: " DRM_MODE_FMT "\n",
> -		    DRM_MODE_ARG(&pipe_config->hw.pipe_mode));
> +	drm_printf(&p, "pipe mode: " DRM_MODE_FMT "\n",
> +		   DRM_MODE_ARG(&pipe_config->hw.pipe_mode));
>  	intel_dump_crtc_timings(i915, &pipe_config->hw.pipe_mode);
> -	drm_dbg_kms(&i915->drm,
> -		    "port clock: %d, pipe src: " DRM_RECT_FMT ", pixel rate %d\n",
> -		    pipe_config->port_clock, DRM_RECT_ARG(&pipe_config->pipe_src),
> -		    pipe_config->pixel_rate);
> +	drm_printf(&p, "port clock: %d, pipe src: " DRM_RECT_FMT ", pixel rate %d\n",
> +		   pipe_config->port_clock, DRM_RECT_ARG(&pipe_config->pipe_src),
> +		   pipe_config->pixel_rate);
>  
> -	drm_dbg_kms(&i915->drm, "linetime: %d, ips linetime: %d\n",
> -		    pipe_config->linetime, pipe_config->ips_linetime);
> +	drm_printf(&p, "linetime: %d, ips linetime: %d\n",
> +		   pipe_config->linetime, pipe_config->ips_linetime);
>  
>  	if (DISPLAY_VER(i915) >= 9)
> -		drm_dbg_kms(&i915->drm,
> -			    "num_scalers: %d, scaler_users: 0x%x, scaler_id: %d, scaling_filter: %d\n",
> -			    crtc->num_scalers,
> -			    pipe_config->scaler_state.scaler_users,
> -			    pipe_config->scaler_state.scaler_id,
> -			    pipe_config->hw.scaling_filter);
> +		drm_printf(&p, "num_scalers: %d, scaler_users: 0x%x, scaler_id: %d, scaling_filter: %d\n",
> +			   crtc->num_scalers,
> +			   pipe_config->scaler_state.scaler_users,
> +			   pipe_config->scaler_state.scaler_id,
> +			   pipe_config->hw.scaling_filter);
>  
>  	if (HAS_GMCH(i915))
> -		drm_dbg_kms(&i915->drm,
> -			    "gmch pfit: control: 0x%08x, ratios: 0x%08x, lvds border: 0x%08x\n",
> -			    pipe_config->gmch_pfit.control,
> -			    pipe_config->gmch_pfit.pgm_ratios,
> -			    pipe_config->gmch_pfit.lvds_border_bits);
> +		drm_printf(&p, "gmch pfit: control: 0x%08x, ratios: 0x%08x, lvds border: 0x%08x\n",
> +			   pipe_config->gmch_pfit.control,
> +			   pipe_config->gmch_pfit.pgm_ratios,
> +			   pipe_config->gmch_pfit.lvds_border_bits);
>  	else
> -		drm_dbg_kms(&i915->drm,
> -			    "pch pfit: " DRM_RECT_FMT ", %s, force thru: %s\n",
> -			    DRM_RECT_ARG(&pipe_config->pch_pfit.dst),
> -			    str_enabled_disabled(pipe_config->pch_pfit.enabled),
> -			    str_yes_no(pipe_config->pch_pfit.force_thru));
> +		drm_printf(&p, "pch pfit: " DRM_RECT_FMT ", %s, force thru: %s\n",
> +			   DRM_RECT_ARG(&pipe_config->pch_pfit.dst),
> +			   str_enabled_disabled(pipe_config->pch_pfit.enabled),
> +			   str_yes_no(pipe_config->pch_pfit.force_thru));
>  
> -	drm_dbg_kms(&i915->drm, "ips: %i, double wide: %i, drrs: %i\n",
> -		    pipe_config->ips_enabled, pipe_config->double_wide,
> -		    pipe_config->has_drrs);
> +	drm_printf(&p, "ips: %i, double wide: %i, drrs: %i\n",
> +		   pipe_config->ips_enabled, pipe_config->double_wide,
> +		   pipe_config->has_drrs);
>  
>  	intel_dpll_dump_hw_state(i915, &p, &pipe_config->dpll_hw_state);
>  
>  	if (IS_CHERRYVIEW(i915))
> -		drm_dbg_kms(&i915->drm,
> -			    "cgm_mode: 0x%x gamma_mode: 0x%x gamma_enable: %d csc_enable: %d\n",
> -			    pipe_config->cgm_mode, pipe_config->gamma_mode,
> -			    pipe_config->gamma_enable, pipe_config->csc_enable);
> +		drm_printf(&p, "cgm_mode: 0x%x gamma_mode: 0x%x gamma_enable: %d csc_enable: %d\n",
> +			   pipe_config->cgm_mode, pipe_config->gamma_mode,
> +			   pipe_config->gamma_enable, pipe_config->csc_enable);
>  	else
> -		drm_dbg_kms(&i915->drm,
> -			    "csc_mode: 0x%x gamma_mode: 0x%x gamma_enable: %d csc_enable: %d\n",
> -			    pipe_config->csc_mode, pipe_config->gamma_mode,
> -			    pipe_config->gamma_enable, pipe_config->csc_enable);
> +		drm_printf(&p, "csc_mode: 0x%x gamma_mode: 0x%x gamma_enable: %d csc_enable: %d\n",
> +			   pipe_config->csc_mode, pipe_config->gamma_mode,
> +			   pipe_config->gamma_enable, pipe_config->csc_enable);
>  
> -	drm_dbg_kms(&i915->drm, "pre csc lut: %s%d entries, post csc lut: %d entries\n",
> -		    pipe_config->pre_csc_lut && pipe_config->pre_csc_lut ==
> -		    i915->display.color.glk_linear_degamma_lut ? "(linear) " : "",
> -		    pipe_config->pre_csc_lut ?
> -		    drm_color_lut_size(pipe_config->pre_csc_lut) : 0,
> -		    pipe_config->post_csc_lut ?
> -		    drm_color_lut_size(pipe_config->post_csc_lut) : 0);
> +	drm_printf(&p, "pre csc lut: %s%d entries, post csc lut: %d entries\n",
> +		   pipe_config->pre_csc_lut && pipe_config->pre_csc_lut ==
> +		   i915->display.color.glk_linear_degamma_lut ? "(linear) " : "",
> +		   pipe_config->pre_csc_lut ?
> +		   drm_color_lut_size(pipe_config->pre_csc_lut) : 0,
> +		   pipe_config->post_csc_lut ?
> +		   drm_color_lut_size(pipe_config->post_csc_lut) : 0);
>  
>  	if (DISPLAY_VER(i915) >= 11)
>  		ilk_dump_csc(i915, "output csc", &pipe_config->output_csc);
> -- 
> 2.43.0
> 

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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-22 21:46   ` Rodrigo Vivi
@ 2024-02-23 19:47     ` Ville Syrjälä
  2024-02-26 14:57       ` Jani Nikula
  0 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjälä @ 2024-02-23 19:47 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: intel-gfx, Petr Mladek, Steven Rostedt, Andy Shevchenko,
	Rasmus Villemoes, Sergey Senozhatsky, linux-kernel

On Thu, Feb 22, 2024 at 04:46:12PM -0500, Rodrigo Vivi wrote:
> On Thu, Feb 15, 2024 at 06:40:44PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > intel_crtc_check_fastset() is done per-pipe, so it would be nice
> > to know which pipe it was that failed its checkup.
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index 00ac65a14029..a7f487f5c2b2 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -5562,14 +5562,16 @@ static int intel_modeset_checks(struct intel_atomic_state *state)
> >  static void intel_crtc_check_fastset(const struct intel_crtc_state *old_crtc_state,
> >  				     struct intel_crtc_state *new_crtc_state)
> >  {
> > -	struct drm_i915_private *i915 = to_i915(old_crtc_state->uapi.crtc->dev);
> > +	struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc);
> > +	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> >  
> >  	/* only allow LRR when the timings stay within the VRR range */
> >  	if (old_crtc_state->vrr.in_range != new_crtc_state->vrr.in_range)
> >  		new_crtc_state->update_lrr = false;
> >  
> >  	if (!intel_pipe_config_compare(old_crtc_state, new_crtc_state, true))
> > -		drm_dbg_kms(&i915->drm, "fastset requirement not met, forcing full modeset\n");
> > +		drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] fastset requirement not met, forcing full modeset\n",
> > +			    crtc->base.base.id, crtc->base.name);
> 
> looking to other patches in this same series, I wonder
> if we shouldn't benefit of a crct_dbg(crtc, "message") that would print
> [CRTC:%d:%s] underneath.

There has been some discussion on this topic recently, but
I don't think that particular approach is good because:
a) it only works when you need to talk about one partiuclar
   object and often we need to talk about more than one
b) different debug function for every little thing is just ugly,
   and we'd probably end up with dozens of differently named
   variants which takes up too many slots in my brain's pattern
   matcher

I think Jani proposed that drm_dbg_kms() could take different kinds
of objects as its first parameter to do this, but I don't like that
either because of point a).

One idea that was floating about was that each object would embed
a .debug_string or somesuch thing which would include the preferred
formatting. With that you could prints with just a simple %s. The
downside is that when you then read the format string you have no
idea what kind of thing each %s refers to unless you also parse
the full argument list to figure out which is which.

And one basic idea I was mulling over at some point was simply
to define DRM_CRTC_FMT/ARGS/etc. macros and use those. But that
makes the format string super ugly and hard to read.


I think the proper solution would be to have actually
sensible conversion specifiers in the format string.
So instead of %<set of random characters> we'd have something
more like %{drm_crtc} (or whatever color you want to throw
on that particular bikeshed).

Adding vsprintf.c folks to cc in case they have some ideas...

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 02/12] drm/i915: Include CRTC info in infoframe mismatch prints
  2024-02-22 21:47   ` Rodrigo Vivi
@ 2024-02-23 19:50     ` Ville Syrjälä
  0 siblings, 0 replies; 64+ messages in thread
From: Ville Syrjälä @ 2024-02-23 19:50 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

On Thu, Feb 22, 2024 at 04:47:39PM -0500, Rodrigo Vivi wrote:
> On Thu, Feb 15, 2024 at 06:40:45PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Most crtc state mismatches include the CRTC id+name in the
> > prints. Also include it in the infoframe mismatches.
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_display.c | 14 +++++++++-----
> >  1 file changed, 9 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index a7f487f5c2b2..e3520a3da468 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -4788,23 +4788,27 @@ intel_compare_buffer(const u8 *a, const u8 *b, size_t len)
> >  }
> >  
> >  static void
> > -pipe_config_infoframe_mismatch(struct drm_i915_private *dev_priv,
> > -			       bool fastset, const char *name,
> > +pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
> 
> why not crtc, fastset? having the main struct as the first
> argument seems more natural imho

Consistency. This order was already used by some other
mismatch() functions. So if we want to reorder we should
change all of them.

> 
> anyway,
> 
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> 
> > +			       const char *name,
> >  			       const union hdmi_infoframe *a,
> >  			       const union hdmi_infoframe *b)
> >  {
> > +	struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> > +
> >  	if (fastset) {
> >  		if (!drm_debug_enabled(DRM_UT_KMS))
> >  			return;
> >  
> >  		drm_dbg_kms(&dev_priv->drm,
> > -			    "fastset requirement not met in %s infoframe\n", name);
> > +			    "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
> > +			    crtc->base.base.id, crtc->base.name, name);
> >  		drm_dbg_kms(&dev_priv->drm, "expected:\n");
> >  		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, a);
> >  		drm_dbg_kms(&dev_priv->drm, "found:\n");
> >  		hdmi_infoframe_log(KERN_DEBUG, dev_priv->drm.dev, b);
> >  	} else {
> > -		drm_err(&dev_priv->drm, "mismatch in %s infoframe\n", name);
> > +		drm_err(&dev_priv->drm, "[CRTC:%d:%s] mismatch in %s infoframe\n",
> > +			crtc->base.base.id, crtc->base.name, name);
> >  		drm_err(&dev_priv->drm, "expected:\n");
> >  		hdmi_infoframe_log(KERN_ERR, dev_priv->drm.dev, a);
> >  		drm_err(&dev_priv->drm, "found:\n");
> > @@ -5072,7 +5076,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
> >  #define PIPE_CONF_CHECK_INFOFRAME(name) do { \
> >  	if (!intel_compare_infoframe(&current_config->infoframes.name, \
> >  				     &pipe_config->infoframes.name)) { \
> > -		pipe_config_infoframe_mismatch(dev_priv, fastset, __stringify(name), \
> > +		pipe_config_infoframe_mismatch(fastset, crtc, __stringify(name), \
> >  					       &current_config->infoframes.name, \
> >  					       &pipe_config->infoframes.name); \
> >  		ret = false; \
> > -- 
> > 2.43.0
> > 

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
  2024-02-22 21:54   ` Rodrigo Vivi
@ 2024-02-23 19:57     ` Ville Syrjälä
  0 siblings, 0 replies; 64+ messages in thread
From: Ville Syrjälä @ 2024-02-23 19:57 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

On Thu, Feb 22, 2024 at 04:54:07PM -0500, Rodrigo Vivi wrote:
> On Thu, Feb 15, 2024 at 06:40:49PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Utilize drm_printer in pipe_config_pll_mismatch() to avoid
> > a bit of code duplication.
> > 
> > To achieve this we need to plumb the printer all way to the
> > dpll_mgr .dump_hw_state() functions. Those are also used by
> > intel_crtc_state_dump() which needs to be adjusted as well.
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  .../drm/i915/display/intel_crtc_state_dump.c  |   5 +-
> >  drivers/gpu/drm/i915/display/intel_display.c  |  27 ++---
> >  drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 105 ++++++++----------
> >  drivers/gpu/drm/i915/display/intel_dpll_mgr.h |   2 +
> >  4 files changed, 67 insertions(+), 72 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > index 4bcf446c75f4..59d2b3d39951 100644
> > --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> > @@ -205,9 +205,12 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
> >  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> >  	const struct intel_plane_state *plane_state;
> >  	struct intel_plane *plane;
> > +	struct drm_printer p;
> >  	char buf[64];
> >  	int i;
> >  
> > +	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> > +
> >  	drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] enable: %s [%s]\n",
> >  		    crtc->base.base.id, crtc->base.name,
> >  		    str_yes_no(pipe_config->hw.enable), context);
> > @@ -356,7 +359,7 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
> >  		    pipe_config->ips_enabled, pipe_config->double_wide,
> >  		    pipe_config->has_drrs);
> >  
> > -	intel_dpll_dump_hw_state(i915, &pipe_config->dpll_hw_state);
> > +	intel_dpll_dump_hw_state(i915, &p, &pipe_config->dpll_hw_state);
> >  
> >  	if (IS_CHERRYVIEW(i915))
> >  		drm_dbg_kms(&i915->drm,
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index e5010049d52e..d7f39ad84138 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -4927,26 +4927,27 @@ pipe_config_pll_mismatch(bool fastset,
> >  			 const struct intel_dpll_hw_state *b)
> >  {
> >  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> > +	struct drm_printer p;
> >  
> >  	if (fastset) {
> >  		if (!drm_debug_enabled(DRM_UT_KMS))
> >  			return;
> >  
> > -		drm_dbg_kms(&i915->drm,
> > -			    "[CRTC:%d:%s] fastset requirement not met in %s\n",
> > -			    crtc->base.base.id, crtc->base.name, name);
> > -		drm_dbg_kms(&i915->drm, "expected:\n");
> > -		intel_dpll_dump_hw_state(i915, a);
> > -		drm_dbg_kms(&i915->drm, "found:\n");
> > -		intel_dpll_dump_hw_state(i915, b);
> > +		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> > +
> > +		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
> > +			   crtc->base.base.id, crtc->base.name, name);
> >  	} else {
> > -		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s buffer\n",
> > -			crtc->base.base.id, crtc->base.name, name);
> > -		drm_err(&i915->drm, "expected:\n");
> > -		intel_dpll_dump_hw_state(i915, a);
> > -		drm_err(&i915->drm, "found:\n");
> > -		intel_dpll_dump_hw_state(i915, b);
> > +		p = drm_err_printer(&i915->drm, NULL);
> > +
> > +		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n",
> > +			   crtc->base.base.id, crtc->base.name, name);
> >  	}
> > +
> > +	drm_dbg_kms(&i915->drm, "expected:\n");
> > +	intel_dpll_dump_hw_state(i915, &p, a);
> > +	drm_dbg_kms(&i915->drm, "found:\n");
> > +	intel_dpll_dump_hw_state(i915, &p, b);
> 
> forgot to convert here?

Looks like that part ended up in the last patch. Probably
a rebase fail on my part. I'll shuffle it back over here.

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 07/12] drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
  2024-02-22 21:57   ` Rodrigo Vivi
@ 2024-02-23 19:59     ` Ville Syrjälä
  0 siblings, 0 replies; 64+ messages in thread
From: Ville Syrjälä @ 2024-02-23 19:59 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

On Thu, Feb 22, 2024 at 04:57:21PM -0500, Rodrigo Vivi wrote:
> On Thu, Feb 15, 2024 at 06:40:50PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Convert all the direct drm_dbg_kms() stuff in intel_crtc_state_dump()
> > over to drm_printf() since we now have the drm_printer around.
> 
> looking all this I ask myself if it is really a good idea
> to move from the debug helpers to the printf... we need
> to keep coming back to where the printer was defined to
> know what level we are printing...

The debug level is not really interesting at all. And it's
all the same anyway. 

Also we're going to need to go for the printer anyway if
we want to hook into the .atomic_state_print() stuff. And
at that point the printer will be provided by the caller.

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-23 19:47     ` Ville Syrjälä
@ 2024-02-26 14:57       ` Jani Nikula
  2024-02-26 15:10         ` Andy Shevchenko
  2024-02-27  9:38         ` Rasmus Villemoes
  0 siblings, 2 replies; 64+ messages in thread
From: Jani Nikula @ 2024-02-26 14:57 UTC (permalink / raw)
  To: Ville Syrjälä, Rodrigo Vivi
  Cc: intel-gfx, Petr Mladek, Steven Rostedt, Andy Shevchenko,
	Rasmus Villemoes, Sergey Senozhatsky, linux-kernel

On Fri, 23 Feb 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Thu, Feb 22, 2024 at 04:46:12PM -0500, Rodrigo Vivi wrote:
>> On Thu, Feb 15, 2024 at 06:40:44PM +0200, Ville Syrjala wrote:
>> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> > 
>> > intel_crtc_check_fastset() is done per-pipe, so it would be nice
>> > to know which pipe it was that failed its checkup.
>> > 
>> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> > ---
>> >  drivers/gpu/drm/i915/display/intel_display.c | 6 ++++--
>> >  1 file changed, 4 insertions(+), 2 deletions(-)
>> > 
>> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> > index 00ac65a14029..a7f487f5c2b2 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_display.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> > @@ -5562,14 +5562,16 @@ static int intel_modeset_checks(struct intel_atomic_state *state)
>> >  static void intel_crtc_check_fastset(const struct intel_crtc_state *old_crtc_state,
>> >  				     struct intel_crtc_state *new_crtc_state)
>> >  {
>> > -	struct drm_i915_private *i915 = to_i915(old_crtc_state->uapi.crtc->dev);
>> > +	struct intel_crtc *crtc = to_intel_crtc(new_crtc_state->uapi.crtc);
>> > +	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>> >  
>> >  	/* only allow LRR when the timings stay within the VRR range */
>> >  	if (old_crtc_state->vrr.in_range != new_crtc_state->vrr.in_range)
>> >  		new_crtc_state->update_lrr = false;
>> >  
>> >  	if (!intel_pipe_config_compare(old_crtc_state, new_crtc_state, true))
>> > -		drm_dbg_kms(&i915->drm, "fastset requirement not met, forcing full modeset\n");
>> > +		drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] fastset requirement not met, forcing full modeset\n",
>> > +			    crtc->base.base.id, crtc->base.name);
>> 
>> looking to other patches in this same series, I wonder
>> if we shouldn't benefit of a crct_dbg(crtc, "message") that would print
>> [CRTC:%d:%s] underneath.
>
> There has been some discussion on this topic recently, but
> I don't think that particular approach is good because:
> a) it only works when you need to talk about one partiuclar
>    object and often we need to talk about more than one
> b) different debug function for every little thing is just ugly,
>    and we'd probably end up with dozens of differently named
>    variants which takes up too many slots in my brain's pattern
>    matcher

Agreed. I dislike the approach in i915 gem and xe drivers. There are
just too many logging variants now, and as the gates are open, more are
coming. Please let's not go there with display.

> I think Jani proposed that drm_dbg_kms() could take different kinds
> of objects as its first parameter to do this, but I don't like that
> either because of point a).

Fair, but arguably that's not as bad, as you'd then have the "main"
object you're logging with, the info for that comes for free, and you
can add the additional stuff for the other objects manually. But indeed
only solves part of the problem.

> One idea that was floating about was that each object would embed
> a .debug_string or somesuch thing which would include the preferred
> formatting. With that you could prints with just a simple %s. The
> downside is that when you then read the format string you have no
> idea what kind of thing each %s refers to unless you also parse
> the full argument list to figure out which is which.

Also, that would have to be a fixed string, initialized at object
creation. Can't have a function returning the string, because it gets
complicated with C.

> And one basic idea I was mulling over at some point was simply
> to define DRM_CRTC_FMT/ARGS/etc. macros and use those. But that
> makes the format string super ugly and hard to read.

Agreed.

> I think the proper solution would be to have actually
> sensible conversion specifiers in the format string.
> So instead of %<set of random characters> we'd have something
> more like %{drm_crtc} (or whatever color you want to throw
> on that particular bikeshed).

Personally I suck at remembering even the standard printf conversion
specifiers, let alone all the kernel extensions. I basically have to
look them up every time. I'd really love some %{name} format for named
pointer things. And indeed preferrably without the %p. Just %{name}.

And then we could discuss adding support for drm specific things. I
guess one downside is that the functions to do this would have to be in
vsprintf.c instead of drm. Unless we add some code in drm for this
that's always built-in.

BR,
Jani.


>
> Adding vsprintf.c folks to cc in case they have some ideas...

-- 
Jani Nikula, Intel

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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-26 14:57       ` Jani Nikula
@ 2024-02-26 15:10         ` Andy Shevchenko
  2024-02-26 15:35           ` Jani Nikula
  2024-02-27  9:38         ` Rasmus Villemoes
  1 sibling, 1 reply; 64+ messages in thread
From: Andy Shevchenko @ 2024-02-26 15:10 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Ville Syrjälä,
	Rodrigo Vivi, intel-gfx, Petr Mladek, Steven Rostedt,
	Rasmus Villemoes, Sergey Senozhatsky, linux-kernel

On Mon, Feb 26, 2024 at 04:57:58PM +0200, Jani Nikula wrote:
> On Fri, 23 Feb 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > On Thu, Feb 22, 2024 at 04:46:12PM -0500, Rodrigo Vivi wrote:

...

> > I think the proper solution would be to have actually
> > sensible conversion specifiers in the format string.
> > So instead of %<set of random characters> we'd have something
> > more like %{drm_crtc} (or whatever color you want to throw
> > on that particular bikeshed).
> 
> Personally I suck at remembering even the standard printf conversion
> specifiers, let alone all the kernel extensions. I basically have to
> look them up every time. I'd really love some %{name} format for named
> pointer things. And indeed preferrably without the %p. Just %{name}.

It will become something like %{name[:subextensions]}, where subextensions
is what we now have with different letters/numbers after %pX (X is a letter
which you proposed to have written as name AFAIU).

> And then we could discuss adding support for drm specific things. I
> guess one downside is that the functions to do this would have to be in
> vsprintf.c instead of drm. Unless we add some code in drm for this
> that's always built-in.

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-26 15:10         ` Andy Shevchenko
@ 2024-02-26 15:35           ` Jani Nikula
  2024-02-26 16:30             ` Andy Shevchenko
  2024-02-26 16:35             ` Ville Syrjälä
  0 siblings, 2 replies; 64+ messages in thread
From: Jani Nikula @ 2024-02-26 15:35 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Ville Syrjälä,
	Rodrigo Vivi, intel-gfx, Petr Mladek, Steven Rostedt,
	Rasmus Villemoes, Sergey Senozhatsky, linux-kernel

On Mon, 26 Feb 2024, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> On Mon, Feb 26, 2024 at 04:57:58PM +0200, Jani Nikula wrote:
>> On Fri, 23 Feb 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
>> > On Thu, Feb 22, 2024 at 04:46:12PM -0500, Rodrigo Vivi wrote:
>
> ...
>
>> > I think the proper solution would be to have actually
>> > sensible conversion specifiers in the format string.
>> > So instead of %<set of random characters> we'd have something
>> > more like %{drm_crtc} (or whatever color you want to throw
>> > on that particular bikeshed).
>> 
>> Personally I suck at remembering even the standard printf conversion
>> specifiers, let alone all the kernel extensions. I basically have to
>> look them up every time. I'd really love some %{name} format for named
>> pointer things. And indeed preferrably without the %p. Just %{name}.
>
> It will become something like %{name[:subextensions]}, where subextensions
> is what we now have with different letters/numbers after %pX (X is a letter
> which you proposed to have written as name AFAIU).

Thanks, I appreciate it, a lot!

But could you perhaps try to go with just clean %{name} only instead of
adding [:subextensions] right away, please?

I presume the suggestion comes from an implementation detail, and I
guess it would be handy to reuse the current implementation for
subextension.

For example, %pb -> %{bitmap} and %pbl -> %{bitmap:l}. But really I
think the better option would be for the latter to become, say,
%{bitmap-list}. The goal here is to make them easy to remember and
understand, without resorting to looking up the documentation!


BR,
Jani.

>
>> And then we could discuss adding support for drm specific things. I
>> guess one downside is that the functions to do this would have to be in
>> vsprintf.c instead of drm. Unless we add some code in drm for this
>> that's always built-in.

-- 
Jani Nikula, Intel

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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-26 15:35           ` Jani Nikula
@ 2024-02-26 16:30             ` Andy Shevchenko
  2024-02-26 16:35             ` Ville Syrjälä
  1 sibling, 0 replies; 64+ messages in thread
From: Andy Shevchenko @ 2024-02-26 16:30 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Ville Syrjälä,
	Rodrigo Vivi, intel-gfx, Petr Mladek, Steven Rostedt,
	Rasmus Villemoes, Sergey Senozhatsky, linux-kernel

On Mon, Feb 26, 2024 at 05:35:51PM +0200, Jani Nikula wrote:
> On Mon, 26 Feb 2024, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> > On Mon, Feb 26, 2024 at 04:57:58PM +0200, Jani Nikula wrote:
> >> On Fri, 23 Feb 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> >> > On Thu, Feb 22, 2024 at 04:46:12PM -0500, Rodrigo Vivi wrote:

...

> >> > I think the proper solution would be to have actually
> >> > sensible conversion specifiers in the format string.
> >> > So instead of %<set of random characters> we'd have something
> >> > more like %{drm_crtc} (or whatever color you want to throw
> >> > on that particular bikeshed).
> >> 
> >> Personally I suck at remembering even the standard printf conversion
> >> specifiers, let alone all the kernel extensions. I basically have to
> >> look them up every time. I'd really love some %{name} format for named
> >> pointer things. And indeed preferrably without the %p. Just %{name}.
> >
> > It will become something like %{name[:subextensions]}, where subextensions
> > is what we now have with different letters/numbers after %pX (X is a letter
> > which you proposed to have written as name AFAIU).
> 
> Thanks, I appreciate it, a lot!

Oh, I meant "can" rather than "will".

> But could you perhaps try to go with just clean %{name} only instead of
> adding [:subextensions] right away, please?
> 
> I presume the suggestion comes from an implementation detail, and I
> guess it would be handy to reuse the current implementation for
> subextension.
> 
> For example, %pb -> %{bitmap} and %pbl -> %{bitmap:l}. But really I
> think the better option would be for the latter to become, say,
> %{bitmap-list}. The goal here is to make them easy to remember and
> understand, without resorting to looking up the documentation!

Okay, so it seems you have something in mind, perhaps you can submit a draft
of the list of those "names"?

> >> And then we could discuss adding support for drm specific things. I
> >> guess one downside is that the functions to do this would have to be in
> >> vsprintf.c instead of drm. Unless we add some code in drm for this
> >> that's always built-in.

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-26 15:35           ` Jani Nikula
  2024-02-26 16:30             ` Andy Shevchenko
@ 2024-02-26 16:35             ` Ville Syrjälä
  1 sibling, 0 replies; 64+ messages in thread
From: Ville Syrjälä @ 2024-02-26 16:35 UTC (permalink / raw)
  To: Jani Nikula
  Cc: Andy Shevchenko, Rodrigo Vivi, intel-gfx, Petr Mladek,
	Steven Rostedt, Rasmus Villemoes, Sergey Senozhatsky,
	linux-kernel

On Mon, Feb 26, 2024 at 05:35:51PM +0200, Jani Nikula wrote:
> On Mon, 26 Feb 2024, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> > On Mon, Feb 26, 2024 at 04:57:58PM +0200, Jani Nikula wrote:
> >> On Fri, 23 Feb 2024, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> >> > On Thu, Feb 22, 2024 at 04:46:12PM -0500, Rodrigo Vivi wrote:
> >
> > ...
> >
> >> > I think the proper solution would be to have actually
> >> > sensible conversion specifiers in the format string.
> >> > So instead of %<set of random characters> we'd have something
> >> > more like %{drm_crtc} (or whatever color you want to throw
> >> > on that particular bikeshed).
> >> 
> >> Personally I suck at remembering even the standard printf conversion
> >> specifiers, let alone all the kernel extensions. I basically have to
> >> look them up every time. I'd really love some %{name} format for named
> >> pointer things. And indeed preferrably without the %p. Just %{name}.
> >
> > It will become something like %{name[:subextensions]}, where subextensions
> > is what we now have with different letters/numbers after %pX (X is a letter
> > which you proposed to have written as name AFAIU).
> 
> Thanks, I appreciate it, a lot!
> 
> But could you perhaps try to go with just clean %{name} only instead of
> adding [:subextensions] right away, please?
> 
> I presume the suggestion comes from an implementation detail, and I
> guess it would be handy to reuse the current implementation for
> subextension.
> 
> For example, %pb -> %{bitmap} and %pbl -> %{bitmap:l}. But really I
> think the better option would be for the latter to become, say,
> %{bitmap-list}. The goal here is to make them easy to remember and
> understand, without resorting to looking up the documentation!

I was also wondering if we should have some kind of namespace
thing in there. Eg. instead of %{drm_crtc} it could be something
like %{drm:crtc}. Then it would be clear which subsystem (when that
makes sense) "owns" that particular format. But I suppose using
the C foo_ namespacing rule would also work since it should already
be a thing for exported symbols anyway.

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-26 14:57       ` Jani Nikula
  2024-02-26 15:10         ` Andy Shevchenko
@ 2024-02-27  9:38         ` Rasmus Villemoes
  2024-02-27 18:32           ` Ville Syrjälä
  1 sibling, 1 reply; 64+ messages in thread
From: Rasmus Villemoes @ 2024-02-27  9:38 UTC (permalink / raw)
  To: Jani Nikula, Ville Syrjälä, Rodrigo Vivi
  Cc: intel-gfx, Petr Mladek, Steven Rostedt, Andy Shevchenko,
	Sergey Senozhatsky, linux-kernel

On 26/02/2024 15.57, Jani Nikula wrote:

> Personally I suck at remembering even the standard printf conversion
> specifiers, let alone all the kernel extensions. I basically have to
> look them up every time. I'd really love some %{name} format for named
> pointer things. And indeed preferrably without the %p. Just %{name}.

Sorry to spoil the fun, but that's a non-starter.

foo.c: In function ‘foo’:
foo.c:5:24: warning: unknown conversion type character ‘{’ in format
[-Wformat=]
    5 |         printf("Hello %{function} World\n", &foo);
      |                        ^

You can't start accepting stuff that -Wformat will warn about. We're not
going to start building with Wno-format.

> And then we could discuss adding support for drm specific things. I
> guess one downside is that the functions to do this would have to be in
> vsprintf.c instead of drm. Unless we add some code in drm for this
> that's always built-in.

If people can be trusted to write callbacks with the proper semantics
for snprintf [1], we could do a generic

typedef char * (*printf_callback)(char *buf, char *end, void *ctx);

struct printf_ext {
  printf_callback cb;
  void *ctx;
};

#define PRINTF_EXT(callback, context) &(struct printf_ext){ .cb =
callback, .ctx = context }

// in drm-land

char* my_drm_gizmo_formatter(char *buf, char *end, void *ctx)
{
  struct drm_gizmo *dg = ctx;
  ....
  return buf;
}
#define pX_gizmo(dg) PRINTF_EXT(my_drm_gizmo_formatter, dg)

   printk("error: gizmo %pX in wrong state!\n", pX_gizmo(dg));

Then vsprintf.c doesn't need to know anything about any particular
subsystem. And if a subsystem breaks snprintf semantics, they get to
keep the pieces. With a little more macro magic, one might even be able
to throw in some type safety checks.

Rasmus

[1] You can't sleep, you can't allocate memory, you probably can't even
take any raw spinlocks, you must attempt to do the full formatting so
you can tell how much room would be needed, but you must of course not
write anything beyond end. Calling vsnprintf() to format various integer
members is probably ok, but recursively using %pX to print full
subobjects is likely a bad idea.

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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-27  9:38         ` Rasmus Villemoes
@ 2024-02-27 18:32           ` Ville Syrjälä
  2024-02-28  8:32             ` Rasmus Villemoes
  0 siblings, 1 reply; 64+ messages in thread
From: Ville Syrjälä @ 2024-02-27 18:32 UTC (permalink / raw)
  To: Rasmus Villemoes
  Cc: Jani Nikula, Rodrigo Vivi, intel-gfx, Petr Mladek,
	Steven Rostedt, Andy Shevchenko, Sergey Senozhatsky,
	linux-kernel

On Tue, Feb 27, 2024 at 10:38:10AM +0100, Rasmus Villemoes wrote:
> On 26/02/2024 15.57, Jani Nikula wrote:
> 
> > Personally I suck at remembering even the standard printf conversion
> > specifiers, let alone all the kernel extensions. I basically have to
> > look them up every time. I'd really love some %{name} format for named
> > pointer things. And indeed preferrably without the %p. Just %{name}.
> 
> Sorry to spoil the fun, but that's a non-starter.
> 
> foo.c: In function ‘foo’:
> foo.c:5:24: warning: unknown conversion type character ‘{’ in format
> [-Wformat=]
>     5 |         printf("Hello %{function} World\n", &foo);
>       |                        ^
> 
> You can't start accepting stuff that -Wformat will warn about. We're not
> going to start building with Wno-format.

Are there any sensible looking characters we could use for
this? Ideally I'd like to have something to bracket the
outsides, and perhaps a namespace separator in the middle.

Or are we really forced into having essentially a random set
of characters following just a %p/etc.?

> 
> > And then we could discuss adding support for drm specific things. I
> > guess one downside is that the functions to do this would have to be in
> > vsprintf.c instead of drm. Unless we add some code in drm for this
> > that's always built-in.
> 
> If people can be trusted to write callbacks with the proper semantics
> for snprintf [1], we could do a generic

Yeah, I was at some point thinking that having a version of
register_printf_function() for printk() might be nice. The dangers
being that we get conflicts between subsystems (*), or that it gets
totally out of hand, or as you point out below people will start
to do questionable things in there.

(*) My earlier "include a subsystem namespace in the format" 
idea was basically how I was thinking of avoiding conflicts.

> 
> typedef char * (*printf_callback)(char *buf, char *end, void *ctx);
> 
> struct printf_ext {
>   printf_callback cb;
>   void *ctx;
> };
> 
> #define PRINTF_EXT(callback, context) &(struct printf_ext){ .cb =
> callback, .ctx = context }
> 
> // in drm-land
> 
> char* my_drm_gizmo_formatter(char *buf, char *end, void *ctx)
> {
>   struct drm_gizmo *dg = ctx;
>   ....
>   return buf;
> }
> #define pX_gizmo(dg) PRINTF_EXT(my_drm_gizmo_formatter, dg)
> 
>    printk("error: gizmo %pX in wrong state!\n", pX_gizmo(dg));
> 
> Then vsprintf.c doesn't need to know anything about any particular
> subsystem. And if a subsystem breaks snprintf semantics, they get to
> keep the pieces. With a little more macro magic, one might even be able
> to throw in some type safety checks.
> 
> Rasmus
> 
> [1] You can't sleep, you can't allocate memory, you probably can't even
> take any raw spinlocks, you must attempt to do the full formatting so
> you can tell how much room would be needed, but you must of course not
> write anything beyond end. Calling vsnprintf() to format various integer
> members is probably ok, but recursively using %pX to print full
> subobjects is likely a bad idea.

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-27 18:32           ` Ville Syrjälä
@ 2024-02-28  8:32             ` Rasmus Villemoes
  2024-02-28  9:55               ` Petr Mladek
  0 siblings, 1 reply; 64+ messages in thread
From: Rasmus Villemoes @ 2024-02-28  8:32 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: Jani Nikula, Rodrigo Vivi, intel-gfx, Petr Mladek,
	Steven Rostedt, Andy Shevchenko, Sergey Senozhatsky,
	linux-kernel

On 27/02/2024 19.32, Ville Syrjälä wrote:
> On Tue, Feb 27, 2024 at 10:38:10AM +0100, Rasmus Villemoes wrote:
>> On 26/02/2024 15.57, Jani Nikula wrote:
>>
>>> Personally I suck at remembering even the standard printf conversion
>>> specifiers, let alone all the kernel extensions. I basically have to
>>> look them up every time. I'd really love some %{name} format for named
>>> pointer things. And indeed preferrably without the %p. Just %{name}.
>>
>> Sorry to spoil the fun, but that's a non-starter.
>>
>> foo.c: In function ‘foo’:
>> foo.c:5:24: warning: unknown conversion type character ‘{’ in format
>> [-Wformat=]
>>     5 |         printf("Hello %{function} World\n", &foo);
>>       |                        ^
>>
>> You can't start accepting stuff that -Wformat will warn about. We're not
>> going to start building with Wno-format.
> 
> Are there any sensible looking characters we could use for
> this? Ideally I'd like to have something to bracket the
> outsides, and perhaps a namespace separator in the middle.
> 
> Or are we really forced into having essentially a random set
> of characters following just a %p/etc.?

You can't put stuff after % that is not in the C standard (or POSIX) -
not until you teach all supported compilers a way to register your own
printf specifier and the semantics of the expected varargs. And the only
format specifier that will accept a random pointer is %p.

Now, as for what we put after %p, the reason we've ended up with the
"random collection of letters" is (probably, I wasn't around when this
was introduced) that you can very reasonably have a format string with
%p followed by some punctuation where you mean for that punctuation to
be output as-is (as a normal printf() implementation would), whereas it
would be weird to write %pR" and expect some output like 0x1234fedcR .
Hence the heuristic was that one could allow any alphanumerics to modify
how that %p should be handled, and in the format string parser simply
skip over those alphanumerics - all without making the compiler angry.

So the problem with introducing %p{some-thing} is that somebody could
already have that %p (possibly with some existing alphanumeric
extension(s)) followed by an opening curly brace, with the latter
expected to be a literal thing. Same for any other punctuation
character. You could probably mostly grep and see if any exist, but
there might be format strings broken across two lines using implicit
string concatenation that won't be found, as well as even more creative
things.

That leaves something like %pX{}, i.e. where some new letter is
designated to indicate "hey, I want something much more readable and
please interpret what's inside {}". That's doable, and then you could
put mostly anything (except } and %) inside there. The format parsing
would just need to be taught that X is special and skip to the }, not
just alphanumerics.

>>> And then we could discuss adding support for drm specific things. I
>>> guess one downside is that the functions to do this would have to be in
>>> vsprintf.c instead of drm. Unless we add some code in drm for this
>>> that's always built-in.
>>
>> If people can be trusted to write callbacks with the proper semantics
>> for snprintf [1], we could do a generic
> 
> Yeah, I was at some point thinking that having a version of
> register_printf_function() for printk() might be nice. The dangers
> being that we get conflicts between subsystems (*), or that it gets
> totally out of hand, or as you point out below people will start
> to do questionable things in there.
> 
> (*) My earlier "include a subsystem namespace in the format" 
> idea was basically how I was thinking of avoiding conflicts.

So if we really want to go down this road, I think it should be
something like %pX{drm:whatever}, with core printf just looking up the
token "drm" in a run-time list of registered callbacks (because I don't
want vsprintf.c filled with random subsystems' formatting code), and
that single callback would then be handed a pointer to the rest of the
format string (i.e. the "whatever}..."), the pointer argument from the
varargs, and the buf,end pair. But then we're back to trusting that
callback (which might of course multiplex based on the "whatever" part)
to behave correctly. And then we might as well avoid the string parsing
and just do the "callback + pointer" in one struct (passed as pointer to
compound literal), which also avoids the tricky "what to do about module
unload versus unregistering of callbacks" etc.

Rasmus


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

* Re: [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall
  2024-02-28  8:32             ` Rasmus Villemoes
@ 2024-02-28  9:55               ` Petr Mladek
  0 siblings, 0 replies; 64+ messages in thread
From: Petr Mladek @ 2024-02-28  9:55 UTC (permalink / raw)
  To: Rasmus Villemoes
  Cc: Ville Syrjälä,
	Jani Nikula, Rodrigo Vivi, intel-gfx, Steven Rostedt,
	Andy Shevchenko, Sergey Senozhatsky, Matthew Wilcox,
	linux-kernel

On Wed 2024-02-28 09:32:37, Rasmus Villemoes wrote:
> On 27/02/2024 19.32, Ville Syrjälä wrote:
> > On Tue, Feb 27, 2024 at 10:38:10AM +0100, Rasmus Villemoes wrote:
> >> On 26/02/2024 15.57, Jani Nikula wrote:
> So if we really want to go down this road, I think it should be
> something like %pX{drm:whatever}, with core printf just looking up the
> token "drm" in a run-time list of registered callbacks (because I don't
> want vsprintf.c filled with random subsystems' formatting code), and
> that single callback would then be handed a pointer to the rest of the
> format string (i.e. the "whatever}..."), the pointer argument from the
> varargs, and the buf,end pair. But then we're back to trusting that
> callback (which might of course multiplex based on the "whatever" part)
> to behave correctly. And then we might as well avoid the string parsing
> and just do the "callback + pointer" in one struct (passed as pointer to
> compound literal), which also avoids the tricky "what to do about module
> unload versus unregistering of callbacks" etc.

Mathew Wilcox had the idea to introduce a structure:

	struct printf_state {
	       char *buf;
	       char *end;
	       void *ptr;
	};

Where *ptr would point to some data which should be printed,
same as wee pass to the %pbla now.

Then allow to implement:

	char *my_func(struct printf_state *ps, void *ptr);

and use it as:

	printk("%pX(%p)\n", my_func, ptr);


One problem here is type checking of the data passed via *ptr
but we already have the same problem now.

Another problem is how to make sure that the function is safe.
A solution might be to implement an API for appending characters,
strings, numbers, ... Similar to seq_buf() API.

AFAIK, the result was to actually use the existing seq_buf API
to format the string. AFAIK, it motivated:

   + commit 96928d9032a7c34f1 ("seq_buf: Add seq_buf_do_printk() helper")

and probably also

   + commit d0ed46b60396cfa7 ("tracing: Move readpos from seq_buf to trace_seq")

and also this one is pretty useful:

   + commit dcc4e5728eeaeda8 ("seq_buf: Introduce DECLARE_SEQ_BUF and
     seq_buf_str()")

And it motivated:

   + commit dcc4e5728eeaeda84878ca0 ("seq_buf: Introduce
     DECLARE_SEQ_BUF and seq_buf_str()")


Best Regards,
Petr

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

* Re: [PATCH 00/12] drm/i915: Use drm_printer more
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (15 preceding siblings ...)
  2024-02-17  7:24 ` ✗ Fi.CI.IGT: failure " Patchwork
@ 2024-02-29 12:08 ` Jani Nikula
  2024-02-29 23:02 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev4) Patchwork
                   ` (15 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Jani Nikula @ 2024-02-29 12:08 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

On Thu, 15 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> Convert the entire state dumper and state checker to
> use drm_printer.

I've backmerged drm-next to drm-intel-next to get the required
drm_printer stuff, so it's actually possible to merge this.

BR,
Jani.


-- 
Jani Nikula, Intel

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

* Re: [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
  2024-02-15 16:40 ` [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled Ville Syrjala
@ 2024-02-29 15:20   ` Jani Nikula
  2024-02-29 15:21     ` Jani Nikula
  0 siblings, 1 reply; 64+ messages in thread
From: Jani Nikula @ 2024-02-29 15:20 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

On Thu, 15 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> intel_crtc_state_dump() does a whole boatload of string formatting
> which is all wasted energy if the debugs aren't even enabled. Skip
> the whole thing in that case.

I wonder how something like this would work to skip it in a more generic
fashion:

index 9cc473e5d353..0adc8020ae4f 100644
--- a/include/drm/drm_print.h
+++ b/include/drm/drm_print.h
@@ -206,7 +206,8 @@ drm_vprintf(struct drm_printer *p, const char *fmt, va_list *va)
 {
        struct va_format vaf = { .fmt = fmt, .va = va };
 
-       p->printfn(p, &vaf);
+       if (p->printfn)
+               p->printfn(p, &vaf);
 }
 
 /**
@@ -330,7 +331,7 @@ static inline struct drm_printer drm_dbg_printer(struct drm_device *drm,
                                                 const char *prefix)
 {
        struct drm_printer p = {
-               .printfn = __drm_printfn_dbg,
+               .printfn = drm_debug_enabled(category) ? __drm_printfn_dbg : NULL,
                .arg = drm,
                .prefix = prefix,
                .category = category,

>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> index b5b9b99213cf..cd78c200d483 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> @@ -192,6 +192,9 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  	char buf[64];
>  	int i;
>  
> +	if (!drm_debug_enabled(DRM_UT_KMS))
> +		return;
> +
>  	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>  
>  	drm_printf(&p, "[CRTC:%d:%s] enable: %s [%s]\n",

-- 
Jani Nikula, Intel

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

* Re: [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
  2024-02-29 15:20   ` Jani Nikula
@ 2024-02-29 15:21     ` Jani Nikula
  0 siblings, 0 replies; 64+ messages in thread
From: Jani Nikula @ 2024-02-29 15:21 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

On Thu, 29 Feb 2024, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Thu, 15 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
>> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>
>> intel_crtc_state_dump() does a whole boatload of string formatting
>> which is all wasted energy if the debugs aren't even enabled. Skip
>> the whole thing in that case.
>
> I wonder how something like this would work to skip it in a more generic
> fashion:

In the mean time,

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


>
> index 9cc473e5d353..0adc8020ae4f 100644
> --- a/include/drm/drm_print.h
> +++ b/include/drm/drm_print.h
> @@ -206,7 +206,8 @@ drm_vprintf(struct drm_printer *p, const char *fmt, va_list *va)
>  {
>         struct va_format vaf = { .fmt = fmt, .va = va };
>  
> -       p->printfn(p, &vaf);
> +       if (p->printfn)
> +               p->printfn(p, &vaf);
>  }
>  
>  /**
> @@ -330,7 +331,7 @@ static inline struct drm_printer drm_dbg_printer(struct drm_device *drm,
>                                                  const char *prefix)
>  {
>         struct drm_printer p = {
> -               .printfn = __drm_printfn_dbg,
> +               .printfn = drm_debug_enabled(category) ? __drm_printfn_dbg : NULL,
>                 .arg = drm,
>                 .prefix = prefix,
>                 .category = category,
>
>>
>> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
>> index b5b9b99213cf..cd78c200d483 100644
>> --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
>> +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
>> @@ -192,6 +192,9 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>>  	char buf[64];
>>  	int i;
>>  
>> +	if (!drm_debug_enabled(DRM_UT_KMS))
>> +		return;
>> +
>>  	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>>  
>>  	drm_printf(&p, "[CRTC:%d:%s] enable: %s [%s]\n",

-- 
Jani Nikula, Intel

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

* Re: [PATCH 10/12] drm/i915: Relocate pipe_config_mismatch()
  2024-02-15 16:40 ` [PATCH 10/12] drm/i915: Relocate pipe_config_mismatch() Ville Syrjala
@ 2024-02-29 15:21   ` Jani Nikula
  0 siblings, 0 replies; 64+ messages in thread
From: Jani Nikula @ 2024-02-29 15:21 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

On Thu, 15 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Hoist pipe_config_mismatch() upwards a bit so that it can get
> reused by the other mismatch() functions.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 46 ++++++++++----------
>  1 file changed, 23 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index d7f39ad84138..a9dd3632898c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4787,6 +4787,29 @@ intel_compare_buffer(const u8 *a, const u8 *b, size_t len)
>  	return memcmp(a, b, len) == 0;
>  }
>  
> +static void __printf(4, 5)
> +pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
> +		     const char *name, const char *format, ...)
> +{
> +	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct va_format vaf;
> +	va_list args;
> +
> +	va_start(args, format);
> +	vaf.fmt = format;
> +	vaf.va = &args;
> +
> +	if (fastset)
> +		drm_dbg_kms(&i915->drm,
> +			    "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
> +			    crtc->base.base.id, crtc->base.name, name, &vaf);
> +	else
> +		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s %pV\n",
> +			crtc->base.base.id, crtc->base.name, name, &vaf);
> +
> +	va_end(args);
> +}
> +
>  static void
>  pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
>  			       const char *name,
> @@ -4896,29 +4919,6 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
>  		       16, 0, b, len, false);
>  }
>  
> -static void __printf(4, 5)
> -pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
> -		     const char *name, const char *format, ...)
> -{
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> -	struct va_format vaf;
> -	va_list args;
> -
> -	va_start(args, format);
> -	vaf.fmt = format;
> -	vaf.va = &args;
> -
> -	if (fastset)
> -		drm_dbg_kms(&i915->drm,
> -			    "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
> -			    crtc->base.base.id, crtc->base.name, name, &vaf);
> -	else
> -		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s %pV\n",
> -			crtc->base.base.id, crtc->base.name, name, &vaf);
> -
> -	va_end(args);
> -}
> -
>  static void
>  pipe_config_pll_mismatch(bool fastset,
>  			 const struct intel_crtc *crtc,

-- 
Jani Nikula, Intel

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

* Re: [PATCH 11/12] drm/i915: Reuse pipe_config_mismatch() more
  2024-02-15 16:40 ` [PATCH 11/12] drm/i915: Reuse pipe_config_mismatch() more Ville Syrjala
@ 2024-02-29 15:28   ` Jani Nikula
  2024-02-29 18:42   ` [PATCH v2 " Ville Syrjala
  1 sibling, 0 replies; 64+ messages in thread
From: Jani Nikula @ 2024-02-29 15:28 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

On Thu, 15 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Just call pipe_config_mismatch() from all the more specialized
> mismatch() functions instead of hand rolling the same printfs
> all over.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 45 +++++---------------
>  1 file changed, 10 insertions(+), 35 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index a9dd3632898c..26580d4aef2d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4826,17 +4826,13 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
>  
>  		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>  		loglevel = KERN_DEBUG;
> -
> -		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
> -			   crtc->base.base.id, crtc->base.name, name);
>  	} else {
>  		p = drm_err_printer(&i915->drm, NULL);
>  		loglevel = KERN_ERR;
> -
> -		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s infoframe\n",
> -			   crtc->base.base.id, crtc->base.name, name);
>  	}
>  
> +	pipe_config_mismatch(fastset, crtc, name, "infoframe");
> +
>  	drm_printf(&p, "expected:\n");
>  	hdmi_infoframe_log(loglevel, i915->drm.dev, a);
>  	drm_printf(&p, "found:\n");
> @@ -4852,17 +4848,12 @@ pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	struct drm_printer p;
>  
> -	if (fastset) {
> +	if (fastset)
>  		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> -
> -		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s dp sdp\n",
> -			   crtc->base.base.id, crtc->base.name, name);
> -	} else {
> +	else
>  		p = drm_err_printer(&i915->drm, NULL);
>  
> -		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s dp sdp\n",
> -			   crtc->base.base.id, crtc->base.name, name);
> -	}
> +	pipe_config_mismatch(fastset, crtc, name, "dp sdp");
>  
>  	drm_printf(&p, "expected:\n");
>  	drm_dp_vsc_sdp_log(&p, a);
> @@ -4889,27 +4880,19 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
>  			    const char *name,
>  			    const u8 *a, const u8 *b, size_t len)
>  {
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> -	struct drm_printer p;
>  	const char *loglevel;
>  
>  	if (fastset) {
>  		if (!drm_debug_enabled(DRM_UT_KMS))
>  			return;
>  
> -		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>  		loglevel = KERN_DEBUG;
> -
> -		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s buffer\n",
> -			   crtc->base.base.id, crtc->base.name, name);
>  	} else {
> -		p = drm_err_printer(&i915->drm, NULL);
>  		loglevel = KERN_ERR;
> -
> -		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s buffer\n",
> -			   crtc->base.base.id, crtc->base.name, name);
>  	}
>  
> +	pipe_config_mismatch(fastset, crtc, name, "buffer");
> +
>  	/* only dump up to the last difference */
>  	len = memcmp_diff_len(a, b, len);
>  
> @@ -4929,20 +4912,12 @@ pipe_config_pll_mismatch(bool fastset,
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	struct drm_printer p;
>  
> -	if (fastset) {
> -		if (!drm_debug_enabled(DRM_UT_KMS))
> -			return;

Removing this seems misplaced.

Other than that,

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


> -
> +	if (fastset)
>  		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> -
> -		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
> -			   crtc->base.base.id, crtc->base.name, name);
> -	} else {
> +	else
>  		p = drm_err_printer(&i915->drm, NULL);
>  
> -		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n",
> -			   crtc->base.base.id, crtc->base.name, name);
> -	}
> +	pipe_config_mismatch(fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
>  
>  	drm_dbg_kms(&i915->drm, "expected:\n");
>  	intel_dpll_dump_hw_state(i915, &p, a);

-- 
Jani Nikula, Intel

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

* Re: [PATCH 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare()
  2024-02-15 16:40 ` [PATCH 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare() Ville Syrjala
@ 2024-02-29 15:29   ` Jani Nikula
  2024-02-29 18:42   ` [PATCH v2 " Ville Syrjala
  1 sibling, 0 replies; 64+ messages in thread
From: Jani Nikula @ 2024-02-29 15:29 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

On Thu, 15 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Create the drm_printer at the start of intel_pipe_config_compare()
> and pass it on to all the mismatch() functions.

Nice!

Reviewed-by: Jani Nikula <jani.nikula@intel.com>


>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 101 +++++++++----------
>  1 file changed, 46 insertions(+), 55 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 26580d4aef2d..69c9693dcc8d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4787,11 +4787,11 @@ intel_compare_buffer(const u8 *a, const u8 *b, size_t len)
>  	return memcmp(a, b, len) == 0;
>  }
>  
> -static void __printf(4, 5)
> -pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
> +static void __printf(5, 6)
> +pipe_config_mismatch(struct drm_printer *p, bool fastset,
> +		     const struct intel_crtc *crtc,
>  		     const char *name, const char *format, ...)
>  {
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	struct va_format vaf;
>  	va_list args;
>  
> @@ -4800,65 +4800,55 @@ pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
>  	vaf.va = &args;
>  
>  	if (fastset)
> -		drm_dbg_kms(&i915->drm,
> -			    "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
> -			    crtc->base.base.id, crtc->base.name, name, &vaf);
> +		drm_printf(p, "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
> +			   crtc->base.base.id, crtc->base.name, name, &vaf);
>  	else
> -		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s %pV\n",
> -			crtc->base.base.id, crtc->base.name, name, &vaf);
> +		drm_printf(p, "[CRTC:%d:%s] mismatch in %s %pV\n",
> +			   crtc->base.base.id, crtc->base.name, name, &vaf);
>  
>  	va_end(args);
>  }
>  
>  static void
> -pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
> +pipe_config_infoframe_mismatch(struct drm_printer *p, bool fastset,
> +			       const struct intel_crtc *crtc,
>  			       const char *name,
>  			       const union hdmi_infoframe *a,
>  			       const union hdmi_infoframe *b)
>  {
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> -	struct drm_printer p;
>  	const char *loglevel;
>  
>  	if (fastset) {
>  		if (!drm_debug_enabled(DRM_UT_KMS))
>  			return;
>  
> -		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>  		loglevel = KERN_DEBUG;
>  	} else {
> -		p = drm_err_printer(&i915->drm, NULL);
>  		loglevel = KERN_ERR;
>  	}
>  
> -	pipe_config_mismatch(fastset, crtc, name, "infoframe");
> +	pipe_config_mismatch(p, fastset, crtc, name, "infoframe");
>  
> -	drm_printf(&p, "expected:\n");
> +	drm_printf(p, "expected:\n");
>  	hdmi_infoframe_log(loglevel, i915->drm.dev, a);
> -	drm_printf(&p, "found:\n");
> +	drm_printf(p, "found:\n");
>  	hdmi_infoframe_log(loglevel, i915->drm.dev, b);
>  }
>  
>  static void
> -pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
> +pipe_config_dp_vsc_sdp_mismatch(struct drm_printer *p, bool fastset,
> +				const struct intel_crtc *crtc,
>  				const char *name,
>  				const struct drm_dp_vsc_sdp *a,
>  				const struct drm_dp_vsc_sdp *b)
>  {
> -	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> -	struct drm_printer p;
> +	pipe_config_mismatch(p, fastset, crtc, name, "dp sdp");
>  
> -	if (fastset)
> -		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> -	else
> -		p = drm_err_printer(&i915->drm, NULL);
> -
> -	pipe_config_mismatch(fastset, crtc, name, "dp sdp");
> -
> -	drm_printf(&p, "expected:\n");
> -	drm_dp_vsc_sdp_log(&p, a);
> -	drm_printf(&p, "found:\n");
> -	drm_dp_vsc_sdp_log(&p, b);
> +	drm_printf(p, "expected:\n");
> +	drm_dp_vsc_sdp_log(p, a);
> +	drm_printf(p, "found:\n");
> +	drm_dp_vsc_sdp_log(p, b);
>  }
>  
>  /* Returns the length up to and including the last differing byte */
> @@ -4876,7 +4866,8 @@ memcmp_diff_len(const u8 *a, const u8 *b, size_t len)
>  }
>  
>  static void
> -pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
> +pipe_config_buffer_mismatch(struct drm_printer *p, bool fastset,
> +			    const struct intel_crtc *crtc,
>  			    const char *name,
>  			    const u8 *a, const u8 *b, size_t len)
>  {
> @@ -4891,7 +4882,7 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
>  		loglevel = KERN_ERR;
>  	}
>  
> -	pipe_config_mismatch(fastset, crtc, name, "buffer");
> +	pipe_config_mismatch(p, fastset, crtc, name, "buffer");
>  
>  	/* only dump up to the last difference */
>  	len = memcmp_diff_len(a, b, len);
> @@ -4903,26 +4894,20 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
>  }
>  
>  static void
> -pipe_config_pll_mismatch(bool fastset,
> +pipe_config_pll_mismatch(struct drm_printer *p, bool fastset,
>  			 const struct intel_crtc *crtc,
>  			 const char *name,
>  			 const struct intel_dpll_hw_state *a,
>  			 const struct intel_dpll_hw_state *b)
>  {
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> -	struct drm_printer p;
>  
> -	if (fastset)
> -		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> -	else
> -		p = drm_err_printer(&i915->drm, NULL);
> +	pipe_config_mismatch(p, fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
>  
> -	pipe_config_mismatch(fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
> -
> -	drm_dbg_kms(&i915->drm, "expected:\n");
> -	intel_dpll_dump_hw_state(i915, &p, a);
> -	drm_dbg_kms(&i915->drm, "found:\n");
> -	intel_dpll_dump_hw_state(i915, &p, b);
> +	drm_printf(p, "expected:\n");
> +	intel_dpll_dump_hw_state(i915, p, a);
> +	drm_printf(p, "found:\n");
> +	intel_dpll_dump_hw_state(i915, p, b);
>  }
>  
>  bool
> @@ -4932,13 +4917,19 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  {
>  	struct drm_i915_private *dev_priv = to_i915(current_config->uapi.crtc->dev);
>  	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
> +	struct drm_printer p;
>  	bool ret = true;
>  
> +	if (fastset)
> +		p = drm_dbg_printer(&dev_priv->drm, DRM_UT_KMS, NULL);
> +	else
> +		p = drm_err_printer(&dev_priv->drm, NULL);
> +
>  #define PIPE_CONF_CHECK_X(name) do { \
>  	if (current_config->name != pipe_config->name) { \
>  		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
>  				 __stringify(name) " is bool");	\
> -		pipe_config_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
>  				     "(expected 0x%08x, found 0x%08x)", \
>  				     current_config->name, \
>  				     pipe_config->name); \
> @@ -4950,7 +4941,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  	if ((current_config->name & (mask)) != (pipe_config->name & (mask))) { \
>  		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
>  				 __stringify(name) " is bool");	\
> -		pipe_config_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
>  				     "(expected 0x%08x, found 0x%08x)", \
>  				     current_config->name & (mask), \
>  				     pipe_config->name & (mask)); \
> @@ -4962,7 +4953,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  	if (current_config->name != pipe_config->name) { \
>  		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
>  				 __stringify(name) " is bool");	\
> -		pipe_config_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
>  				     "(expected %i, found %i)", \
>  				     current_config->name, \
>  				     pipe_config->name); \
> @@ -4974,7 +4965,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  	if (current_config->name != pipe_config->name) { \
>  		BUILD_BUG_ON_MSG(!__same_type(current_config->name, bool), \
>  				 __stringify(name) " is not bool");	\
> -		pipe_config_mismatch(fastset, crtc,  __stringify(name), \
> +		pipe_config_mismatch(&p, fastset, crtc,  __stringify(name), \
>  				     "(expected %s, found %s)", \
>  				     str_yes_no(current_config->name), \
>  				     str_yes_no(pipe_config->name)); \
> @@ -4984,7 +4975,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  
>  #define PIPE_CONF_CHECK_P(name) do { \
>  	if (current_config->name != pipe_config->name) { \
> -		pipe_config_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
>  				     "(expected %p, found %p)", \
>  				     current_config->name, \
>  				     pipe_config->name); \
> @@ -4995,7 +4986,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  #define PIPE_CONF_CHECK_M_N(name) do { \
>  	if (!intel_compare_link_m_n(&current_config->name, \
>  				    &pipe_config->name)) { \
> -		pipe_config_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
>  				     "(expected tu %i data %i/%i link %i/%i, " \
>  				     "found tu %i, data %i/%i link %i/%i)", \
>  				     current_config->name.tu, \
> @@ -5015,7 +5006,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  #define PIPE_CONF_CHECK_PLL(name) do { \
>  	if (!intel_dpll_compare_hw_state(dev_priv, &current_config->name, \
>  					 &pipe_config->name)) { \
> -		pipe_config_pll_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_pll_mismatch(&p, fastset, crtc, __stringify(name), \
>  					 &current_config->name, \
>  					 &pipe_config->name); \
>  		ret = false; \
> @@ -5048,7 +5039,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  
>  #define PIPE_CONF_CHECK_FLAGS(name, mask) do { \
>  	if ((current_config->name ^ pipe_config->name) & (mask)) { \
> -		pipe_config_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
>  				     "(%x) (expected %i, found %i)", \
>  				     (mask), \
>  				     current_config->name & (mask), \
> @@ -5060,7 +5051,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  #define PIPE_CONF_CHECK_INFOFRAME(name) do { \
>  	if (!intel_compare_infoframe(&current_config->infoframes.name, \
>  				     &pipe_config->infoframes.name)) { \
> -		pipe_config_infoframe_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_infoframe_mismatch(&p, fastset, crtc, __stringify(name), \
>  					       &current_config->infoframes.name, \
>  					       &pipe_config->infoframes.name); \
>  		ret = false; \
> @@ -5070,7 +5061,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  #define PIPE_CONF_CHECK_DP_VSC_SDP(name) do { \
>  	if (!intel_compare_dp_vsc_sdp(&current_config->infoframes.name, \
>  				      &pipe_config->infoframes.name)) { \
> -		pipe_config_dp_vsc_sdp_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_dp_vsc_sdp_mismatch(&p, fastset, crtc, __stringify(name), \
>  						&current_config->infoframes.name, \
>  						&pipe_config->infoframes.name); \
>  		ret = false; \
> @@ -5081,7 +5072,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  	BUILD_BUG_ON(sizeof(current_config->name) != (len)); \
>  	BUILD_BUG_ON(sizeof(pipe_config->name) != (len)); \
>  	if (!intel_compare_buffer(current_config->name, pipe_config->name, (len))) { \
> -		pipe_config_buffer_mismatch(fastset, crtc, __stringify(name), \
> +		pipe_config_buffer_mismatch(&p, fastset, crtc, __stringify(name), \
>  					    current_config->name, \
>  					    pipe_config->name, \
>  					    (len)); \
> @@ -5094,7 +5085,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
>  	    !intel_color_lut_equal(current_config, \
>  				   current_config->lut, pipe_config->lut, \
>  				   is_pre_csc_lut)) {	\
> -		pipe_config_mismatch(fastset, crtc, __stringify(lut), \
> +		pipe_config_mismatch(&p, fastset, crtc, __stringify(lut), \
>  				     "hw_state doesn't match sw_state"); \
>  		ret = false; \
>  	} \

-- 
Jani Nikula, Intel

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

* [PATCH v2 06/12] drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
  2024-02-15 16:40 ` [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() " Ville Syrjala
  2024-02-22 21:54   ` Rodrigo Vivi
@ 2024-02-29 18:40   ` Ville Syrjala
  2024-02-29 19:43     ` Jani Nikula
  1 sibling, 1 reply; 64+ messages in thread
From: Ville Syrjala @ 2024-02-29 18:40 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi, Jani Nikula

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Utilize drm_printer in pipe_config_pll_mismatch() to avoid
a bit of code duplication.

To achieve this we need to plumb the printer all way to the
dpll_mgr .dump_hw_state() functions. Those are also used by
intel_crtc_state_dump() which needs to be adjusted as well.

v2: Convert a few misplaecd drm_dbg_kms() calls (Rodrigo)
    Drop the redundant drm_debug_enabled() check here
    instead of later (Jani)

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 .../drm/i915/display/intel_crtc_state_dump.c  |   5 +-
 drivers/gpu/drm/i915/display/intel_display.c  |  28 +++--
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 105 ++++++++----------
 drivers/gpu/drm/i915/display/intel_dpll_mgr.h |   2 +
 4 files changed, 66 insertions(+), 74 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
index 4bcf446c75f4..59d2b3d39951 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
@@ -205,9 +205,12 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	const struct intel_plane_state *plane_state;
 	struct intel_plane *plane;
+	struct drm_printer p;
 	char buf[64];
 	int i;
 
+	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
+
 	drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] enable: %s [%s]\n",
 		    crtc->base.base.id, crtc->base.name,
 		    str_yes_no(pipe_config->hw.enable), context);
@@ -356,7 +359,7 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
 		    pipe_config->ips_enabled, pipe_config->double_wide,
 		    pipe_config->has_drrs);
 
-	intel_dpll_dump_hw_state(i915, &pipe_config->dpll_hw_state);
+	intel_dpll_dump_hw_state(i915, &p, &pipe_config->dpll_hw_state);
 
 	if (IS_CHERRYVIEW(i915))
 		drm_dbg_kms(&i915->drm,
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index e5010049d52e..962b640e7c74 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4927,26 +4927,24 @@ pipe_config_pll_mismatch(bool fastset,
 			 const struct intel_dpll_hw_state *b)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
+	struct drm_printer p;
 
 	if (fastset) {
-		if (!drm_debug_enabled(DRM_UT_KMS))
-			return;
+		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 
-		drm_dbg_kms(&i915->drm,
-			    "[CRTC:%d:%s] fastset requirement not met in %s\n",
-			    crtc->base.base.id, crtc->base.name, name);
-		drm_dbg_kms(&i915->drm, "expected:\n");
-		intel_dpll_dump_hw_state(i915, a);
-		drm_dbg_kms(&i915->drm, "found:\n");
-		intel_dpll_dump_hw_state(i915, b);
+		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	} else {
-		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s buffer\n",
-			crtc->base.base.id, crtc->base.name, name);
-		drm_err(&i915->drm, "expected:\n");
-		intel_dpll_dump_hw_state(i915, a);
-		drm_err(&i915->drm, "found:\n");
-		intel_dpll_dump_hw_state(i915, b);
+		p = drm_err_printer(&i915->drm, NULL);
+
+		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n",
+			   crtc->base.base.id, crtc->base.name, name);
 	}
+
+	drm_printf(&p, "expected:\n");
+	intel_dpll_dump_hw_state(i915, &p, a);
+	drm_printf(&p, "found:\n");
+	intel_dpll_dump_hw_state(i915, &p, b);
 }
 
 bool
diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
index ff480f171f75..9542e62186e2 100644
--- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
+++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
@@ -107,7 +107,7 @@ struct intel_dpll_mgr {
 				   struct intel_crtc *crtc,
 				   struct intel_encoder *encoder);
 	void (*update_ref_clks)(struct drm_i915_private *i915);
-	void (*dump_hw_state)(struct drm_i915_private *i915,
+	void (*dump_hw_state)(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state);
 	bool (*compare_hw_state)(const struct intel_dpll_hw_state *a,
 				 const struct intel_dpll_hw_state *b);
@@ -634,16 +634,15 @@ static int ibx_get_dpll(struct intel_atomic_state *state,
 	return 0;
 }
 
-static void ibx_dump_hw_state(struct drm_i915_private *i915,
+static void ibx_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm,
-		    "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
-		    "fp0: 0x%x, fp1: 0x%x\n",
-		    hw_state->dpll,
-		    hw_state->dpll_md,
-		    hw_state->fp0,
-		    hw_state->fp1);
+	drm_printf(p, "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
+		   "fp0: 0x%x, fp1: 0x%x\n",
+		   hw_state->dpll,
+		   hw_state->dpll_md,
+		   hw_state->fp0,
+		   hw_state->fp1);
 }
 
 static bool ibx_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -1225,11 +1224,11 @@ static void hsw_update_dpll_ref_clks(struct drm_i915_private *i915)
 		i915->display.dpll.ref_clks.nssc = 135000;
 }
 
-static void hsw_dump_hw_state(struct drm_i915_private *i915,
+static void hsw_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm, "dpll_hw_state: wrpll: 0x%x spll: 0x%x\n",
-		    hw_state->wrpll, hw_state->spll);
+	drm_printf(p, "dpll_hw_state: wrpll: 0x%x spll: 0x%x\n",
+		   hw_state->wrpll, hw_state->spll);
 }
 
 static bool hsw_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -1939,14 +1938,11 @@ static void skl_update_dpll_ref_clks(struct drm_i915_private *i915)
 	i915->display.dpll.ref_clks.nssc = i915->display.cdclk.hw.ref;
 }
 
-static void skl_dump_hw_state(struct drm_i915_private *i915,
+static void skl_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm, "dpll_hw_state: "
-		      "ctrl1: 0x%x, cfgcr1: 0x%x, cfgcr2: 0x%x\n",
-		      hw_state->ctrl1,
-		      hw_state->cfgcr1,
-		      hw_state->cfgcr2);
+	drm_printf(p, "dpll_hw_state: ctrl1: 0x%x, cfgcr1: 0x%x, cfgcr2: 0x%x\n",
+		   hw_state->ctrl1, hw_state->cfgcr1, hw_state->cfgcr2);
 }
 
 static bool skl_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -2402,23 +2398,16 @@ static void bxt_update_dpll_ref_clks(struct drm_i915_private *i915)
 	/* DSI non-SSC ref 19.2MHz */
 }
 
-static void bxt_dump_hw_state(struct drm_i915_private *i915,
+static void bxt_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm, "dpll_hw_state: ebb0: 0x%x, ebb4: 0x%x,"
-		    "pll0: 0x%x, pll1: 0x%x, pll2: 0x%x, pll3: 0x%x, "
-		    "pll6: 0x%x, pll8: 0x%x, pll9: 0x%x, pll10: 0x%x, pcsdw12: 0x%x\n",
-		    hw_state->ebb0,
-		    hw_state->ebb4,
-		    hw_state->pll0,
-		    hw_state->pll1,
-		    hw_state->pll2,
-		    hw_state->pll3,
-		    hw_state->pll6,
-		    hw_state->pll8,
-		    hw_state->pll9,
-		    hw_state->pll10,
-		    hw_state->pcsdw12);
+	drm_printf(p, "dpll_hw_state: ebb0: 0x%x, ebb4: 0x%x,"
+		   "pll0: 0x%x, pll1: 0x%x, pll2: 0x%x, pll3: 0x%x, "
+		   "pll6: 0x%x, pll8: 0x%x, pll9: 0x%x, pll10: 0x%x, pcsdw12: 0x%x\n",
+		   hw_state->ebb0, hw_state->ebb4,
+		   hw_state->pll0, hw_state->pll1, hw_state->pll2, hw_state->pll3,
+		   hw_state->pll6, hw_state->pll8, hw_state->pll9, hw_state->pll10,
+		   hw_state->pcsdw12);
 }
 
 static bool bxt_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -4026,28 +4015,26 @@ static void icl_update_dpll_ref_clks(struct drm_i915_private *i915)
 	i915->display.dpll.ref_clks.nssc = i915->display.cdclk.hw.ref;
 }
 
-static void icl_dump_hw_state(struct drm_i915_private *i915,
+static void icl_dump_hw_state(struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
-	drm_dbg_kms(&i915->drm,
-		    "dpll_hw_state: cfgcr0: 0x%x, cfgcr1: 0x%x, div0: 0x%x, "
-		    "mg_refclkin_ctl: 0x%x, hg_clktop2_coreclkctl1: 0x%x, "
-		    "mg_clktop2_hsclkctl: 0x%x, mg_pll_div0: 0x%x, "
-		    "mg_pll_div2: 0x%x, mg_pll_lf: 0x%x, "
-		    "mg_pll_frac_lock: 0x%x, mg_pll_ssc: 0x%x, "
-		    "mg_pll_bias: 0x%x, mg_pll_tdc_coldst_bias: 0x%x\n",
-		    hw_state->cfgcr0, hw_state->cfgcr1,
-		    hw_state->div0,
-		    hw_state->mg_refclkin_ctl,
-		    hw_state->mg_clktop2_coreclkctl1,
-		    hw_state->mg_clktop2_hsclkctl,
-		    hw_state->mg_pll_div0,
-		    hw_state->mg_pll_div1,
-		    hw_state->mg_pll_lf,
-		    hw_state->mg_pll_frac_lock,
-		    hw_state->mg_pll_ssc,
-		    hw_state->mg_pll_bias,
-		    hw_state->mg_pll_tdc_coldst_bias);
+	drm_printf(p, "dpll_hw_state: cfgcr0: 0x%x, cfgcr1: 0x%x, div0: 0x%x, "
+		   "mg_refclkin_ctl: 0x%x, hg_clktop2_coreclkctl1: 0x%x, "
+		   "mg_clktop2_hsclkctl: 0x%x, mg_pll_div0: 0x%x, "
+		   "mg_pll_div2: 0x%x, mg_pll_lf: 0x%x, "
+		   "mg_pll_frac_lock: 0x%x, mg_pll_ssc: 0x%x, "
+		   "mg_pll_bias: 0x%x, mg_pll_tdc_coldst_bias: 0x%x\n",
+		   hw_state->cfgcr0, hw_state->cfgcr1, hw_state->div0,
+		   hw_state->mg_refclkin_ctl,
+		   hw_state->mg_clktop2_coreclkctl1,
+		   hw_state->mg_clktop2_hsclkctl,
+		   hw_state->mg_pll_div0,
+		   hw_state->mg_pll_div1,
+		   hw_state->mg_pll_lf,
+		   hw_state->mg_pll_frac_lock,
+		   hw_state->mg_pll_ssc,
+		   hw_state->mg_pll_bias,
+		   hw_state->mg_pll_tdc_coldst_bias);
 }
 
 static bool icl_compare_hw_state(const struct intel_dpll_hw_state *a,
@@ -4514,22 +4501,24 @@ void intel_dpll_sanitize_state(struct drm_i915_private *i915)
 }
 
 /**
- * intel_dpll_dump_hw_state - write hw_state to dmesg
+ * intel_dpll_dump_hw_state - dump hw_state
  * @i915: i915 drm device
- * @hw_state: hw state to be written to the log
+ * @p: where to print the state to
+ * @hw_state: hw state to be dumped
  *
- * Write the relevant values in @hw_state to dmesg using drm_dbg_kms.
+ * Dumo out the relevant values in @hw_state.
  */
 void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
+			      struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state)
 {
 	if (i915->display.dpll.mgr) {
-		i915->display.dpll.mgr->dump_hw_state(i915, hw_state);
+		i915->display.dpll.mgr->dump_hw_state(p, hw_state);
 	} else {
 		/* fallback for platforms that don't use the shared dpll
 		 * infrastructure
 		 */
-		ibx_dump_hw_state(i915, hw_state);
+		ibx_dump_hw_state(p, hw_state);
 	}
 }
 
diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
index cc0e1386309d..d4d97e40440a 100644
--- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
+++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
@@ -36,6 +36,7 @@
 
 enum tc_port;
 struct drm_i915_private;
+struct drm_printer;
 struct intel_atomic_state;
 struct intel_crtc;
 struct intel_crtc_state;
@@ -377,6 +378,7 @@ void intel_dpll_readout_hw_state(struct drm_i915_private *i915);
 void intel_dpll_sanitize_state(struct drm_i915_private *i915);
 
 void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
+			      struct drm_printer *p,
 			      const struct intel_dpll_hw_state *hw_state);
 bool intel_dpll_compare_hw_state(struct drm_i915_private *i915,
 				 const struct intel_dpll_hw_state *a,
-- 
2.43.0


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

* [PATCH v2 11/12] drm/i915: Reuse pipe_config_mismatch() more
  2024-02-15 16:40 ` [PATCH 11/12] drm/i915: Reuse pipe_config_mismatch() more Ville Syrjala
  2024-02-29 15:28   ` Jani Nikula
@ 2024-02-29 18:42   ` Ville Syrjala
  1 sibling, 0 replies; 64+ messages in thread
From: Ville Syrjala @ 2024-02-29 18:42 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Just call pipe_config_mismatch() from all the more specialized
mismatch() functions instead of hand rolling the same printfs
all over.

v2: Eliminate the dpll drm_debug_enabled() in an earlier patch (Jani)

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 42 +++++---------------
 1 file changed, 10 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 68522fcfd3e4..4d5ef823c5fe 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4826,17 +4826,13 @@ pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
 
 		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 		loglevel = KERN_DEBUG;
-
-		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s infoframe\n",
-			   crtc->base.base.id, crtc->base.name, name);
 	} else {
 		p = drm_err_printer(&i915->drm, NULL);
 		loglevel = KERN_ERR;
-
-		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s infoframe\n",
-			   crtc->base.base.id, crtc->base.name, name);
 	}
 
+	pipe_config_mismatch(fastset, crtc, name, "infoframe");
+
 	drm_printf(&p, "expected:\n");
 	hdmi_infoframe_log(loglevel, i915->drm.dev, a);
 	drm_printf(&p, "found:\n");
@@ -4852,17 +4848,12 @@ pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	struct drm_printer p;
 
-	if (fastset) {
+	if (fastset)
 		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-
-		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s dp sdp\n",
-			   crtc->base.base.id, crtc->base.name, name);
-	} else {
+	else
 		p = drm_err_printer(&i915->drm, NULL);
 
-		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s dp sdp\n",
-			   crtc->base.base.id, crtc->base.name, name);
-	}
+	pipe_config_mismatch(fastset, crtc, name, "dp sdp");
 
 	drm_printf(&p, "expected:\n");
 	drm_dp_vsc_sdp_log(&p, a);
@@ -4889,27 +4880,19 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
 			    const char *name,
 			    const u8 *a, const u8 *b, size_t len)
 {
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct drm_printer p;
 	const char *loglevel;
 
 	if (fastset) {
 		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
-		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 		loglevel = KERN_DEBUG;
-
-		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s buffer\n",
-			   crtc->base.base.id, crtc->base.name, name);
 	} else {
-		p = drm_err_printer(&i915->drm, NULL);
 		loglevel = KERN_ERR;
-
-		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s buffer\n",
-			   crtc->base.base.id, crtc->base.name, name);
 	}
 
+	pipe_config_mismatch(fastset, crtc, name, "buffer");
+
 	/* only dump up to the last difference */
 	len = memcmp_diff_len(a, b, len);
 
@@ -4929,17 +4912,12 @@ pipe_config_pll_mismatch(bool fastset,
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	struct drm_printer p;
 
-	if (fastset) {
+	if (fastset)
 		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-
-		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
-			   crtc->base.base.id, crtc->base.name, name);
-	} else {
+	else
 		p = drm_err_printer(&i915->drm, NULL);
 
-		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n",
-			   crtc->base.base.id, crtc->base.name, name);
-	}
+	pipe_config_mismatch(fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
 
 	drm_printf(&p, "expected:\n");
 	intel_dpll_dump_hw_state(i915, &p, a);
-- 
2.43.0


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

* [PATCH v2 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare()
  2024-02-15 16:40 ` [PATCH 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare() Ville Syrjala
  2024-02-29 15:29   ` Jani Nikula
@ 2024-02-29 18:42   ` Ville Syrjala
  1 sibling, 0 replies; 64+ messages in thread
From: Ville Syrjala @ 2024-02-29 18:42 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Create the drm_printer at the start of intel_pipe_config_compare()
and pass it on to all the mismatch() functions.

v2: Rebase

Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 101 +++++++++----------
 1 file changed, 46 insertions(+), 55 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 4d5ef823c5fe..69c9693dcc8d 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4787,11 +4787,11 @@ intel_compare_buffer(const u8 *a, const u8 *b, size_t len)
 	return memcmp(a, b, len) == 0;
 }
 
-static void __printf(4, 5)
-pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
+static void __printf(5, 6)
+pipe_config_mismatch(struct drm_printer *p, bool fastset,
+		     const struct intel_crtc *crtc,
 		     const char *name, const char *format, ...)
 {
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
 	struct va_format vaf;
 	va_list args;
 
@@ -4800,65 +4800,55 @@ pipe_config_mismatch(bool fastset, const struct intel_crtc *crtc,
 	vaf.va = &args;
 
 	if (fastset)
-		drm_dbg_kms(&i915->drm,
-			    "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
-			    crtc->base.base.id, crtc->base.name, name, &vaf);
+		drm_printf(p, "[CRTC:%d:%s] fastset requirement not met in %s %pV\n",
+			   crtc->base.base.id, crtc->base.name, name, &vaf);
 	else
-		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s %pV\n",
-			crtc->base.base.id, crtc->base.name, name, &vaf);
+		drm_printf(p, "[CRTC:%d:%s] mismatch in %s %pV\n",
+			   crtc->base.base.id, crtc->base.name, name, &vaf);
 
 	va_end(args);
 }
 
 static void
-pipe_config_infoframe_mismatch(bool fastset, const struct intel_crtc *crtc,
+pipe_config_infoframe_mismatch(struct drm_printer *p, bool fastset,
+			       const struct intel_crtc *crtc,
 			       const char *name,
 			       const union hdmi_infoframe *a,
 			       const union hdmi_infoframe *b)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct drm_printer p;
 	const char *loglevel;
 
 	if (fastset) {
 		if (!drm_debug_enabled(DRM_UT_KMS))
 			return;
 
-		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
 		loglevel = KERN_DEBUG;
 	} else {
-		p = drm_err_printer(&i915->drm, NULL);
 		loglevel = KERN_ERR;
 	}
 
-	pipe_config_mismatch(fastset, crtc, name, "infoframe");
+	pipe_config_mismatch(p, fastset, crtc, name, "infoframe");
 
-	drm_printf(&p, "expected:\n");
+	drm_printf(p, "expected:\n");
 	hdmi_infoframe_log(loglevel, i915->drm.dev, a);
-	drm_printf(&p, "found:\n");
+	drm_printf(p, "found:\n");
 	hdmi_infoframe_log(loglevel, i915->drm.dev, b);
 }
 
 static void
-pipe_config_dp_vsc_sdp_mismatch(bool fastset, const struct intel_crtc *crtc,
+pipe_config_dp_vsc_sdp_mismatch(struct drm_printer *p, bool fastset,
+				const struct intel_crtc *crtc,
 				const char *name,
 				const struct drm_dp_vsc_sdp *a,
 				const struct drm_dp_vsc_sdp *b)
 {
-	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct drm_printer p;
+	pipe_config_mismatch(p, fastset, crtc, name, "dp sdp");
 
-	if (fastset)
-		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-	else
-		p = drm_err_printer(&i915->drm, NULL);
-
-	pipe_config_mismatch(fastset, crtc, name, "dp sdp");
-
-	drm_printf(&p, "expected:\n");
-	drm_dp_vsc_sdp_log(&p, a);
-	drm_printf(&p, "found:\n");
-	drm_dp_vsc_sdp_log(&p, b);
+	drm_printf(p, "expected:\n");
+	drm_dp_vsc_sdp_log(p, a);
+	drm_printf(p, "found:\n");
+	drm_dp_vsc_sdp_log(p, b);
 }
 
 /* Returns the length up to and including the last differing byte */
@@ -4876,7 +4866,8 @@ memcmp_diff_len(const u8 *a, const u8 *b, size_t len)
 }
 
 static void
-pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
+pipe_config_buffer_mismatch(struct drm_printer *p, bool fastset,
+			    const struct intel_crtc *crtc,
 			    const char *name,
 			    const u8 *a, const u8 *b, size_t len)
 {
@@ -4891,7 +4882,7 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
 		loglevel = KERN_ERR;
 	}
 
-	pipe_config_mismatch(fastset, crtc, name, "buffer");
+	pipe_config_mismatch(p, fastset, crtc, name, "buffer");
 
 	/* only dump up to the last difference */
 	len = memcmp_diff_len(a, b, len);
@@ -4903,26 +4894,20 @@ pipe_config_buffer_mismatch(bool fastset, const struct intel_crtc *crtc,
 }
 
 static void
-pipe_config_pll_mismatch(bool fastset,
+pipe_config_pll_mismatch(struct drm_printer *p, bool fastset,
 			 const struct intel_crtc *crtc,
 			 const char *name,
 			 const struct intel_dpll_hw_state *a,
 			 const struct intel_dpll_hw_state *b)
 {
 	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
-	struct drm_printer p;
 
-	if (fastset)
-		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
-	else
-		p = drm_err_printer(&i915->drm, NULL);
+	pipe_config_mismatch(p, fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
 
-	pipe_config_mismatch(fastset, crtc, name, " "); /* stupid -Werror=format-zero-length */
-
-	drm_printf(&p, "expected:\n");
-	intel_dpll_dump_hw_state(i915, &p, a);
-	drm_printf(&p, "found:\n");
-	intel_dpll_dump_hw_state(i915, &p, b);
+	drm_printf(p, "expected:\n");
+	intel_dpll_dump_hw_state(i915, p, a);
+	drm_printf(p, "found:\n");
+	intel_dpll_dump_hw_state(i915, p, b);
 }
 
 bool
@@ -4932,13 +4917,19 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 {
 	struct drm_i915_private *dev_priv = to_i915(current_config->uapi.crtc->dev);
 	struct intel_crtc *crtc = to_intel_crtc(pipe_config->uapi.crtc);
+	struct drm_printer p;
 	bool ret = true;
 
+	if (fastset)
+		p = drm_dbg_printer(&dev_priv->drm, DRM_UT_KMS, NULL);
+	else
+		p = drm_err_printer(&dev_priv->drm, NULL);
+
 #define PIPE_CONF_CHECK_X(name) do { \
 	if (current_config->name != pipe_config->name) { \
 		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
 				 __stringify(name) " is bool");	\
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected 0x%08x, found 0x%08x)", \
 				     current_config->name, \
 				     pipe_config->name); \
@@ -4950,7 +4941,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	if ((current_config->name & (mask)) != (pipe_config->name & (mask))) { \
 		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
 				 __stringify(name) " is bool");	\
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected 0x%08x, found 0x%08x)", \
 				     current_config->name & (mask), \
 				     pipe_config->name & (mask)); \
@@ -4962,7 +4953,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	if (current_config->name != pipe_config->name) { \
 		BUILD_BUG_ON_MSG(__same_type(current_config->name, bool), \
 				 __stringify(name) " is bool");	\
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected %i, found %i)", \
 				     current_config->name, \
 				     pipe_config->name); \
@@ -4974,7 +4965,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	if (current_config->name != pipe_config->name) { \
 		BUILD_BUG_ON_MSG(!__same_type(current_config->name, bool), \
 				 __stringify(name) " is not bool");	\
-		pipe_config_mismatch(fastset, crtc,  __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc,  __stringify(name), \
 				     "(expected %s, found %s)", \
 				     str_yes_no(current_config->name), \
 				     str_yes_no(pipe_config->name)); \
@@ -4984,7 +4975,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 
 #define PIPE_CONF_CHECK_P(name) do { \
 	if (current_config->name != pipe_config->name) { \
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected %p, found %p)", \
 				     current_config->name, \
 				     pipe_config->name); \
@@ -4995,7 +4986,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_M_N(name) do { \
 	if (!intel_compare_link_m_n(&current_config->name, \
 				    &pipe_config->name)) { \
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(expected tu %i data %i/%i link %i/%i, " \
 				     "found tu %i, data %i/%i link %i/%i)", \
 				     current_config->name.tu, \
@@ -5015,7 +5006,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_PLL(name) do { \
 	if (!intel_dpll_compare_hw_state(dev_priv, &current_config->name, \
 					 &pipe_config->name)) { \
-		pipe_config_pll_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_pll_mismatch(&p, fastset, crtc, __stringify(name), \
 					 &current_config->name, \
 					 &pipe_config->name); \
 		ret = false; \
@@ -5048,7 +5039,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 
 #define PIPE_CONF_CHECK_FLAGS(name, mask) do { \
 	if ((current_config->name ^ pipe_config->name) & (mask)) { \
-		pipe_config_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
 				     "(%x) (expected %i, found %i)", \
 				     (mask), \
 				     current_config->name & (mask), \
@@ -5060,7 +5051,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_INFOFRAME(name) do { \
 	if (!intel_compare_infoframe(&current_config->infoframes.name, \
 				     &pipe_config->infoframes.name)) { \
-		pipe_config_infoframe_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_infoframe_mismatch(&p, fastset, crtc, __stringify(name), \
 					       &current_config->infoframes.name, \
 					       &pipe_config->infoframes.name); \
 		ret = false; \
@@ -5070,7 +5061,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 #define PIPE_CONF_CHECK_DP_VSC_SDP(name) do { \
 	if (!intel_compare_dp_vsc_sdp(&current_config->infoframes.name, \
 				      &pipe_config->infoframes.name)) { \
-		pipe_config_dp_vsc_sdp_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_dp_vsc_sdp_mismatch(&p, fastset, crtc, __stringify(name), \
 						&current_config->infoframes.name, \
 						&pipe_config->infoframes.name); \
 		ret = false; \
@@ -5081,7 +5072,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	BUILD_BUG_ON(sizeof(current_config->name) != (len)); \
 	BUILD_BUG_ON(sizeof(pipe_config->name) != (len)); \
 	if (!intel_compare_buffer(current_config->name, pipe_config->name, (len))) { \
-		pipe_config_buffer_mismatch(fastset, crtc, __stringify(name), \
+		pipe_config_buffer_mismatch(&p, fastset, crtc, __stringify(name), \
 					    current_config->name, \
 					    pipe_config->name, \
 					    (len)); \
@@ -5094,7 +5085,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
 	    !intel_color_lut_equal(current_config, \
 				   current_config->lut, pipe_config->lut, \
 				   is_pre_csc_lut)) {	\
-		pipe_config_mismatch(fastset, crtc, __stringify(lut), \
+		pipe_config_mismatch(&p, fastset, crtc, __stringify(lut), \
 				     "hw_state doesn't match sw_state"); \
 		ret = false; \
 	} \
-- 
2.43.0


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

* Re: [PATCH v2 06/12] drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
  2024-02-29 18:40   ` [PATCH v2 " Ville Syrjala
@ 2024-02-29 19:43     ` Jani Nikula
  0 siblings, 0 replies; 64+ messages in thread
From: Jani Nikula @ 2024-02-29 19:43 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx; +Cc: Rodrigo Vivi

On Thu, 29 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Utilize drm_printer in pipe_config_pll_mismatch() to avoid
> a bit of code duplication.
>
> To achieve this we need to plumb the printer all way to the
> dpll_mgr .dump_hw_state() functions. Those are also used by
> intel_crtc_state_dump() which needs to be adjusted as well.
>
> v2: Convert a few misplaecd drm_dbg_kms() calls (Rodrigo)
>     Drop the redundant drm_debug_enabled() check here
>     instead of later (Jani)
>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

At a fairly quick glance,

Reviewed-by: Jani Nikula <jani.nikula@intel.com>



> ---
>  .../drm/i915/display/intel_crtc_state_dump.c  |   5 +-
>  drivers/gpu/drm/i915/display/intel_display.c  |  28 +++--
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 105 ++++++++----------
>  drivers/gpu/drm/i915/display/intel_dpll_mgr.h |   2 +
>  4 files changed, 66 insertions(+), 74 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> index 4bcf446c75f4..59d2b3d39951 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> @@ -205,9 +205,12 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
>  	const struct intel_plane_state *plane_state;
>  	struct intel_plane *plane;
> +	struct drm_printer p;
>  	char buf[64];
>  	int i;
>  
> +	p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> +
>  	drm_dbg_kms(&i915->drm, "[CRTC:%d:%s] enable: %s [%s]\n",
>  		    crtc->base.base.id, crtc->base.name,
>  		    str_yes_no(pipe_config->hw.enable), context);
> @@ -356,7 +359,7 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  		    pipe_config->ips_enabled, pipe_config->double_wide,
>  		    pipe_config->has_drrs);
>  
> -	intel_dpll_dump_hw_state(i915, &pipe_config->dpll_hw_state);
> +	intel_dpll_dump_hw_state(i915, &p, &pipe_config->dpll_hw_state);
>  
>  	if (IS_CHERRYVIEW(i915))
>  		drm_dbg_kms(&i915->drm,
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index e5010049d52e..962b640e7c74 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4927,26 +4927,24 @@ pipe_config_pll_mismatch(bool fastset,
>  			 const struct intel_dpll_hw_state *b)
>  {
>  	struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> +	struct drm_printer p;
>  
>  	if (fastset) {
> -		if (!drm_debug_enabled(DRM_UT_KMS))
> -			return;
> +		p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
>  
> -		drm_dbg_kms(&i915->drm,
> -			    "[CRTC:%d:%s] fastset requirement not met in %s\n",
> -			    crtc->base.base.id, crtc->base.name, name);
> -		drm_dbg_kms(&i915->drm, "expected:\n");
> -		intel_dpll_dump_hw_state(i915, a);
> -		drm_dbg_kms(&i915->drm, "found:\n");
> -		intel_dpll_dump_hw_state(i915, b);
> +		drm_printf(&p, "[CRTC:%d:%s] fastset requirement not met in %s\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	} else {
> -		drm_err(&i915->drm, "[CRTC:%d:%s] mismatch in %s buffer\n",
> -			crtc->base.base.id, crtc->base.name, name);
> -		drm_err(&i915->drm, "expected:\n");
> -		intel_dpll_dump_hw_state(i915, a);
> -		drm_err(&i915->drm, "found:\n");
> -		intel_dpll_dump_hw_state(i915, b);
> +		p = drm_err_printer(&i915->drm, NULL);
> +
> +		drm_printf(&p, "[CRTC:%d:%s] mismatch in %s\n",
> +			   crtc->base.base.id, crtc->base.name, name);
>  	}
> +
> +	drm_printf(&p, "expected:\n");
> +	intel_dpll_dump_hw_state(i915, &p, a);
> +	drm_printf(&p, "found:\n");
> +	intel_dpll_dump_hw_state(i915, &p, b);
>  }
>  
>  bool
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> index ff480f171f75..9542e62186e2 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.c
> @@ -107,7 +107,7 @@ struct intel_dpll_mgr {
>  				   struct intel_crtc *crtc,
>  				   struct intel_encoder *encoder);
>  	void (*update_ref_clks)(struct drm_i915_private *i915);
> -	void (*dump_hw_state)(struct drm_i915_private *i915,
> +	void (*dump_hw_state)(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state);
>  	bool (*compare_hw_state)(const struct intel_dpll_hw_state *a,
>  				 const struct intel_dpll_hw_state *b);
> @@ -634,16 +634,15 @@ static int ibx_get_dpll(struct intel_atomic_state *state,
>  	return 0;
>  }
>  
> -static void ibx_dump_hw_state(struct drm_i915_private *i915,
> +static void ibx_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm,
> -		    "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
> -		    "fp0: 0x%x, fp1: 0x%x\n",
> -		    hw_state->dpll,
> -		    hw_state->dpll_md,
> -		    hw_state->fp0,
> -		    hw_state->fp1);
> +	drm_printf(p, "dpll_hw_state: dpll: 0x%x, dpll_md: 0x%x, "
> +		   "fp0: 0x%x, fp1: 0x%x\n",
> +		   hw_state->dpll,
> +		   hw_state->dpll_md,
> +		   hw_state->fp0,
> +		   hw_state->fp1);
>  }
>  
>  static bool ibx_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -1225,11 +1224,11 @@ static void hsw_update_dpll_ref_clks(struct drm_i915_private *i915)
>  		i915->display.dpll.ref_clks.nssc = 135000;
>  }
>  
> -static void hsw_dump_hw_state(struct drm_i915_private *i915,
> +static void hsw_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm, "dpll_hw_state: wrpll: 0x%x spll: 0x%x\n",
> -		    hw_state->wrpll, hw_state->spll);
> +	drm_printf(p, "dpll_hw_state: wrpll: 0x%x spll: 0x%x\n",
> +		   hw_state->wrpll, hw_state->spll);
>  }
>  
>  static bool hsw_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -1939,14 +1938,11 @@ static void skl_update_dpll_ref_clks(struct drm_i915_private *i915)
>  	i915->display.dpll.ref_clks.nssc = i915->display.cdclk.hw.ref;
>  }
>  
> -static void skl_dump_hw_state(struct drm_i915_private *i915,
> +static void skl_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm, "dpll_hw_state: "
> -		      "ctrl1: 0x%x, cfgcr1: 0x%x, cfgcr2: 0x%x\n",
> -		      hw_state->ctrl1,
> -		      hw_state->cfgcr1,
> -		      hw_state->cfgcr2);
> +	drm_printf(p, "dpll_hw_state: ctrl1: 0x%x, cfgcr1: 0x%x, cfgcr2: 0x%x\n",
> +		   hw_state->ctrl1, hw_state->cfgcr1, hw_state->cfgcr2);
>  }
>  
>  static bool skl_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -2402,23 +2398,16 @@ static void bxt_update_dpll_ref_clks(struct drm_i915_private *i915)
>  	/* DSI non-SSC ref 19.2MHz */
>  }
>  
> -static void bxt_dump_hw_state(struct drm_i915_private *i915,
> +static void bxt_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm, "dpll_hw_state: ebb0: 0x%x, ebb4: 0x%x,"
> -		    "pll0: 0x%x, pll1: 0x%x, pll2: 0x%x, pll3: 0x%x, "
> -		    "pll6: 0x%x, pll8: 0x%x, pll9: 0x%x, pll10: 0x%x, pcsdw12: 0x%x\n",
> -		    hw_state->ebb0,
> -		    hw_state->ebb4,
> -		    hw_state->pll0,
> -		    hw_state->pll1,
> -		    hw_state->pll2,
> -		    hw_state->pll3,
> -		    hw_state->pll6,
> -		    hw_state->pll8,
> -		    hw_state->pll9,
> -		    hw_state->pll10,
> -		    hw_state->pcsdw12);
> +	drm_printf(p, "dpll_hw_state: ebb0: 0x%x, ebb4: 0x%x,"
> +		   "pll0: 0x%x, pll1: 0x%x, pll2: 0x%x, pll3: 0x%x, "
> +		   "pll6: 0x%x, pll8: 0x%x, pll9: 0x%x, pll10: 0x%x, pcsdw12: 0x%x\n",
> +		   hw_state->ebb0, hw_state->ebb4,
> +		   hw_state->pll0, hw_state->pll1, hw_state->pll2, hw_state->pll3,
> +		   hw_state->pll6, hw_state->pll8, hw_state->pll9, hw_state->pll10,
> +		   hw_state->pcsdw12);
>  }
>  
>  static bool bxt_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -4026,28 +4015,26 @@ static void icl_update_dpll_ref_clks(struct drm_i915_private *i915)
>  	i915->display.dpll.ref_clks.nssc = i915->display.cdclk.hw.ref;
>  }
>  
> -static void icl_dump_hw_state(struct drm_i915_private *i915,
> +static void icl_dump_hw_state(struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
> -	drm_dbg_kms(&i915->drm,
> -		    "dpll_hw_state: cfgcr0: 0x%x, cfgcr1: 0x%x, div0: 0x%x, "
> -		    "mg_refclkin_ctl: 0x%x, hg_clktop2_coreclkctl1: 0x%x, "
> -		    "mg_clktop2_hsclkctl: 0x%x, mg_pll_div0: 0x%x, "
> -		    "mg_pll_div2: 0x%x, mg_pll_lf: 0x%x, "
> -		    "mg_pll_frac_lock: 0x%x, mg_pll_ssc: 0x%x, "
> -		    "mg_pll_bias: 0x%x, mg_pll_tdc_coldst_bias: 0x%x\n",
> -		    hw_state->cfgcr0, hw_state->cfgcr1,
> -		    hw_state->div0,
> -		    hw_state->mg_refclkin_ctl,
> -		    hw_state->mg_clktop2_coreclkctl1,
> -		    hw_state->mg_clktop2_hsclkctl,
> -		    hw_state->mg_pll_div0,
> -		    hw_state->mg_pll_div1,
> -		    hw_state->mg_pll_lf,
> -		    hw_state->mg_pll_frac_lock,
> -		    hw_state->mg_pll_ssc,
> -		    hw_state->mg_pll_bias,
> -		    hw_state->mg_pll_tdc_coldst_bias);
> +	drm_printf(p, "dpll_hw_state: cfgcr0: 0x%x, cfgcr1: 0x%x, div0: 0x%x, "
> +		   "mg_refclkin_ctl: 0x%x, hg_clktop2_coreclkctl1: 0x%x, "
> +		   "mg_clktop2_hsclkctl: 0x%x, mg_pll_div0: 0x%x, "
> +		   "mg_pll_div2: 0x%x, mg_pll_lf: 0x%x, "
> +		   "mg_pll_frac_lock: 0x%x, mg_pll_ssc: 0x%x, "
> +		   "mg_pll_bias: 0x%x, mg_pll_tdc_coldst_bias: 0x%x\n",
> +		   hw_state->cfgcr0, hw_state->cfgcr1, hw_state->div0,
> +		   hw_state->mg_refclkin_ctl,
> +		   hw_state->mg_clktop2_coreclkctl1,
> +		   hw_state->mg_clktop2_hsclkctl,
> +		   hw_state->mg_pll_div0,
> +		   hw_state->mg_pll_div1,
> +		   hw_state->mg_pll_lf,
> +		   hw_state->mg_pll_frac_lock,
> +		   hw_state->mg_pll_ssc,
> +		   hw_state->mg_pll_bias,
> +		   hw_state->mg_pll_tdc_coldst_bias);
>  }
>  
>  static bool icl_compare_hw_state(const struct intel_dpll_hw_state *a,
> @@ -4514,22 +4501,24 @@ void intel_dpll_sanitize_state(struct drm_i915_private *i915)
>  }
>  
>  /**
> - * intel_dpll_dump_hw_state - write hw_state to dmesg
> + * intel_dpll_dump_hw_state - dump hw_state
>   * @i915: i915 drm device
> - * @hw_state: hw state to be written to the log
> + * @p: where to print the state to
> + * @hw_state: hw state to be dumped
>   *
> - * Write the relevant values in @hw_state to dmesg using drm_dbg_kms.
> + * Dumo out the relevant values in @hw_state.
>   */
>  void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
> +			      struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state)
>  {
>  	if (i915->display.dpll.mgr) {
> -		i915->display.dpll.mgr->dump_hw_state(i915, hw_state);
> +		i915->display.dpll.mgr->dump_hw_state(p, hw_state);
>  	} else {
>  		/* fallback for platforms that don't use the shared dpll
>  		 * infrastructure
>  		 */
> -		ibx_dump_hw_state(i915, hw_state);
> +		ibx_dump_hw_state(p, hw_state);
>  	}
>  }
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> index cc0e1386309d..d4d97e40440a 100644
> --- a/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> +++ b/drivers/gpu/drm/i915/display/intel_dpll_mgr.h
> @@ -36,6 +36,7 @@
>  
>  enum tc_port;
>  struct drm_i915_private;
> +struct drm_printer;
>  struct intel_atomic_state;
>  struct intel_crtc;
>  struct intel_crtc_state;
> @@ -377,6 +378,7 @@ void intel_dpll_readout_hw_state(struct drm_i915_private *i915);
>  void intel_dpll_sanitize_state(struct drm_i915_private *i915);
>  
>  void intel_dpll_dump_hw_state(struct drm_i915_private *i915,
> +			      struct drm_printer *p,
>  			      const struct intel_dpll_hw_state *hw_state);
>  bool intel_dpll_compare_hw_state(struct drm_i915_private *i915,
>  				 const struct intel_dpll_hw_state *a,

-- 
Jani Nikula, Intel

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

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev4)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (16 preceding siblings ...)
  2024-02-29 12:08 ` [PATCH 00/12] " Jani Nikula
@ 2024-02-29 23:02 ` Patchwork
  2024-02-29 23:02 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (14 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-02-29 23:02 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev4)
URL   : https://patchwork.freedesktop.org/series/129956/
State : warning

== Summary ==

Error: dim checkpatch failed
1b6df16a7ddc drm/i915: Indicate which pipe failed the fastset check overall
a2e117546ece drm/i915: Include CRTC info in infoframe mismatch prints
865cc0e100a7 drm/i915: Include CRTC info in VSC SDP mismatch prints
6de01205811f drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
f52e5ec8162d drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
c3a68fc915fc drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
3a43730f22e4 drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
28d758fc5c7e drm/i915: Convert the remaining state dump to drm_printer
-:127: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#127: FILE: drivers/gpu/drm/i915/display/intel_crtc_state_dump.c:139:
+		   plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);

total: 0 errors, 1 warnings, 0 checks, 236 lines checked
e353d67561c1 drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
d3d5eec2ebbd drm/i915: Relocate pipe_config_mismatch()
a95a1d12e0c0 drm/i915: Reuse pipe_config_mismatch() more
4e66df9644a8 drm/i915: Create the printer only once in intel_pipe_config_compare()



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

* ✗ Fi.CI.SPARSE: warning for drm/i915: Use drm_printer more (rev4)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (17 preceding siblings ...)
  2024-02-29 23:02 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev4) Patchwork
@ 2024-02-29 23:02 ` Patchwork
  2024-02-29 23:19 ` ✗ Fi.CI.BAT: failure " Patchwork
                   ` (13 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-02-29 23:02 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev4)
URL   : https://patchwork.freedesktop.org/series/129956/
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] 64+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Use drm_printer more (rev4)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (18 preceding siblings ...)
  2024-02-29 23:02 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-02-29 23:19 ` Patchwork
  2024-03-05 21:28 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev5) Patchwork
                   ` (12 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-02-29 23:19 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Use drm_printer more (rev4)
URL   : https://patchwork.freedesktop.org/series/129956/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14370 -> Patchwork_129956v4
====================================================

Summary
-------

  **FAILURE**

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

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

Participating hosts (43 -> 39)
------------------------------

  Missing    (4): bat-mtlp-8 bat-kbl-2 bat-adlm-1 fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@runner@aborted:
    - bat-arls-2:         NOTRUN -> [FAIL][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-arls-2/igt@runner@aborted.html

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

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

### CI changes ###

#### Possible fixes ####

  * boot:
    - bat-jsl-1:          [FAIL][2] ([i915#8293]) -> [PASS][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14370/bat-jsl-1/boot.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-jsl-1/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-jsl-1:          NOTRUN -> [SKIP][4] ([i915#9318])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-jsl-1/igt@debugfs_test@basic-hwmon.html

  * igt@gem_huc_copy@huc-copy:
    - bat-jsl-1:          NOTRUN -> [SKIP][5] ([i915#2190])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-jsl-1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-jsl-1:          NOTRUN -> [SKIP][6] ([i915#4613]) +3 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-jsl-1/igt@gem_lmem_swapping@verify-random.html

  * igt@kms_chamelium_hpd@dp-hpd-fast:
    - bat-dg2-13:         NOTRUN -> [SKIP][7] ([Intel XE#484]) +1 other test skip
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-dg2-13/igt@kms_chamelium_hpd@dp-hpd-fast.html

  * igt@kms_chamelium_hpd@vga-hpd-fast:
    - bat-dg2-13:         NOTRUN -> [SKIP][8] ([Intel XE#484] / [i915#4550]) +1 other test skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-dg2-13/igt@kms_chamelium_hpd@vga-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-jsl-1:          NOTRUN -> [SKIP][9] ([i915#4103]) +1 other test skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-jsl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-jsl-1:          NOTRUN -> [SKIP][10] ([i915#3555] / [i915#9886])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-jsl-1/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-jsl-1:          NOTRUN -> [SKIP][11] ([fdo#109285])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-jsl-1/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pipe_crc_basic@nonblocking-crc:
    - bat-dg2-11:         NOTRUN -> [SKIP][12] ([i915#9197])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-jsl-1:          NOTRUN -> [SKIP][13] ([i915#3555])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@dmabuf:
    - bat-arls-1:         [DMESG-FAIL][14] -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14370/bat-arls-1/igt@i915_selftest@live@dmabuf.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-arls-1/igt@i915_selftest@live@dmabuf.html

  * igt@i915_selftest@live@gt_timelines:
    - {bat-arls-4}:       [INCOMPLETE][16] -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14370/bat-arls-4/igt@i915_selftest@live@gt_timelines.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v4/bat-arls-4/igt@i915_selftest@live@gt_timelines.html

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

  [Intel XE#484]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/484
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4550]: https://gitlab.freedesktop.org/drm/intel/issues/4550
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#9197]: https://gitlab.freedesktop.org/drm/intel/issues/9197
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9886]: https://gitlab.freedesktop.org/drm/intel/issues/9886


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

  * Linux: CI_DRM_14370 -> Patchwork_129956v4

  CI-20190529: 20190529
  CI_DRM_14370: c1a0f6caf0ffa81e77e74e04d937605a2e293774 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7738: 7738
  Patchwork_129956v4: c1a0f6caf0ffa81e77e74e04d937605a2e293774 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

acf4306b909f drm/i915: Create the printer only once in intel_pipe_config_compare()
b1fb88596979 drm/i915: Reuse pipe_config_mismatch() more
3aab0a87a3ab drm/i915: Relocate pipe_config_mismatch()
564b0d153afb drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
6f4600cd4037 drm/i915: Convert the remaining state dump to drm_printer
9013242c61f5 drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
2b51725127a0 drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
2b3363795a79 drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
850280d256f0 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
7452a9c272ad drm/i915: Include CRTC info in VSC SDP mismatch prints
7875bc06d9b9 drm/i915: Include CRTC info in infoframe mismatch prints
0ffd8016f275 drm/i915: Indicate which pipe failed the fastset check overall

== Logs ==

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

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

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

* Re: [PATCH 08/12] drm/i915: Convert the remaining state dump to drm_printer
  2024-02-15 16:40 ` [PATCH 08/12] drm/i915: Convert the remaining state dump to drm_printer Ville Syrjala
@ 2024-03-05  9:12   ` Jani Nikula
  0 siblings, 0 replies; 64+ messages in thread
From: Jani Nikula @ 2024-03-05  9:12 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

On Thu, 15 Feb 2024, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Plumb the drm_printer to all the little helpers called
> by intel_crtc_state_dump() and use it there as well.
>
> The exceptions are the ELD and infoframe stuff as they
> call helpers outside of the drm and thus can't use
> drm_printer.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

> ---
>  .../drm/i915/display/intel_crtc_state_dump.c  | 137 ++++++++----------
>  1 file changed, 60 insertions(+), 77 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> index b34fb0e6e46d..b5b9b99213cf 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
> @@ -12,33 +12,31 @@
>  #include "intel_hdmi.h"
>  #include "intel_vrr.h"
>  
> -static void intel_dump_crtc_timings(struct drm_i915_private *i915,
> +static void intel_dump_crtc_timings(struct drm_printer *p,
>  				    const struct drm_display_mode *mode)
>  {
> -	drm_dbg_kms(&i915->drm, "crtc timings: clock=%d, "
> -		    "hd=%d hb=%d-%d hs=%d-%d ht=%d, "
> -		    "vd=%d vb=%d-%d vs=%d-%d vt=%d, "
> -		    "flags=0x%x\n",
> -		    mode->crtc_clock,
> -		    mode->crtc_hdisplay, mode->crtc_hblank_start, mode->crtc_hblank_end,
> -		    mode->crtc_hsync_start, mode->crtc_hsync_end, mode->crtc_htotal,
> -		    mode->crtc_vdisplay, mode->crtc_vblank_start, mode->crtc_vblank_end,
> -		    mode->crtc_vsync_start, mode->crtc_vsync_end, mode->crtc_vtotal,
> -		    mode->flags);
> +	drm_printf(p, "crtc timings: clock=%d, "
> +		   "hd=%d hb=%d-%d hs=%d-%d ht=%d, "
> +		   "vd=%d vb=%d-%d vs=%d-%d vt=%d, "
> +		   "flags=0x%x\n",
> +		   mode->crtc_clock,
> +		   mode->crtc_hdisplay, mode->crtc_hblank_start, mode->crtc_hblank_end,
> +		   mode->crtc_hsync_start, mode->crtc_hsync_end, mode->crtc_htotal,
> +		   mode->crtc_vdisplay, mode->crtc_vblank_start, mode->crtc_vblank_end,
> +		   mode->crtc_vsync_start, mode->crtc_vsync_end, mode->crtc_vtotal,
> +		   mode->flags);
>  }
>  
>  static void
> -intel_dump_m_n_config(const struct intel_crtc_state *pipe_config,
> +intel_dump_m_n_config(struct drm_printer *p,
> +		      const struct intel_crtc_state *pipe_config,
>  		      const char *id, unsigned int lane_count,
>  		      const struct intel_link_m_n *m_n)
>  {
> -	struct drm_i915_private *i915 = to_i915(pipe_config->uapi.crtc->dev);
> -
> -	drm_dbg_kms(&i915->drm,
> -		    "%s: lanes: %i; data_m: %u, data_n: %u, link_m: %u, link_n: %u, tu: %u\n",
> -		    id, lane_count,
> -		    m_n->data_m, m_n->data_n,
> -		    m_n->link_m, m_n->link_n, m_n->tu);
> +	drm_printf(p, "%s: lanes: %i; data_m: %u, data_n: %u, link_m: %u, link_n: %u, tu: %u\n",
> +		   id, lane_count,
> +		   m_n->data_m, m_n->data_n,
> +		   m_n->link_m, m_n->link_n, m_n->tu);
>  }
>  
>  static void
> @@ -52,17 +50,7 @@ intel_dump_infoframe(struct drm_i915_private *i915,
>  }
>  
>  static void
> -intel_dump_dp_vsc_sdp(struct drm_i915_private *i915,
> -		      const struct drm_dp_vsc_sdp *vsc)
> -{
> -	struct drm_printer p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, NULL);
> -
> -	drm_dp_vsc_sdp_log(&p, vsc);
> -}
> -
> -static void
> -intel_dump_buffer(struct drm_i915_private *i915,
> -		  const char *prefix, const u8 *buf, size_t len)
> +intel_dump_buffer(const char *prefix, const u8 *buf, size_t len)
>  {
>  	if (!drm_debug_enabled(DRM_UT_KMS))
>  		return;
> @@ -130,71 +118,66 @@ const char *intel_output_format_name(enum intel_output_format format)
>  	return output_format_str[format];
>  }
>  
> -static void intel_dump_plane_state(const struct intel_plane_state *plane_state)
> +static void intel_dump_plane_state(struct drm_printer *p,
> +				   const struct intel_plane_state *plane_state)
>  {
>  	struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
> -	struct drm_i915_private *i915 = to_i915(plane->base.dev);
>  	const struct drm_framebuffer *fb = plane_state->hw.fb;
>  
>  	if (!fb) {
> -		drm_dbg_kms(&i915->drm,
> -			    "[PLANE:%d:%s] fb: [NOFB], visible: %s\n",
> -			    plane->base.base.id, plane->base.name,
> -			    str_yes_no(plane_state->uapi.visible));
> +		drm_printf(p, "[PLANE:%d:%s] fb: [NOFB], visible: %s\n",
> +			   plane->base.base.id, plane->base.name,
> +			   str_yes_no(plane_state->uapi.visible));
>  		return;
>  	}
>  
> -	drm_dbg_kms(&i915->drm,
> -		    "[PLANE:%d:%s] fb: [FB:%d] %ux%u format = %p4cc modifier = 0x%llx, visible: %s\n",
> -		    plane->base.base.id, plane->base.name,
> -		    fb->base.id, fb->width, fb->height, &fb->format->format,
> -		    fb->modifier, str_yes_no(plane_state->uapi.visible));
> -	drm_dbg_kms(&i915->drm, "\trotation: 0x%x, scaler: %d, scaling_filter: %d\n",
> -		    plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);
> +	drm_printf(p, "[PLANE:%d:%s] fb: [FB:%d] %ux%u format = %p4cc modifier = 0x%llx, visible: %s\n",
> +		   plane->base.base.id, plane->base.name,
> +		   fb->base.id, fb->width, fb->height, &fb->format->format,
> +		   fb->modifier, str_yes_no(plane_state->uapi.visible));
> +	drm_printf(p, "\trotation: 0x%x, scaler: %d, scaling_filter: %d\n",
> +		   plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);
>  	if (plane_state->uapi.visible)
> -		drm_dbg_kms(&i915->drm,
> -			    "\tsrc: " DRM_RECT_FP_FMT " dst: " DRM_RECT_FMT "\n",
> -			    DRM_RECT_FP_ARG(&plane_state->uapi.src),
> -			    DRM_RECT_ARG(&plane_state->uapi.dst));
> +		drm_printf(p, "\tsrc: " DRM_RECT_FP_FMT " dst: " DRM_RECT_FMT "\n",
> +			   DRM_RECT_FP_ARG(&plane_state->uapi.src),
> +			   DRM_RECT_ARG(&plane_state->uapi.dst));
>  }
>  
>  static void
> -ilk_dump_csc(struct drm_i915_private *i915, const char *name,
> +ilk_dump_csc(struct drm_i915_private *i915,
> +	     struct drm_printer *p,
> +	     const char *name,
>  	     const struct intel_csc_matrix *csc)
>  {
>  	int i;
>  
> -	drm_dbg_kms(&i915->drm,
> -		    "%s: pre offsets: 0x%04x 0x%04x 0x%04x\n", name,
> -		    csc->preoff[0], csc->preoff[1], csc->preoff[2]);
> +	drm_printf(p, "%s: pre offsets: 0x%04x 0x%04x 0x%04x\n", name,
> +		   csc->preoff[0], csc->preoff[1], csc->preoff[2]);
>  
>  	for (i = 0; i < 3; i++)
> -		drm_dbg_kms(&i915->drm,
> -			    "%s: coefficients: 0x%04x 0x%04x 0x%04x\n", name,
> -			    csc->coeff[3 * i + 0],
> -			    csc->coeff[3 * i + 1],
> -			    csc->coeff[3 * i + 2]);
> +		drm_printf(p, "%s: coefficients: 0x%04x 0x%04x 0x%04x\n", name,
> +			   csc->coeff[3 * i + 0],
> +			   csc->coeff[3 * i + 1],
> +			   csc->coeff[3 * i + 2]);
>  
>  	if (DISPLAY_VER(i915) < 7)
>  		return;
>  
> -	drm_dbg_kms(&i915->drm,
> -		    "%s: post offsets: 0x%04x 0x%04x 0x%04x\n", name,
> -		    csc->postoff[0], csc->postoff[1], csc->postoff[2]);
> +	drm_printf(p, "%s: post offsets: 0x%04x 0x%04x 0x%04x\n", name,
> +		   csc->postoff[0], csc->postoff[1], csc->postoff[2]);
>  }
>  
>  static void
> -vlv_dump_csc(struct drm_i915_private *i915, const char *name,
> +vlv_dump_csc(struct drm_printer *p, const char *name,
>  	     const struct intel_csc_matrix *csc)
>  {
>  	int i;
>  
>  	for (i = 0; i < 3; i++)
> -		drm_dbg_kms(&i915->drm,
> -			    "%s: coefficients: 0x%04x 0x%04x 0x%04x\n", name,
> -			    csc->coeff[3 * i + 0],
> -			    csc->coeff[3 * i + 1],
> -			    csc->coeff[3 * i + 2]);
> +		drm_printf(p, "%s: coefficients: 0x%04x 0x%04x 0x%04x\n", name,
> +			   csc->coeff[3 * i + 0],
> +			   csc->coeff[3 * i + 1],
> +			   csc->coeff[3 * i + 2]);
>  }
>  
>  void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
> @@ -247,15 +230,15 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  		   pipe_config->splitter.pixel_overlap);
>  
>  	if (pipe_config->has_pch_encoder)
> -		intel_dump_m_n_config(pipe_config, "fdi",
> +		intel_dump_m_n_config(&p, pipe_config, "fdi",
>  				      pipe_config->fdi_lanes,
>  				      &pipe_config->fdi_m_n);
>  
>  	if (intel_crtc_has_dp_encoder(pipe_config)) {
> -		intel_dump_m_n_config(pipe_config, "dp m_n",
> +		intel_dump_m_n_config(&p, pipe_config, "dp m_n",
>  				      pipe_config->lane_count,
>  				      &pipe_config->dp_m_n);
> -		intel_dump_m_n_config(pipe_config, "dp m2_n2",
> +		intel_dump_m_n_config(&p, pipe_config, "dp m2_n2",
>  				      pipe_config->lane_count,
>  				      &pipe_config->dp_m2_n2);
>  		drm_printf(&p, "fec: %s, enhanced framing: %s\n",
> @@ -299,10 +282,10 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  		intel_dump_infoframe(i915, &pipe_config->infoframes.drm);
>  	if (pipe_config->infoframes.enable &
>  	    intel_hdmi_infoframe_enable(DP_SDP_VSC))
> -		intel_dump_dp_vsc_sdp(i915, &pipe_config->infoframes.vsc);
> +		drm_dp_vsc_sdp_log(&p, &pipe_config->infoframes.vsc);
>  
>  	if (pipe_config->has_audio)
> -		intel_dump_buffer(i915, "ELD: ", pipe_config->eld,
> +		intel_dump_buffer("ELD: ", pipe_config->eld,
>  				  drm_eld_size(pipe_config->eld));
>  
>  	drm_printf(&p, "vrr: %s, vmin: %d, vmax: %d, pipeline full: %d, guardband: %d flipline: %d, vmin vblank: %d, vmax vblank: %d\n",
> @@ -317,10 +300,10 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  		   DRM_MODE_ARG(&pipe_config->hw.mode));
>  	drm_printf(&p, "adjusted mode: " DRM_MODE_FMT "\n",
>  		   DRM_MODE_ARG(&pipe_config->hw.adjusted_mode));
> -	intel_dump_crtc_timings(i915, &pipe_config->hw.adjusted_mode);
> +	intel_dump_crtc_timings(&p, &pipe_config->hw.adjusted_mode);
>  	drm_printf(&p, "pipe mode: " DRM_MODE_FMT "\n",
>  		   DRM_MODE_ARG(&pipe_config->hw.pipe_mode));
> -	intel_dump_crtc_timings(i915, &pipe_config->hw.pipe_mode);
> +	intel_dump_crtc_timings(&p, &pipe_config->hw.pipe_mode);
>  	drm_printf(&p, "port clock: %d, pipe src: " DRM_RECT_FMT ", pixel rate %d\n",
>  		   pipe_config->port_clock, DRM_RECT_ARG(&pipe_config->pipe_src),
>  		   pipe_config->pixel_rate);
> @@ -370,14 +353,14 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  		   drm_color_lut_size(pipe_config->post_csc_lut) : 0);
>  
>  	if (DISPLAY_VER(i915) >= 11)
> -		ilk_dump_csc(i915, "output csc", &pipe_config->output_csc);
> +		ilk_dump_csc(i915, &p, "output csc", &pipe_config->output_csc);
>  
>  	if (!HAS_GMCH(i915))
> -		ilk_dump_csc(i915, "pipe csc", &pipe_config->csc);
> +		ilk_dump_csc(i915, &p, "pipe csc", &pipe_config->csc);
>  	else if (IS_CHERRYVIEW(i915))
> -		vlv_dump_csc(i915, "cgm csc", &pipe_config->csc);
> +		vlv_dump_csc(&p, "cgm csc", &pipe_config->csc);
>  	else if (IS_VALLEYVIEW(i915))
> -		vlv_dump_csc(i915, "wgc csc", &pipe_config->csc);
> +		vlv_dump_csc(&p, "wgc csc", &pipe_config->csc);
>  
>  dump_planes:
>  	if (!state)
> @@ -385,6 +368,6 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
>  
>  	for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
>  		if (plane->pipe == crtc->pipe)
> -			intel_dump_plane_state(plane_state);
> +			intel_dump_plane_state(&p, plane_state);
>  	}
>  }

-- 
Jani Nikula, Intel

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

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev5)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (19 preceding siblings ...)
  2024-02-29 23:19 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-03-05 21:28 ` Patchwork
  2024-03-05 21:28 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (11 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-05 21:28 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev5)
URL   : https://patchwork.freedesktop.org/series/129956/
State : warning

== Summary ==

Error: dim checkpatch failed
3de64739aac8 drm/i915: Indicate which pipe failed the fastset check overall
84cc770bca09 drm/i915: Include CRTC info in infoframe mismatch prints
6eb483ba05e9 drm/i915: Include CRTC info in VSC SDP mismatch prints
fac65f8b6b24 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
48cfcfeda76c drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
91dc61352e6f drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
39de565068c5 drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
7e59567a32c8 drm/i915: Convert the remaining state dump to drm_printer
-:128: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#128: FILE: drivers/gpu/drm/i915/display/intel_crtc_state_dump.c:139:
+		   plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);

total: 0 errors, 1 warnings, 0 checks, 236 lines checked
492d7ada8c7d drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
d84007ca4eba drm/i915: Relocate pipe_config_mismatch()
0deb3c61591c drm/i915: Reuse pipe_config_mismatch() more
9e61deffa643 drm/i915: Create the printer only once in intel_pipe_config_compare()



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

* ✗ Fi.CI.SPARSE: warning for drm/i915: Use drm_printer more (rev5)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (20 preceding siblings ...)
  2024-03-05 21:28 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev5) Patchwork
@ 2024-03-05 21:28 ` Patchwork
  2024-03-05 21:46 ` ✗ Fi.CI.BAT: failure " Patchwork
                   ` (10 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-05 21:28 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev5)
URL   : https://patchwork.freedesktop.org/series/129956/
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] 64+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Use drm_printer more (rev5)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (21 preceding siblings ...)
  2024-03-05 21:28 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-03-05 21:46 ` Patchwork
  2024-03-06 12:07 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev6) Patchwork
                   ` (9 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-05 21:46 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Use drm_printer more (rev5)
URL   : https://patchwork.freedesktop.org/series/129956/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14393 -> Patchwork_129956v5
====================================================

Summary
-------

  **FAILURE**

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

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

Participating hosts (41 -> 41)
------------------------------

  Additional (1): bat-dg1-7 
  Missing    (1): fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@active:
    - bat-dg2-9:          [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14393/bat-dg2-9/igt@i915_selftest@live@active.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg2-9/igt@i915_selftest@live@active.html

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

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

### CI changes ###

#### Issues hit ####

  * boot:
    - bat-arls-3:         [PASS][3] -> [FAIL][4] ([i915#10234])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14393/bat-arls-3/boot.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-3/boot.html
    - fi-cfl-8109u:       [PASS][5] -> [FAIL][6] ([i915#8293])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14393/fi-cfl-8109u/boot.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/fi-cfl-8109u/boot.html

  
#### Possible fixes ####

  * boot:
    - bat-jsl-1:          [FAIL][7] ([i915#8293]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14393/bat-jsl-1/boot.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-jsl-1/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-jsl-1:          NOTRUN -> [SKIP][9] ([i915#9318])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-jsl-1/igt@debugfs_test@basic-hwmon.html

  * igt@gem_huc_copy@huc-copy:
    - bat-jsl-1:          NOTRUN -> [SKIP][10] ([i915#2190])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-jsl-1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-arls-2:         NOTRUN -> [SKIP][11] ([i915#10213]) +3 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@gem_lmem_swapping@verify-random.html
    - bat-jsl-1:          NOTRUN -> [SKIP][12] ([i915#4613]) +3 other tests skip
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-jsl-1/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][13] ([i915#4083])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@gem_mmap@basic.html
    - bat-arls-2:         NOTRUN -> [SKIP][14] ([i915#4083])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@gem_mmap@basic.html

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

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

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][17] ([i915#4077]) +2 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][18] ([i915#4079]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@gem_tiled_pread_basic.html
    - bat-arls-2:         NOTRUN -> [SKIP][19] ([i915#10206] / [i915#4079])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-7:          NOTRUN -> [SKIP][20] ([i915#6621])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@i915_pm_rps@basic-api.html
    - bat-arls-2:         NOTRUN -> [SKIP][21] ([i915#10209])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live@hangcheck:
    - bat-dg2-14:         [PASS][22] -> [ABORT][23] ([i915#10366])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14393/bat-dg2-14/igt@i915_selftest@live@hangcheck.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg2-14/igt@i915_selftest@live@hangcheck.html

  * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][24] ([i915#4212]) +7 other tests skip
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html

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

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][26] ([i915#4215])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-arls-2:         NOTRUN -> [SKIP][27] ([i915#10202]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-jsl-1:          NOTRUN -> [SKIP][28] ([i915#4103]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-jsl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-dg1-7:          NOTRUN -> [SKIP][29] ([i915#4103] / [i915#4213]) +1 other test skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-arls-2:         NOTRUN -> [SKIP][30] ([i915#9886])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@kms_dsc@dsc-basic.html
    - bat-jsl-1:          NOTRUN -> [SKIP][31] ([i915#3555] / [i915#9886])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-jsl-1/igt@kms_dsc@dsc-basic.html
    - bat-dg1-7:          NOTRUN -> [SKIP][32] ([i915#3555] / [i915#3840])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-arls-2:         NOTRUN -> [SKIP][33] ([i915#10207])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@kms_force_connector_basic@force-load-detect.html
    - bat-jsl-1:          NOTRUN -> [SKIP][34] ([fdo#109285])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-jsl-1/igt@kms_force_connector_basic@force-load-detect.html
    - bat-dg1-7:          NOTRUN -> [SKIP][35] ([fdo#109285])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_hdmi_inject@inject-audio:
    - bat-dg1-7:          NOTRUN -> [SKIP][36] ([i915#433])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-dg1-7:          NOTRUN -> [SKIP][37] ([i915#5354])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_psr@psr-primary-mmap-gtt@edp-1:
    - bat-arls-2:         NOTRUN -> [SKIP][38] ([i915#10196] / [i915#4077] / [i915#9688])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html

  * igt@kms_psr@psr-primary-page-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][39] ([i915#9732]) +3 other tests skip
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-arls-2:         NOTRUN -> [SKIP][40] ([i915#10208] / [i915#8809])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-jsl-1:          NOTRUN -> [SKIP][41] ([i915#3555])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-dg1-7:          NOTRUN -> [SKIP][42] ([i915#3555])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][43] ([i915#3708]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html

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

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

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

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

  
#### Possible fixes ####

  * igt@gem_exec_fence@basic-await@ccs0:
    - bat-arls-2:         [ABORT][49] -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14393/bat-arls-2/igt@gem_exec_fence@basic-await@ccs0.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-arls-2/igt@gem_exec_fence@basic-await@ccs0.html

  * igt@i915_selftest@live@hangcheck:
    - {bat-rpls-3}:       [DMESG-WARN][51] ([i915#5591]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14393/bat-rpls-3/igt@i915_selftest@live@hangcheck.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v5/bat-rpls-3/igt@i915_selftest@live@hangcheck.html

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

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [i915#10196]: https://gitlab.freedesktop.org/drm/intel/issues/10196
  [i915#10197]: https://gitlab.freedesktop.org/drm/intel/issues/10197
  [i915#10200]: https://gitlab.freedesktop.org/drm/intel/issues/10200
  [i915#10202]: https://gitlab.freedesktop.org/drm/intel/issues/10202
  [i915#10206]: https://gitlab.freedesktop.org/drm/intel/issues/10206
  [i915#10207]: https://gitlab.freedesktop.org/drm/intel/issues/10207
  [i915#10208]: https://gitlab.freedesktop.org/drm/intel/issues/10208
  [i915#10209]: https://gitlab.freedesktop.org/drm/intel/issues/10209
  [i915#10211]: https://gitlab.freedesktop.org/drm/intel/issues/10211
  [i915#10212]: https://gitlab.freedesktop.org/drm/intel/issues/10212
  [i915#10213]: https://gitlab.freedesktop.org/drm/intel/issues/10213
  [i915#10214]: https://gitlab.freedesktop.org/drm/intel/issues/10214
  [i915#10216]: https://gitlab.freedesktop.org/drm/intel/issues/10216
  [i915#10234]: https://gitlab.freedesktop.org/drm/intel/issues/10234
  [i915#10366]: https://gitlab.freedesktop.org/drm/intel/issues/10366
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9886]: https://gitlab.freedesktop.org/drm/intel/issues/9886


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

  * Linux: CI_DRM_14393 -> Patchwork_129956v5

  CI-20190529: 20190529
  CI_DRM_14393: 8f85c978aed193f293da17e783a817844e72a569 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7746: 7746
  Patchwork_129956v5: 8f85c978aed193f293da17e783a817844e72a569 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

7a9780302c7d drm/i915: Create the printer only once in intel_pipe_config_compare()
45b1ddcb6d64 drm/i915: Reuse pipe_config_mismatch() more
fea63f50cc5f drm/i915: Relocate pipe_config_mismatch()
e8330e10a9c8 drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
8e81139f5fa3 drm/i915: Convert the remaining state dump to drm_printer
0bd5cd9435df drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
5f87b62ee2e3 drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
37038f974b13 drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
5d0ab0b3e498 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
cf9ee1e28b9d drm/i915: Include CRTC info in VSC SDP mismatch prints
47135b7f2da2 drm/i915: Include CRTC info in infoframe mismatch prints
fa402b2f4a48 drm/i915: Indicate which pipe failed the fastset check overall

== Logs ==

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

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

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

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev6)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (22 preceding siblings ...)
  2024-03-05 21:46 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-03-06 12:07 ` Patchwork
  2024-03-06 12:07 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (8 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-06 12:07 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev6)
URL   : https://patchwork.freedesktop.org/series/129956/
State : warning

== Summary ==

Error: dim checkpatch failed
d386f64d74bf drm/i915: Indicate which pipe failed the fastset check overall
9418dec47256 drm/i915: Include CRTC info in infoframe mismatch prints
610acdb962f9 drm/i915: Include CRTC info in VSC SDP mismatch prints
036c89d2b780 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
73e731ad3544 drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
61bb8b39c48b drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
0b185c49af95 drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
a87b95456efb drm/i915: Convert the remaining state dump to drm_printer
-:128: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#128: FILE: drivers/gpu/drm/i915/display/intel_crtc_state_dump.c:139:
+		   plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);

total: 0 errors, 1 warnings, 0 checks, 236 lines checked
ff1c73a385d5 drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
6afad346c142 drm/i915: Relocate pipe_config_mismatch()
034e8573b06b drm/i915: Reuse pipe_config_mismatch() more
e3bcb0019463 drm/i915: Create the printer only once in intel_pipe_config_compare()



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

* ✗ Fi.CI.SPARSE: warning for drm/i915: Use drm_printer more (rev6)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (23 preceding siblings ...)
  2024-03-06 12:07 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev6) Patchwork
@ 2024-03-06 12:07 ` Patchwork
  2024-03-06 12:13 ` ✗ Fi.CI.BAT: failure " Patchwork
                   ` (7 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-06 12:07 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev6)
URL   : https://patchwork.freedesktop.org/series/129956/
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] 64+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Use drm_printer more (rev6)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (24 preceding siblings ...)
  2024-03-06 12:07 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-03-06 12:13 ` Patchwork
  2024-03-08  8:37 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev7) Patchwork
                   ` (6 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-06 12:13 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Use drm_printer more (rev6)
URL   : https://patchwork.freedesktop.org/series/129956/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14396 -> Patchwork_129956v6
====================================================

Summary
-------

  **FAILURE**

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

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

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

  Additional (2): bat-dg1-7 bat-mtlp-8 
  Missing    (2): fi-glk-j4005 fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@reload:
    - bat-dg2-11:         [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14396/bat-dg2-11/igt@i915_module_load@reload.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg2-11/igt@i915_module_load@reload.html

  * igt@i915_selftest@live@dmabuf:
    - fi-bsw-nick:        [PASS][3] -> [DMESG-FAIL][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14396/fi-bsw-nick/igt@i915_selftest@live@dmabuf.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/fi-bsw-nick/igt@i915_selftest@live@dmabuf.html

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

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

### CI changes ###

#### Possible fixes ####

  * boot:
    - bat-jsl-1:          [FAIL][5] ([i915#8293]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14396/bat-jsl-1/boot.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-jsl-1/boot.html
    - fi-apl-guc:         [FAIL][7] ([i915#8293]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14396/fi-apl-guc/boot.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/fi-apl-guc/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-mtlp-8:         NOTRUN -> [SKIP][9] ([i915#9318])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@debugfs_test@basic-hwmon.html
    - bat-jsl-1:          NOTRUN -> [SKIP][10] ([i915#9318])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-jsl-1/igt@debugfs_test@basic-hwmon.html

  * igt@gem_huc_copy@huc-copy:
    - bat-jsl-1:          NOTRUN -> [SKIP][11] ([i915#2190])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-jsl-1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-apl-guc:         NOTRUN -> [SKIP][12] ([fdo#109271] / [i915#4613]) +3 other tests skip
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/fi-apl-guc/igt@gem_lmem_swapping@basic.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-mtlp-8:         NOTRUN -> [SKIP][13] ([i915#4613]) +3 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@gem_lmem_swapping@verify-random.html
    - bat-jsl-1:          NOTRUN -> [SKIP][14] ([i915#4613]) +3 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-jsl-1/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][15] ([i915#4083])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@gem_mmap@basic.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][16] ([i915#4083])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@gem_mmap@basic.html

  * igt@gem_mmap_gtt@basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][17] ([i915#4077]) +2 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@gem_mmap_gtt@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][18] ([i915#4079]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][19] ([i915#4077]) +2 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][20] ([i915#4079]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-7:          NOTRUN -> [SKIP][21] ([i915#6621])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@i915_pm_rps@basic-api.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][22] ([i915#6621])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@i915_pm_rps@basic-api.html

  * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][23] ([i915#4212]) +7 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][24] ([i915#5190])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][25] ([i915#4212]) +8 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@kms_addfb_basic@basic-y-tiled-legacy.html
    - bat-dg1-7:          NOTRUN -> [SKIP][26] ([i915#4215])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-mtlp-8:         NOTRUN -> [SKIP][27] ([i915#4213]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-jsl-1:          NOTRUN -> [SKIP][28] ([i915#4103]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-jsl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-dg1-7:          NOTRUN -> [SKIP][29] ([i915#4103] / [i915#4213]) +1 other test skip
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-mtlp-8:         NOTRUN -> [SKIP][30] ([i915#3555] / [i915#3840] / [i915#9159])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@kms_dsc@dsc-basic.html
    - bat-jsl-1:          NOTRUN -> [SKIP][31] ([i915#3555] / [i915#9886])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-jsl-1/igt@kms_dsc@dsc-basic.html
    - bat-dg1-7:          NOTRUN -> [SKIP][32] ([i915#3555] / [i915#3840])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-mtlp-8:         NOTRUN -> [SKIP][33] ([fdo#109285])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@kms_force_connector_basic@force-load-detect.html
    - bat-jsl-1:          NOTRUN -> [SKIP][34] ([fdo#109285])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-jsl-1/igt@kms_force_connector_basic@force-load-detect.html
    - bat-dg1-7:          NOTRUN -> [SKIP][35] ([fdo#109285])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-mtlp-8:         NOTRUN -> [SKIP][36] ([i915#5274])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_hdmi_inject@inject-audio:
    - fi-apl-guc:         NOTRUN -> [SKIP][37] ([fdo#109271]) +17 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/fi-apl-guc/igt@kms_hdmi_inject@inject-audio.html
    - bat-dg1-7:          NOTRUN -> [SKIP][38] ([i915#433])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-dg1-7:          NOTRUN -> [SKIP][39] ([i915#5354])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_psr@psr-primary-mmap-gtt@edp-1:
    - bat-mtlp-8:         NOTRUN -> [SKIP][40] ([i915#4077] / [i915#9688])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@kms_psr@psr-primary-mmap-gtt@edp-1.html

  * igt@kms_psr@psr-primary-page-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][41] ([i915#9732]) +3 other tests skip
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-mtlp-8:         NOTRUN -> [SKIP][42] ([i915#3555] / [i915#8809])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-jsl-1:          NOTRUN -> [SKIP][43] ([i915#3555])
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-dg1-7:          NOTRUN -> [SKIP][44] ([i915#3555])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][45] ([i915#3708]) +3 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-dg1-7:          NOTRUN -> [SKIP][46] ([i915#3708] / [i915#4077]) +1 other test skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html
    - bat-mtlp-8:         NOTRUN -> [SKIP][47] ([i915#3708] / [i915#4077]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - bat-mtlp-8:         NOTRUN -> [SKIP][48] ([i915#3708]) +2 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v6/bat-mtlp-8/igt@prime_vgem@basic-fence-read.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#8809]: https://gitlab.freedesktop.org/drm/intel/issues/8809
  [i915#9159]: https://gitlab.freedesktop.org/drm/intel/issues/9159
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9886]: https://gitlab.freedesktop.org/drm/intel/issues/9886


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

  * Linux: CI_DRM_14396 -> Patchwork_129956v6

  CI-20190529: 20190529
  CI_DRM_14396: 6e50187af603728329f9d3c3a53ad162d7eda9a4 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7747: 7747
  Patchwork_129956v6: 6e50187af603728329f9d3c3a53ad162d7eda9a4 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

7fcd58da08ad drm/i915: Create the printer only once in intel_pipe_config_compare()
1913c1a6fbe2 drm/i915: Reuse pipe_config_mismatch() more
7831f27a8e5d drm/i915: Relocate pipe_config_mismatch()
d1024bc2dcea drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
86721f3c04dc drm/i915: Convert the remaining state dump to drm_printer
979a4b9bfb2d drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
f329370f9ed1 drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
d0ab630803df drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
ec34040ff416 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
834fda2531f7 drm/i915: Include CRTC info in VSC SDP mismatch prints
b0c15b9df6f4 drm/i915: Include CRTC info in infoframe mismatch prints
61a24fd43d7e drm/i915: Indicate which pipe failed the fastset check overall

== Logs ==

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

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

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

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev7)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (25 preceding siblings ...)
  2024-03-06 12:13 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-03-08  8:37 ` Patchwork
  2024-03-08  8:37 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (5 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-08  8:37 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev7)
URL   : https://patchwork.freedesktop.org/series/129956/
State : warning

== Summary ==

Error: dim checkpatch failed
b04d780cbd26 drm/i915: Indicate which pipe failed the fastset check overall
c250c70986f2 drm/i915: Include CRTC info in infoframe mismatch prints
470ef5300f5a drm/i915: Include CRTC info in VSC SDP mismatch prints
3622dcb6ea80 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
10382a787083 drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
7a226eb53fc3 drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
85ed69c88fc0 drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
07e987015c34 drm/i915: Convert the remaining state dump to drm_printer
-:128: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#128: FILE: drivers/gpu/drm/i915/display/intel_crtc_state_dump.c:139:
+		   plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);

total: 0 errors, 1 warnings, 0 checks, 236 lines checked
240338b5df2b drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
fc2d941cf513 drm/i915: Relocate pipe_config_mismatch()
d195fb2755aa drm/i915: Reuse pipe_config_mismatch() more
a726f1525e18 drm/i915: Create the printer only once in intel_pipe_config_compare()



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

* ✗ Fi.CI.SPARSE: warning for drm/i915: Use drm_printer more (rev7)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (26 preceding siblings ...)
  2024-03-08  8:37 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev7) Patchwork
@ 2024-03-08  8:37 ` Patchwork
  2024-03-08  8:52 ` ✗ Fi.CI.BAT: failure " Patchwork
                   ` (4 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-08  8:37 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev7)
URL   : https://patchwork.freedesktop.org/series/129956/
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] 64+ messages in thread

* ✗ Fi.CI.BAT: failure for drm/i915: Use drm_printer more (rev7)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (27 preceding siblings ...)
  2024-03-08  8:37 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-03-08  8:52 ` Patchwork
  2024-03-13 19:41 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev8) Patchwork
                   ` (3 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-08  8:52 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Use drm_printer more (rev7)
URL   : https://patchwork.freedesktop.org/series/129956/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14410 -> Patchwork_129956v7
====================================================

Summary
-------

  **FAILURE**

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

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

Participating hosts (41 -> 38)
------------------------------

  Missing    (3): bat-dg1-7 bat-jsl-1 fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live@late_gt_pm:
    - bat-dg2-14:         [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14410/bat-dg2-14/igt@i915_selftest@live@late_gt_pm.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v7/bat-dg2-14/igt@i915_selftest@live@late_gt_pm.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@gem_contexts:
    - bat-atsm-1:         [PASS][3] -> [INCOMPLETE][4] ([i915#10094])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14410/bat-atsm-1/igt@i915_selftest@live@gem_contexts.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v7/bat-atsm-1/igt@i915_selftest@live@gem_contexts.html

  * igt@i915_selftest@live@gem_migrate:
    - bat-dg2-9:          [PASS][5] -> [ABORT][6] ([i915#10366])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14410/bat-dg2-9/igt@i915_selftest@live@gem_migrate.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v7/bat-dg2-9/igt@i915_selftest@live@gem_migrate.html

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

  
#### Possible fixes ####

  * igt@i915_selftest@live@ring_submission:
    - bat-dg2-8:          [ABORT][8] ([i915#10366]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14410/bat-dg2-8/igt@i915_selftest@live@ring_submission.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v7/bat-dg2-8/igt@i915_selftest@live@ring_submission.html

  
#### Warnings ####

  * igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
    - bat-mtlp-6:         [SKIP][10] ([i915#10295] / [i915#9792]) -> [SKIP][11] ([i915#9792]) +16 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14410/bat-mtlp-6/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v7/bat-mtlp-6/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html

  
  [i915#10094]: https://gitlab.freedesktop.org/drm/intel/issues/10094
  [i915#10295]: https://gitlab.freedesktop.org/drm/intel/issues/10295
  [i915#10366]: https://gitlab.freedesktop.org/drm/intel/issues/10366
  [i915#9197]: https://gitlab.freedesktop.org/drm/intel/issues/9197
  [i915#9792]: https://gitlab.freedesktop.org/drm/intel/issues/9792


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

  * Linux: CI_DRM_14410 -> Patchwork_129956v7

  CI-20190529: 20190529
  CI_DRM_14410: 8b08118a57ee3a7b6dc72cc43bb42e696ee488b1 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7749: 2fd91b8c3cf9aa2b0bb78537a6b5e2bc3de50e0e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_129956v7: 8b08118a57ee3a7b6dc72cc43bb42e696ee488b1 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

da0455ebf981 drm/i915: Create the printer only once in intel_pipe_config_compare()
a53e2a32736b drm/i915: Reuse pipe_config_mismatch() more
77eb18a8fefb drm/i915: Relocate pipe_config_mismatch()
fe1a86dc1162 drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
ecdd0a5d80ac drm/i915: Convert the remaining state dump to drm_printer
234fe0dd08d4 drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
f1d503cfe967 drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
c1847a03e2fa drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
40163d1c5639 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
ec674d38792a drm/i915: Include CRTC info in VSC SDP mismatch prints
2bd8262d4d32 drm/i915: Include CRTC info in infoframe mismatch prints
e7bdeff150a1 drm/i915: Indicate which pipe failed the fastset check overall

== Logs ==

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

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

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

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev8)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (28 preceding siblings ...)
  2024-03-08  8:52 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-03-13 19:41 ` Patchwork
  2024-03-13 19:41 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (2 subsequent siblings)
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-13 19:41 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev8)
URL   : https://patchwork.freedesktop.org/series/129956/
State : warning

== Summary ==

Error: dim checkpatch failed
bfbc14be30be drm/i915: Indicate which pipe failed the fastset check overall
b4f30f44c52b drm/i915: Include CRTC info in infoframe mismatch prints
65dcf203cd3e drm/i915: Include CRTC info in VSC SDP mismatch prints
e772a47ccf06 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
8b4131c3c7b2 drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
d6e1d200e690 drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
7b3b1e4a972b drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
fd9145b5f845 drm/i915: Convert the remaining state dump to drm_printer
-:128: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#128: FILE: drivers/gpu/drm/i915/display/intel_crtc_state_dump.c:139:
+		   plane_state->hw.rotation, plane_state->scaler_id, plane_state->hw.scaling_filter);

total: 0 errors, 1 warnings, 0 checks, 236 lines checked
aed55d8ebf25 drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
cc094b416eeb drm/i915: Relocate pipe_config_mismatch()
0192506da257 drm/i915: Reuse pipe_config_mismatch() more
872a681f7fee drm/i915: Create the printer only once in intel_pipe_config_compare()



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

* ✗ Fi.CI.SPARSE: warning for drm/i915: Use drm_printer more (rev8)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (29 preceding siblings ...)
  2024-03-13 19:41 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev8) Patchwork
@ 2024-03-13 19:41 ` Patchwork
  2024-03-13 19:54 ` ✓ Fi.CI.BAT: success " Patchwork
  2024-03-14  2:49 ` ✗ Fi.CI.IGT: failure " Patchwork
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-13 19:41 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Use drm_printer more (rev8)
URL   : https://patchwork.freedesktop.org/series/129956/
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] 64+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915: Use drm_printer more (rev8)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (30 preceding siblings ...)
  2024-03-13 19:41 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-03-13 19:54 ` Patchwork
  2024-03-14  2:49 ` ✗ Fi.CI.IGT: failure " Patchwork
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-13 19:54 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Use drm_printer more (rev8)
URL   : https://patchwork.freedesktop.org/series/129956/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_14427 -> Patchwork_129956v8
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (36 -> 32)
------------------------------

  Missing    (4): bat-mtlp-8 bat-arls-2 bat-jsl-1 fi-snb-2520m 

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - bat-rpls-3:         [DMESG-WARN][1] ([i915#5591]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/bat-rpls-3/igt@i915_selftest@live@hangcheck.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/bat-rpls-3/igt@i915_selftest@live@hangcheck.html

  
  [i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591


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

  * Linux: CI_DRM_14427 -> Patchwork_129956v8

  CI-20190529: 20190529
  CI_DRM_14427: ca050304d54e3a0f96bf148053f738d6b62de43a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7759: 7759
  Patchwork_129956v8: ca050304d54e3a0f96bf148053f738d6b62de43a @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

35d08f7b3483 drm/i915: Create the printer only once in intel_pipe_config_compare()
05191b28fdd9 drm/i915: Reuse pipe_config_mismatch() more
389867c7eb98 drm/i915: Relocate pipe_config_mismatch()
c90afbf4b258 drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled
8128cf631a38 drm/i915: Convert the remaining state dump to drm_printer
75f1edd1522c drm/i915: Use drm_printer more extensively in intel_crtc_state_dump()
95e75ee74125 drm/i915: Convert intel_dpll_dump_hw_state() to drm_printer
b1b3a569e4a1 drm/i915: Convert pipe_config_buffer_mismatch() to drm_printer
01ff1c63d3b1 drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer
2d81de99c774 drm/i915: Include CRTC info in VSC SDP mismatch prints
7d86f357df10 drm/i915: Include CRTC info in infoframe mismatch prints
b73f4d008ef2 drm/i915: Indicate which pipe failed the fastset check overall

== Logs ==

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

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

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

* ✗ Fi.CI.IGT: failure for drm/i915: Use drm_printer more (rev8)
  2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
                   ` (31 preceding siblings ...)
  2024-03-13 19:54 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-03-14  2:49 ` Patchwork
  32 siblings, 0 replies; 64+ messages in thread
From: Patchwork @ 2024-03-14  2:49 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Use drm_printer more (rev8)
URL   : https://patchwork.freedesktop.org/series/129956/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_14427_full -> Patchwork_129956v8_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_129956v8_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_129956v8_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 (9 -> 8)
------------------------------

  Missing    (1): shard-dg2-4 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@gem_softpin@softpin:
    - shard-dg2:          NOTRUN -> [INCOMPLETE][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@gem_softpin@softpin.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a3:
    - shard-dg1:          NOTRUN -> [FAIL][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a3.html

  * igt@kms_flip@plain-flip-ts-check-interruptible@b-hdmi-a1:
    - shard-rkl:          [PASS][3] -> [FAIL][4] +1 other test fail
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-rkl-5/igt@kms_flip@plain-flip-ts-check-interruptible@b-hdmi-a1.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_flip@plain-flip-ts-check-interruptible@b-hdmi-a1.html

  
#### Warnings ####

  * igt@gem_eio@kms:
    - shard-dg1:          [FAIL][5] ([i915#5784]) -> [INCOMPLETE][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg1-16/igt@gem_eio@kms.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-13/igt@gem_eio@kms.html

  
New tests
---------

  New tests have been introduced between CI_DRM_14427_full and Patchwork_129956v8_full:

### New IGT tests (2) ###

  * igt@kms_cursor_crc@cursor-onscreen-64x64@pipe-d-dp-4:
    - Statuses : 1 pass(s)
    - Exec time: [2.58] s

  * igt@kms_flip:
    - Statuses :
    - Exec time: [None] s

  

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

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

### CI changes ###

#### Possible fixes ####

  * boot:
    - shard-glk:          ([PASS][7], [PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [PASS][13], [PASS][14], [PASS][15], [PASS][16], [FAIL][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23]) ([i915#8293]) -> ([PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], [PASS][29], [PASS][30], [PASS][31], [PASS][32], [PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37], [PASS][38], [PASS][39])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk8/boot.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk8/boot.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk8/boot.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk8/boot.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk8/boot.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk7/boot.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk7/boot.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk7/boot.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk7/boot.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk6/boot.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk6/boot.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk6/boot.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk4/boot.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk4/boot.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk4/boot.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk1/boot.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk1/boot.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/boot.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/boot.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/boot.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/boot.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/boot.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk7/boot.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk7/boot.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk6/boot.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk6/boot.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk4/boot.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk4/boot.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk4/boot.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk4/boot.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk1/boot.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk1/boot.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk1/boot.html

  

### IGT changes ###

#### Issues hit ####

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

  * igt@api_intel_bb@crc32:
    - shard-rkl:          NOTRUN -> [SKIP][41] ([i915#6230])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@api_intel_bb@crc32.html

  * igt@debugfs_test@basic-hwmon:
    - shard-mtlp:         NOTRUN -> [SKIP][42] ([i915#9318])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@debugfs_test@basic-hwmon.html

  * igt@drm_fdinfo@busy-hang@rcs0:
    - shard-mtlp:         NOTRUN -> [SKIP][43] ([i915#8414]) +8 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@drm_fdinfo@busy-hang@rcs0.html

  * igt@drm_fdinfo@busy-idle@vcs1:
    - shard-dg1:          NOTRUN -> [SKIP][44] ([i915#8414]) +4 other tests skip
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@drm_fdinfo@busy-idle@vcs1.html

  * igt@drm_fdinfo@isolation@vcs1:
    - shard-dg2:          NOTRUN -> [SKIP][45] ([i915#8414]) +9 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-6/igt@drm_fdinfo@isolation@vcs1.html

  * igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
    - shard-rkl:          [PASS][46] -> [FAIL][47] ([i915#7742])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-rkl-5/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html

  * igt@gem_caching@read-writes:
    - shard-mtlp:         NOTRUN -> [SKIP][48] ([i915#4873])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@gem_caching@read-writes.html

  * igt@gem_ccs@suspend-resume:
    - shard-rkl:          NOTRUN -> [SKIP][49] ([i915#9323])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@gem_ccs@suspend-resume.html

  * igt@gem_close_race@multigpu-basic-threads:
    - shard-rkl:          NOTRUN -> [SKIP][50] ([i915#7697])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@gem_close_race@multigpu-basic-threads.html
    - shard-dg1:          NOTRUN -> [SKIP][51] ([i915#7697])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_close_race@multigpu-basic-threads.html

  * igt@gem_ctx_persistence@heartbeat-close:
    - shard-dg2:          NOTRUN -> [SKIP][52] ([i915#8555])
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@gem_ctx_persistence@heartbeat-close.html

  * igt@gem_ctx_persistence@heartbeat-many:
    - shard-dg1:          NOTRUN -> [SKIP][53] ([i915#8555])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_ctx_persistence@heartbeat-many.html

  * igt@gem_ctx_persistence@heartbeat-stop:
    - shard-mtlp:         NOTRUN -> [SKIP][54] ([i915#8555]) +2 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@gem_ctx_persistence@heartbeat-stop.html

  * igt@gem_exec_balancer@bonded-sync:
    - shard-dg1:          NOTRUN -> [SKIP][55] ([i915#4771])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_exec_balancer@bonded-sync.html

  * igt@gem_exec_balancer@bonded-true-hang:
    - shard-mtlp:         NOTRUN -> [SKIP][56] ([i915#4812])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@gem_exec_balancer@bonded-true-hang.html

  * igt@gem_exec_balancer@hog:
    - shard-dg2:          NOTRUN -> [SKIP][57] ([i915#4812])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@gem_exec_balancer@hog.html

  * igt@gem_exec_balancer@parallel:
    - shard-rkl:          NOTRUN -> [SKIP][58] ([i915#4525])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@gem_exec_balancer@parallel.html

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-tglu:         NOTRUN -> [FAIL][59] ([i915#6117])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-7/igt@gem_exec_balancer@parallel-ordering.html

  * igt@gem_exec_capture@many-4k-incremental:
    - shard-glk:          NOTRUN -> [FAIL][60] ([i915#9606])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/igt@gem_exec_capture@many-4k-incremental.html
    - shard-dg2:          NOTRUN -> [FAIL][61] ([i915#9606])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@gem_exec_capture@many-4k-incremental.html
    - shard-tglu:         NOTRUN -> [FAIL][62] ([i915#9606])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@gem_exec_capture@many-4k-incremental.html

  * igt@gem_exec_fair@basic-flow:
    - shard-dg2:          NOTRUN -> [SKIP][63] ([i915#3539] / [i915#4852]) +4 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@gem_exec_fair@basic-flow.html
    - shard-mtlp:         NOTRUN -> [SKIP][64] ([i915#4473] / [i915#4771]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@gem_exec_fair@basic-flow.html

  * igt@gem_exec_fair@basic-none-rrul:
    - shard-dg1:          NOTRUN -> [SKIP][65] ([i915#3539] / [i915#4852])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_exec_fair@basic-none-rrul.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][66] ([i915#2842])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk1/igt@gem_exec_fair@basic-none-rrul@rcs0.html
    - shard-rkl:          NOTRUN -> [FAIL][67] ([i915#2842])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo:
    - shard-mtlp:         NOTRUN -> [SKIP][68] ([i915#4473])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@gem_exec_fair@basic-pace-solo.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-rkl:          [PASS][69] -> [FAIL][70] ([i915#2842]) +2 other tests fail
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-rkl-5/igt@gem_exec_fair@basic-pace@vecs0.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_flush@basic-uc-prw-default:
    - shard-dg1:          NOTRUN -> [SKIP][71] ([i915#3539])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_exec_flush@basic-uc-prw-default.html

  * igt@gem_exec_reloc@basic-gtt:
    - shard-dg1:          NOTRUN -> [SKIP][72] ([i915#3281])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_exec_reloc@basic-gtt.html

  * igt@gem_exec_reloc@basic-write-read-active:
    - shard-dg2:          NOTRUN -> [SKIP][73] ([i915#3281]) +12 other tests skip
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@gem_exec_reloc@basic-write-read-active.html
    - shard-rkl:          NOTRUN -> [SKIP][74] ([i915#3281]) +2 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@gem_exec_reloc@basic-write-read-active.html

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

  * igt@gem_exec_schedule@reorder-wide:
    - shard-dg2:          NOTRUN -> [SKIP][76] ([i915#4537] / [i915#4812]) +1 other test skip
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@gem_exec_schedule@reorder-wide.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - shard-rkl:          NOTRUN -> [ABORT][77] ([i915#7975] / [i915#8213])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_fence_thrash@bo-write-verify-threaded-none:
    - shard-dg1:          NOTRUN -> [SKIP][78] ([i915#4860])
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_fence_thrash@bo-write-verify-threaded-none.html

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

  * igt@gem_huc_copy@huc-copy:
    - shard-rkl:          NOTRUN -> [SKIP][80] ([i915#2190])
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@gem_huc_copy@huc-copy.html
    - shard-glk:          NOTRUN -> [SKIP][81] ([i915#2190])
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - shard-mtlp:         NOTRUN -> [SKIP][82] ([i915#4613]) +2 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@gem_lmem_swapping@basic.html

  * igt@gem_lmem_swapping@heavy-multi@lmem0:
    - shard-dg1:          [PASS][83] -> [FAIL][84] ([i915#10378])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg1-15/igt@gem_lmem_swapping@heavy-multi@lmem0.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-15/igt@gem_lmem_swapping@heavy-multi@lmem0.html

  * igt@gem_lmem_swapping@heavy-verify-random@lmem0:
    - shard-dg2:          NOTRUN -> [FAIL][85] ([i915#10378])
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@gem_lmem_swapping@heavy-verify-random@lmem0.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg1:          [PASS][86] -> [TIMEOUT][87] ([i915#5493])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg1-18/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@gem_lmem_swapping@verify-ccs:
    - shard-glk:          NOTRUN -> [SKIP][88] ([i915#4613]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk1/igt@gem_lmem_swapping@verify-ccs.html
    - shard-rkl:          NOTRUN -> [SKIP][89] ([i915#4613]) +1 other test skip
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@gem_lmem_swapping@verify-ccs.html

  * igt@gem_lmem_swapping@verify-ccs@lmem0:
    - shard-dg1:          NOTRUN -> [SKIP][90] ([i915#4565])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_lmem_swapping@verify-ccs@lmem0.html

  * igt@gem_mmap@bad-object:
    - shard-mtlp:         NOTRUN -> [SKIP][91] ([i915#4083]) +3 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@gem_mmap@bad-object.html

  * igt@gem_mmap_gtt@basic-small-bo:
    - shard-dg2:          NOTRUN -> [SKIP][92] ([i915#4077]) +11 other tests skip
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@gem_mmap_gtt@basic-small-bo.html

  * igt@gem_mmap_gtt@basic-small-bo-tiledy:
    - shard-dg1:          NOTRUN -> [SKIP][93] ([i915#4077]) +4 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_mmap_gtt@basic-small-bo-tiledy.html

  * igt@gem_mmap_gtt@fault-concurrent-y:
    - shard-mtlp:         NOTRUN -> [SKIP][94] ([i915#4077]) +3 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@gem_mmap_gtt@fault-concurrent-y.html

  * igt@gem_mmap_wc@read:
    - shard-dg1:          NOTRUN -> [SKIP][95] ([i915#4083])
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_mmap_wc@read.html

  * igt@gem_mmap_wc@write-prefaulted:
    - shard-dg2:          NOTRUN -> [SKIP][96] ([i915#4083]) +3 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-6/igt@gem_mmap_wc@write-prefaulted.html

  * igt@gem_partial_pwrite_pread@reads:
    - shard-dg2:          NOTRUN -> [SKIP][97] ([i915#3282]) +2 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@gem_partial_pwrite_pread@reads.html

  * igt@gem_pxp@create-valid-protected-context:
    - shard-rkl:          NOTRUN -> [SKIP][98] ([i915#4270]) +1 other test skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@gem_pxp@create-valid-protected-context.html
    - shard-dg1:          NOTRUN -> [SKIP][99] ([i915#4270])
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_pxp@create-valid-protected-context.html

  * igt@gem_pxp@regular-baseline-src-copy-readible:
    - shard-dg2:          NOTRUN -> [SKIP][100] ([i915#4270]) +3 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@gem_pxp@regular-baseline-src-copy-readible.html
    - shard-tglu:         NOTRUN -> [SKIP][101] ([i915#4270])
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@gem_pxp@regular-baseline-src-copy-readible.html

  * igt@gem_pxp@reject-modify-context-protection-off-3:
    - shard-mtlp:         NOTRUN -> [SKIP][102] ([i915#4270]) +3 other tests skip
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@gem_pxp@reject-modify-context-protection-off-3.html

  * igt@gem_readwrite@read-write:
    - shard-mtlp:         NOTRUN -> [SKIP][103] ([i915#3282]) +2 other tests skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@gem_readwrite@read-write.html

  * igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-mc-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][104] ([i915#8428]) +1 other test skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-mc-ccs.html

  * igt@gem_set_tiling_vs_gtt:
    - shard-dg2:          NOTRUN -> [SKIP][105] ([i915#4079])
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@gem_set_tiling_vs_gtt.html

  * igt@gem_set_tiling_vs_pwrite:
    - shard-mtlp:         NOTRUN -> [SKIP][106] ([i915#4079])
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@gem_set_tiling_vs_pwrite.html

  * igt@gem_softpin@evict-snoop:
    - shard-dg1:          NOTRUN -> [SKIP][107] ([i915#4885])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_softpin@evict-snoop.html

  * igt@gem_unfence_active_buffers:
    - shard-mtlp:         NOTRUN -> [SKIP][108] ([i915#4879])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@gem_unfence_active_buffers.html

  * igt@gem_userptr_blits@coherency-unsync:
    - shard-dg2:          NOTRUN -> [SKIP][109] ([i915#3297]) +3 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@gem_userptr_blits@coherency-unsync.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-tglu:         NOTRUN -> [SKIP][110] ([i915#3323])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-glk:          NOTRUN -> [SKIP][111] ([i915#3323])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/igt@gem_userptr_blits@dmabuf-sync.html

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

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

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

  * igt@gem_userptr_blits@unsync-unmap-after-close:
    - shard-rkl:          NOTRUN -> [SKIP][115] ([i915#3297]) +2 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@gem_userptr_blits@unsync-unmap-after-close.html
    - shard-dg1:          NOTRUN -> [SKIP][116] ([i915#3297])
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@gem_userptr_blits@unsync-unmap-after-close.html

  * igt@gen9_exec_parse@batch-invalid-length:
    - shard-mtlp:         NOTRUN -> [SKIP][117] ([i915#2856])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@gen9_exec_parse@batch-invalid-length.html

  * igt@gen9_exec_parse@bb-oversize:
    - shard-tglu:         NOTRUN -> [SKIP][118] ([i915#2527] / [i915#2856])
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@gen9_exec_parse@bb-oversize.html

  * igt@gen9_exec_parse@shadow-peek:
    - shard-dg2:          NOTRUN -> [SKIP][119] ([i915#2856]) +3 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@gen9_exec_parse@shadow-peek.html
    - shard-rkl:          NOTRUN -> [SKIP][120] ([i915#2527]) +1 other test skip
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@gen9_exec_parse@shadow-peek.html

  * igt@i915_module_load@resize-bar:
    - shard-tglu:         NOTRUN -> [SKIP][121] ([i915#6412])
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@i915_module_load@resize-bar.html

  * igt@i915_pipe_stress@stress-xrgb8888-ytiled:
    - shard-dg2:          NOTRUN -> [SKIP][122] ([i915#7091])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@i915_pipe_stress@stress-xrgb8888-ytiled.html

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

  * igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0:
    - shard-dg1:          [PASS][124] -> [FAIL][125] ([i915#3591]) +1 other test fail
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@gt0-vcs0.html

  * igt@i915_pm_rps@waitboost:
    - shard-mtlp:         NOTRUN -> [FAIL][126] ([i915#8346])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@i915_pm_rps@waitboost.html

  * igt@kms_addfb_basic@addfb25-x-tiled-legacy:
    - shard-mtlp:         NOTRUN -> [SKIP][127] ([i915#4212])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - shard-dg1:          NOTRUN -> [SKIP][128] ([i915#4215])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
    - shard-dg2:          NOTRUN -> [SKIP][129] ([i915#4212])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-tglu:         NOTRUN -> [SKIP][130] ([i915#3826])
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

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

  * igt@kms_big_fb@4-tiled-32bpp-rotate-90:
    - shard-rkl:          NOTRUN -> [SKIP][133] ([i915#5286]) +2 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html
    - shard-dg1:          NOTRUN -> [SKIP][134] ([i915#4538] / [i915#5286])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@4-tiled-addfb-size-offset-overflow:
    - shard-dg1:          NOTRUN -> [SKIP][135] ([i915#5286])
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_big_fb@4-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@4-tiled-addfb-size-overflow:
    - shard-tglu:         NOTRUN -> [SKIP][136] ([i915#5286])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_big_fb@4-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@linear-8bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][137] ([i915#3638])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_big_fb@linear-8bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-tglu:         [PASS][138] -> [FAIL][139] ([i915#3743])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-tglu-4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-32bpp-rotate-180:
    - shard-mtlp:         NOTRUN -> [SKIP][140] +22 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-270:
    - shard-dg1:          NOTRUN -> [SKIP][141] ([i915#3638]) +1 other test skip
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html

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

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

  * igt@kms_big_fb@yf-tiled-16bpp-rotate-90:
    - shard-dg2:          NOTRUN -> [SKIP][144] ([i915#4538] / [i915#5190]) +10 other tests skip
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_big_fb@yf-tiled-16bpp-rotate-90.html

  * igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-2:
    - shard-dg2:          NOTRUN -> [SKIP][145] ([i915#10307]) +127 other tests skip
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_ccs@bad-pixel-format-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-2.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][146] ([i915#6095]) +71 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-16/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-4.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][147] ([i915#6095]) +3 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-b-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][148] ([i915#6095]) +15 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-b-edp-1.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][149] ([i915#6095]) +47 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@random-ccs-data-4-tiled-xe2-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][150] ([i915#10278]) +1 other test skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@kms_ccs@random-ccs-data-4-tiled-xe2-ccs.html

  * igt@kms_cdclk@plane-scaling@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][151] ([i915#4087]) +3 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_cdclk@plane-scaling@pipe-c-edp-1.html

  * igt@kms_chamelium_audio@hdmi-audio:
    - shard-dg2:          NOTRUN -> [SKIP][152] ([i915#7828]) +8 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@kms_chamelium_audio@hdmi-audio.html

  * igt@kms_chamelium_frames@hdmi-crc-fast:
    - shard-rkl:          NOTRUN -> [SKIP][153] ([i915#7828]) +3 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_chamelium_frames@hdmi-crc-fast.html

  * igt@kms_chamelium_hpd@dp-hpd-for-each-pipe:
    - shard-mtlp:         NOTRUN -> [SKIP][154] ([i915#7828]) +5 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_chamelium_hpd@dp-hpd-for-each-pipe.html

  * igt@kms_chamelium_hpd@dp-hpd-storm:
    - shard-dg1:          NOTRUN -> [SKIP][155] ([i915#7828]) +1 other test skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_chamelium_hpd@dp-hpd-storm.html

  * igt@kms_chamelium_hpd@vga-hpd-without-ddc:
    - shard-tglu:         NOTRUN -> [SKIP][156] ([i915#7828]) +3 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_chamelium_hpd@vga-hpd-without-ddc.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg1:          NOTRUN -> [SKIP][157] ([i915#7116] / [i915#9424])
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_content_protection@atomic-dpms.html

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

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

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

  * igt@kms_content_protection@lic-type-1:
    - shard-mtlp:         NOTRUN -> [SKIP][161] ([i915#6944] / [i915#9424]) +1 other test skip
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_content_protection@lic-type-1.html

  * igt@kms_content_protection@type1:
    - shard-dg2:          NOTRUN -> [SKIP][162] ([i915#7118] / [i915#7162] / [i915#9424])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@kms_content_protection@type1.html
    - shard-rkl:          NOTRUN -> [SKIP][163] ([i915#7118] / [i915#9424]) +1 other test skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_content_protection@type1.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-tglu:         NOTRUN -> [SKIP][164] ([i915#3359]) +1 other test skip
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_cursor_crc@cursor-offscreen-512x170.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_129956v8/shard-mtlp-1/igt@kms_cursor_crc@cursor-offscreen-64x21.html

  * igt@kms_cursor_crc@cursor-onscreen-32x10:
    - shard-mtlp:         NOTRUN -> [SKIP][166] ([i915#3555] / [i915#8814]) +2 other tests skip
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_cursor_crc@cursor-onscreen-32x10.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-dg2:          NOTRUN -> [SKIP][167] ([i915#3359]) +2 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-random-512x512:
    - shard-mtlp:         NOTRUN -> [SKIP][168] ([i915#3359])
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_cursor_crc@cursor-random-512x512.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-rkl:          NOTRUN -> [SKIP][169] ([i915#3555]) +5 other tests skip
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
    - shard-dg1:          NOTRUN -> [SKIP][170] ([i915#3555]) +4 other tests skip
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-512x512:
    - shard-rkl:          NOTRUN -> [SKIP][171] ([i915#3359])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_cursor_crc@cursor-sliding-512x512.html
    - shard-dg1:          NOTRUN -> [SKIP][172] ([i915#3359])
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_cursor_crc@cursor-sliding-512x512.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
    - shard-dg2:          NOTRUN -> [SKIP][173] ([i915#4103] / [i915#4213]) +2 other tests skip
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
    - shard-rkl:          NOTRUN -> [SKIP][174] ([i915#4103])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
    - shard-mtlp:         NOTRUN -> [SKIP][175] ([i915#9809]) +2 other tests skip
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
    - shard-dg1:          NOTRUN -> [SKIP][176] +11 other tests skip
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-mtlp:         NOTRUN -> [SKIP][177] ([i915#4213]) +1 other test skip
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-dg2:          NOTRUN -> [SKIP][178] ([i915#9833])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][179] ([i915#9723])
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-2.html

  * igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][180] ([i915#9723])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-16/igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-4.html

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

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-mtlp:         NOTRUN -> [SKIP][182] ([i915#3840] / [i915#9688])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-5/igt@kms_dsc@dsc-fractional-bpp.html

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

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-dg1:          [PASS][184] -> [FAIL][185] ([i915#4767])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg1-19/igt@kms_fbcon_fbt@fbc-suspend.html
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-19/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_fbcon_fbt@psr-suspend:
    - shard-tglu:         NOTRUN -> [SKIP][186] ([i915#3469])
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_fbcon_fbt@psr-suspend.html
    - shard-dg2:          NOTRUN -> [SKIP][187] ([i915#3469])
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@kms_fbcon_fbt@psr-suspend.html

  * igt@kms_feature_discovery@display-2x:
    - shard-dg2:          NOTRUN -> [SKIP][188] ([i915#1839])
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@kms_feature_discovery@display-2x.html
    - shard-tglu:         NOTRUN -> [SKIP][189] ([i915#1839])
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@display-3x:
    - shard-rkl:          NOTRUN -> [SKIP][190] ([i915#1839])
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_feature_discovery@display-3x.html
    - shard-dg1:          NOTRUN -> [SKIP][191] ([i915#1839])
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_feature_discovery@display-3x.html

  * igt@kms_flip@2x-flip-vs-fences-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][192] ([i915#8381]) +1 other test skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_flip@2x-flip-vs-fences-interruptible.html

  * igt@kms_flip@2x-flip-vs-rmfb:
    - shard-mtlp:         NOTRUN -> [SKIP][193] ([i915#3637]) +6 other tests skip
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_flip@2x-flip-vs-rmfb.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-dg2:          NOTRUN -> [SKIP][194] +21 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-vga1-hdmi-a1:
    - shard-snb:          [PASS][195] -> [FAIL][196] ([i915#2122])
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-snb2/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-vga1-hdmi-a1.html
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-snb7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ab-vga1-hdmi-a1.html

  * igt@kms_flip@2x-wf_vblank-ts-check-interruptible:
    - shard-rkl:          NOTRUN -> [SKIP][197] +18 other tests skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html
    - shard-dg1:          NOTRUN -> [SKIP][198] ([i915#9934])
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html

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

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

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

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][202] ([i915#2672] / [i915#3555])
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling@pipe-a-default-mode.html

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

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][204] ([i915#2672]) +3 other tests skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
    - shard-dg1:          NOTRUN -> [SKIP][205] ([i915#2587] / [i915#2672]) +1 other test skip
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - shard-mtlp:         NOTRUN -> [SKIP][206] ([i915#5274])
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][207] ([i915#8708]) +11 other tests skip
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu:
    - shard-dg2:          [PASS][208] -> [FAIL][209] ([i915#6880]) +1 other test fail
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu.html
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][210] ([i915#1825]) +15 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][211] ([i915#1825]) +22 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-rkl:          NOTRUN -> [SKIP][212] ([i915#3023]) +10 other tests skip
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][213] ([i915#8708]) +4 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite:
    - shard-tglu:         NOTRUN -> [SKIP][214] +19 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen:
    - shard-dg2:          NOTRUN -> [SKIP][215] ([i915#3458]) +14 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-dg2:          NOTRUN -> [SKIP][216] ([i915#8708]) +18 other tests skip
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][217] ([i915#5354]) +31 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
    - shard-dg1:          NOTRUN -> [SKIP][218] ([i915#3458]) +3 other tests skip
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html

  * igt@kms_hdr@bpc-switch:
    - shard-dg1:          NOTRUN -> [SKIP][219] ([i915#3555] / [i915#8228]) +1 other test skip
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_hdr@bpc-switch.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-rkl:          NOTRUN -> [SKIP][220] ([i915#3555] / [i915#8228]) +2 other tests skip
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_hdr@invalid-metadata-sizes.html

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

  * igt@kms_panel_fitting@legacy:
    - shard-dg2:          NOTRUN -> [SKIP][223] ([i915#6301])
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@kms_panel_fitting@legacy.html
    - shard-rkl:          NOTRUN -> [SKIP][224] ([i915#6301])
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b:
    - shard-rkl:          [PASS][225] -> [FAIL][226] ([i915#10246])
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-rkl-7/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-5/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html

  * igt@kms_plane_lowres@tiling-yf:
    - shard-dg2:          NOTRUN -> [SKIP][227] ([i915#3555] / [i915#8821])
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_plane_lowres@tiling-yf.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-mtlp:         NOTRUN -> [SKIP][228] ([i915#3555] / [i915#8806])
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-dg2:          NOTRUN -> [SKIP][229] ([i915#5354] / [i915#9423])
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [FAIL][230] ([i915#8292])
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-b-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][231] ([i915#5176]) +3 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-b-edp-1.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-b-hdmi-a-2:
    - shard-dg2:          NOTRUN -> [SKIP][232] ([i915#9423]) +11 other tests skip
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-rotation@pipe-b-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-c-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][233] ([i915#9423]) +3 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-15/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-c-hdmi-a-4.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][234] ([i915#9423]) +5 other tests skip
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-3/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-1:
    - shard-tglu:         NOTRUN -> [SKIP][235] ([i915#5176] / [i915#9423]) +3 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-c-hdmi-a-2:
    - shard-dg2:          NOTRUN -> [SKIP][236] ([i915#5235] / [i915#9423] / [i915#9728]) +3 other tests skip
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20@pipe-c-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25@pipe-a-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][237] ([i915#5235]) +3 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25@pipe-a-edp-1.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][238] ([i915#5235]) +3 other tests skip
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-3/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][239] ([i915#5235] / [i915#9423]) +3 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-10/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][240] ([i915#5235]) +7 other tests skip
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-c-hdmi-a-3.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][241] ([i915#5354])
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_pm_backlight@fade-with-dpms.html
    - shard-dg1:          NOTRUN -> [SKIP][242] ([i915#5354])
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_pm_backlight@fade-with-dpms.html

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

  * igt@kms_pm_dc@dc6-dpms:
    - shard-dg2:          NOTRUN -> [SKIP][245] ([i915#5978])
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_pm_dc@dc6-dpms.html
    - shard-tglu:         [PASS][246] -> [FAIL][247] ([i915#9295])
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-tglu-6/igt@kms_pm_dc@dc6-dpms.html
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-9/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-dg2:          NOTRUN -> [SKIP][248] ([i915#9340])
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-1/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_lpsp@screens-disabled:
    - shard-dg2:          NOTRUN -> [SKIP][249] ([i915#8430])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_pm_lpsp@screens-disabled.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-dg2:          NOTRUN -> [SKIP][250] ([i915#9519])
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_pm_rpm@modeset-lpsp.html

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

  * igt@kms_prime@basic-modeset-hybrid:
    - shard-mtlp:         NOTRUN -> [SKIP][252] ([i915#6524])
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@kms_prime@basic-modeset-hybrid.html

  * igt@kms_psr@fbc-pr-sprite-render:
    - shard-dg1:          NOTRUN -> [SKIP][253] ([i915#9732]) +5 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@kms_psr@fbc-pr-sprite-render.html

  * igt@kms_psr@fbc-psr-primary-mmap-cpu:
    - shard-dg2:          NOTRUN -> [SKIP][254] ([i915#9673] / [i915#9732]) +5 other tests skip
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@kms_psr@fbc-psr-primary-mmap-cpu.html

  * igt@kms_psr@fbc-psr-primary-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][255] ([i915#9732]) +16 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_psr@fbc-psr-primary-mmap-gtt.html

  * igt@kms_psr@fbc-psr2-cursor-mmap-gtt:
    - shard-glk:          NOTRUN -> [SKIP][256] +207 other tests skip
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html

  * igt@kms_psr@pr-primary-mmap-cpu:
    - shard-mtlp:         NOTRUN -> [SKIP][257] ([i915#9688]) +10 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_psr@pr-primary-mmap-cpu.html

  * igt@kms_psr@psr2-primary-mmap-gtt:
    - shard-rkl:          NOTRUN -> [SKIP][258] ([i915#9732]) +9 other tests skip
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@kms_psr@psr2-primary-mmap-gtt.html

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

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-rkl:          [PASS][260] -> [INCOMPLETE][261] ([i915#9569])
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-rkl-7/igt@kms_rotation_crc@bad-pixel-format.html
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_rotation_crc@primary-rotation-270:
    - shard-dg2:          NOTRUN -> [SKIP][262] ([i915#4235])
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_rotation_crc@primary-rotation-270.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-mtlp:         NOTRUN -> [SKIP][263] ([i915#5289])
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@sprite-rotation-90-pos-100-0:
    - shard-mtlp:         NOTRUN -> [SKIP][264] ([i915#4235])
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_rotation_crc@sprite-rotation-90-pos-100-0.html

  * igt@kms_setmode@clone-exclusive-crtc:
    - shard-tglu:         NOTRUN -> [SKIP][265] ([i915#3555])
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_setmode@clone-exclusive-crtc.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1:
    - shard-mtlp:         [PASS][266] -> [FAIL][267] ([i915#9196])
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-mtlp-7/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-5/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1:
    - shard-tglu:         [PASS][268] -> [FAIL][269] ([i915#9196]) +1 other test fail
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-tglu-9/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_universal_plane@cursor-fb-leak@pipe-d-hdmi-a-1.html

  * igt@kms_vrr@flip-basic:
    - shard-dg2:          NOTRUN -> [SKIP][270] ([i915#3555]) +4 other tests skip
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@kms_vrr@flip-basic.html

  * igt@kms_vrr@max-min:
    - shard-mtlp:         NOTRUN -> [SKIP][271] ([i915#9906])
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-1/igt@kms_vrr@max-min.html

  * igt@kms_writeback@writeback-check-output:
    - shard-dg2:          NOTRUN -> [SKIP][272] ([i915#2437])
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@kms_writeback@writeback-check-output.html
    - shard-tglu:         NOTRUN -> [SKIP][273] ([i915#2437])
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@kms_writeback@writeback-check-output.html
    - shard-glk:          NOTRUN -> [SKIP][274] ([i915#2437])
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/igt@kms_writeback@writeback-check-output.html

  * igt@kms_writeback@writeback-check-output-xrgb2101010:
    - shard-mtlp:         NOTRUN -> [SKIP][275] ([i915#2437] / [i915#9412])
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@kms_writeback@writeback-check-output-xrgb2101010.html

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

  * igt@perf_pmu@module-unload:
    - shard-dg2:          NOTRUN -> [FAIL][277] ([i915#5793])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@perf_pmu@module-unload.html

  * igt@perf_pmu@rc6@other-idle-gt0:
    - shard-dg2:          NOTRUN -> [SKIP][278] ([i915#8516])
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@perf_pmu@rc6@other-idle-gt0.html

  * igt@prime_vgem@basic-fence-read:
    - shard-dg2:          NOTRUN -> [SKIP][279] ([i915#3291] / [i915#3708]) +1 other test skip
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@prime_vgem@basic-fence-read.html

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

  * igt@sriov_basic@bind-unbind-vf:
    - shard-mtlp:         NOTRUN -> [SKIP][281] ([i915#9917])
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@sriov_basic@bind-unbind-vf.html

  * igt@sriov_basic@enable-vfs-autoprobe-off:
    - shard-dg2:          NOTRUN -> [SKIP][282] ([i915#9917])
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@sriov_basic@enable-vfs-autoprobe-off.html

  * igt@sriov_basic@enable-vfs-autoprobe-on:
    - shard-rkl:          NOTRUN -> [SKIP][283] ([i915#9917])
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@sriov_basic@enable-vfs-autoprobe-on.html
    - shard-dg1:          NOTRUN -> [SKIP][284] ([i915#9917])
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@sriov_basic@enable-vfs-autoprobe-on.html

  * igt@syncobj_timeline@invalid-wait-zero-handles:
    - shard-dg2:          NOTRUN -> [FAIL][285] ([i915#9781])
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@syncobj_timeline@invalid-wait-zero-handles.html

  * igt@syncobj_wait@invalid-wait-zero-handles:
    - shard-dg2:          NOTRUN -> [FAIL][286] ([i915#9779])
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-11/igt@syncobj_wait@invalid-wait-zero-handles.html
    - shard-rkl:          NOTRUN -> [FAIL][287] ([i915#9779])
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-7/igt@syncobj_wait@invalid-wait-zero-handles.html

  * igt@tools_test@sysfs_l3_parity:
    - shard-mtlp:         NOTRUN -> [SKIP][288] ([i915#4818])
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@tools_test@sysfs_l3_parity.html

  * igt@v3d/v3d_create_bo@create-bo-invalid-flags:
    - shard-dg2:          NOTRUN -> [SKIP][289] ([i915#2575]) +9 other tests skip
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@v3d/v3d_create_bo@create-bo-invalid-flags.html

  * igt@v3d/v3d_perfmon@destroy-invalid-perfmon:
    - shard-tglu:         NOTRUN -> [SKIP][290] ([i915#2575]) +5 other tests skip
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-5/igt@v3d/v3d_perfmon@destroy-invalid-perfmon.html

  * igt@v3d/v3d_submit_cl@bad-perfmon:
    - shard-dg1:          NOTRUN -> [SKIP][291] ([i915#2575]) +2 other tests skip
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@v3d/v3d_submit_cl@bad-perfmon.html

  * igt@v3d/v3d_submit_csd@bad-perfmon:
    - shard-snb:          NOTRUN -> [SKIP][292] +4 other tests skip
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-snb6/igt@v3d/v3d_submit_csd@bad-perfmon.html

  * igt@v3d/v3d_wait_bo@map-bo-0ns:
    - shard-mtlp:         NOTRUN -> [SKIP][293] ([i915#2575]) +9 other tests skip
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@v3d/v3d_wait_bo@map-bo-0ns.html

  * igt@vc4/vc4_lookup_fail@bad-color-write:
    - shard-mtlp:         NOTRUN -> [SKIP][294] ([i915#7711]) +4 other tests skip
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-7/igt@vc4/vc4_lookup_fail@bad-color-write.html

  * igt@vc4/vc4_perfmon@get-values-valid-perfmon:
    - shard-dg2:          NOTRUN -> [SKIP][295] ([i915#7711]) +9 other tests skip
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@vc4/vc4_perfmon@get-values-valid-perfmon.html

  * igt@vc4/vc4_tiling@set-bad-handle:
    - shard-rkl:          NOTRUN -> [SKIP][296] ([i915#7711]) +2 other tests skip
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-1/igt@vc4/vc4_tiling@set-bad-handle.html
    - shard-dg1:          NOTRUN -> [SKIP][297] ([i915#7711]) +1 other test skip
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-12/igt@vc4/vc4_tiling@set-bad-handle.html

  
#### Possible fixes ####

  * igt@drm_fdinfo@virtual-idle:
    - shard-rkl:          [FAIL][298] ([i915#7742]) -> [PASS][299]
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-rkl-7/igt@drm_fdinfo@virtual-idle.html
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-5/igt@drm_fdinfo@virtual-idle.html

  * igt@gem_create@hog-create@lmem0:
    - shard-dg1:          [INCOMPLETE][300] -> [PASS][301]
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg1-17/igt@gem_create@hog-create@lmem0.html
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-17/igt@gem_create@hog-create@lmem0.html

  * igt@gem_lmem_swapping@heavy-verify-multi@lmem0:
    - shard-dg2:          [FAIL][302] ([i915#10378]) -> [PASS][303]
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg2-10/igt@gem_lmem_swapping@heavy-verify-multi@lmem0.html
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-8/igt@gem_lmem_swapping@heavy-verify-multi@lmem0.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-snb:          [INCOMPLETE][304] ([i915#9849]) -> [PASS][305]
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-snb7/igt@i915_module_load@reload-with-fault-injection.html
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-snb6/igt@i915_module_load@reload-with-fault-injection.html
    - shard-tglu:         [INCOMPLETE][306] -> [PASS][307]
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-tglu-6/igt@i915_module_load@reload-with-fault-injection.html
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-7/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_selftest@live@gem:
    - shard-dg2:          [ABORT][308] ([i915#10366]) -> [PASS][309]
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg2-6/igt@i915_selftest@live@gem.html
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-5/igt@i915_selftest@live@gem.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-mtlp:         [FAIL][310] ([i915#5138]) -> [PASS][311]
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_cursor_edge_walk@256x256-top-edge@pipe-a-hdmi-a-1:
    - shard-glk:          [DMESG-FAIL][312] ([i915#118]) -> [PASS][313]
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk8/igt@kms_cursor_edge_walk@256x256-top-edge@pipe-a-hdmi-a-1.html
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk7/igt@kms_cursor_edge_walk@256x256-top-edge@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_legacy@cursora-vs-flipa-toggle:
    - shard-dg2:          [INCOMPLETE][314] ([i915#9878]) -> [PASS][315]
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg2-1/igt@kms_cursor_legacy@cursora-vs-flipa-toggle.html
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-6/igt@kms_cursor_legacy@cursora-vs-flipa-toggle.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-glk:          [FAIL][316] ([i915#2346]) -> [PASS][317]
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-glk8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@torture-bo@pipe-a:
    - shard-tglu:         [DMESG-WARN][318] ([i915#10166]) -> [PASS][319]
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-tglu-6/igt@kms_cursor_legacy@torture-bo@pipe-a.html
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-tglu-2/igt@kms_cursor_legacy@torture-bo@pipe-a.html

  * igt@kms_flip@flip-vs-panning-vs-hang@d-edp1:
    - shard-mtlp:         [INCOMPLETE][320] -> [PASS][321]
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-mtlp-7/igt@kms_flip@flip-vs-panning-vs-hang@d-edp1.html
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-mtlp-5/igt@kms_flip@flip-vs-panning-vs-hang@d-edp1.html

  * igt@kms_flip@plain-flip-ts-check@b-vga1:
    - shard-snb:          [FAIL][322] ([i915#2122]) -> [PASS][323] +1 other test pass
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-snb7/igt@kms_flip@plain-flip-ts-check@b-vga1.html
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-snb5/igt@kms_flip@plain-flip-ts-check@b-vga1.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a1:
    - shard-rkl:          [FAIL][324] -> [PASS][325] +1 other test pass
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-rkl-7/igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a1.html
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-5/igt@kms_flip@wf_vblank-ts-check-interruptible@a-hdmi-a1.html

  * igt@kms_pm_rpm@dpms-non-lpsp:
    - shard-rkl:          [SKIP][326] ([i915#9519]) -> [PASS][327]
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-rkl-4/igt@kms_pm_rpm@dpms-non-lpsp.html
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-rkl-3/igt@kms_pm_rpm@dpms-non-lpsp.html

  * igt@kms_pm_rpm@modeset-non-lpsp:
    - shard-dg2:          [SKIP][328] ([i915#9519]) -> [PASS][329] +1 other test pass
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg2-8/igt@kms_pm_rpm@modeset-non-lpsp.html
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-2/igt@kms_pm_rpm@modeset-non-lpsp.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          [FAIL][330] ([i915#4349]) -> [PASS][331] +3 other tests pass
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg2-1/igt@perf_pmu@busy-double-start@vecs1.html
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-6/igt@perf_pmu@busy-double-start@vecs1.html

  
#### Warnings ####

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-dg1:          [INCOMPLETE][332] ([i915#9849]) -> [INCOMPLETE][333] ([i915#9820] / [i915#9849])
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg1-12/igt@i915_module_load@reload-with-fault-injection.html
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-15/igt@i915_module_load@reload-with-fault-injection.html
    - shard-dg2:          [INCOMPLETE][334] ([i915#1982] / [i915#9849]) -> [INCOMPLETE][335] ([i915#9849])
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg2-5/igt@i915_module_load@reload-with-fault-injection.html
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-6/igt@i915_module_load@reload-with-fault-injection.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg1:          [SKIP][336] ([i915#9433]) -> [SKIP][337] ([i915#9424])
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg1-12/igt@kms_content_protection@mei-interface.html
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg1-15/igt@kms_content_protection@mei-interface.html

  * igt@perf@non-zero-reason@0-rcs0:
    - shard-dg2:          [FAIL][338] ([i915#9100]) -> [FAIL][339] ([i915#7484])
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_14427/shard-dg2-5/igt@perf@non-zero-reason@0-rcs0.html
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_129956v8/shard-dg2-6/igt@perf@non-zero-reason@0-rcs0.html

  
  [i915#10166]: https://gitlab.freedesktop.org/drm/intel/issues/10166
  [i915#10246]: https://gitlab.freedesktop.org/drm/intel/issues/10246
  [i915#10278]: https://gitlab.freedesktop.org/drm/intel/issues/10278
  [i915#10307]: https://gitlab.freedesktop.org/drm/intel/issues/10307
  [i915#10366]: https://gitlab.freedesktop.org/drm/intel/issues/10366
  [i915#10378]: https://gitlab.freedesktop.org/drm/intel/issues/10378
  [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [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#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4235]: https://gitlab.freedesktop.org/drm/intel/issues/4235
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4473]: https://gitlab.freedesktop.org/drm/intel/issues/4473
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4537]: https://gitlab.freedesktop.org/drm/intel/issues/4537
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [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#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4818]: https://gitlab.freedesktop.org/drm/intel/issues/4818
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4879]: https://gitlab.freedesktop.org/drm/intel/issues/4879
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5274]: https://gitlab.freedesktop.org/drm/intel/issues/5274
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#5793]: https://gitlab.freedesktop.org/drm/intel/issues/5793
  [i915#5978]: https://gitlab.freedesktop.org/drm/intel/issues/5978
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#7091]: https://gitlab.freedesktop.org/drm/intel/issues/7091
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7162]: https://gitlab.freedesktop.org/drm/intel/issues/7162
  [i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
  [i915#8293]: https://gitlab.freedesktop.org/drm/intel/issues/8293
  [i915#8346]: https://gitlab.freedesktop.org/drm/intel/issues/8346
  [i915#8381]: https://gitlab.freedesktop.org/drm/intel/issues/8381
  [i915#8399]: https://gitlab.freedesktop.org/drm/intel/issues/8399
  [i915#8411]: https://gitlab.freedesktop.org/drm/intel/issues/8411
  [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
  [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
  [i915#8430]: https://gitlab.freedesktop.org/drm/intel/issues/8430
  [i915#8516]: https://gitlab.freedesktop.org/drm/intel/issues/8516
  [i915#8555]: https://gitlab.freedesktop.org/drm/intel/issues/8555
  [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
  [i915#8806]: https://gitlab.freedesktop.org/drm/intel/issues/8806
  [i915#8810]: https://gitlab.freedesktop.org/drm/intel/issues/8810
  [i915#8812]: https://gitlab.freedesktop.org/drm/intel/issues/8812
  [i915#8814]: https://gitlab.freedesktop.org/drm/intel/issues/8814
  [i915#8821]: https://gitlab.freedesktop.org/drm/intel/issues/8821
  [i915#9100]: https://gitlab.freedesktop.org/drm/intel/issues/9100
  [i915#9196]: https://gitlab.freedesktop.org/drm/intel/issues/9196
  [i915#9295]: https://gitlab.freedesktop.org/drm/intel/issues/9295
  [i915#9318]: https://gitlab.freedesktop.org/drm/intel/issues/9318
  [i915#9323]: https://gitlab.freedesktop.org/drm/intel/issues/9323
  [i915#9340]: https://gitlab.freedesktop.org/drm/intel/issues/9340
  [i915#9412]: https://gitlab.freedesktop.org/drm/intel/issues/9412
  [i915#9423]: https://gitlab.freedesktop.org/drm/intel/issues/9423
  [i915#9424]: https://gitlab.freedesktop.org/drm/intel/issues/9424
  [i915#9433]: https://gitlab.freedesktop.org/drm/intel/issues/9433
  [i915#9519]: https://gitlab.freedesktop.org/drm/intel/issues/9519
  [i915#9531]: https://gitlab.freedesktop.org/drm/intel/issues/9531
  [i915#9569]: https://gitlab.freedesktop.org/drm/intel/issues/9569
  [i915#9606]: https://gitlab.freedesktop.org/drm/intel/issues/9606
  [i915#9673]: https://gitlab.freedesktop.org/drm/intel/issues/9673
  [i915#9685]: https://gitlab.freedesktop.org/drm/intel/issues/9685
  [i915#9688]: https://gitlab.freedesktop.org/drm/intel/issues/9688
  [i915#9723]: https://gitlab.freedesktop.org/drm/intel/issues/9723
  [i915#9728]: https://gitlab.freedesktop.org/drm/intel/issues/9728
  [i915#9732]: https://gitlab.freedesktop.org/drm/intel/issues/9732
  [i915#9779]: https://gitlab.freedesktop.org/drm/intel/issues/9779
  [i915#9781]: https://gitlab.freedesktop.org/drm/intel/issues/9781
  [i915#9809]: https://gitlab.freedesktop.org/drm/intel/issues/9809
  [i915#9820]: https://gitlab.freedesktop.org/drm/intel/issues/9820
  [i915#9833]: https://gitlab.freedesktop.org/drm/intel/issues/9833
  [i915#9849]: https://gitlab.freedesktop.org/drm/intel/issues/9849
  [i915#9878]: https://gitlab.freedesktop.org/drm/intel/issues/9878
  [i915#9906]: https://gitlab.freedesktop.org/drm/intel/issues/9906
  [i915#9917]: https://gitlab.freedesktop.org/drm/intel/issues/9917
  [i915#9934]: https://gitlab.freedesktop.org/drm/intel/issues/9934


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

  * Linux: CI_DRM_14427 -> Patchwork_129956v8
  * Piglit: None -> piglit_4509

  CI-20190529: 20190529
  CI_DRM_14427: ca050304d54e3a0f96bf148053f738d6b62de43a @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7759: 7759
  Patchwork_129956v8: ca050304d54e3a0f96bf148053f738d6b62de43a @ 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_129956v8/index.html

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

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

end of thread, other threads:[~2024-03-14  2:49 UTC | newest]

Thread overview: 64+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-15 16:40 [PATCH 00/12] drm/i915: Use drm_printer more Ville Syrjala
2024-02-15 16:40 ` [PATCH 01/12] drm/i915: Indicate which pipe failed the fastset check overall Ville Syrjala
2024-02-22 21:46   ` Rodrigo Vivi
2024-02-23 19:47     ` Ville Syrjälä
2024-02-26 14:57       ` Jani Nikula
2024-02-26 15:10         ` Andy Shevchenko
2024-02-26 15:35           ` Jani Nikula
2024-02-26 16:30             ` Andy Shevchenko
2024-02-26 16:35             ` Ville Syrjälä
2024-02-27  9:38         ` Rasmus Villemoes
2024-02-27 18:32           ` Ville Syrjälä
2024-02-28  8:32             ` Rasmus Villemoes
2024-02-28  9:55               ` Petr Mladek
2024-02-15 16:40 ` [PATCH 02/12] drm/i915: Include CRTC info in infoframe mismatch prints Ville Syrjala
2024-02-22 21:47   ` Rodrigo Vivi
2024-02-23 19:50     ` Ville Syrjälä
2024-02-15 16:40 ` [PATCH 03/12] drm/i915: Include CRTC info in VSC SDP " Ville Syrjala
2024-02-22 21:48   ` Rodrigo Vivi
2024-02-15 16:40 ` [PATCH 04/12] drm/i915: Convert pipe_config_infoframe_mismatch() to drm_printer Ville Syrjala
2024-02-22 21:50   ` Rodrigo Vivi
2024-02-15 16:40 ` [PATCH 05/12] drm/i915: Convert pipe_config_buffer_mismatch() " Ville Syrjala
2024-02-22 21:51   ` Rodrigo Vivi
2024-02-15 16:40 ` [PATCH 06/12] drm/i915: Convert intel_dpll_dump_hw_state() " Ville Syrjala
2024-02-22 21:54   ` Rodrigo Vivi
2024-02-23 19:57     ` Ville Syrjälä
2024-02-29 18:40   ` [PATCH v2 " Ville Syrjala
2024-02-29 19:43     ` Jani Nikula
2024-02-15 16:40 ` [PATCH 07/12] drm/i915: Use drm_printer more extensively in intel_crtc_state_dump() Ville Syrjala
2024-02-22 21:57   ` Rodrigo Vivi
2024-02-23 19:59     ` Ville Syrjälä
2024-02-15 16:40 ` [PATCH 08/12] drm/i915: Convert the remaining state dump to drm_printer Ville Syrjala
2024-03-05  9:12   ` Jani Nikula
2024-02-15 16:40 ` [PATCH 09/12] drm/i915: Skip intel_crtc_state_dump() if debugs aren't enabled Ville Syrjala
2024-02-29 15:20   ` Jani Nikula
2024-02-29 15:21     ` Jani Nikula
2024-02-15 16:40 ` [PATCH 10/12] drm/i915: Relocate pipe_config_mismatch() Ville Syrjala
2024-02-29 15:21   ` Jani Nikula
2024-02-15 16:40 ` [PATCH 11/12] drm/i915: Reuse pipe_config_mismatch() more Ville Syrjala
2024-02-29 15:28   ` Jani Nikula
2024-02-29 18:42   ` [PATCH v2 " Ville Syrjala
2024-02-15 16:40 ` [PATCH 12/12] drm/i915: Create the printer only once in intel_pipe_config_compare() Ville Syrjala
2024-02-29 15:29   ` Jani Nikula
2024-02-29 18:42   ` [PATCH v2 " Ville Syrjala
2024-02-16 18:03 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more Patchwork
2024-02-16 18:03 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-16 18:15 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-17  7:24 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-02-29 12:08 ` [PATCH 00/12] " Jani Nikula
2024-02-29 23:02 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev4) Patchwork
2024-02-29 23:02 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-29 23:19 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-05 21:28 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev5) Patchwork
2024-03-05 21:28 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-05 21:46 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-06 12:07 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev6) Patchwork
2024-03-06 12:07 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-06 12:13 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-08  8:37 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev7) Patchwork
2024-03-08  8:37 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-08  8:52 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-03-13 19:41 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Use drm_printer more (rev8) Patchwork
2024-03-13 19:41 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-03-13 19:54 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-14  2:49 ` ✗ Fi.CI.IGT: failure " Patchwork

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