intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset
@ 2025-09-23 17:19 Ville Syrjala
  2025-09-23 17:19 ` [PATCH 01/20] drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed() Ville Syrjala
                   ` (35 more replies)
  0 siblings, 36 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

The state->modeset dependency on the cdclk stuff is annoying and
confusing. The cdclk code also interacts in weird ways with several
other parts of the driver. Decouple cdclk from state->modeset and
attempt to make the interactions between different parts less 
confusing.

Ville Syrjälä (20):
  drm/i915: Introduce intel_crtc_enable_changed() and
    intel_any_crtc_enable_changed()
  drm/i915: Introduce intel_crtc_active_changed() and
    intel_any_crtc_active_changed()
  drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is
    changing its active state
  drm/1915/bw: Drop redundant display version checks
  drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed()
  drm/i915/cdclk: Extract dg2_power_well_count()
  drm/i915/cdclk: Introduce intel_cdclk_modeset_checks()
  drm/i915/cdclk: Handle the force_min_cdclk state locking in
    intel_cdclk_atomic_check()
  drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk()
  drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk()
  drm/i915/cdclk: Rework bw_min_cdclk handling
  drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe
  drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls
  drm/i915/cdclk: Rework crtc min_cdclk handling
  drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into
    intel_crtc_compute_min_cdclk()
  drm/i915/cdclk: Decuple cdclk from state->modeset
  drm/i915: Introduce intel_calc_enabled_pipes()
  drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk
    audio w/a
  drm/i915/cdclk: Hide intel_modeset_calc_cdclk()
  drm/i915/cdclk: Move intel_cdclk_atomic_check()

 drivers/gpu/drm/i915/display/intel_bw.c      |  85 ++---
 drivers/gpu/drm/i915/display/intel_bw.h      |   3 +-
 drivers/gpu/drm/i915/display/intel_cdclk.c   | 312 +++++++++++++------
 drivers/gpu/drm/i915/display/intel_cdclk.h   |   7 +-
 drivers/gpu/drm/i915/display/intel_crtc.c    |  42 +++
 drivers/gpu/drm/i915/display/intel_crtc.h    |   7 +
 drivers/gpu/drm/i915/display/intel_display.c |  47 +--
 drivers/gpu/drm/i915/display/intel_display.h |   2 +
 drivers/gpu/drm/i915/display/intel_plane.c   |  52 +---
 drivers/gpu/drm/i915/display/intel_plane.h   |   3 -
 10 files changed, 335 insertions(+), 225 deletions(-)

-- 
2.49.1


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

* [PATCH 01/20] drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 02/20] drm/i915: Introduce intel_crtc_active_changed() and intel_any_crtc_active_changed() Ville Syrjala
                   ` (34 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Introduce helpers that determine whether any crtc is changing
its enabled state. Will be useful for cdclk stuff.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_crtc.c | 21 +++++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_crtc.h |  4 ++++
 2 files changed, 25 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
index a187db6df2d3..0e089c191841 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -748,3 +748,24 @@ void intel_pipe_update_end(struct intel_atomic_state *state,
 out:
 	intel_psr_unlock(new_crtc_state);
 }
+
+bool intel_crtc_enable_changed(const struct intel_crtc_state *old_crtc_state,
+			       const struct intel_crtc_state *new_crtc_state)
+{
+	return old_crtc_state->hw.enable != new_crtc_state->hw.enable;
+}
+
+bool intel_any_crtc_enable_changed(struct intel_atomic_state *state)
+{
+	const struct intel_crtc_state *old_crtc_state, *new_crtc_state;
+	struct intel_crtc *crtc;
+	int i;
+
+	for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
+					    new_crtc_state, i) {
+		if (intel_crtc_enable_changed(old_crtc_state, new_crtc_state))
+			return true;
+	}
+
+	return false;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.h b/drivers/gpu/drm/i915/display/intel_crtc.h
index 8c14ff8b391e..eae88e604e08 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.h
+++ b/drivers/gpu/drm/i915/display/intel_crtc.h
@@ -58,4 +58,8 @@ void intel_wait_for_vblank_if_active(struct intel_display *display,
 				     enum pipe pipe);
 void intel_crtc_wait_for_next_vblank(struct intel_crtc *crtc);
 
+bool intel_any_crtc_enable_changed(struct intel_atomic_state *state);
+bool intel_crtc_enable_changed(const struct intel_crtc_state *old_crtc_state,
+			       const struct intel_crtc_state *new_crtc_state);
+
 #endif
-- 
2.49.1


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

* [PATCH 02/20] drm/i915: Introduce intel_crtc_active_changed() and intel_any_crtc_active_changed()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
  2025-09-23 17:19 ` [PATCH 01/20] drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 03/20] drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is changing its active state Ville Syrjala
                   ` (33 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Introduce helpers that determine whether any crtc is changing
its active state. Will be useful for cdclk stuff.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_crtc.c | 21 +++++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_crtc.h |  3 +++
 2 files changed, 24 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c
index 0e089c191841..f3939eeb27a3 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -769,3 +769,24 @@ bool intel_any_crtc_enable_changed(struct intel_atomic_state *state)
 
 	return false;
 }
+
+bool intel_crtc_active_changed(const struct intel_crtc_state *old_crtc_state,
+			       const struct intel_crtc_state *new_crtc_state)
+{
+	return old_crtc_state->hw.active != new_crtc_state->hw.active;
+}
+
+bool intel_any_crtc_active_changed(struct intel_atomic_state *state)
+{
+	const struct intel_crtc_state *old_crtc_state, *new_crtc_state;
+	struct intel_crtc *crtc;
+	int i;
+
+	for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
+					    new_crtc_state, i) {
+		if (intel_crtc_active_changed(old_crtc_state, new_crtc_state))
+			return true;
+	}
+
+	return false;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.h b/drivers/gpu/drm/i915/display/intel_crtc.h
index eae88e604e08..cee09e7cd3dc 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.h
+++ b/drivers/gpu/drm/i915/display/intel_crtc.h
@@ -61,5 +61,8 @@ void intel_crtc_wait_for_next_vblank(struct intel_crtc *crtc);
 bool intel_any_crtc_enable_changed(struct intel_atomic_state *state);
 bool intel_crtc_enable_changed(const struct intel_crtc_state *old_crtc_state,
 			       const struct intel_crtc_state *new_crtc_state);
+bool intel_any_crtc_active_changed(struct intel_atomic_state *state);
+bool intel_crtc_active_changed(const struct intel_crtc_state *old_crtc_state,
+			       const struct intel_crtc_state *new_crtc_state);
 
 #endif
-- 
2.49.1


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

* [PATCH 03/20] drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is changing its active state
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
  2025-09-23 17:19 ` [PATCH 01/20] drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed() Ville Syrjala
  2025-09-23 17:19 ` [PATCH 02/20] drm/i915: Introduce intel_crtc_active_changed() and intel_any_crtc_active_changed() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 04/20] drm/1915/bw: Drop redundant display version checks Ville Syrjala
                   ` (32 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Currently we may end up doing a bunch of redundant bw_state
recomputation whenever any modeset happens. Skip a bunch of
that by only considering whether any pipe actually changes
its active state.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_bw.c      | 25 ++++++++++----------
 drivers/gpu/drm/i915/display/intel_bw.h      |  2 +-
 drivers/gpu/drm/i915/display/intel_display.c |  2 +-
 3 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index ac6da20d9529..f05b9a35f17a 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -13,6 +13,7 @@
 #include "intel_atomic.h"
 #include "intel_bw.h"
 #include "intel_cdclk.h"
+#include "intel_crtc.h"
 #include "intel_display_core.h"
 #include "intel_display_regs.h"
 #include "intel_display_types.h"
@@ -1530,10 +1531,14 @@ static int intel_bw_modeset_checks(struct intel_atomic_state *state)
 	struct intel_display *display = to_intel_display(state);
 	const struct intel_bw_state *old_bw_state;
 	struct intel_bw_state *new_bw_state;
+	int ret;
 
 	if (DISPLAY_VER(display) < 9)
 		return 0;
 
+	if (!intel_any_crtc_active_changed(state))
+		return 0;
+
 	new_bw_state = intel_atomic_get_bw_state(state);
 	if (IS_ERR(new_bw_state))
 		return PTR_ERR(new_bw_state);
@@ -1543,13 +1548,9 @@ static int intel_bw_modeset_checks(struct intel_atomic_state *state)
 	new_bw_state->active_pipes =
 		intel_calc_active_pipes(state, old_bw_state->active_pipes);
 
-	if (new_bw_state->active_pipes != old_bw_state->active_pipes) {
-		int ret;
-
-		ret = intel_atomic_lock_global_state(&new_bw_state->base);
-		if (ret)
-			return ret;
-	}
+	ret = intel_atomic_lock_global_state(&new_bw_state->base);
+	if (ret)
+		return ret;
 
 	return 0;
 }
@@ -1599,7 +1600,7 @@ static int intel_bw_check_sagv_mask(struct intel_atomic_state *state)
 	return 0;
 }
 
-int intel_bw_atomic_check(struct intel_atomic_state *state, bool any_ms)
+int intel_bw_atomic_check(struct intel_atomic_state *state)
 {
 	struct intel_display *display = to_intel_display(state);
 	bool changed = false;
@@ -1610,11 +1611,9 @@ int intel_bw_atomic_check(struct intel_atomic_state *state, bool any_ms)
 	if (DISPLAY_VER(display) < 9)
 		return 0;
 
-	if (any_ms) {
-		ret = intel_bw_modeset_checks(state);
-		if (ret)
-			return ret;
-	}
+	ret = intel_bw_modeset_checks(state);
+	if (ret)
+		return ret;
 
 	ret = intel_bw_check_sagv_mask(state);
 	if (ret)
diff --git a/drivers/gpu/drm/i915/display/intel_bw.h b/drivers/gpu/drm/i915/display/intel_bw.h
index d51f50c9d302..c064e80a7a7f 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.h
+++ b/drivers/gpu/drm/i915/display/intel_bw.h
@@ -28,7 +28,7 @@ intel_atomic_get_bw_state(struct intel_atomic_state *state);
 
 void intel_bw_init_hw(struct intel_display *display);
 int intel_bw_init(struct intel_display *display);
-int intel_bw_atomic_check(struct intel_atomic_state *state, bool any_ms);
+int intel_bw_atomic_check(struct intel_atomic_state *state);
 int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 			    bool *need_cdclk_calc);
 int intel_bw_min_cdclk(struct intel_display *display,
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 18b9baa96241..9e9afb4f3b4b 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -6414,7 +6414,7 @@ int intel_atomic_check(struct drm_device *dev,
 	if (ret)
 		goto fail;
 
-	ret = intel_bw_atomic_check(state, any_ms);
+	ret = intel_bw_atomic_check(state);
 	if (ret)
 		goto fail;
 
-- 
2.49.1


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

* [PATCH 04/20] drm/1915/bw: Drop redundant display version checks
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (2 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 03/20] drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is changing its active state Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 05/20] drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed() Ville Syrjala
                   ` (31 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

intel_bw_modeset_checks() is now only called from
intel_bw_atomic_check() which alrady does the display
version check. Drop the redundant check from
intel_bw_modeset_checks().

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

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index f05b9a35f17a..8232b344a88f 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -1528,14 +1528,10 @@ static int intel_bw_check_data_rate(struct intel_atomic_state *state, bool *chan
 
 static int intel_bw_modeset_checks(struct intel_atomic_state *state)
 {
-	struct intel_display *display = to_intel_display(state);
 	const struct intel_bw_state *old_bw_state;
 	struct intel_bw_state *new_bw_state;
 	int ret;
 
-	if (DISPLAY_VER(display) < 9)
-		return 0;
-
 	if (!intel_any_crtc_active_changed(state))
 		return 0;
 
-- 
2.49.1


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

* [PATCH 05/20] drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (3 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 04/20] drm/1915/bw: Drop redundant display version checks Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count() Ville Syrjala
                   ` (30 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Extract the glk audio w/a check into a small helper. We'll
have other uses for this later.

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index b54b1006aeb0..05d9f488895e 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2831,6 +2831,14 @@ static int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_stat
 	return min_cdclk;
 }
 
+static bool glk_cdclk_audio_wa_needed(struct intel_display *display,
+				      const struct intel_cdclk_state *cdclk_state)
+{
+	return display->platform.geminilake &&
+		cdclk_state->active_pipes &&
+		!is_power_of_2(cdclk_state->active_pipes);
+}
+
 static int intel_compute_min_cdclk(struct intel_atomic_state *state)
 {
 	struct intel_display *display = to_intel_display(state);
@@ -2887,8 +2895,7 @@ static int intel_compute_min_cdclk(struct intel_atomic_state *state)
 	 * by changing the cd2x divider (see glk_cdclk_table[]) and
 	 * thus a full modeset won't be needed then.
 	 */
-	if (display->platform.geminilake && cdclk_state->active_pipes &&
-	    !is_power_of_2(cdclk_state->active_pipes))
+	if (glk_cdclk_audio_wa_needed(display, cdclk_state))
 		min_cdclk = max(min_cdclk, 2 * 96000);
 
 	if (min_cdclk > display->cdclk.max_cdclk_freq) {
-- 
2.49.1


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

* [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (4 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 05/20] drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 23:05   ` kernel test robot
                     ` (3 more replies)
  2025-09-23 17:19 ` [PATCH 07/20] drm/i915/cdclk: Introduce intel_cdclk_modeset_checks() Ville Syrjala
                   ` (29 subsequent siblings)
  35 siblings, 4 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Extract the code to determine the DG2 pipe power well count
into a small helper. I'll have other uses for this later.

TODO: need to move this power well stuff out from the cdclk code...

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 05d9f488895e..87dafe55b895 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2591,6 +2591,12 @@ static void intel_set_cdclk(struct intel_display *display,
 	}
 }
 
+static bool dg2_power_well_count(struct intel_display *display,
+				 const struct intel_cdclk_state *cdclk_state)
+{
+	return display->platform.dg2 ? hweight8(cdclk_state->active_pipes) : 0;
+}
+
 static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 {
 	struct intel_display *display = to_intel_display(state);
@@ -2603,16 +2609,15 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 
 	if (!intel_cdclk_changed(&old_cdclk_state->actual,
 				 &new_cdclk_state->actual) &&
-				 new_cdclk_state->active_pipes ==
-				 old_cdclk_state->active_pipes)
-		return;
+	    dg2_power_well_count(display, old_cdclk_state) ==
+	    dg2_power_well_count(display, old_cdclk_state))
 
 	/* According to "Sequence Before Frequency Change", voltage level set to 0x3 */
 	voltage_level = DISPLAY_TO_PCODE_VOLTAGE_MAX;
 
 	change_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
-	update_pipe_count = hweight8(new_cdclk_state->active_pipes) >
-			    hweight8(old_cdclk_state->active_pipes);
+	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) >
+		dg2_power_well_count(display, old_cdclk_state);
 
 	/*
 	 * According to "Sequence Before Frequency Change",
@@ -2630,7 +2635,7 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 	 * no action if it is decreasing, before the change
 	 */
 	if (update_pipe_count)
-		num_active_pipes = hweight8(new_cdclk_state->active_pipes);
+		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
 
 	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
 			   change_cdclk, update_pipe_count);
@@ -2650,8 +2655,8 @@ static void intel_cdclk_pcode_post_notify(struct intel_atomic_state *state)
 	voltage_level = new_cdclk_state->actual.voltage_level;
 
 	update_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
-	update_pipe_count = hweight8(new_cdclk_state->active_pipes) <
-			    hweight8(old_cdclk_state->active_pipes);
+	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) <
+		dg2_power_well_count(display, old_cdclk_state);
 
 	/*
 	 * According to "Sequence After Frequency Change",
@@ -2667,7 +2672,7 @@ static void intel_cdclk_pcode_post_notify(struct intel_atomic_state *state)
 	 * no action if it is increasing, after the change
 	 */
 	if (update_pipe_count)
-		num_active_pipes = hweight8(new_cdclk_state->active_pipes);
+		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
 
 	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
 			   update_cdclk, update_pipe_count);
@@ -3248,15 +3253,14 @@ static bool intel_cdclk_need_serialize(struct intel_display *display,
 				       const struct intel_cdclk_state *old_cdclk_state,
 				       const struct intel_cdclk_state *new_cdclk_state)
 {
-	bool power_well_cnt_changed = hweight8(old_cdclk_state->active_pipes) !=
-				      hweight8(new_cdclk_state->active_pipes);
-	bool cdclk_changed = intel_cdclk_changed(&old_cdclk_state->actual,
-						 &new_cdclk_state->actual);
 	/*
-	 * We need to poke hw for gen >= 12, because we notify PCode if
+	 * We need to poke hw for DG2, because we notify PCode if
 	 * pipe power well count changes.
 	 */
-	return cdclk_changed || (display->platform.dg2 && power_well_cnt_changed);
+	return intel_cdclk_changed(&old_cdclk_state->actual,
+				   &new_cdclk_state->actual) ||
+		dg2_power_well_count(display, old_cdclk_state) !=
+		dg2_power_well_count(display, new_cdclk_state);
 }
 
 int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
-- 
2.49.1


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

* [PATCH 07/20] drm/i915/cdclk: Introduce intel_cdclk_modeset_checks()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (5 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 08/20] drm/i915/cdclk: Handle the force_min_cdclk state locking in intel_cdclk_atomic_check() Ville Syrjala
                   ` (28 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

I plan to better decouple the cdclk computation from actual
modesets. To that end make the cdclk code self sufficient in
being able to determine if a full cdclk calculation/update is
needed or not due to some not strictly cdclk related reason.

Currently we have three such things that depend active_pipes:
- cdclk_state->actual
- glk audio w/a
- dg2 power well stuff

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 87dafe55b895..d335cd4bd0e4 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -3186,6 +3186,44 @@ intel_atomic_get_cdclk_state(struct intel_atomic_state *state)
 	return to_intel_cdclk_state(cdclk_state);
 }
 
+static int intel_cdclk_modeset_checks(struct intel_atomic_state *state,
+				      bool *need_cdclk_calc)
+{
+	struct intel_display *display = to_intel_display(state);
+	const struct intel_cdclk_state *old_cdclk_state;
+	struct intel_cdclk_state *new_cdclk_state;
+	int ret;
+
+	if (!intel_any_crtc_active_changed(state))
+		return 0;
+
+	new_cdclk_state = intel_atomic_get_cdclk_state(state);
+	if (IS_ERR(new_cdclk_state))
+		return PTR_ERR(new_cdclk_state);
+
+	old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
+
+	new_cdclk_state->active_pipes =
+		intel_calc_active_pipes(state, old_cdclk_state->active_pipes);
+
+	ret = intel_atomic_lock_global_state(&new_cdclk_state->base);
+	if (ret)
+		return ret;
+
+	if (!old_cdclk_state->active_pipes != !new_cdclk_state->active_pipes)
+		*need_cdclk_calc = true;
+
+	if (glk_cdclk_audio_wa_needed(display, old_cdclk_state) !=
+	    glk_cdclk_audio_wa_needed(display, new_cdclk_state))
+		*need_cdclk_calc = true;
+
+	if (dg2_power_well_count(display, old_cdclk_state) !=
+	    dg2_power_well_count(display, new_cdclk_state))
+		*need_cdclk_calc = true;
+
+	return 0;
+}
+
 int intel_cdclk_atomic_check(struct intel_atomic_state *state,
 			     bool *need_cdclk_calc)
 {
@@ -3196,6 +3234,10 @@ int intel_cdclk_atomic_check(struct intel_atomic_state *state,
 	int ret;
 	int i;
 
+	ret = intel_cdclk_modeset_checks(state, need_cdclk_calc);
+	if (ret)
+		return ret;
+
 	/*
 	 * active_planes bitmask has been updated, and potentially affected
 	 * planes are part of the state. We can now compute the minimum cdclk
@@ -3277,9 +3319,6 @@ int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
 
 	old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
 
-	new_cdclk_state->active_pipes =
-		intel_calc_active_pipes(state, old_cdclk_state->active_pipes);
-
 	ret = intel_cdclk_modeset_calc_cdclk(state);
 	if (ret)
 		return ret;
@@ -3292,8 +3331,7 @@ int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
 		ret = intel_atomic_serialize_global_state(&new_cdclk_state->base);
 		if (ret)
 			return ret;
-	} else if (old_cdclk_state->active_pipes != new_cdclk_state->active_pipes ||
-		   old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk ||
+	} else if (old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk ||
 		   intel_cdclk_changed(&old_cdclk_state->logical,
 				       &new_cdclk_state->logical)) {
 		ret = intel_atomic_lock_global_state(&new_cdclk_state->base);
-- 
2.49.1


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

* [PATCH 08/20] drm/i915/cdclk: Handle the force_min_cdclk state locking in intel_cdclk_atomic_check()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (6 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 07/20] drm/i915/cdclk: Introduce intel_cdclk_modeset_checks() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 09/20] drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk() Ville Syrjala
                   ` (27 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Clean up the mess inside intel_modeset_calc_cdclk() a bit by
moving the intel_atomic_lock_global_state() for force_min_cdclk
changes into intel_cdclk_atomic_check().

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index d335cd4bd0e4..c3ff8cbf1d78 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -3228,7 +3228,7 @@ int intel_cdclk_atomic_check(struct intel_atomic_state *state,
 			     bool *need_cdclk_calc)
 {
 	const struct intel_cdclk_state *old_cdclk_state;
-	const struct intel_cdclk_state *new_cdclk_state;
+	struct intel_cdclk_state *new_cdclk_state;
 	struct intel_plane_state __maybe_unused *plane_state;
 	struct intel_plane *plane;
 	int ret;
@@ -3257,8 +3257,13 @@ int intel_cdclk_atomic_check(struct intel_atomic_state *state,
 	new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
 
 	if (new_cdclk_state &&
-	    old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk)
+	    old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk) {
+		ret = intel_atomic_lock_global_state(&new_cdclk_state->base);
+		if (ret)
+			return ret;
+
 		*need_cdclk_calc = true;
+	}
 
 	return 0;
 }
@@ -3331,8 +3336,7 @@ int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
 		ret = intel_atomic_serialize_global_state(&new_cdclk_state->base);
 		if (ret)
 			return ret;
-	} else if (old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk ||
-		   intel_cdclk_changed(&old_cdclk_state->logical,
+	} else if (intel_cdclk_changed(&old_cdclk_state->logical,
 				       &new_cdclk_state->logical)) {
 		ret = intel_atomic_lock_global_state(&new_cdclk_state->base);
 		if (ret)
-- 
2.49.1


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

* [PATCH 09/20] drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (7 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 08/20] drm/i915/cdclk: Handle the force_min_cdclk state locking in intel_cdclk_atomic_check() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 10/20] drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk() Ville Syrjala
                   ` (26 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Hide the cdclk state details better by providing a helper
(intel_cdclk_update_bw_min_cdclk()) by which the bw code can
inform the cdclk code about a new bw_min_cdclk value.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_bw.c    | 43 ++++------------------
 drivers/gpu/drm/i915/display/intel_cdclk.c | 28 ++++++++++++++
 drivers/gpu/drm/i915/display/intel_cdclk.h |  3 ++
 3 files changed, 38 insertions(+), 36 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index 8232b344a88f..7499ddec2b14 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -1405,12 +1405,10 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 	struct intel_display *display = to_intel_display(state);
 	struct intel_bw_state *new_bw_state = NULL;
 	const struct intel_bw_state *old_bw_state = NULL;
-	const struct intel_cdclk_state *cdclk_state;
 	const struct intel_crtc_state *old_crtc_state;
 	const struct intel_crtc_state *new_crtc_state;
-	int old_min_cdclk, new_min_cdclk;
 	struct intel_crtc *crtc;
-	int i;
+	int ret, i;
 
 	if (DISPLAY_VER(display) < 9)
 		return 0;
@@ -1443,39 +1441,12 @@ int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 			return ret;
 	}
 
-	old_min_cdclk = intel_bw_min_cdclk(display, old_bw_state);
-	new_min_cdclk = intel_bw_min_cdclk(display, new_bw_state);
-
-	/*
-	 * No need to check against the cdclk state if
-	 * the min cdclk doesn't increase.
-	 *
-	 * Ie. we only ever increase the cdclk due to bandwidth
-	 * requirements. This can reduce back and forth
-	 * display blinking due to constant cdclk changes.
-	 */
-	if (new_min_cdclk <= old_min_cdclk)
-		return 0;
-
-	cdclk_state = intel_atomic_get_cdclk_state(state);
-	if (IS_ERR(cdclk_state))
-		return PTR_ERR(cdclk_state);
-
-	/*
-	 * No need to recalculate the cdclk state if
-	 * the min cdclk doesn't increase.
-	 *
-	 * Ie. we only ever increase the cdclk due to bandwidth
-	 * requirements. This can reduce back and forth
-	 * display blinking due to constant cdclk changes.
-	 */
-	if (new_min_cdclk <= intel_cdclk_bw_min_cdclk(cdclk_state))
-		return 0;
-
-	drm_dbg_kms(display->drm,
-		    "new bandwidth min cdclk (%d kHz) > old min cdclk (%d kHz)\n",
-		    new_min_cdclk, intel_cdclk_bw_min_cdclk(cdclk_state));
-	*need_cdclk_calc = true;
+	ret = intel_cdclk_update_bw_min_cdclk(state,
+					      intel_bw_min_cdclk(display, old_bw_state),
+					      intel_bw_min_cdclk(display, new_bw_state),
+					      need_cdclk_calc);
+	if (ret)
+		return ret;
 
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index c3ff8cbf1d78..3257f1f4fc11 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2836,6 +2836,34 @@ static int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_stat
 	return min_cdclk;
 }
 
+int intel_cdclk_update_bw_min_cdclk(struct intel_atomic_state *state,
+				    int old_min_cdclk, int new_min_cdclk,
+				    bool *need_cdclk_calc)
+{
+	struct intel_display *display = to_intel_display(state);
+	struct intel_cdclk_state *cdclk_state;
+
+	if (new_min_cdclk <= old_min_cdclk)
+		return 0;
+
+	cdclk_state = intel_atomic_get_cdclk_state(state);
+	if (IS_ERR(cdclk_state))
+		return PTR_ERR(cdclk_state);
+
+	old_min_cdclk = cdclk_state->bw_min_cdclk;
+
+	if (new_min_cdclk <= old_min_cdclk)
+		return 0;
+
+	*need_cdclk_calc = true;
+
+	drm_dbg_kms(display->drm,
+		    "bandwidth min cdclk: %d kHz -> %d kHz\n",
+		    old_min_cdclk, new_min_cdclk);
+
+	return 0;
+}
+
 static bool glk_cdclk_audio_wa_needed(struct intel_display *display,
 				      const struct intel_cdclk_state *cdclk_state)
 {
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.h b/drivers/gpu/drm/i915/display/intel_cdclk.h
index cacee598af0e..0e67c75ca569 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.h
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.h
@@ -48,6 +48,9 @@ struct intel_cdclk_state *
 intel_atomic_get_cdclk_state(struct intel_atomic_state *state);
 void intel_cdclk_update_hw_state(struct intel_display *display);
 void intel_cdclk_crtc_disable_noatomic(struct intel_crtc *crtc);
+int intel_cdclk_update_bw_min_cdclk(struct intel_atomic_state *state,
+				    int old_min_cdclk, int new_min_cdclk,
+				    bool *need_cdclk_calc);
 
 #define to_intel_cdclk_state(global_state) \
 	container_of_const((global_state), struct intel_cdclk_state, base)
-- 
2.49.1


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

* [PATCH 10/20] drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (8 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 09/20] drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 11/20] drm/i915/cdclk: Rework bw_min_cdclk handling Ville Syrjala
                   ` (25 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Hide the cdclk state details better by providing a helper
(intel_cdclk_update_crtc_min_cdclk()) by which the crtc code
can inform the cdclk code about a new per-pipe min_cdclk value.

Note that this is currently being called once per-plane, but
it'll be changed to be just a single call for the whole pipe
later.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_cdclk.c | 30 +++++++++++++++
 drivers/gpu/drm/i915/display/intel_cdclk.h |  4 ++
 drivers/gpu/drm/i915/display/intel_plane.c | 44 ++++------------------
 3 files changed, 41 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 3257f1f4fc11..aa5793326b0c 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2836,6 +2836,36 @@ static int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_stat
 	return min_cdclk;
 }
 
+int intel_cdclk_update_crtc_min_cdclk(struct intel_atomic_state *state,
+				      struct intel_crtc *crtc,
+				      int old_min_cdclk, int new_min_cdclk,
+				      bool *need_cdclk_calc)
+{
+	struct intel_display *display = to_intel_display(state);
+	struct intel_cdclk_state *cdclk_state;
+
+	if (new_min_cdclk <= old_min_cdclk)
+		return 0;
+
+	cdclk_state = intel_atomic_get_cdclk_state(state);
+	if (IS_ERR(cdclk_state))
+		return PTR_ERR(cdclk_state);
+
+	old_min_cdclk = cdclk_state->min_cdclk[crtc->pipe];
+
+	if (new_min_cdclk <= old_min_cdclk)
+		return 0;
+
+	*need_cdclk_calc = true;
+
+	drm_dbg_kms(display->drm,
+		    "[CRTC:%d:%s] min cdclk: %d kHz -> %d kHz\n",
+		    crtc->base.base.id, crtc->base.name,
+		    old_min_cdclk, new_min_cdclk);
+
+	return 0;
+}
+
 int intel_cdclk_update_bw_min_cdclk(struct intel_atomic_state *state,
 				    int old_min_cdclk, int new_min_cdclk,
 				    bool *need_cdclk_calc)
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.h b/drivers/gpu/drm/i915/display/intel_cdclk.h
index 0e67c75ca569..25d45c8f059d 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.h
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.h
@@ -51,6 +51,10 @@ void intel_cdclk_crtc_disable_noatomic(struct intel_crtc *crtc);
 int intel_cdclk_update_bw_min_cdclk(struct intel_atomic_state *state,
 				    int old_min_cdclk, int new_min_cdclk,
 				    bool *need_cdclk_calc);
+int intel_cdclk_update_crtc_min_cdclk(struct intel_atomic_state *state,
+				      struct intel_crtc *crtc,
+				      int old_min_cdclk, int new_min_cdclk,
+				      bool *need_cdclk_calc);
 
 #define to_intel_cdclk_state(global_state) \
 	container_of_const((global_state), struct intel_cdclk_state, base)
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index 2329f09d413d..864e2db207fa 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -296,13 +296,12 @@ int intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
 			       struct intel_plane *plane,
 			       bool *need_cdclk_calc)
 {
-	struct intel_display *display = to_intel_display(plane);
 	const struct intel_plane_state *plane_state =
 		intel_atomic_get_new_plane_state(state, plane);
 	struct intel_crtc *crtc = to_intel_crtc(plane_state->hw.crtc);
-	const struct intel_cdclk_state *cdclk_state;
 	const struct intel_crtc_state *old_crtc_state;
 	struct intel_crtc_state *new_crtc_state;
+	int ret;
 
 	if (!plane_state->uapi.visible || !plane->min_cdclk)
 		return 0;
@@ -313,41 +312,12 @@ int intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
 	new_crtc_state->min_cdclk[plane->id] =
 		plane->min_cdclk(new_crtc_state, plane_state);
 
-	/*
-	 * No need to check against the cdclk state if
-	 * the min cdclk for the plane doesn't increase.
-	 *
-	 * Ie. we only ever increase the cdclk due to plane
-	 * requirements. This can reduce back and forth
-	 * display blinking due to constant cdclk changes.
-	 */
-	if (new_crtc_state->min_cdclk[plane->id] <=
-	    old_crtc_state->min_cdclk[plane->id])
-		return 0;
-
-	cdclk_state = intel_atomic_get_cdclk_state(state);
-	if (IS_ERR(cdclk_state))
-		return PTR_ERR(cdclk_state);
-
-	/*
-	 * No need to recalculate the cdclk state if
-	 * the min cdclk for the pipe doesn't increase.
-	 *
-	 * Ie. we only ever increase the cdclk due to plane
-	 * requirements. This can reduce back and forth
-	 * display blinking due to constant cdclk changes.
-	 */
-	if (new_crtc_state->min_cdclk[plane->id] <=
-	    intel_cdclk_min_cdclk(cdclk_state, crtc->pipe))
-		return 0;
-
-	drm_dbg_kms(display->drm,
-		    "[PLANE:%d:%s] min cdclk (%d kHz) > [CRTC:%d:%s] min cdclk (%d kHz)\n",
-		    plane->base.base.id, plane->base.name,
-		    new_crtc_state->min_cdclk[plane->id],
-		    crtc->base.base.id, crtc->base.name,
-		    intel_cdclk_min_cdclk(cdclk_state, crtc->pipe));
-	*need_cdclk_calc = true;
+	ret = intel_cdclk_update_crtc_min_cdclk(state, crtc,
+						old_crtc_state->min_cdclk[plane->id],
+						new_crtc_state->min_cdclk[plane->id],
+						need_cdclk_calc);
+	if (ret)
+		return ret;
 
 	return 0;
 }
-- 
2.49.1


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

* [PATCH 11/20] drm/i915/cdclk: Rework bw_min_cdclk handling
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (9 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 10/20] drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 12/20] drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe Ville Syrjala
                   ` (24 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Update bw_min_cdclk directly from intel_bw_calc_min_cdclk()
rather than doing it later from intel_compute_min_cdclk().
This will allow better control over when to update the
cdclk. For now we preserve the current behaviour by allowing
the cdclk to decrease when any pipe needs to do a full modeset.

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index aa5793326b0c..4d649d893567 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2872,8 +2872,13 @@ int intel_cdclk_update_bw_min_cdclk(struct intel_atomic_state *state,
 {
 	struct intel_display *display = to_intel_display(state);
 	struct intel_cdclk_state *cdclk_state;
+	bool allow_cdclk_decrease = intel_any_crtc_needs_modeset(state);
+	int ret;
 
-	if (new_min_cdclk <= old_min_cdclk)
+	if (new_min_cdclk == old_min_cdclk)
+		return 0;
+
+	if (!allow_cdclk_decrease && new_min_cdclk < old_min_cdclk)
 		return 0;
 
 	cdclk_state = intel_atomic_get_cdclk_state(state);
@@ -2882,9 +2887,18 @@ int intel_cdclk_update_bw_min_cdclk(struct intel_atomic_state *state,
 
 	old_min_cdclk = cdclk_state->bw_min_cdclk;
 
-	if (new_min_cdclk <= old_min_cdclk)
+	if (new_min_cdclk == old_min_cdclk)
 		return 0;
 
+	if (!allow_cdclk_decrease && new_min_cdclk < old_min_cdclk)
+		return 0;
+
+	cdclk_state->bw_min_cdclk = new_min_cdclk;
+
+	ret = intel_atomic_lock_global_state(&cdclk_state->base);
+	if (ret)
+		return ret;
+
 	*need_cdclk_calc = true;
 
 	drm_dbg_kms(display->drm,
@@ -2907,7 +2921,6 @@ static int intel_compute_min_cdclk(struct intel_atomic_state *state)
 	struct intel_display *display = to_intel_display(state);
 	struct intel_cdclk_state *cdclk_state =
 		intel_atomic_get_new_cdclk_state(state);
-	const struct intel_bw_state *bw_state;
 	struct intel_crtc *crtc;
 	struct intel_crtc_state *crtc_state;
 	int min_cdclk, i;
@@ -2930,23 +2943,8 @@ static int intel_compute_min_cdclk(struct intel_atomic_state *state)
 			return ret;
 	}
 
-	bw_state = intel_atomic_get_new_bw_state(state);
-	if (bw_state) {
-		min_cdclk = intel_bw_min_cdclk(display, bw_state);
-
-		if (cdclk_state->bw_min_cdclk != min_cdclk) {
-			int ret;
-
-			cdclk_state->bw_min_cdclk = min_cdclk;
-
-			ret = intel_atomic_lock_global_state(&cdclk_state->base);
-			if (ret)
-				return ret;
-		}
-	}
-
-	min_cdclk = max(cdclk_state->force_min_cdclk,
-			cdclk_state->bw_min_cdclk);
+	min_cdclk = cdclk_state->force_min_cdclk;
+	min_cdclk = max(min_cdclk, cdclk_state->bw_min_cdclk);
 	for_each_pipe(display, pipe)
 		min_cdclk = max(min_cdclk, cdclk_state->min_cdclk[pipe]);
 
-- 
2.49.1


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

* [PATCH 12/20] drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (10 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 11/20] drm/i915/cdclk: Rework bw_min_cdclk handling Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 13/20] drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls Ville Syrjala
                   ` (23 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Currently we call intel_cdclk_update_crtc_min_cdclk() per-plane.
That is rather wasteful, and also won't account for any of the
other per-pipe min_cdclk restrictions from
intel_crtc_compute_min_cdclk(). Change the behaviour to do
do the comparison per-crtc instead, and use the final min cdclk
as computed by intel_crtc_compute_min_cdclk().

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_cdclk.c | 40 +++++++++++++++++-----
 drivers/gpu/drm/i915/display/intel_cdclk.h |  4 ---
 drivers/gpu/drm/i915/display/intel_plane.c | 19 ++--------
 drivers/gpu/drm/i915/display/intel_plane.h |  5 ++-
 4 files changed, 36 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 4d649d893567..b26443311e23 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2836,10 +2836,10 @@ static int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_stat
 	return min_cdclk;
 }
 
-int intel_cdclk_update_crtc_min_cdclk(struct intel_atomic_state *state,
-				      struct intel_crtc *crtc,
-				      int old_min_cdclk, int new_min_cdclk,
-				      bool *need_cdclk_calc)
+static int intel_cdclk_update_crtc_min_cdclk(struct intel_atomic_state *state,
+					     struct intel_crtc *crtc,
+					     int old_min_cdclk, int new_min_cdclk,
+					     bool *need_cdclk_calc)
 {
 	struct intel_display *display = to_intel_display(state);
 	struct intel_cdclk_state *cdclk_state;
@@ -3280,6 +3280,27 @@ static int intel_cdclk_modeset_checks(struct intel_atomic_state *state,
 	return 0;
 }
 
+static int intel_crtcs_calc_min_cdclk(struct intel_atomic_state *state,
+				      bool *need_cdclk_calc)
+{
+	const struct intel_crtc_state *old_crtc_state;
+	const struct intel_crtc_state *new_crtc_state;
+	struct intel_crtc *crtc;
+	int i, ret;
+
+	for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
+					    new_crtc_state, i) {
+		ret = intel_cdclk_update_crtc_min_cdclk(state, crtc,
+							intel_crtc_compute_min_cdclk(old_crtc_state),
+							intel_crtc_compute_min_cdclk(new_crtc_state),
+							need_cdclk_calc);
+		if (ret)
+			return ret;
+	}
+
+	return 0;
+}
+
 int intel_cdclk_atomic_check(struct intel_atomic_state *state,
 			     bool *need_cdclk_calc)
 {
@@ -3299,11 +3320,12 @@ int intel_cdclk_atomic_check(struct intel_atomic_state *state,
 	 * planes are part of the state. We can now compute the minimum cdclk
 	 * for each plane.
 	 */
-	for_each_new_intel_plane_in_state(state, plane, plane_state, i) {
-		ret = intel_plane_calc_min_cdclk(state, plane, need_cdclk_calc);
-		if (ret)
-			return ret;
-	}
+	for_each_new_intel_plane_in_state(state, plane, plane_state, i)
+		intel_plane_calc_min_cdclk(state, plane);
+
+	ret = intel_crtcs_calc_min_cdclk(state, need_cdclk_calc);
+	if (ret)
+		return ret;
 
 	ret = intel_bw_calc_min_cdclk(state, need_cdclk_calc);
 	if (ret)
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.h b/drivers/gpu/drm/i915/display/intel_cdclk.h
index 25d45c8f059d..0e67c75ca569 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.h
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.h
@@ -51,10 +51,6 @@ void intel_cdclk_crtc_disable_noatomic(struct intel_crtc *crtc);
 int intel_cdclk_update_bw_min_cdclk(struct intel_atomic_state *state,
 				    int old_min_cdclk, int new_min_cdclk,
 				    bool *need_cdclk_calc);
-int intel_cdclk_update_crtc_min_cdclk(struct intel_atomic_state *state,
-				      struct intel_crtc *crtc,
-				      int old_min_cdclk, int new_min_cdclk,
-				      bool *need_cdclk_calc);
 
 #define to_intel_cdclk_state(global_state) \
 	container_of_const((global_state), struct intel_cdclk_state, base)
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index 864e2db207fa..871c654d6d1d 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -292,34 +292,21 @@ intel_plane_relative_data_rate(const struct intel_crtc_state *crtc_state,
 				   rel_data_rate);
 }
 
-int intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
-			       struct intel_plane *plane,
-			       bool *need_cdclk_calc)
+void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
+				struct intel_plane *plane)
 {
 	const struct intel_plane_state *plane_state =
 		intel_atomic_get_new_plane_state(state, plane);
 	struct intel_crtc *crtc = to_intel_crtc(plane_state->hw.crtc);
-	const struct intel_crtc_state *old_crtc_state;
 	struct intel_crtc_state *new_crtc_state;
-	int ret;
 
 	if (!plane_state->uapi.visible || !plane->min_cdclk)
-		return 0;
+		return;
 
-	old_crtc_state = intel_atomic_get_old_crtc_state(state, crtc);
 	new_crtc_state = intel_atomic_get_new_crtc_state(state, crtc);
 
 	new_crtc_state->min_cdclk[plane->id] =
 		plane->min_cdclk(new_crtc_state, plane_state);
-
-	ret = intel_cdclk_update_crtc_min_cdclk(state, crtc,
-						old_crtc_state->min_cdclk[plane->id],
-						new_crtc_state->min_cdclk[plane->id],
-						need_cdclk_calc);
-	if (ret)
-		return ret;
-
-	return 0;
 }
 
 static void intel_plane_clear_hw_state(struct intel_plane_state *plane_state)
diff --git a/drivers/gpu/drm/i915/display/intel_plane.h b/drivers/gpu/drm/i915/display/intel_plane.h
index 8af41ccc0a69..c6bef1b3471d 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.h
+++ b/drivers/gpu/drm/i915/display/intel_plane.h
@@ -69,9 +69,8 @@ int intel_plane_atomic_check_with_state(const struct intel_crtc_state *old_crtc_
 					struct intel_crtc_state *crtc_state,
 					const struct intel_plane_state *old_plane_state,
 					struct intel_plane_state *intel_state);
-int intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
-			       struct intel_plane *plane,
-			       bool *need_cdclk_calc);
+void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
+				struct intel_plane *plane);
 int intel_plane_check_clipping(struct intel_plane_state *plane_state,
 			       struct intel_crtc_state *crtc_state,
 			       int min_scale, int max_scale,
-- 
2.49.1


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

* [PATCH 13/20] drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (11 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 12/20] drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 14/20] drm/i915/cdclk: Rework crtc min_cdclk handling Ville Syrjala
                   ` (22 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

There's no reason to defer intel_plane_calc_min_cdclk() until
intel_cdclk_atomic_check(). Just do this as part of
intel_atomic_check_planes() (after we've added all the planes to
the state that affect the per-plane min_cdclk calculation).

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_cdclk.c | 11 -----------
 drivers/gpu/drm/i915/display/intel_plane.c |  7 +++++--
 drivers/gpu/drm/i915/display/intel_plane.h |  2 --
 3 files changed, 5 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index b26443311e23..4e41b53ea3dc 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -3306,23 +3306,12 @@ int intel_cdclk_atomic_check(struct intel_atomic_state *state,
 {
 	const struct intel_cdclk_state *old_cdclk_state;
 	struct intel_cdclk_state *new_cdclk_state;
-	struct intel_plane_state __maybe_unused *plane_state;
-	struct intel_plane *plane;
 	int ret;
-	int i;
 
 	ret = intel_cdclk_modeset_checks(state, need_cdclk_calc);
 	if (ret)
 		return ret;
 
-	/*
-	 * active_planes bitmask has been updated, and potentially affected
-	 * planes are part of the state. We can now compute the minimum cdclk
-	 * for each plane.
-	 */
-	for_each_new_intel_plane_in_state(state, plane, plane_state, i)
-		intel_plane_calc_min_cdclk(state, plane);
-
 	ret = intel_crtcs_calc_min_cdclk(state, need_cdclk_calc);
 	if (ret)
 		return ret;
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index 871c654d6d1d..73513c7246d0 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -292,8 +292,8 @@ intel_plane_relative_data_rate(const struct intel_crtc_state *crtc_state,
 				   rel_data_rate);
 }
 
-void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
-				struct intel_plane *plane)
+static void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
+				       struct intel_plane *plane)
 {
 	const struct intel_plane_state *plane_state =
 		intel_atomic_get_new_plane_state(state, plane);
@@ -1703,5 +1703,8 @@ int intel_plane_atomic_check(struct intel_atomic_state *state)
 			return ret;
 	}
 
+	for_each_new_intel_plane_in_state(state, plane, plane_state, i)
+		intel_plane_calc_min_cdclk(state, plane);
+
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_plane.h b/drivers/gpu/drm/i915/display/intel_plane.h
index c6bef1b3471d..4e99df9de3e8 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.h
+++ b/drivers/gpu/drm/i915/display/intel_plane.h
@@ -69,8 +69,6 @@ int intel_plane_atomic_check_with_state(const struct intel_crtc_state *old_crtc_
 					struct intel_crtc_state *crtc_state,
 					const struct intel_plane_state *old_plane_state,
 					struct intel_plane_state *intel_state);
-void intel_plane_calc_min_cdclk(struct intel_atomic_state *state,
-				struct intel_plane *plane);
 int intel_plane_check_clipping(struct intel_plane_state *plane_state,
 			       struct intel_crtc_state *crtc_state,
 			       int min_scale, int max_scale,
-- 
2.49.1


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

* [PATCH 14/20] drm/i915/cdclk: Rework crtc min_cdclk handling
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (12 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 13/20] drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 15/20] drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into intel_crtc_compute_min_cdclk() Ville Syrjala
                   ` (21 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Update crtc min_cdclk directly from when calling
intel_cdclk_update_crtc_min_cdclk() rather than doing it later
from intel_compute_min_cdclk().

This will eg. allow better control over when to update the
cdclk. For now we preserve the current behaviour by allowing
the cdclk to decrease when any pipe needs to do a full modeset.

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 4e41b53ea3dc..7526b7cc946c 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2843,8 +2843,13 @@ static int intel_cdclk_update_crtc_min_cdclk(struct intel_atomic_state *state,
 {
 	struct intel_display *display = to_intel_display(state);
 	struct intel_cdclk_state *cdclk_state;
+	bool allow_cdclk_decrease = intel_any_crtc_needs_modeset(state);
+	int ret;
 
-	if (new_min_cdclk <= old_min_cdclk)
+	if (new_min_cdclk == old_min_cdclk)
+		return 0;
+
+	if (!allow_cdclk_decrease && new_min_cdclk < old_min_cdclk)
 		return 0;
 
 	cdclk_state = intel_atomic_get_cdclk_state(state);
@@ -2853,9 +2858,18 @@ static int intel_cdclk_update_crtc_min_cdclk(struct intel_atomic_state *state,
 
 	old_min_cdclk = cdclk_state->min_cdclk[crtc->pipe];
 
-	if (new_min_cdclk <= old_min_cdclk)
+	if (new_min_cdclk == old_min_cdclk)
 		return 0;
 
+	if (!allow_cdclk_decrease && new_min_cdclk < old_min_cdclk)
+		return 0;
+
+	cdclk_state->min_cdclk[crtc->pipe] = new_min_cdclk;
+
+	ret = intel_atomic_lock_global_state(&cdclk_state->base);
+	if (ret)
+		return ret;
+
 	*need_cdclk_calc = true;
 
 	drm_dbg_kms(display->drm,
@@ -2921,27 +2935,8 @@ static int intel_compute_min_cdclk(struct intel_atomic_state *state)
 	struct intel_display *display = to_intel_display(state);
 	struct intel_cdclk_state *cdclk_state =
 		intel_atomic_get_new_cdclk_state(state);
-	struct intel_crtc *crtc;
-	struct intel_crtc_state *crtc_state;
-	int min_cdclk, i;
 	enum pipe pipe;
-
-	for_each_new_intel_crtc_in_state(state, crtc, crtc_state, i) {
-		int ret;
-
-		min_cdclk = intel_crtc_compute_min_cdclk(crtc_state);
-		if (min_cdclk < 0)
-			return min_cdclk;
-
-		if (cdclk_state->min_cdclk[crtc->pipe] == min_cdclk)
-			continue;
-
-		cdclk_state->min_cdclk[crtc->pipe] = min_cdclk;
-
-		ret = intel_atomic_lock_global_state(&cdclk_state->base);
-		if (ret)
-			return ret;
-	}
+	int min_cdclk;
 
 	min_cdclk = cdclk_state->force_min_cdclk;
 	min_cdclk = max(min_cdclk, cdclk_state->bw_min_cdclk);
-- 
2.49.1


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

* [PATCH 15/20] drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into intel_crtc_compute_min_cdclk()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (13 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 14/20] drm/i915/cdclk: Rework crtc min_cdclk handling Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 16/20] drm/i915/cdclk: Decuple cdclk from state->modeset Ville Syrjala
                   ` (20 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

intel_bw_crtc_min_cdclk() depends only on per-crtc state,
so there is no real point in having it complicate the global
bw_min_cdclk. Instead let's just account for it in
intel_crtc_compute_min_cdclk().

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_bw.c    | 17 ++++-------------
 drivers/gpu/drm/i915/display/intel_bw.h    |  1 +
 drivers/gpu/drm/i915/display/intel_cdclk.c |  1 +
 3 files changed, 6 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index 7499ddec2b14..b53bcb693e79 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -871,13 +871,14 @@ static unsigned int intel_bw_crtc_data_rate(const struct intel_crtc_state *crtc_
 }
 
 /* "Maximum Pipe Read Bandwidth" */
-static int intel_bw_crtc_min_cdclk(struct intel_display *display,
-				   unsigned int data_rate)
+int intel_bw_crtc_min_cdclk(const struct intel_crtc_state *crtc_state)
 {
+	struct intel_display *display = to_intel_display(crtc_state);
+
 	if (DISPLAY_VER(display) < 12)
 		return 0;
 
-	return DIV_ROUND_UP_ULL(mul_u32_u32(data_rate, 10), 512);
+	return DIV_ROUND_UP_ULL(mul_u32_u32(intel_bw_crtc_data_rate(crtc_state), 10), 512);
 }
 
 static unsigned int intel_bw_num_active_planes(struct intel_display *display,
@@ -1292,10 +1293,6 @@ static bool intel_bw_state_changed(struct intel_display *display,
 
 		if (intel_dbuf_bw_changed(display, old_dbuf_bw, new_dbuf_bw))
 			return true;
-
-		if (intel_bw_crtc_min_cdclk(display, old_bw_state->data_rate[pipe]) !=
-		    intel_bw_crtc_min_cdclk(display, new_bw_state->data_rate[pipe]))
-			return true;
 	}
 
 	return false;
@@ -1386,16 +1383,10 @@ intel_bw_dbuf_min_cdclk(struct intel_display *display,
 int intel_bw_min_cdclk(struct intel_display *display,
 		       const struct intel_bw_state *bw_state)
 {
-	enum pipe pipe;
 	int min_cdclk;
 
 	min_cdclk = intel_bw_dbuf_min_cdclk(display, bw_state);
 
-	for_each_pipe(display, pipe)
-		min_cdclk = max(min_cdclk,
-				intel_bw_crtc_min_cdclk(display,
-							bw_state->data_rate[pipe]));
-
 	return min_cdclk;
 }
 
diff --git a/drivers/gpu/drm/i915/display/intel_bw.h b/drivers/gpu/drm/i915/display/intel_bw.h
index c064e80a7a7f..4bb3a637b295 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.h
+++ b/drivers/gpu/drm/i915/display/intel_bw.h
@@ -29,6 +29,7 @@ intel_atomic_get_bw_state(struct intel_atomic_state *state);
 void intel_bw_init_hw(struct intel_display *display);
 int intel_bw_init(struct intel_display *display);
 int intel_bw_atomic_check(struct intel_atomic_state *state);
+int intel_bw_crtc_min_cdclk(const struct intel_crtc_state *crtc_state);
 int intel_bw_calc_min_cdclk(struct intel_atomic_state *state,
 			    bool *need_cdclk_calc);
 int intel_bw_min_cdclk(struct intel_display *display,
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 7526b7cc946c..681fe862b6f8 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2827,6 +2827,7 @@ static int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_stat
 		return 0;
 
 	min_cdclk = intel_pixel_rate_to_cdclk(crtc_state);
+	min_cdclk = max(min_cdclk, intel_bw_crtc_min_cdclk(crtc_state));
 	min_cdclk = max(min_cdclk, hsw_ips_min_cdclk(crtc_state));
 	min_cdclk = max(min_cdclk, intel_audio_min_cdclk(crtc_state));
 	min_cdclk = max(min_cdclk, vlv_dsi_min_cdclk(crtc_state));
-- 
2.49.1


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

* [PATCH 16/20] drm/i915/cdclk: Decuple cdclk from state->modeset
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (14 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 15/20] drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into intel_crtc_compute_min_cdclk() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 17/20] drm/i915: Introduce intel_calc_enabled_pipes() Ville Syrjala
                   ` (19 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

There's no real reason anymore to tie cdclk updates to
state->modeset/any_ms. Always call the cdclk functions and
allow them to decide whether cdclk update is necessary/desired
or not.

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 681fe862b6f8..7b828c6a7b11 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2707,6 +2707,9 @@ intel_set_cdclk_pre_plane_update(struct intel_atomic_state *state)
 	struct intel_cdclk_config cdclk_config;
 	enum pipe pipe;
 
+	if (!new_cdclk_state)
+		return;
+
 	if (!intel_cdclk_changed(&old_cdclk_state->actual,
 				 &new_cdclk_state->actual))
 		return;
@@ -2759,6 +2762,9 @@ intel_set_cdclk_post_plane_update(struct intel_atomic_state *state)
 		intel_atomic_get_new_cdclk_state(state);
 	enum pipe pipe;
 
+	if (!new_cdclk_state)
+		return;
+
 	if (!intel_cdclk_changed(&old_cdclk_state->actual,
 				 &new_cdclk_state->actual))
 		return;
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 9e9afb4f3b4b..747283c4cefd 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -6285,6 +6285,7 @@ int intel_atomic_check(struct drm_device *dev,
 	struct intel_atomic_state *state = to_intel_atomic_state(_state);
 	struct intel_crtc_state *old_crtc_state, *new_crtc_state;
 	struct intel_crtc *crtc;
+	bool need_cdclk_calc = false;
 	int ret, i;
 	bool any_ms = false;
 
@@ -6418,7 +6419,7 @@ int intel_atomic_check(struct drm_device *dev,
 	if (ret)
 		goto fail;
 
-	ret = intel_cdclk_atomic_check(state, &any_ms);
+	ret = intel_cdclk_atomic_check(state, &need_cdclk_calc);
 	if (ret)
 		goto fail;
 
@@ -6429,7 +6430,9 @@ int intel_atomic_check(struct drm_device *dev,
 		ret = intel_modeset_checks(state);
 		if (ret)
 			goto fail;
+	}
 
+	if (need_cdclk_calc) {
 		ret = intel_modeset_calc_cdclk(state);
 		if (ret)
 			return ret;
@@ -7341,13 +7344,13 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
 	 */
 	intel_pmdemand_pre_plane_update(state);
 
-	if (state->modeset) {
+	if (state->modeset)
 		drm_atomic_helper_update_legacy_modeset_state(display->drm, &state->base);
 
-		intel_set_cdclk_pre_plane_update(state);
+	intel_set_cdclk_pre_plane_update(state);
 
+	if (state->modeset)
 		intel_modeset_verify_disabled(state);
-	}
 
 	intel_sagv_pre_plane_update(state);
 
@@ -7460,8 +7463,7 @@ static void intel_atomic_commit_tail(struct intel_atomic_state *state)
 		intel_verify_planes(state);
 
 	intel_sagv_post_plane_update(state);
-	if (state->modeset)
-		intel_set_cdclk_post_plane_update(state);
+	intel_set_cdclk_post_plane_update(state);
 	intel_pmdemand_post_plane_update(state);
 
 	drm_atomic_helper_commit_hw_done(&state->base);
-- 
2.49.1


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

* [PATCH 17/20] drm/i915: Introduce intel_calc_enabled_pipes()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (15 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 16/20] drm/i915/cdclk: Decuple cdclk from state->modeset Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 18/20] drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk audio w/a Ville Syrjala
                   ` (18 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Add intel_calc_enabled_pipes() as the counterpart to
intel_calc_active_pipes(). We have some uses where the set
of logically enabled pipes makes more sense than the set of
active pipes.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 17 +++++++++++++++++
 drivers/gpu/drm/i915/display/intel_display.h |  2 ++
 2 files changed, 19 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 747283c4cefd..42fb0e082cc9 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -5633,6 +5633,23 @@ static int hsw_mode_set_planes_workaround(struct intel_atomic_state *state)
 	return 0;
 }
 
+u8 intel_calc_enabled_pipes(struct intel_atomic_state *state,
+			    u8 enabled_pipes)
+{
+	const struct intel_crtc_state *crtc_state;
+	struct intel_crtc *crtc;
+	int i;
+
+	for_each_new_intel_crtc_in_state(state, crtc, crtc_state, i) {
+		if (crtc_state->hw.enable)
+			enabled_pipes |= BIT(crtc->pipe);
+		else
+			enabled_pipes &= ~BIT(crtc->pipe);
+	}
+
+	return enabled_pipes;
+}
+
 u8 intel_calc_active_pipes(struct intel_atomic_state *state,
 			   u8 active_pipes)
 {
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index 9a9a44b61f7f..fc2ef92ccf68 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -394,6 +394,8 @@ enum phy_fia {
 				       i)
 
 int intel_atomic_check(struct drm_device *dev, struct drm_atomic_state *state);
+u8 intel_calc_enabled_pipes(struct intel_atomic_state *state,
+			    u8 enabled_pipes);
 u8 intel_calc_active_pipes(struct intel_atomic_state *state,
 			   u8 active_pipes);
 void intel_link_compute_m_n(u16 bpp, int nlanes,
-- 
2.49.1


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

* [PATCH 18/20] drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk audio w/a
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (16 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 17/20] drm/i915: Introduce intel_calc_enabled_pipes() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 19/20] drm/i915/cdclk: Hide intel_modeset_calc_cdclk() Ville Syrjala
                   ` (17 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Currently we are considering the set of active pipes when
determining if we need to boost the cdclk due to glk audio
issues. Replace that with the set of logically enabled pipes
instead. That is generally how everything else cdclk related
is computed (cdclk_state->logical is based on logically
enabled pipes).

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 7b828c6a7b11..0be35e5c43c1 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -146,6 +146,9 @@ struct intel_cdclk_state {
 	/* forced minimum cdclk for glk+ audio w/a */
 	int force_min_cdclk;
 
+	/* bitmask of enabled pipes */
+	u8 enabled_pipes;
+
 	/* bitmask of active pipes */
 	u8 active_pipes;
 
@@ -2933,8 +2936,8 @@ static bool glk_cdclk_audio_wa_needed(struct intel_display *display,
 				      const struct intel_cdclk_state *cdclk_state)
 {
 	return display->platform.geminilake &&
-		cdclk_state->active_pipes &&
-		!is_power_of_2(cdclk_state->active_pipes);
+		cdclk_state->enabled_pipes &&
+		!is_power_of_2(cdclk_state->enabled_pipes);
 }
 
 static int intel_compute_min_cdclk(struct intel_atomic_state *state)
@@ -3252,7 +3255,8 @@ static int intel_cdclk_modeset_checks(struct intel_atomic_state *state,
 	struct intel_cdclk_state *new_cdclk_state;
 	int ret;
 
-	if (!intel_any_crtc_active_changed(state))
+	if (!intel_any_crtc_enable_changed(state) &&
+	    !intel_any_crtc_active_changed(state))
 		return 0;
 
 	new_cdclk_state = intel_atomic_get_cdclk_state(state);
@@ -3261,6 +3265,9 @@ static int intel_cdclk_modeset_checks(struct intel_atomic_state *state,
 
 	old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
 
+	new_cdclk_state->enabled_pipes =
+		intel_calc_enabled_pipes(state, old_cdclk_state->enabled_pipes);
+
 	new_cdclk_state->active_pipes =
 		intel_calc_active_pipes(state, old_cdclk_state->active_pipes);
 
@@ -3495,6 +3502,7 @@ void intel_cdclk_update_hw_state(struct intel_display *display)
 		to_intel_cdclk_state(display->cdclk.obj.state);
 	struct intel_crtc *crtc;
 
+	cdclk_state->enabled_pipes = 0;
 	cdclk_state->active_pipes = 0;
 
 	for_each_intel_crtc(display->drm, crtc) {
@@ -3502,6 +3510,8 @@ void intel_cdclk_update_hw_state(struct intel_display *display)
 			to_intel_crtc_state(crtc->base.state);
 		enum pipe pipe = crtc->pipe;
 
+		if (crtc_state->hw.enable)
+			cdclk_state->enabled_pipes |= BIT(pipe);
 		if (crtc_state->hw.active)
 			cdclk_state->active_pipes |= BIT(pipe);
 
-- 
2.49.1


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

* [PATCH 19/20] drm/i915/cdclk: Hide intel_modeset_calc_cdclk()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (17 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 18/20] drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk audio w/a Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:19 ` [PATCH 20/20] drm/i915/cdclk: Move intel_cdclk_atomic_check() Ville Syrjala
                   ` (16 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

We no longer have anything of importance between
intel_cdclk_atomic_check() and intel_modeset_calc_cdclk(), so
hide the latter inside the former.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_cdclk.c   | 22 +++++++++++++-------
 drivers/gpu/drm/i915/display/intel_cdclk.h   |  4 +---
 drivers/gpu/drm/i915/display/intel_display.c | 22 ++++----------------
 3 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 0be35e5c43c1..487d15ef206d 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -3310,22 +3310,24 @@ static int intel_crtcs_calc_min_cdclk(struct intel_atomic_state *state,
 	return 0;
 }
 
-int intel_cdclk_atomic_check(struct intel_atomic_state *state,
-			     bool *need_cdclk_calc)
+static int intel_modeset_calc_cdclk(struct intel_atomic_state *state);
+
+int intel_cdclk_atomic_check(struct intel_atomic_state *state)
 {
 	const struct intel_cdclk_state *old_cdclk_state;
 	struct intel_cdclk_state *new_cdclk_state;
+	bool need_cdclk_calc = false;
 	int ret;
 
-	ret = intel_cdclk_modeset_checks(state, need_cdclk_calc);
+	ret = intel_cdclk_modeset_checks(state, &need_cdclk_calc);
 	if (ret)
 		return ret;
 
-	ret = intel_crtcs_calc_min_cdclk(state, need_cdclk_calc);
+	ret = intel_crtcs_calc_min_cdclk(state, &need_cdclk_calc);
 	if (ret)
 		return ret;
 
-	ret = intel_bw_calc_min_cdclk(state, need_cdclk_calc);
+	ret = intel_bw_calc_min_cdclk(state, &need_cdclk_calc);
 	if (ret)
 		return ret;
 
@@ -3338,7 +3340,13 @@ int intel_cdclk_atomic_check(struct intel_atomic_state *state,
 		if (ret)
 			return ret;
 
-		*need_cdclk_calc = true;
+		need_cdclk_calc = true;
+	}
+
+	if (need_cdclk_calc) {
+		ret = intel_modeset_calc_cdclk(state);
+		if (ret)
+			return ret;
 	}
 
 	return 0;
@@ -3386,7 +3394,7 @@ static bool intel_cdclk_need_serialize(struct intel_display *display,
 		dg2_power_well_count(display, new_cdclk_state);
 }
 
-int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
+static int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
 {
 	struct intel_display *display = to_intel_display(state);
 	const struct intel_cdclk_state *old_cdclk_state;
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.h b/drivers/gpu/drm/i915/display/intel_cdclk.h
index 0e67c75ca569..72963f6f399a 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.h
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.h
@@ -38,11 +38,9 @@ void intel_set_cdclk_post_plane_update(struct intel_atomic_state *state);
 void intel_cdclk_dump_config(struct intel_display *display,
 			     const struct intel_cdclk_config *cdclk_config,
 			     const char *context);
-int intel_modeset_calc_cdclk(struct intel_atomic_state *state);
 void intel_cdclk_get_cdclk(struct intel_display *display,
 			   struct intel_cdclk_config *cdclk_config);
-int intel_cdclk_atomic_check(struct intel_atomic_state *state,
-			     bool *need_cdclk_calc);
+int intel_cdclk_atomic_check(struct intel_atomic_state *state);
 int intel_cdclk_state_set_joined_mbus(struct intel_atomic_state *state, bool joined_mbus);
 struct intel_cdclk_state *
 intel_atomic_get_cdclk_state(struct intel_atomic_state *state);
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 42fb0e082cc9..e8ef23305264 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -6302,9 +6302,7 @@ int intel_atomic_check(struct drm_device *dev,
 	struct intel_atomic_state *state = to_intel_atomic_state(_state);
 	struct intel_crtc_state *old_crtc_state, *new_crtc_state;
 	struct intel_crtc *crtc;
-	bool need_cdclk_calc = false;
 	int ret, i;
-	bool any_ms = false;
 
 	if (!intel_display_driver_check_access(display))
 		return -ENODEV;
@@ -6412,14 +6410,11 @@ int intel_atomic_check(struct drm_device *dev,
 		if (!intel_crtc_needs_modeset(new_crtc_state))
 			continue;
 
-		any_ms = true;
-
 		intel_dpll_release(state, crtc);
 	}
 
-	if (any_ms && !check_digital_port_conflicts(state)) {
-		drm_dbg_kms(display->drm,
-			    "rejecting conflicting digital port configuration\n");
+	if (intel_any_crtc_needs_modeset(state) && !check_digital_port_conflicts(state)) {
+		drm_dbg_kms(display->drm, "rejecting conflicting digital port configuration\n");
 		ret = -EINVAL;
 		goto fail;
 	}
@@ -6436,25 +6431,16 @@ int intel_atomic_check(struct drm_device *dev,
 	if (ret)
 		goto fail;
 
-	ret = intel_cdclk_atomic_check(state, &need_cdclk_calc);
+	ret = intel_cdclk_atomic_check(state);
 	if (ret)
 		goto fail;
 
-	if (intel_any_crtc_needs_modeset(state))
-		any_ms = true;
-
-	if (any_ms) {
+	if (intel_any_crtc_needs_modeset(state)) {
 		ret = intel_modeset_checks(state);
 		if (ret)
 			goto fail;
 	}
 
-	if (need_cdclk_calc) {
-		ret = intel_modeset_calc_cdclk(state);
-		if (ret)
-			return ret;
-	}
-
 	ret = intel_pmdemand_atomic_check(state);
 	if (ret)
 		goto fail;
-- 
2.49.1


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

* [PATCH 20/20] drm/i915/cdclk: Move intel_cdclk_atomic_check()
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (18 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 19/20] drm/i915/cdclk: Hide intel_modeset_calc_cdclk() Ville Syrjala
@ 2025-09-23 17:19 ` Ville Syrjala
  2025-09-23 17:46 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset Patchwork
                   ` (15 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-23 17:19 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Move intel_cdclk_atomic_check() a bit so that we don't need an
extra intel_modeset_calc_cdclk() forward declaration.

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 487d15ef206d..51afd877799e 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -3310,48 +3310,6 @@ static int intel_crtcs_calc_min_cdclk(struct intel_atomic_state *state,
 	return 0;
 }
 
-static int intel_modeset_calc_cdclk(struct intel_atomic_state *state);
-
-int intel_cdclk_atomic_check(struct intel_atomic_state *state)
-{
-	const struct intel_cdclk_state *old_cdclk_state;
-	struct intel_cdclk_state *new_cdclk_state;
-	bool need_cdclk_calc = false;
-	int ret;
-
-	ret = intel_cdclk_modeset_checks(state, &need_cdclk_calc);
-	if (ret)
-		return ret;
-
-	ret = intel_crtcs_calc_min_cdclk(state, &need_cdclk_calc);
-	if (ret)
-		return ret;
-
-	ret = intel_bw_calc_min_cdclk(state, &need_cdclk_calc);
-	if (ret)
-		return ret;
-
-	old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
-	new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
-
-	if (new_cdclk_state &&
-	    old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk) {
-		ret = intel_atomic_lock_global_state(&new_cdclk_state->base);
-		if (ret)
-			return ret;
-
-		need_cdclk_calc = true;
-	}
-
-	if (need_cdclk_calc) {
-		ret = intel_modeset_calc_cdclk(state);
-		if (ret)
-			return ret;
-	}
-
-	return 0;
-}
-
 int intel_cdclk_state_set_joined_mbus(struct intel_atomic_state *state, bool joined_mbus)
 {
 	struct intel_cdclk_state *cdclk_state;
@@ -3502,6 +3460,46 @@ static int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
 	return 0;
 }
 
+int intel_cdclk_atomic_check(struct intel_atomic_state *state)
+{
+	const struct intel_cdclk_state *old_cdclk_state;
+	struct intel_cdclk_state *new_cdclk_state;
+	bool need_cdclk_calc = false;
+	int ret;
+
+	ret = intel_cdclk_modeset_checks(state, &need_cdclk_calc);
+	if (ret)
+		return ret;
+
+	ret = intel_crtcs_calc_min_cdclk(state, &need_cdclk_calc);
+	if (ret)
+		return ret;
+
+	ret = intel_bw_calc_min_cdclk(state, &need_cdclk_calc);
+	if (ret)
+		return ret;
+
+	old_cdclk_state = intel_atomic_get_old_cdclk_state(state);
+	new_cdclk_state = intel_atomic_get_new_cdclk_state(state);
+
+	if (new_cdclk_state &&
+	    old_cdclk_state->force_min_cdclk != new_cdclk_state->force_min_cdclk) {
+		ret = intel_atomic_lock_global_state(&new_cdclk_state->base);
+		if (ret)
+			return ret;
+
+		need_cdclk_calc = true;
+	}
+
+	if (need_cdclk_calc) {
+		ret = intel_modeset_calc_cdclk(state);
+		if (ret)
+			return ret;
+	}
+
+	return 0;
+}
+
 void intel_cdclk_update_hw_state(struct intel_display *display)
 {
 	const struct intel_bw_state *bw_state =
-- 
2.49.1


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

* ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (19 preceding siblings ...)
  2025-09-23 17:19 ` [PATCH 20/20] drm/i915/cdclk: Move intel_cdclk_atomic_check() Ville Syrjala
@ 2025-09-23 17:46 ` Patchwork
  2025-09-23 17:48 ` ✓ CI.KUnit: success " Patchwork
                   ` (14 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-23 17:46 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset
URL   : https://patchwork.freedesktop.org/series/154922/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
fbd08a78c3a3bb17964db2a326514c69c1dca660
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 9a6daad3e5bd606e4cbcfabacc6e8248af79761b
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Tue Sep 23 20:19:42 2025 +0300

    drm/i915/cdclk: Move intel_cdclk_atomic_check()
    
    Move intel_cdclk_atomic_check() a bit so that we don't need an
    extra intel_modeset_calc_cdclk() forward declaration.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+ /mt/dim checkpatch b7dc24fb9b729c5719c63fd9e7706a26674017f3 drm-intel
81c1ddceb42b drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed()
29b7d745b067 drm/i915: Introduce intel_crtc_active_changed() and intel_any_crtc_active_changed()
6517e3c3d0f9 drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is changing its active state
100da82c0e2f drm/1915/bw: Drop redundant display version checks
a2372813d1c6 drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed()
a61823775858 drm/i915/cdclk: Extract dg2_power_well_count()
86f028fd8a02 drm/i915/cdclk: Introduce intel_cdclk_modeset_checks()
9b5325df77a3 drm/i915/cdclk: Handle the force_min_cdclk state locking in intel_cdclk_atomic_check()
a8e59ab6fb69 drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk()
4fa0b2c580a5 drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk()
0ccc640cc020 drm/i915/cdclk: Rework bw_min_cdclk handling
6dd1aba0f03b drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe
-:53: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#53: FILE: drivers/gpu/drm/i915/display/intel_cdclk.c:3294:
+							intel_crtc_compute_min_cdclk(old_crtc_state),

-:54: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#54: FILE: drivers/gpu/drm/i915/display/intel_cdclk.c:3295:
+							intel_crtc_compute_min_cdclk(new_crtc_state),

total: 0 errors, 2 warnings, 0 checks, 116 lines checked
1ab0f3f16f51 drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls
0c2aed8456a1 drm/i915/cdclk: Rework crtc min_cdclk handling
96453a4d4f62 drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into intel_crtc_compute_min_cdclk()
bfea3efed4c9 drm/i915/cdclk: Decuple cdclk from state->modeset
1fe8f216e8ac drm/i915: Introduce intel_calc_enabled_pipes()
5b998402cc41 drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk audio w/a
38a1c81286a8 drm/i915/cdclk: Hide intel_modeset_calc_cdclk()
9a6daad3e5bd drm/i915/cdclk: Move intel_cdclk_atomic_check()



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

* ✓ CI.KUnit: success for drm/i915/cdclk: Decouple CDCLK from state->modeset
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (20 preceding siblings ...)
  2025-09-23 17:46 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset Patchwork
@ 2025-09-23 17:48 ` Patchwork
  2025-09-23 18:09 ` ✗ CI.checksparse: warning " Patchwork
                   ` (13 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-23 17:48 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset
URL   : https://patchwork.freedesktop.org/series/154922/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[17:46:24] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:46:31] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[17:47:18] Starting KUnit Kernel (1/1)...
[17:47:18] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:47:18] ================== guc_buf (11 subtests) ===================
[17:47:18] [PASSED] test_smallest
[17:47:18] [PASSED] test_largest
[17:47:18] [PASSED] test_granular
[17:47:18] [PASSED] test_unique
[17:47:18] [PASSED] test_overlap
[17:47:18] [PASSED] test_reusable
[17:47:18] [PASSED] test_too_big
[17:47:18] [PASSED] test_flush
[17:47:18] [PASSED] test_lookup
[17:47:18] [PASSED] test_data
[17:47:18] [PASSED] test_class
[17:47:18] ===================== [PASSED] guc_buf =====================
[17:47:18] =================== guc_dbm (7 subtests) ===================
[17:47:18] [PASSED] test_empty
[17:47:18] [PASSED] test_default
[17:47:18] ======================== test_size  ========================
[17:47:18] [PASSED] 4
[17:47:18] [PASSED] 8
[17:47:18] [PASSED] 32
[17:47:18] [PASSED] 256
[17:47:18] ==================== [PASSED] test_size ====================
[17:47:18] ======================= test_reuse  ========================
[17:47:18] [PASSED] 4
[17:47:18] [PASSED] 8
[17:47:18] [PASSED] 32
[17:47:18] [PASSED] 256
[17:47:18] =================== [PASSED] test_reuse ====================
[17:47:18] =================== test_range_overlap  ====================
[17:47:18] [PASSED] 4
[17:47:18] [PASSED] 8
[17:47:18] [PASSED] 32
[17:47:18] [PASSED] 256
[17:47:18] =============== [PASSED] test_range_overlap ================
[17:47:18] =================== test_range_compact  ====================
[17:47:18] [PASSED] 4
[17:47:18] [PASSED] 8
[17:47:18] [PASSED] 32
[17:47:18] [PASSED] 256
[17:47:18] =============== [PASSED] test_range_compact ================
[17:47:18] ==================== test_range_spare  =====================
[17:47:18] [PASSED] 4
[17:47:18] [PASSED] 8
[17:47:18] [PASSED] 32
[17:47:18] [PASSED] 256
[17:47:18] ================ [PASSED] test_range_spare =================
[17:47:18] ===================== [PASSED] guc_dbm =====================
[17:47:18] =================== guc_idm (6 subtests) ===================
[17:47:18] [PASSED] bad_init
[17:47:18] [PASSED] no_init
[17:47:18] [PASSED] init_fini
[17:47:18] [PASSED] check_used
[17:47:18] [PASSED] check_quota
[17:47:18] [PASSED] check_all
[17:47:18] ===================== [PASSED] guc_idm =====================
[17:47:18] ================== no_relay (3 subtests) ===================
[17:47:18] [PASSED] xe_drops_guc2pf_if_not_ready
[17:47:18] [PASSED] xe_drops_guc2vf_if_not_ready
[17:47:18] [PASSED] xe_rejects_send_if_not_ready
[17:47:18] ==================== [PASSED] no_relay =====================
[17:47:18] ================== pf_relay (14 subtests) ==================
[17:47:18] [PASSED] pf_rejects_guc2pf_too_short
[17:47:18] [PASSED] pf_rejects_guc2pf_too_long
[17:47:18] [PASSED] pf_rejects_guc2pf_no_payload
[17:47:18] [PASSED] pf_fails_no_payload
[17:47:18] [PASSED] pf_fails_bad_origin
[17:47:18] [PASSED] pf_fails_bad_type
[17:47:18] [PASSED] pf_txn_reports_error
[17:47:18] [PASSED] pf_txn_sends_pf2guc
[17:47:18] [PASSED] pf_sends_pf2guc
[17:47:18] [SKIPPED] pf_loopback_nop
[17:47:18] [SKIPPED] pf_loopback_echo
[17:47:18] [SKIPPED] pf_loopback_fail
[17:47:18] [SKIPPED] pf_loopback_busy
[17:47:18] [SKIPPED] pf_loopback_retry
[17:47:18] ==================== [PASSED] pf_relay =====================
[17:47:18] ================== vf_relay (3 subtests) ===================
[17:47:18] [PASSED] vf_rejects_guc2vf_too_short
[17:47:18] [PASSED] vf_rejects_guc2vf_too_long
[17:47:18] [PASSED] vf_rejects_guc2vf_no_payload
[17:47:18] ==================== [PASSED] vf_relay =====================
[17:47:18] ===================== lmtt (1 subtest) =====================
[17:47:18] ======================== test_ops  =========================
[17:47:18] [PASSED] 2-level
[17:47:18] [PASSED] multi-level
[17:47:18] ==================== [PASSED] test_ops =====================
[17:47:18] ====================== [PASSED] lmtt =======================
[17:47:18] ================= pf_service (11 subtests) =================
[17:47:18] [PASSED] pf_negotiate_any
[17:47:18] [PASSED] pf_negotiate_base_match
[17:47:18] [PASSED] pf_negotiate_base_newer
[17:47:18] [PASSED] pf_negotiate_base_next
[17:47:18] [SKIPPED] pf_negotiate_base_older
[17:47:18] [PASSED] pf_negotiate_base_prev
[17:47:18] [PASSED] pf_negotiate_latest_match
[17:47:18] [PASSED] pf_negotiate_latest_newer
[17:47:18] [PASSED] pf_negotiate_latest_next
[17:47:18] [SKIPPED] pf_negotiate_latest_older
[17:47:18] [SKIPPED] pf_negotiate_latest_prev
[17:47:18] =================== [PASSED] pf_service ====================
[17:47:18] ================= xe_guc_g2g (2 subtests) ==================
[17:47:18] ============== xe_live_guc_g2g_kunit_default  ==============
[17:47:18] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[17:47:18] ============== xe_live_guc_g2g_kunit_allmem  ===============
[17:47:18] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[17:47:18] =================== [SKIPPED] xe_guc_g2g ===================
[17:47:18] =================== xe_mocs (2 subtests) ===================
[17:47:18] ================ xe_live_mocs_kernel_kunit  ================
[17:47:18] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[17:47:18] ================ xe_live_mocs_reset_kunit  =================
[17:47:18] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[17:47:18] ==================== [SKIPPED] xe_mocs =====================
[17:47:18] ================= xe_migrate (2 subtests) ==================
[17:47:18] ================= xe_migrate_sanity_kunit  =================
[17:47:18] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[17:47:18] ================== xe_validate_ccs_kunit  ==================
[17:47:18] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[17:47:18] =================== [SKIPPED] xe_migrate ===================
[17:47:18] ================== xe_dma_buf (1 subtest) ==================
[17:47:18] ==================== xe_dma_buf_kunit  =====================
[17:47:18] ================ [SKIPPED] xe_dma_buf_kunit ================
[17:47:18] =================== [SKIPPED] xe_dma_buf ===================
[17:47:18] ================= xe_bo_shrink (1 subtest) =================
[17:47:18] =================== xe_bo_shrink_kunit  ====================
[17:47:18] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[17:47:18] ================== [SKIPPED] xe_bo_shrink ==================
[17:47:18] ==================== xe_bo (2 subtests) ====================
[17:47:18] ================== xe_ccs_migrate_kunit  ===================
[17:47:18] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[17:47:18] ==================== xe_bo_evict_kunit  ====================
[17:47:18] =============== [SKIPPED] xe_bo_evict_kunit ================
[17:47:18] ===================== [SKIPPED] xe_bo ======================
[17:47:18] ==================== args (11 subtests) ====================
[17:47:18] [PASSED] count_args_test
[17:47:18] [PASSED] call_args_example
[17:47:18] [PASSED] call_args_test
[17:47:18] [PASSED] drop_first_arg_example
[17:47:18] [PASSED] drop_first_arg_test
[17:47:18] [PASSED] first_arg_example
[17:47:18] [PASSED] first_arg_test
[17:47:18] [PASSED] last_arg_example
[17:47:18] [PASSED] last_arg_test
[17:47:18] [PASSED] pick_arg_example
[17:47:18] [PASSED] sep_comma_example
[17:47:18] ====================== [PASSED] args =======================
[17:47:18] =================== xe_pci (3 subtests) ====================
[17:47:18] ==================== check_graphics_ip  ====================
[17:47:18] [PASSED] 12.00 Xe_LP
[17:47:18] [PASSED] 12.10 Xe_LP+
[17:47:18] [PASSED] 12.55 Xe_HPG
[17:47:18] [PASSED] 12.60 Xe_HPC
[17:47:18] [PASSED] 12.70 Xe_LPG
[17:47:18] [PASSED] 12.71 Xe_LPG
[17:47:18] [PASSED] 12.74 Xe_LPG+
[17:47:18] [PASSED] 20.01 Xe2_HPG
[17:47:18] [PASSED] 20.02 Xe2_HPG
[17:47:18] [PASSED] 20.04 Xe2_LPG
[17:47:18] [PASSED] 30.00 Xe3_LPG
[17:47:18] [PASSED] 30.01 Xe3_LPG
[17:47:18] [PASSED] 30.03 Xe3_LPG
[17:47:18] ================ [PASSED] check_graphics_ip ================
[17:47:18] ===================== check_media_ip  ======================
[17:47:18] [PASSED] 12.00 Xe_M
[17:47:18] [PASSED] 12.55 Xe_HPM
[17:47:18] [PASSED] 13.00 Xe_LPM+
[17:47:18] [PASSED] 13.01 Xe2_HPM
[17:47:18] [PASSED] 20.00 Xe2_LPM
[17:47:18] [PASSED] 30.00 Xe3_LPM
[17:47:18] [PASSED] 30.02 Xe3_LPM
[17:47:18] ================= [PASSED] check_media_ip ==================
[17:47:18] ================= check_platform_gt_count  =================
[17:47:18] [PASSED] 0x9A60 (TIGERLAKE)
[17:47:18] [PASSED] 0x9A68 (TIGERLAKE)
[17:47:18] [PASSED] 0x9A70 (TIGERLAKE)
[17:47:18] [PASSED] 0x9A40 (TIGERLAKE)
[17:47:18] [PASSED] 0x9A49 (TIGERLAKE)
[17:47:18] [PASSED] 0x9A59 (TIGERLAKE)
[17:47:18] [PASSED] 0x9A78 (TIGERLAKE)
[17:47:18] [PASSED] 0x9AC0 (TIGERLAKE)
[17:47:18] [PASSED] 0x9AC9 (TIGERLAKE)
[17:47:18] [PASSED] 0x9AD9 (TIGERLAKE)
[17:47:18] [PASSED] 0x9AF8 (TIGERLAKE)
[17:47:18] [PASSED] 0x4C80 (ROCKETLAKE)
[17:47:18] [PASSED] 0x4C8A (ROCKETLAKE)
[17:47:18] [PASSED] 0x4C8B (ROCKETLAKE)
[17:47:18] [PASSED] 0x4C8C (ROCKETLAKE)
[17:47:18] [PASSED] 0x4C90 (ROCKETLAKE)
[17:47:18] [PASSED] 0x4C9A (ROCKETLAKE)
[17:47:18] [PASSED] 0x4680 (ALDERLAKE_S)
[17:47:18] [PASSED] 0x4682 (ALDERLAKE_S)
[17:47:18] [PASSED] 0x4688 (ALDERLAKE_S)
[17:47:18] [PASSED] 0x468A (ALDERLAKE_S)
[17:47:18] [PASSED] 0x468B (ALDERLAKE_S)
[17:47:18] [PASSED] 0x4690 (ALDERLAKE_S)
[17:47:18] [PASSED] 0x4692 (ALDERLAKE_S)
[17:47:18] [PASSED] 0x4693 (ALDERLAKE_S)
[17:47:18] [PASSED] 0x46A0 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46A1 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46A2 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46A3 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46A6 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46A8 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46AA (ALDERLAKE_P)
[17:47:18] [PASSED] 0x462A (ALDERLAKE_P)
[17:47:18] [PASSED] 0x4626 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x4628 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46B0 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46B1 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46B2 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46B3 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46C0 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46C1 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46C2 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46C3 (ALDERLAKE_P)
[17:47:18] [PASSED] 0x46D0 (ALDERLAKE_N)
[17:47:18] [PASSED] 0x46D1 (ALDERLAKE_N)
[17:47:18] [PASSED] 0x46D2 (ALDERLAKE_N)
[17:47:18] [PASSED] 0x46D3 (ALDERLAKE_N)
[17:47:18] [PASSED] 0x46D4 (ALDERLAKE_N)
[17:47:18] [PASSED] 0xA721 (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA7A1 (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA7A9 (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA7AC (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA7AD (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA720 (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA7A0 (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA7A8 (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA7AA (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA7AB (ALDERLAKE_P)
[17:47:18] [PASSED] 0xA780 (ALDERLAKE_S)
[17:47:18] [PASSED] 0xA781 (ALDERLAKE_S)
[17:47:18] [PASSED] 0xA782 (ALDERLAKE_S)
[17:47:18] [PASSED] 0xA783 (ALDERLAKE_S)
[17:47:18] [PASSED] 0xA788 (ALDERLAKE_S)
[17:47:18] [PASSED] 0xA789 (ALDERLAKE_S)
[17:47:18] [PASSED] 0xA78A (ALDERLAKE_S)
[17:47:18] [PASSED] 0xA78B (ALDERLAKE_S)
[17:47:18] [PASSED] 0x4905 (DG1)
[17:47:18] [PASSED] 0x4906 (DG1)
[17:47:18] [PASSED] 0x4907 (DG1)
[17:47:18] [PASSED] 0x4908 (DG1)
[17:47:18] [PASSED] 0x4909 (DG1)
[17:47:18] [PASSED] 0x56C0 (DG2)
[17:47:18] [PASSED] 0x56C2 (DG2)
[17:47:18] [PASSED] 0x56C1 (DG2)
[17:47:18] [PASSED] 0x7D51 (METEORLAKE)
[17:47:18] [PASSED] 0x7DD1 (METEORLAKE)
[17:47:18] [PASSED] 0x7D41 (METEORLAKE)
[17:47:18] [PASSED] 0x7D67 (METEORLAKE)
[17:47:18] [PASSED] 0xB640 (METEORLAKE)
[17:47:18] [PASSED] 0x56A0 (DG2)
[17:47:18] [PASSED] 0x56A1 (DG2)
[17:47:18] [PASSED] 0x56A2 (DG2)
[17:47:18] [PASSED] 0x56BE (DG2)
[17:47:18] [PASSED] 0x56BF (DG2)
[17:47:18] [PASSED] 0x5690 (DG2)
[17:47:18] [PASSED] 0x5691 (DG2)
[17:47:18] [PASSED] 0x5692 (DG2)
[17:47:18] [PASSED] 0x56A5 (DG2)
[17:47:18] [PASSED] 0x56A6 (DG2)
[17:47:18] [PASSED] 0x56B0 (DG2)
[17:47:18] [PASSED] 0x56B1 (DG2)
[17:47:18] [PASSED] 0x56BA (DG2)
[17:47:18] [PASSED] 0x56BB (DG2)
[17:47:18] [PASSED] 0x56BC (DG2)
[17:47:18] [PASSED] 0x56BD (DG2)
[17:47:18] [PASSED] 0x5693 (DG2)
[17:47:18] [PASSED] 0x5694 (DG2)
[17:47:18] [PASSED] 0x5695 (DG2)
[17:47:18] [PASSED] 0x56A3 (DG2)
[17:47:18] [PASSED] 0x56A4 (DG2)
[17:47:18] [PASSED] 0x56B2 (DG2)
[17:47:18] [PASSED] 0x56B3 (DG2)
[17:47:18] [PASSED] 0x5696 (DG2)
[17:47:18] [PASSED] 0x5697 (DG2)
[17:47:18] [PASSED] 0xB69 (PVC)
[17:47:18] [PASSED] 0xB6E (PVC)
[17:47:18] [PASSED] 0xBD4 (PVC)
[17:47:18] [PASSED] 0xBD5 (PVC)
[17:47:18] [PASSED] 0xBD6 (PVC)
[17:47:18] [PASSED] 0xBD7 (PVC)
[17:47:18] [PASSED] 0xBD8 (PVC)
[17:47:18] [PASSED] 0xBD9 (PVC)
[17:47:18] [PASSED] 0xBDA (PVC)
[17:47:18] [PASSED] 0xBDB (PVC)
[17:47:18] [PASSED] 0xBE0 (PVC)
[17:47:18] [PASSED] 0xBE1 (PVC)
[17:47:18] [PASSED] 0xBE5 (PVC)
[17:47:18] [PASSED] 0x7D40 (METEORLAKE)
[17:47:18] [PASSED] 0x7D45 (METEORLAKE)
[17:47:18] [PASSED] 0x7D55 (METEORLAKE)
[17:47:18] [PASSED] 0x7D60 (METEORLAKE)
[17:47:18] [PASSED] 0x7DD5 (METEORLAKE)
[17:47:18] [PASSED] 0x6420 (LUNARLAKE)
[17:47:18] [PASSED] 0x64A0 (LUNARLAKE)
[17:47:18] [PASSED] 0x64B0 (LUNARLAKE)
[17:47:18] [PASSED] 0xE202 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE209 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE20B (BATTLEMAGE)
[17:47:18] [PASSED] 0xE20C (BATTLEMAGE)
[17:47:18] [PASSED] 0xE20D (BATTLEMAGE)
[17:47:18] [PASSED] 0xE210 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE211 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE212 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE216 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE220 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE221 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE222 (BATTLEMAGE)
[17:47:18] [PASSED] 0xE223 (BATTLEMAGE)
[17:47:18] [PASSED] 0xB080 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB081 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB082 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB083 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB084 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB085 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB086 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB087 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB08F (PANTHERLAKE)
[17:47:18] [PASSED] 0xB090 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB0A0 (PANTHERLAKE)
[17:47:18] [PASSED] 0xB0B0 (PANTHERLAKE)
[17:47:18] [PASSED] 0xFD80 (PANTHERLAKE)
[17:47:18] [PASSED] 0xFD81 (PANTHERLAKE)
[17:47:18] ============= [PASSED] check_platform_gt_count =============
[17:47:18] ===================== [PASSED] xe_pci ======================
[17:47:18] =================== xe_rtp (2 subtests) ====================
[17:47:18] =============== xe_rtp_process_to_sr_tests  ================
[17:47:18] [PASSED] coalesce-same-reg
[17:47:18] [PASSED] no-match-no-add
[17:47:18] [PASSED] match-or
[17:47:18] [PASSED] match-or-xfail
[17:47:18] [PASSED] no-match-no-add-multiple-rules
[17:47:18] [PASSED] two-regs-two-entries
[17:47:18] [PASSED] clr-one-set-other
[17:47:18] [PASSED] set-field
[17:47:18] [PASSED] conflict-duplicate
[17:47:18] [PASSED] conflict-not-disjoint
[17:47:18] [PASSED] conflict-reg-type
[17:47:18] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[17:47:18] ================== xe_rtp_process_tests  ===================
[17:47:18] [PASSED] active1
[17:47:18] [PASSED] active2
[17:47:18] [PASSED] active-inactive
[17:47:18] [PASSED] inactive-active
[17:47:18] [PASSED] inactive-1st_or_active-inactive
[17:47:18] [PASSED] inactive-2nd_or_active-inactive
[17:47:18] [PASSED] inactive-last_or_active-inactive
[17:47:18] [PASSED] inactive-no_or_active-inactive
[17:47:18] ============== [PASSED] xe_rtp_process_tests ===============
[17:47:18] ===================== [PASSED] xe_rtp ======================
[17:47:18] ==================== xe_wa (1 subtest) =====================
[17:47:18] ======================== xe_wa_gt  =========================
[17:47:18] [PASSED] TIGERLAKE B0
[17:47:18] [PASSED] DG1 A0
[17:47:18] [PASSED] DG1 B0
[17:47:18] [PASSED] ALDERLAKE_S A0
[17:47:18] [PASSED] ALDERLAKE_S B0
stty: 'standard input': Inappropriate ioctl for device
[17:47:18] [PASSED] ALDERLAKE_S C0
[17:47:18] [PASSED] ALDERLAKE_S D0
[17:47:18] [PASSED] ALDERLAKE_P A0
[17:47:18] [PASSED] ALDERLAKE_P B0
[17:47:18] [PASSED] ALDERLAKE_P C0
[17:47:18] [PASSED] ALDERLAKE_S RPLS D0
[17:47:18] [PASSED] ALDERLAKE_P RPLU E0
[17:47:18] [PASSED] DG2 G10 C0
[17:47:18] [PASSED] DG2 G11 B1
[17:47:18] [PASSED] DG2 G12 A1
[17:47:18] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[17:47:18] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[17:47:18] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[17:47:18] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[17:47:18] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[17:47:18] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[17:47:18] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[17:47:18] ==================== [PASSED] xe_wa_gt =====================
[17:47:18] ====================== [PASSED] xe_wa ======================
[17:47:18] ============================================================
[17:47:18] Testing complete. Ran 306 tests: passed: 288, skipped: 18
[17:47:18] Elapsed time: 54.609s total, 7.283s configuring, 46.909s building, 0.370s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[17:47:18] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:47:20] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[17:48:01] Starting KUnit Kernel (1/1)...
[17:48:01] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:48:01] ============ drm_test_pick_cmdline (2 subtests) ============
[17:48:01] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[17:48:01] =============== drm_test_pick_cmdline_named  ===============
[17:48:01] [PASSED] NTSC
[17:48:01] [PASSED] NTSC-J
[17:48:01] [PASSED] PAL
[17:48:01] [PASSED] PAL-M
[17:48:01] =========== [PASSED] drm_test_pick_cmdline_named ===========
[17:48:01] ============== [PASSED] drm_test_pick_cmdline ==============
[17:48:01] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[17:48:01] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[17:48:01] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[17:48:01] =========== drm_validate_clone_mode (2 subtests) ===========
[17:48:01] ============== drm_test_check_in_clone_mode  ===============
[17:48:01] [PASSED] in_clone_mode
[17:48:01] [PASSED] not_in_clone_mode
[17:48:01] ========== [PASSED] drm_test_check_in_clone_mode ===========
[17:48:01] =============== drm_test_check_valid_clones  ===============
[17:48:01] [PASSED] not_in_clone_mode
[17:48:01] [PASSED] valid_clone
[17:48:01] [PASSED] invalid_clone
[17:48:01] =========== [PASSED] drm_test_check_valid_clones ===========
[17:48:01] ============= [PASSED] drm_validate_clone_mode =============
[17:48:01] ============= drm_validate_modeset (1 subtest) =============
[17:48:01] [PASSED] drm_test_check_connector_changed_modeset
[17:48:01] ============== [PASSED] drm_validate_modeset ===============
[17:48:01] ====== drm_test_bridge_get_current_state (2 subtests) ======
[17:48:01] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[17:48:01] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[17:48:01] ======== [PASSED] drm_test_bridge_get_current_state ========
[17:48:01] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[17:48:01] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[17:48:01] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[17:48:01] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[17:48:01] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[17:48:01] ============== drm_bridge_alloc (2 subtests) ===============
[17:48:01] [PASSED] drm_test_drm_bridge_alloc_basic
[17:48:01] [PASSED] drm_test_drm_bridge_alloc_get_put
[17:48:01] ================ [PASSED] drm_bridge_alloc =================
[17:48:01] ================== drm_buddy (7 subtests) ==================
[17:48:01] [PASSED] drm_test_buddy_alloc_limit
[17:48:01] [PASSED] drm_test_buddy_alloc_optimistic
[17:48:01] [PASSED] drm_test_buddy_alloc_pessimistic
[17:48:01] [PASSED] drm_test_buddy_alloc_pathological
[17:48:01] [PASSED] drm_test_buddy_alloc_contiguous
[17:48:01] [PASSED] drm_test_buddy_alloc_clear
[17:48:01] [PASSED] drm_test_buddy_alloc_range_bias
[17:48:01] ==================== [PASSED] drm_buddy ====================
[17:48:01] ============= drm_cmdline_parser (40 subtests) =============
[17:48:01] [PASSED] drm_test_cmdline_force_d_only
[17:48:01] [PASSED] drm_test_cmdline_force_D_only_dvi
[17:48:01] [PASSED] drm_test_cmdline_force_D_only_hdmi
[17:48:01] [PASSED] drm_test_cmdline_force_D_only_not_digital
[17:48:01] [PASSED] drm_test_cmdline_force_e_only
[17:48:01] [PASSED] drm_test_cmdline_res
[17:48:01] [PASSED] drm_test_cmdline_res_vesa
[17:48:01] [PASSED] drm_test_cmdline_res_vesa_rblank
[17:48:01] [PASSED] drm_test_cmdline_res_rblank
[17:48:01] [PASSED] drm_test_cmdline_res_bpp
[17:48:01] [PASSED] drm_test_cmdline_res_refresh
[17:48:01] [PASSED] drm_test_cmdline_res_bpp_refresh
[17:48:01] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[17:48:01] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[17:48:01] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[17:48:01] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[17:48:01] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[17:48:01] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[17:48:01] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[17:48:01] [PASSED] drm_test_cmdline_res_margins_force_on
[17:48:01] [PASSED] drm_test_cmdline_res_vesa_margins
[17:48:01] [PASSED] drm_test_cmdline_name
[17:48:01] [PASSED] drm_test_cmdline_name_bpp
[17:48:01] [PASSED] drm_test_cmdline_name_option
[17:48:01] [PASSED] drm_test_cmdline_name_bpp_option
[17:48:01] [PASSED] drm_test_cmdline_rotate_0
[17:48:01] [PASSED] drm_test_cmdline_rotate_90
[17:48:01] [PASSED] drm_test_cmdline_rotate_180
[17:48:01] [PASSED] drm_test_cmdline_rotate_270
[17:48:01] [PASSED] drm_test_cmdline_hmirror
[17:48:01] [PASSED] drm_test_cmdline_vmirror
[17:48:01] [PASSED] drm_test_cmdline_margin_options
[17:48:01] [PASSED] drm_test_cmdline_multiple_options
[17:48:01] [PASSED] drm_test_cmdline_bpp_extra_and_option
[17:48:01] [PASSED] drm_test_cmdline_extra_and_option
[17:48:01] [PASSED] drm_test_cmdline_freestanding_options
[17:48:01] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[17:48:01] [PASSED] drm_test_cmdline_panel_orientation
[17:48:01] ================ drm_test_cmdline_invalid  =================
[17:48:01] [PASSED] margin_only
[17:48:01] [PASSED] interlace_only
[17:48:01] [PASSED] res_missing_x
[17:48:01] [PASSED] res_missing_y
[17:48:01] [PASSED] res_bad_y
[17:48:01] [PASSED] res_missing_y_bpp
[17:48:01] [PASSED] res_bad_bpp
[17:48:01] [PASSED] res_bad_refresh
[17:48:01] [PASSED] res_bpp_refresh_force_on_off
[17:48:01] [PASSED] res_invalid_mode
[17:48:01] [PASSED] res_bpp_wrong_place_mode
[17:48:01] [PASSED] name_bpp_refresh
[17:48:01] [PASSED] name_refresh
[17:48:01] [PASSED] name_refresh_wrong_mode
[17:48:01] [PASSED] name_refresh_invalid_mode
[17:48:01] [PASSED] rotate_multiple
[17:48:01] [PASSED] rotate_invalid_val
[17:48:01] [PASSED] rotate_truncated
[17:48:01] [PASSED] invalid_option
[17:48:01] [PASSED] invalid_tv_option
[17:48:01] [PASSED] truncated_tv_option
[17:48:01] ============ [PASSED] drm_test_cmdline_invalid =============
[17:48:01] =============== drm_test_cmdline_tv_options  ===============
[17:48:01] [PASSED] NTSC
[17:48:01] [PASSED] NTSC_443
[17:48:01] [PASSED] NTSC_J
[17:48:01] [PASSED] PAL
[17:48:01] [PASSED] PAL_M
[17:48:01] [PASSED] PAL_N
[17:48:01] [PASSED] SECAM
[17:48:01] [PASSED] MONO_525
[17:48:01] [PASSED] MONO_625
[17:48:01] =========== [PASSED] drm_test_cmdline_tv_options ===========
[17:48:01] =============== [PASSED] drm_cmdline_parser ================
[17:48:01] ========== drmm_connector_hdmi_init (20 subtests) ==========
[17:48:01] [PASSED] drm_test_connector_hdmi_init_valid
[17:48:01] [PASSED] drm_test_connector_hdmi_init_bpc_8
[17:48:01] [PASSED] drm_test_connector_hdmi_init_bpc_10
[17:48:01] [PASSED] drm_test_connector_hdmi_init_bpc_12
[17:48:01] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[17:48:01] [PASSED] drm_test_connector_hdmi_init_bpc_null
[17:48:01] [PASSED] drm_test_connector_hdmi_init_formats_empty
[17:48:01] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[17:48:01] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[17:48:01] [PASSED] supported_formats=0x9 yuv420_allowed=1
[17:48:01] [PASSED] supported_formats=0x9 yuv420_allowed=0
[17:48:01] [PASSED] supported_formats=0x3 yuv420_allowed=1
[17:48:01] [PASSED] supported_formats=0x3 yuv420_allowed=0
[17:48:01] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[17:48:01] [PASSED] drm_test_connector_hdmi_init_null_ddc
[17:48:01] [PASSED] drm_test_connector_hdmi_init_null_product
[17:48:01] [PASSED] drm_test_connector_hdmi_init_null_vendor
[17:48:01] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[17:48:01] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[17:48:01] [PASSED] drm_test_connector_hdmi_init_product_valid
[17:48:01] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[17:48:01] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[17:48:01] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[17:48:01] ========= drm_test_connector_hdmi_init_type_valid  =========
[17:48:01] [PASSED] HDMI-A
[17:48:01] [PASSED] HDMI-B
[17:48:01] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[17:48:01] ======== drm_test_connector_hdmi_init_type_invalid  ========
[17:48:01] [PASSED] Unknown
[17:48:01] [PASSED] VGA
[17:48:01] [PASSED] DVI-I
[17:48:01] [PASSED] DVI-D
[17:48:01] [PASSED] DVI-A
[17:48:01] [PASSED] Composite
[17:48:01] [PASSED] SVIDEO
[17:48:01] [PASSED] LVDS
[17:48:01] [PASSED] Component
[17:48:01] [PASSED] DIN
[17:48:01] [PASSED] DP
[17:48:01] [PASSED] TV
[17:48:01] [PASSED] eDP
[17:48:01] [PASSED] Virtual
[17:48:01] [PASSED] DSI
[17:48:01] [PASSED] DPI
[17:48:01] [PASSED] Writeback
[17:48:01] [PASSED] SPI
[17:48:01] [PASSED] USB
[17:48:01] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[17:48:01] ============ [PASSED] drmm_connector_hdmi_init =============
[17:48:01] ============= drmm_connector_init (3 subtests) =============
[17:48:01] [PASSED] drm_test_drmm_connector_init
[17:48:01] [PASSED] drm_test_drmm_connector_init_null_ddc
[17:48:01] ========= drm_test_drmm_connector_init_type_valid  =========
[17:48:01] [PASSED] Unknown
[17:48:01] [PASSED] VGA
[17:48:01] [PASSED] DVI-I
[17:48:01] [PASSED] DVI-D
[17:48:01] [PASSED] DVI-A
[17:48:01] [PASSED] Composite
[17:48:01] [PASSED] SVIDEO
[17:48:01] [PASSED] LVDS
[17:48:01] [PASSED] Component
[17:48:01] [PASSED] DIN
[17:48:01] [PASSED] DP
[17:48:01] [PASSED] HDMI-A
[17:48:01] [PASSED] HDMI-B
[17:48:01] [PASSED] TV
[17:48:01] [PASSED] eDP
[17:48:01] [PASSED] Virtual
[17:48:01] [PASSED] DSI
[17:48:01] [PASSED] DPI
[17:48:01] [PASSED] Writeback
[17:48:01] [PASSED] SPI
[17:48:01] [PASSED] USB
[17:48:01] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[17:48:01] =============== [PASSED] drmm_connector_init ===============
[17:48:01] ========= drm_connector_dynamic_init (6 subtests) ==========
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_init
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_init_properties
[17:48:01] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[17:48:01] [PASSED] Unknown
[17:48:01] [PASSED] VGA
[17:48:01] [PASSED] DVI-I
[17:48:01] [PASSED] DVI-D
[17:48:01] [PASSED] DVI-A
[17:48:01] [PASSED] Composite
[17:48:01] [PASSED] SVIDEO
[17:48:01] [PASSED] LVDS
[17:48:01] [PASSED] Component
[17:48:01] [PASSED] DIN
[17:48:01] [PASSED] DP
[17:48:01] [PASSED] HDMI-A
[17:48:01] [PASSED] HDMI-B
[17:48:01] [PASSED] TV
[17:48:01] [PASSED] eDP
[17:48:01] [PASSED] Virtual
[17:48:01] [PASSED] DSI
[17:48:01] [PASSED] DPI
[17:48:01] [PASSED] Writeback
[17:48:01] [PASSED] SPI
[17:48:01] [PASSED] USB
[17:48:01] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[17:48:01] ======== drm_test_drm_connector_dynamic_init_name  =========
[17:48:01] [PASSED] Unknown
[17:48:01] [PASSED] VGA
[17:48:01] [PASSED] DVI-I
[17:48:01] [PASSED] DVI-D
[17:48:01] [PASSED] DVI-A
[17:48:01] [PASSED] Composite
[17:48:01] [PASSED] SVIDEO
[17:48:01] [PASSED] LVDS
[17:48:01] [PASSED] Component
[17:48:01] [PASSED] DIN
[17:48:01] [PASSED] DP
[17:48:01] [PASSED] HDMI-A
[17:48:01] [PASSED] HDMI-B
[17:48:01] [PASSED] TV
[17:48:01] [PASSED] eDP
[17:48:01] [PASSED] Virtual
[17:48:01] [PASSED] DSI
[17:48:01] [PASSED] DPI
[17:48:01] [PASSED] Writeback
[17:48:01] [PASSED] SPI
[17:48:01] [PASSED] USB
[17:48:01] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[17:48:01] =========== [PASSED] drm_connector_dynamic_init ============
[17:48:01] ==== drm_connector_dynamic_register_early (4 subtests) =====
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[17:48:01] ====== [PASSED] drm_connector_dynamic_register_early =======
[17:48:01] ======= drm_connector_dynamic_register (7 subtests) ========
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[17:48:01] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[17:48:01] ========= [PASSED] drm_connector_dynamic_register ==========
[17:48:01] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[17:48:01] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[17:48:01] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[17:48:01] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[17:48:01] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[17:48:01] ========== drm_test_get_tv_mode_from_name_valid  ===========
[17:48:01] [PASSED] NTSC
[17:48:01] [PASSED] NTSC-443
[17:48:01] [PASSED] NTSC-J
[17:48:01] [PASSED] PAL
[17:48:01] [PASSED] PAL-M
[17:48:01] [PASSED] PAL-N
[17:48:01] [PASSED] SECAM
[17:48:01] [PASSED] Mono
[17:48:01] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[17:48:01] [PASSED] drm_test_get_tv_mode_from_name_truncated
[17:48:01] ============ [PASSED] drm_get_tv_mode_from_name ============
[17:48:01] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[17:48:01] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[17:48:01] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[17:48:01] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[17:48:01] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[17:48:01] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[17:48:01] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[17:48:01] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[17:48:01] [PASSED] VIC 96
[17:48:01] [PASSED] VIC 97
[17:48:01] [PASSED] VIC 101
[17:48:01] [PASSED] VIC 102
[17:48:01] [PASSED] VIC 106
[17:48:01] [PASSED] VIC 107
[17:48:01] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[17:48:01] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[17:48:01] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[17:48:01] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[17:48:01] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[17:48:01] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[17:48:01] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[17:48:01] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[17:48:01] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[17:48:01] [PASSED] Automatic
[17:48:01] [PASSED] Full
[17:48:01] [PASSED] Limited 16:235
[17:48:01] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[17:48:01] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[17:48:01] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[17:48:01] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[17:48:01] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[17:48:01] [PASSED] RGB
[17:48:01] [PASSED] YUV 4:2:0
[17:48:01] [PASSED] YUV 4:2:2
[17:48:01] [PASSED] YUV 4:4:4
[17:48:01] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[17:48:01] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[17:48:01] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[17:48:01] ============= drm_damage_helper (21 subtests) ==============
[17:48:01] [PASSED] drm_test_damage_iter_no_damage
[17:48:01] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[17:48:01] [PASSED] drm_test_damage_iter_no_damage_src_moved
[17:48:01] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[17:48:01] [PASSED] drm_test_damage_iter_no_damage_not_visible
[17:48:01] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[17:48:01] [PASSED] drm_test_damage_iter_no_damage_no_fb
[17:48:01] [PASSED] drm_test_damage_iter_simple_damage
[17:48:01] [PASSED] drm_test_damage_iter_single_damage
[17:48:01] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[17:48:01] [PASSED] drm_test_damage_iter_single_damage_outside_src
[17:48:01] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[17:48:01] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[17:48:01] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[17:48:01] [PASSED] drm_test_damage_iter_single_damage_src_moved
[17:48:01] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[17:48:01] [PASSED] drm_test_damage_iter_damage
[17:48:01] [PASSED] drm_test_damage_iter_damage_one_intersect
[17:48:01] [PASSED] drm_test_damage_iter_damage_one_outside
[17:48:01] [PASSED] drm_test_damage_iter_damage_src_moved
[17:48:01] [PASSED] drm_test_damage_iter_damage_not_visible
[17:48:01] ================ [PASSED] drm_damage_helper ================
[17:48:01] ============== drm_dp_mst_helper (3 subtests) ==============
[17:48:01] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[17:48:01] [PASSED] Clock 154000 BPP 30 DSC disabled
[17:48:01] [PASSED] Clock 234000 BPP 30 DSC disabled
[17:48:01] [PASSED] Clock 297000 BPP 24 DSC disabled
[17:48:01] [PASSED] Clock 332880 BPP 24 DSC enabled
[17:48:01] [PASSED] Clock 324540 BPP 24 DSC enabled
[17:48:01] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[17:48:01] ============== drm_test_dp_mst_calc_pbn_div  ===============
[17:48:01] [PASSED] Link rate 2000000 lane count 4
[17:48:01] [PASSED] Link rate 2000000 lane count 2
[17:48:01] [PASSED] Link rate 2000000 lane count 1
[17:48:01] [PASSED] Link rate 1350000 lane count 4
[17:48:01] [PASSED] Link rate 1350000 lane count 2
[17:48:01] [PASSED] Link rate 1350000 lane count 1
[17:48:01] [PASSED] Link rate 1000000 lane count 4
[17:48:01] [PASSED] Link rate 1000000 lane count 2
[17:48:01] [PASSED] Link rate 1000000 lane count 1
[17:48:01] [PASSED] Link rate 810000 lane count 4
[17:48:01] [PASSED] Link rate 810000 lane count 2
[17:48:01] [PASSED] Link rate 810000 lane count 1
[17:48:01] [PASSED] Link rate 540000 lane count 4
[17:48:01] [PASSED] Link rate 540000 lane count 2
[17:48:01] [PASSED] Link rate 540000 lane count 1
[17:48:01] [PASSED] Link rate 270000 lane count 4
[17:48:01] [PASSED] Link rate 270000 lane count 2
[17:48:01] [PASSED] Link rate 270000 lane count 1
[17:48:01] [PASSED] Link rate 162000 lane count 4
[17:48:01] [PASSED] Link rate 162000 lane count 2
[17:48:01] [PASSED] Link rate 162000 lane count 1
[17:48:01] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[17:48:01] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[17:48:01] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[17:48:01] [PASSED] DP_POWER_UP_PHY with port number
[17:48:01] [PASSED] DP_POWER_DOWN_PHY with port number
[17:48:01] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[17:48:01] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[17:48:01] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[17:48:01] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[17:48:01] [PASSED] DP_QUERY_PAYLOAD with port number
[17:48:01] [PASSED] DP_QUERY_PAYLOAD with VCPI
[17:48:01] [PASSED] DP_REMOTE_DPCD_READ with port number
[17:48:01] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[17:48:01] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[17:48:01] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[17:48:01] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[17:48:01] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[17:48:01] [PASSED] DP_REMOTE_I2C_READ with port number
[17:48:01] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[17:48:01] [PASSED] DP_REMOTE_I2C_READ with transactions array
[17:48:01] [PASSED] DP_REMOTE_I2C_WRITE with port number
[17:48:01] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[17:48:01] [PASSED] DP_REMOTE_I2C_WRITE with data array
[17:48:01] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[17:48:01] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[17:48:01] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[17:48:01] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[17:48:01] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[17:48:01] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[17:48:01] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[17:48:01] ================ [PASSED] drm_dp_mst_helper ================
[17:48:01] ================== drm_exec (7 subtests) ===================
[17:48:01] [PASSED] sanitycheck
[17:48:01] [PASSED] test_lock
[17:48:01] [PASSED] test_lock_unlock
[17:48:01] [PASSED] test_duplicates
[17:48:01] [PASSED] test_prepare
[17:48:01] [PASSED] test_prepare_array
[17:48:01] [PASSED] test_multiple_loops
[17:48:01] ==================== [PASSED] drm_exec =====================
[17:48:01] =========== drm_format_helper_test (17 subtests) ===========
[17:48:01] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[17:48:01] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[17:48:01] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[17:48:01] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[17:48:01] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[17:48:01] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[17:48:01] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[17:48:01] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[17:48:01] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[17:48:01] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[17:48:01] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[17:48:01] ============== drm_test_fb_xrgb8888_to_mono  ===============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[17:48:01] ==================== drm_test_fb_swab  =====================
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ================ [PASSED] drm_test_fb_swab =================
[17:48:01] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[17:48:01] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[17:48:01] [PASSED] single_pixel_source_buffer
[17:48:01] [PASSED] single_pixel_clip_rectangle
[17:48:01] [PASSED] well_known_colors
[17:48:01] [PASSED] destination_pitch
[17:48:01] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[17:48:01] ================= drm_test_fb_clip_offset  =================
[17:48:01] [PASSED] pass through
[17:48:01] [PASSED] horizontal offset
[17:48:01] [PASSED] vertical offset
[17:48:01] [PASSED] horizontal and vertical offset
[17:48:01] [PASSED] horizontal offset (custom pitch)
[17:48:01] [PASSED] vertical offset (custom pitch)
[17:48:01] [PASSED] horizontal and vertical offset (custom pitch)
[17:48:01] ============= [PASSED] drm_test_fb_clip_offset =============
[17:48:01] =================== drm_test_fb_memcpy  ====================
[17:48:01] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[17:48:01] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[17:48:01] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[17:48:01] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[17:48:01] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[17:48:01] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[17:48:01] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[17:48:01] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[17:48:01] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[17:48:01] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[17:48:01] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[17:48:01] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[17:48:01] =============== [PASSED] drm_test_fb_memcpy ================
[17:48:01] ============= [PASSED] drm_format_helper_test ==============
[17:48:01] ================= drm_format (18 subtests) =================
[17:48:01] [PASSED] drm_test_format_block_width_invalid
[17:48:01] [PASSED] drm_test_format_block_width_one_plane
[17:48:01] [PASSED] drm_test_format_block_width_two_plane
[17:48:01] [PASSED] drm_test_format_block_width_three_plane
[17:48:01] [PASSED] drm_test_format_block_width_tiled
[17:48:01] [PASSED] drm_test_format_block_height_invalid
[17:48:01] [PASSED] drm_test_format_block_height_one_plane
[17:48:01] [PASSED] drm_test_format_block_height_two_plane
[17:48:01] [PASSED] drm_test_format_block_height_three_plane
[17:48:01] [PASSED] drm_test_format_block_height_tiled
[17:48:01] [PASSED] drm_test_format_min_pitch_invalid
[17:48:01] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[17:48:01] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[17:48:01] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[17:48:01] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[17:48:01] [PASSED] drm_test_format_min_pitch_two_plane
[17:48:01] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[17:48:01] [PASSED] drm_test_format_min_pitch_tiled
[17:48:01] =================== [PASSED] drm_format ====================
[17:48:01] ============== drm_framebuffer (10 subtests) ===============
[17:48:01] ========== drm_test_framebuffer_check_src_coords  ==========
[17:48:01] [PASSED] Success: source fits into fb
[17:48:01] [PASSED] Fail: overflowing fb with x-axis coordinate
[17:48:01] [PASSED] Fail: overflowing fb with y-axis coordinate
[17:48:01] [PASSED] Fail: overflowing fb with source width
[17:48:01] [PASSED] Fail: overflowing fb with source height
[17:48:01] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[17:48:01] [PASSED] drm_test_framebuffer_cleanup
[17:48:01] =============== drm_test_framebuffer_create  ===============
[17:48:01] [PASSED] ABGR8888 normal sizes
[17:48:01] [PASSED] ABGR8888 max sizes
[17:48:01] [PASSED] ABGR8888 pitch greater than min required
[17:48:01] [PASSED] ABGR8888 pitch less than min required
[17:48:01] [PASSED] ABGR8888 Invalid width
[17:48:01] [PASSED] ABGR8888 Invalid buffer handle
[17:48:01] [PASSED] No pixel format
[17:48:01] [PASSED] ABGR8888 Width 0
[17:48:01] [PASSED] ABGR8888 Height 0
[17:48:01] [PASSED] ABGR8888 Out of bound height * pitch combination
[17:48:01] [PASSED] ABGR8888 Large buffer offset
[17:48:01] [PASSED] ABGR8888 Buffer offset for inexistent plane
[17:48:01] [PASSED] ABGR8888 Invalid flag
[17:48:01] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[17:48:01] [PASSED] ABGR8888 Valid buffer modifier
[17:48:01] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[17:48:01] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[17:48:01] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[17:48:01] [PASSED] NV12 Normal sizes
[17:48:01] [PASSED] NV12 Max sizes
[17:48:01] [PASSED] NV12 Invalid pitch
[17:48:01] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[17:48:01] [PASSED] NV12 different  modifier per-plane
[17:48:01] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[17:48:01] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[17:48:01] [PASSED] NV12 Modifier for inexistent plane
[17:48:01] [PASSED] NV12 Handle for inexistent plane
[17:48:01] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[17:48:01] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[17:48:01] [PASSED] YVU420 Normal sizes
[17:48:01] [PASSED] YVU420 Max sizes
[17:48:01] [PASSED] YVU420 Invalid pitch
[17:48:01] [PASSED] YVU420 Different pitches
[17:48:01] [PASSED] YVU420 Different buffer offsets/pitches
[17:48:01] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[17:48:01] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[17:48:01] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[17:48:01] [PASSED] YVU420 Valid modifier
[17:48:01] [PASSED] YVU420 Different modifiers per plane
[17:48:01] [PASSED] YVU420 Modifier for inexistent plane
[17:48:01] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[17:48:01] [PASSED] X0L2 Normal sizes
[17:48:01] [PASSED] X0L2 Max sizes
[17:48:01] [PASSED] X0L2 Invalid pitch
[17:48:01] [PASSED] X0L2 Pitch greater than minimum required
[17:48:01] [PASSED] X0L2 Handle for inexistent plane
[17:48:01] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[17:48:01] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[17:48:01] [PASSED] X0L2 Valid modifier
[17:48:01] [PASSED] X0L2 Modifier for inexistent plane
[17:48:01] =========== [PASSED] drm_test_framebuffer_create ===========
[17:48:01] [PASSED] drm_test_framebuffer_free
[17:48:01] [PASSED] drm_test_framebuffer_init
[17:48:01] [PASSED] drm_test_framebuffer_init_bad_format
[17:48:01] [PASSED] drm_test_framebuffer_init_dev_mismatch
[17:48:01] [PASSED] drm_test_framebuffer_lookup
[17:48:01] [PASSED] drm_test_framebuffer_lookup_inexistent
[17:48:01] [PASSED] drm_test_framebuffer_modifiers_not_supported
[17:48:01] ================= [PASSED] drm_framebuffer =================
[17:48:01] ================ drm_gem_shmem (8 subtests) ================
[17:48:01] [PASSED] drm_gem_shmem_test_obj_create
[17:48:01] [PASSED] drm_gem_shmem_test_obj_create_private
[17:48:01] [PASSED] drm_gem_shmem_test_pin_pages
[17:48:01] [PASSED] drm_gem_shmem_test_vmap
[17:48:01] [PASSED] drm_gem_shmem_test_get_pages_sgt
[17:48:01] [PASSED] drm_gem_shmem_test_get_sg_table
[17:48:01] [PASSED] drm_gem_shmem_test_madvise
[17:48:01] [PASSED] drm_gem_shmem_test_purge
[17:48:01] ================== [PASSED] drm_gem_shmem ==================
[17:48:01] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[17:48:01] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420  =======
[17:48:01] [PASSED] Automatic
[17:48:01] [PASSED] Full
[17:48:01] [PASSED] Limited 16:235
[17:48:01] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[17:48:01] [PASSED] drm_test_check_disable_connector
[17:48:01] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[17:48:01] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[17:48:01] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[17:48:01] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[17:48:01] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[17:48:01] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[17:48:01] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[17:48:01] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[17:48:01] [PASSED] drm_test_check_output_bpc_dvi
[17:48:01] [PASSED] drm_test_check_output_bpc_format_vic_1
[17:48:01] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[17:48:01] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[17:48:01] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[17:48:01] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[17:48:01] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[17:48:01] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[17:48:01] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[17:48:01] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[17:48:01] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[17:48:01] [PASSED] drm_test_check_broadcast_rgb_value
[17:48:01] [PASSED] drm_test_check_bpc_8_value
[17:48:01] [PASSED] drm_test_check_bpc_10_value
[17:48:01] [PASSED] drm_test_check_bpc_12_value
[17:48:01] [PASSED] drm_test_check_format_value
[17:48:01] [PASSED] drm_test_check_tmds_char_value
[17:48:01] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[17:48:01] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[17:48:01] [PASSED] drm_test_check_mode_valid
[17:48:01] [PASSED] drm_test_check_mode_valid_reject
[17:48:01] [PASSED] drm_test_check_mode_valid_reject_rate
[17:48:01] [PASSED] drm_test_check_mode_valid_reject_max_clock
[17:48:01] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[17:48:01] ================= drm_managed (2 subtests) =================
[17:48:01] [PASSED] drm_test_managed_release_action
[17:48:01] [PASSED] drm_test_managed_run_action
[17:48:01] =================== [PASSED] drm_managed ===================
[17:48:01] =================== drm_mm (6 subtests) ====================
[17:48:01] [PASSED] drm_test_mm_init
[17:48:01] [PASSED] drm_test_mm_debug
[17:48:01] [PASSED] drm_test_mm_align32
[17:48:01] [PASSED] drm_test_mm_align64
[17:48:01] [PASSED] drm_test_mm_lowest
[17:48:01] [PASSED] drm_test_mm_highest
[17:48:01] ===================== [PASSED] drm_mm ======================
[17:48:01] ============= drm_modes_analog_tv (5 subtests) =============
[17:48:01] [PASSED] drm_test_modes_analog_tv_mono_576i
[17:48:01] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[17:48:01] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[17:48:01] [PASSED] drm_test_modes_analog_tv_pal_576i
[17:48:01] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[17:48:01] =============== [PASSED] drm_modes_analog_tv ===============
[17:48:01] ============== drm_plane_helper (2 subtests) ===============
[17:48:01] =============== drm_test_check_plane_state  ================
[17:48:01] [PASSED] clipping_simple
[17:48:01] [PASSED] clipping_rotate_reflect
[17:48:01] [PASSED] positioning_simple
[17:48:01] [PASSED] upscaling
[17:48:01] [PASSED] downscaling
[17:48:01] [PASSED] rounding1
[17:48:01] [PASSED] rounding2
[17:48:01] [PASSED] rounding3
[17:48:01] [PASSED] rounding4
[17:48:01] =========== [PASSED] drm_test_check_plane_state ============
[17:48:01] =========== drm_test_check_invalid_plane_state  ============
[17:48:01] [PASSED] positioning_invalid
[17:48:01] [PASSED] upscaling_invalid
[17:48:01] [PASSED] downscaling_invalid
[17:48:01] ======= [PASSED] drm_test_check_invalid_plane_state ========
[17:48:01] ================ [PASSED] drm_plane_helper =================
[17:48:01] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[17:48:01] ====== drm_test_connector_helper_tv_get_modes_check  =======
[17:48:01] [PASSED] None
[17:48:01] [PASSED] PAL
[17:48:01] [PASSED] NTSC
[17:48:01] [PASSED] Both, NTSC Default
[17:48:01] [PASSED] Both, PAL Default
[17:48:01] [PASSED] Both, NTSC Default, with PAL on command-line
[17:48:01] [PASSED] Both, PAL Default, with NTSC on command-line
[17:48:01] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[17:48:01] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[17:48:01] ================== drm_rect (9 subtests) ===================
[17:48:01] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[17:48:01] [PASSED] drm_test_rect_clip_scaled_not_clipped
[17:48:01] [PASSED] drm_test_rect_clip_scaled_clipped
[17:48:01] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[17:48:01] ================= drm_test_rect_intersect  =================
[17:48:01] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[17:48:01] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[17:48:01] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[17:48:01] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[17:48:01] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[17:48:01] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[17:48:01] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[17:48:01] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[17:48:01] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[17:48:01] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[17:48:01] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[17:48:01] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[17:48:01] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[17:48:01] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[17:48:01] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[17:48:01] ============= [PASSED] drm_test_rect_intersect =============
[17:48:01] ================ drm_test_rect_calc_hscale  ================
[17:48:01] [PASSED] normal use
[17:48:01] [PASSED] out of max range
[17:48:01] [PASSED] out of min range
[17:48:01] [PASSED] zero dst
[17:48:01] [PASSED] negative src
[17:48:01] [PASSED] negative dst
[17:48:01] ============ [PASSED] drm_test_rect_calc_hscale ============
[17:48:01] ================ drm_test_rect_calc_vscale  ================
[17:48:01] [PASSED] normal use
[17:48:01] [PASSED] out of max range
[17:48:01] [PASSED] out of min range
[17:48:01] [PASSED] zero dst
[17:48:01] [PASSED] negative src
stty: 'standard input': Inappropriate ioctl for device
[17:48:01] [PASSED] negative dst
[17:48:01] ============ [PASSED] drm_test_rect_calc_vscale ============
[17:48:01] ================== drm_test_rect_rotate  ===================
[17:48:01] [PASSED] reflect-x
[17:48:01] [PASSED] reflect-y
[17:48:01] [PASSED] rotate-0
[17:48:01] [PASSED] rotate-90
[17:48:01] [PASSED] rotate-180
[17:48:01] [PASSED] rotate-270
[17:48:01] ============== [PASSED] drm_test_rect_rotate ===============
[17:48:01] ================ drm_test_rect_rotate_inv  =================
[17:48:01] [PASSED] reflect-x
[17:48:01] [PASSED] reflect-y
[17:48:01] [PASSED] rotate-0
[17:48:01] [PASSED] rotate-90
[17:48:01] [PASSED] rotate-180
[17:48:01] [PASSED] rotate-270
[17:48:01] ============ [PASSED] drm_test_rect_rotate_inv =============
[17:48:01] ==================== [PASSED] drm_rect =====================
[17:48:01] ============ drm_sysfb_modeset_test (1 subtest) ============
[17:48:01] ============ drm_test_sysfb_build_fourcc_list  =============
[17:48:01] [PASSED] no native formats
[17:48:01] [PASSED] XRGB8888 as native format
[17:48:01] [PASSED] remove duplicates
[17:48:01] [PASSED] convert alpha formats
[17:48:01] [PASSED] random formats
[17:48:01] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[17:48:01] ============= [PASSED] drm_sysfb_modeset_test ==============
[17:48:01] ============================================================
[17:48:01] Testing complete. Ran 621 tests: passed: 621
[17:48:01] Elapsed time: 42.475s total, 1.728s configuring, 40.377s building, 0.337s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[17:48:01] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[17:48:04] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[17:48:19] Starting KUnit Kernel (1/1)...
[17:48:19] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[17:48:19] ================= ttm_device (5 subtests) ==================
[17:48:19] [PASSED] ttm_device_init_basic
[17:48:19] [PASSED] ttm_device_init_multiple
[17:48:19] [PASSED] ttm_device_fini_basic
[17:48:19] [PASSED] ttm_device_init_no_vma_man
[17:48:19] ================== ttm_device_init_pools  ==================
[17:48:19] [PASSED] No DMA allocations, no DMA32 required
[17:48:19] [PASSED] DMA allocations, DMA32 required
[17:48:19] [PASSED] No DMA allocations, DMA32 required
[17:48:19] [PASSED] DMA allocations, no DMA32 required
[17:48:19] ============== [PASSED] ttm_device_init_pools ==============
[17:48:19] =================== [PASSED] ttm_device ====================
[17:48:19] ================== ttm_pool (8 subtests) ===================
[17:48:19] ================== ttm_pool_alloc_basic  ===================
[17:48:19] [PASSED] One page
[17:48:19] [PASSED] More than one page
[17:48:19] [PASSED] Above the allocation limit
[17:48:19] [PASSED] One page, with coherent DMA mappings enabled
[17:48:19] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[17:48:19] ============== [PASSED] ttm_pool_alloc_basic ===============
[17:48:19] ============== ttm_pool_alloc_basic_dma_addr  ==============
[17:48:19] [PASSED] One page
[17:48:19] [PASSED] More than one page
[17:48:19] [PASSED] Above the allocation limit
[17:48:19] [PASSED] One page, with coherent DMA mappings enabled
[17:48:19] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[17:48:19] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[17:48:19] [PASSED] ttm_pool_alloc_order_caching_match
[17:48:19] [PASSED] ttm_pool_alloc_caching_mismatch
[17:48:19] [PASSED] ttm_pool_alloc_order_mismatch
[17:48:19] [PASSED] ttm_pool_free_dma_alloc
[17:48:19] [PASSED] ttm_pool_free_no_dma_alloc
[17:48:19] [PASSED] ttm_pool_fini_basic
[17:48:19] ==================== [PASSED] ttm_pool =====================
[17:48:19] ================ ttm_resource (8 subtests) =================
[17:48:19] ================= ttm_resource_init_basic  =================
[17:48:19] [PASSED] Init resource in TTM_PL_SYSTEM
[17:48:19] [PASSED] Init resource in TTM_PL_VRAM
[17:48:19] [PASSED] Init resource in a private placement
[17:48:19] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[17:48:19] ============= [PASSED] ttm_resource_init_basic =============
[17:48:19] [PASSED] ttm_resource_init_pinned
[17:48:19] [PASSED] ttm_resource_fini_basic
[17:48:19] [PASSED] ttm_resource_manager_init_basic
[17:48:19] [PASSED] ttm_resource_manager_usage_basic
[17:48:19] [PASSED] ttm_resource_manager_set_used_basic
[17:48:19] [PASSED] ttm_sys_man_alloc_basic
[17:48:19] [PASSED] ttm_sys_man_free_basic
[17:48:19] ================== [PASSED] ttm_resource ===================
[17:48:19] =================== ttm_tt (15 subtests) ===================
[17:48:19] ==================== ttm_tt_init_basic  ====================
[17:48:19] [PASSED] Page-aligned size
[17:48:19] [PASSED] Extra pages requested
[17:48:19] ================ [PASSED] ttm_tt_init_basic ================
[17:48:19] [PASSED] ttm_tt_init_misaligned
[17:48:19] [PASSED] ttm_tt_fini_basic
[17:48:19] [PASSED] ttm_tt_fini_sg
[17:48:19] [PASSED] ttm_tt_fini_shmem
[17:48:19] [PASSED] ttm_tt_create_basic
[17:48:19] [PASSED] ttm_tt_create_invalid_bo_type
[17:48:19] [PASSED] ttm_tt_create_ttm_exists
[17:48:19] [PASSED] ttm_tt_create_failed
[17:48:19] [PASSED] ttm_tt_destroy_basic
[17:48:19] [PASSED] ttm_tt_populate_null_ttm
[17:48:19] [PASSED] ttm_tt_populate_populated_ttm
[17:48:19] [PASSED] ttm_tt_unpopulate_basic
[17:48:19] [PASSED] ttm_tt_unpopulate_empty_ttm
[17:48:19] [PASSED] ttm_tt_swapin_basic
[17:48:19] ===================== [PASSED] ttm_tt ======================
[17:48:19] =================== ttm_bo (14 subtests) ===================
[17:48:19] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[17:48:19] [PASSED] Cannot be interrupted and sleeps
[17:48:19] [PASSED] Cannot be interrupted, locks straight away
[17:48:19] [PASSED] Can be interrupted, sleeps
[17:48:19] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[17:48:19] [PASSED] ttm_bo_reserve_locked_no_sleep
[17:48:19] [PASSED] ttm_bo_reserve_no_wait_ticket
[17:48:19] [PASSED] ttm_bo_reserve_double_resv
[17:48:19] [PASSED] ttm_bo_reserve_interrupted
[17:48:19] [PASSED] ttm_bo_reserve_deadlock
[17:48:19] [PASSED] ttm_bo_unreserve_basic
[17:48:19] [PASSED] ttm_bo_unreserve_pinned
[17:48:19] [PASSED] ttm_bo_unreserve_bulk
[17:48:19] [PASSED] ttm_bo_fini_basic
[17:48:19] [PASSED] ttm_bo_fini_shared_resv
[17:48:19] [PASSED] ttm_bo_pin_basic
[17:48:19] [PASSED] ttm_bo_pin_unpin_resource
[17:48:19] [PASSED] ttm_bo_multiple_pin_one_unpin
[17:48:19] ===================== [PASSED] ttm_bo ======================
[17:48:19] ============== ttm_bo_validate (21 subtests) ===============
[17:48:19] ============== ttm_bo_init_reserved_sys_man  ===============
[17:48:19] [PASSED] Buffer object for userspace
[17:48:19] [PASSED] Kernel buffer object
[17:48:19] [PASSED] Shared buffer object
[17:48:19] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[17:48:19] ============== ttm_bo_init_reserved_mock_man  ==============
[17:48:19] [PASSED] Buffer object for userspace
[17:48:19] [PASSED] Kernel buffer object
[17:48:19] [PASSED] Shared buffer object
[17:48:19] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[17:48:19] [PASSED] ttm_bo_init_reserved_resv
[17:48:19] ================== ttm_bo_validate_basic  ==================
[17:48:19] [PASSED] Buffer object for userspace
[17:48:19] [PASSED] Kernel buffer object
[17:48:19] [PASSED] Shared buffer object
[17:48:19] ============== [PASSED] ttm_bo_validate_basic ==============
[17:48:19] [PASSED] ttm_bo_validate_invalid_placement
[17:48:19] ============= ttm_bo_validate_same_placement  ==============
[17:48:19] [PASSED] System manager
[17:48:19] [PASSED] VRAM manager
[17:48:19] ========= [PASSED] ttm_bo_validate_same_placement ==========
[17:48:19] [PASSED] ttm_bo_validate_failed_alloc
[17:48:19] [PASSED] ttm_bo_validate_pinned
[17:48:19] [PASSED] ttm_bo_validate_busy_placement
[17:48:19] ================ ttm_bo_validate_multihop  =================
[17:48:19] [PASSED] Buffer object for userspace
[17:48:19] [PASSED] Kernel buffer object
[17:48:19] [PASSED] Shared buffer object
[17:48:19] ============ [PASSED] ttm_bo_validate_multihop =============
[17:48:19] ========== ttm_bo_validate_no_placement_signaled  ==========
[17:48:19] [PASSED] Buffer object in system domain, no page vector
[17:48:19] [PASSED] Buffer object in system domain with an existing page vector
[17:48:19] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[17:48:19] ======== ttm_bo_validate_no_placement_not_signaled  ========
[17:48:19] [PASSED] Buffer object for userspace
[17:48:19] [PASSED] Kernel buffer object
[17:48:19] [PASSED] Shared buffer object
[17:48:19] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[17:48:19] [PASSED] ttm_bo_validate_move_fence_signaled
[17:48:19] ========= ttm_bo_validate_move_fence_not_signaled  =========
[17:48:19] [PASSED] Waits for GPU
[17:48:19] [PASSED] Tries to lock straight away
[17:48:19] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[17:48:19] [PASSED] ttm_bo_validate_happy_evict
[17:48:19] [PASSED] ttm_bo_validate_all_pinned_evict
[17:48:19] [PASSED] ttm_bo_validate_allowed_only_evict
[17:48:19] [PASSED] ttm_bo_validate_deleted_evict
[17:48:19] [PASSED] ttm_bo_validate_busy_domain_evict
[17:48:19] [PASSED] ttm_bo_validate_evict_gutting
[17:48:19] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[17:48:19] ================= [PASSED] ttm_bo_validate =================
[17:48:19] ============================================================
[17:48:19] Testing complete. Ran 101 tests: passed: 101
[17:48:19] Elapsed time: 18.126s total, 2.652s configuring, 15.200s building, 0.220s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✗ CI.checksparse: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (21 preceding siblings ...)
  2025-09-23 17:48 ` ✓ CI.KUnit: success " Patchwork
@ 2025-09-23 18:09 ` Patchwork
  2025-09-23 21:34 ` ✗ Xe.CI.Full: failure " Patchwork
                   ` (12 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-23 18:09 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset
URL   : https://patchwork.freedesktop.org/series/154922/
State : warning

== Summary ==

+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast b7dc24fb9b729c5719c63fd9e7706a26674017f3
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
+drivers/gpu/drm/i915/display/intel_alpm.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_hotplug.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+drivers/gpu/drm/i915/i915_irq.c:486:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:486:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:494:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:494:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:499:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:499:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:499:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:537:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:537:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:545:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:545:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:550:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:550:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:550:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:594:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:594:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:597:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:597:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:601:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:601:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:608:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:608:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:608:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:608:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/intel_uncore.c:1928:1: warning: context imbalance in 'fwtable_read8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1929:1: warning: context imbalance in 'fwtable_read16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1930:1: warning: context imbalance in 'fwtable_read32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1931:1: warning: context imbalance in 'fwtable_read64' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1996:1: warning: context imbalance in 'gen6_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1997:1: warning: context imbalance in 'gen6_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1998:1: warning: context imbalance in 'gen6_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2018:1: warning: context imbalance in 'fwtable_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2019:1: warning: context imbalance in 'fwtable_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2020:1: warning: context imbalance in 'fwtable_write32' - unexpected unlock

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✗ Xe.CI.Full: failure for drm/i915/cdclk: Decouple CDCLK from state->modeset
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (22 preceding siblings ...)
  2025-09-23 18:09 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-09-23 21:34 ` Patchwork
  2025-09-24  3:47 ` ✓ Xe.CI.BAT: success " Patchwork
                   ` (11 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-23 21:34 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset
URL   : https://patchwork.freedesktop.org/series/154922/
State : failure

== Summary ==

ERROR: The runconfig 'xe-3818-684be60267d323ab44ef75a0531d9a2af49ff51a_FULL' does not exist in the database

== Logs ==

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

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

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

* Re: [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
  2025-09-23 17:19 ` [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count() Ville Syrjala
@ 2025-09-23 23:05   ` kernel test robot
  2025-09-24  6:16   ` [PATCH v2 " Ville Syrjala
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 43+ messages in thread
From: kernel test robot @ 2025-09-23 23:05 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx; +Cc: llvm, oe-kbuild-all, intel-xe

Hi Ville,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.17-rc7 next-20250923]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Ville-Syrjala/drm-i915-Introduce-intel_crtc_enable_changed-and-intel_any_crtc_enable_changed/20250924-020047
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
patch link:    https://lore.kernel.org/r/20250923171943.7319-7-ville.syrjala%40linux.intel.com
patch subject: [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
config: i386-buildonly-randconfig-005-20250924 (https://download.01.org/0day-ci/archive/20250924/202509240628.RRJfRMpz-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250924/202509240628.RRJfRMpz-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509240628.RRJfRMpz-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/i915/display/intel_cdclk.c:2619:6: warning: variable 'voltage_level' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
    2619 |         if (!intel_cdclk_changed(&old_cdclk_state->actual,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2620 |                                  &new_cdclk_state->actual) &&
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2621 |             dg2_power_well_count(display, old_cdclk_state) ==
         |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2622 |             dg2_power_well_count(display, old_cdclk_state))
         |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2649:30: note: uninitialized use occurs here
    2649 |         intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
         |                                     ^~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2619:2: note: remove the 'if' if its condition is always true
    2619 |         if (!intel_cdclk_changed(&old_cdclk_state->actual,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2620 |                                  &new_cdclk_state->actual) &&
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2621 |             dg2_power_well_count(display, old_cdclk_state) ==
         |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2622 |             dg2_power_well_count(display, old_cdclk_state))
         |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2623 | 
    2624 |         /* According to "Sequence Before Frequency Change", voltage level set to 0x3 */
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2625 |         voltage_level = DISPLAY_TO_PCODE_VOLTAGE_MAX;
>> drivers/gpu/drm/i915/display/intel_cdclk.c:2619:6: warning: variable 'voltage_level' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized]
    2619 |         if (!intel_cdclk_changed(&old_cdclk_state->actual,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2620 |                                  &new_cdclk_state->actual) &&
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2649:30: note: uninitialized use occurs here
    2649 |         intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
         |                                     ^~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2619:6: note: remove the '&&' if its condition is always true
    2619 |         if (!intel_cdclk_changed(&old_cdclk_state->actual,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2620 |                                  &new_cdclk_state->actual) &&
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2616:42: note: initialize the variable 'voltage_level' to silence this warning
    2616 |         unsigned int cdclk = 0; u8 voltage_level, num_active_pipes = 0;
         |                                                 ^
         |                                                  = '\0'
   2 warnings generated.


vim +2619 drivers/gpu/drm/i915/display/intel_cdclk.c

4267196aad5923 Ville Syrjälä       2025-09-23  2608  
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2609  static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2610  {
d34927acff9150 Ville Syrjälä       2024-09-06  2611  	struct intel_display *display = to_intel_display(state);
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2612  	const struct intel_cdclk_state *old_cdclk_state =
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2613  		intel_atomic_get_old_cdclk_state(state);
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2614  	const struct intel_cdclk_state *new_cdclk_state =
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2615  		intel_atomic_get_new_cdclk_state(state);
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2616  	unsigned int cdclk = 0; u8 voltage_level, num_active_pipes = 0;
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2617  	bool change_cdclk, update_pipe_count;
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2618  
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04 @2619  	if (!intel_cdclk_changed(&old_cdclk_state->actual,
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2620  				 &new_cdclk_state->actual) &&
4267196aad5923 Ville Syrjälä       2025-09-23  2621  	    dg2_power_well_count(display, old_cdclk_state) ==
4267196aad5923 Ville Syrjälä       2025-09-23  2622  	    dg2_power_well_count(display, old_cdclk_state))
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2623  
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2624  	/* According to "Sequence Before Frequency Change", voltage level set to 0x3 */
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2625  	voltage_level = DISPLAY_TO_PCODE_VOLTAGE_MAX;
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2626  
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2627  	change_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
4267196aad5923 Ville Syrjälä       2025-09-23  2628  	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) >
4267196aad5923 Ville Syrjälä       2025-09-23  2629  		dg2_power_well_count(display, old_cdclk_state);
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2630  
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2631  	/*
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2632  	 * According to "Sequence Before Frequency Change",
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2633  	 * if CDCLK is increasing, set bits 25:16 to upcoming CDCLK,
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2634  	 * if CDCLK is decreasing or not changing, set bits 25:16 to current CDCLK,
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2635  	 * which basically means we choose the maximum of old and new CDCLK, if we know both
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2636  	 */
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2637  	if (change_cdclk)
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2638  		cdclk = max(new_cdclk_state->actual.cdclk, old_cdclk_state->actual.cdclk);
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2639  
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2640  	/*
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2641  	 * According to "Sequence For Pipe Count Change",
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2642  	 * if pipe count is increasing, set bits 25:16 to upcoming pipe count
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2643  	 * (power well is enabled)
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2644  	 * no action if it is decreasing, before the change
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2645  	 */
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2646  	if (update_pipe_count)
4267196aad5923 Ville Syrjälä       2025-09-23  2647  		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2648  
d34927acff9150 Ville Syrjälä       2024-09-06  2649  	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2650  			   change_cdclk, update_pipe_count);
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2651  }
ceb0cc3b428825 Stanislav Lisovskiy 2023-05-04  2652  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* ✓ Xe.CI.BAT: success for drm/i915/cdclk: Decouple CDCLK from state->modeset
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (23 preceding siblings ...)
  2025-09-23 21:34 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-09-24  3:47 ` Patchwork
  2025-09-24  6:22 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2) Patchwork
                   ` (10 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-24  3:47 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset
URL   : https://patchwork.freedesktop.org/series/154922/
State : success

== Summary ==

CI Bug Log - changes from xe-3818-684be60267d323ab44ef75a0531d9a2af49ff51a_BAT -> xe-pw-154922v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (11 -> 9)
------------------------------

  Missing    (2): bat-adlp-vm bat-ptl-vm 

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

  Here are the changes found in xe-pw-154922v1_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_flip@basic-plain-flip@b-edp1:
    - bat-adlp-7:         [PASS][1] -> [DMESG-WARN][2] ([Intel XE#4543]) +1 other test dmesg-warn
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3818-684be60267d323ab44ef75a0531d9a2af49ff51a/bat-adlp-7/igt@kms_flip@basic-plain-flip@b-edp1.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v1/bat-adlp-7/igt@kms_flip@basic-plain-flip@b-edp1.html

  
#### Possible fixes ####

  * igt@xe_pat@pat-index-xe2@render:
    - bat-bmg-2:          [FAIL][3] ([Intel XE#5507]) -> [PASS][4] +1 other test pass
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3818-684be60267d323ab44ef75a0531d9a2af49ff51a/bat-bmg-2/igt@xe_pat@pat-index-xe2@render.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v1/bat-bmg-2/igt@xe_pat@pat-index-xe2@render.html
    - bat-bmg-1:          [FAIL][5] ([Intel XE#5507]) -> [PASS][6] +1 other test pass
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3818-684be60267d323ab44ef75a0531d9a2af49ff51a/bat-bmg-1/igt@xe_pat@pat-index-xe2@render.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v1/bat-bmg-1/igt@xe_pat@pat-index-xe2@render.html

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


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

  * Linux: xe-3818-684be60267d323ab44ef75a0531d9a2af49ff51a -> xe-pw-154922v1

  IGT_8550: 4f8c7886ad02e116804ec08714f17bce1755c6e4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-3818-684be60267d323ab44ef75a0531d9a2af49ff51a: 684be60267d323ab44ef75a0531d9a2af49ff51a
  xe-pw-154922v1: 154922v1

== Logs ==

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

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

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

* [PATCH v2 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
  2025-09-23 17:19 ` [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count() Ville Syrjala
  2025-09-23 23:05   ` kernel test robot
@ 2025-09-24  6:16   ` Ville Syrjala
  2025-09-24  9:05     ` Jani Nikula
  2025-09-26  8:39   ` [PATCH v3 " Ville Syrjala
  2025-10-09 16:59   ` [PATCH " kernel test robot
  3 siblings, 1 reply; 43+ messages in thread
From: Ville Syrjala @ 2025-09-24  6:16 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe

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

Extract the code to determine the DG2 pipe power well count
into a small helper. I'll have other uses for this later.

TODO: need to move this power well stuff out from the cdclk code...

v2: Don't lose the early return from intel_cdclk_pcode_pre_notify()
    (kernel test robot)

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

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 05d9f488895e..f190cfb85a34 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2591,6 +2591,12 @@ static void intel_set_cdclk(struct intel_display *display,
 	}
 }
 
+static bool dg2_power_well_count(struct intel_display *display,
+				 const struct intel_cdclk_state *cdclk_state)
+{
+	return display->platform.dg2 ? hweight8(cdclk_state->active_pipes) : 0;
+}
+
 static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 {
 	struct intel_display *display = to_intel_display(state);
@@ -2603,16 +2609,16 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 
 	if (!intel_cdclk_changed(&old_cdclk_state->actual,
 				 &new_cdclk_state->actual) &&
-				 new_cdclk_state->active_pipes ==
-				 old_cdclk_state->active_pipes)
+	    dg2_power_well_count(display, old_cdclk_state) ==
+	    dg2_power_well_count(display, old_cdclk_state))
 		return;
 
 	/* According to "Sequence Before Frequency Change", voltage level set to 0x3 */
 	voltage_level = DISPLAY_TO_PCODE_VOLTAGE_MAX;
 
 	change_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
-	update_pipe_count = hweight8(new_cdclk_state->active_pipes) >
-			    hweight8(old_cdclk_state->active_pipes);
+	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) >
+		dg2_power_well_count(display, old_cdclk_state);
 
 	/*
 	 * According to "Sequence Before Frequency Change",
@@ -2630,7 +2636,7 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 	 * no action if it is decreasing, before the change
 	 */
 	if (update_pipe_count)
-		num_active_pipes = hweight8(new_cdclk_state->active_pipes);
+		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
 
 	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
 			   change_cdclk, update_pipe_count);
@@ -2650,8 +2656,8 @@ static void intel_cdclk_pcode_post_notify(struct intel_atomic_state *state)
 	voltage_level = new_cdclk_state->actual.voltage_level;
 
 	update_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
-	update_pipe_count = hweight8(new_cdclk_state->active_pipes) <
-			    hweight8(old_cdclk_state->active_pipes);
+	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) <
+		dg2_power_well_count(display, old_cdclk_state);
 
 	/*
 	 * According to "Sequence After Frequency Change",
@@ -2667,7 +2673,7 @@ static void intel_cdclk_pcode_post_notify(struct intel_atomic_state *state)
 	 * no action if it is increasing, after the change
 	 */
 	if (update_pipe_count)
-		num_active_pipes = hweight8(new_cdclk_state->active_pipes);
+		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
 
 	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
 			   update_cdclk, update_pipe_count);
@@ -3248,15 +3254,14 @@ static bool intel_cdclk_need_serialize(struct intel_display *display,
 				       const struct intel_cdclk_state *old_cdclk_state,
 				       const struct intel_cdclk_state *new_cdclk_state)
 {
-	bool power_well_cnt_changed = hweight8(old_cdclk_state->active_pipes) !=
-				      hweight8(new_cdclk_state->active_pipes);
-	bool cdclk_changed = intel_cdclk_changed(&old_cdclk_state->actual,
-						 &new_cdclk_state->actual);
 	/*
-	 * We need to poke hw for gen >= 12, because we notify PCode if
+	 * We need to poke hw for DG2, because we notify PCode if
 	 * pipe power well count changes.
 	 */
-	return cdclk_changed || (display->platform.dg2 && power_well_cnt_changed);
+	return intel_cdclk_changed(&old_cdclk_state->actual,
+				   &new_cdclk_state->actual) ||
+		dg2_power_well_count(display, old_cdclk_state) !=
+		dg2_power_well_count(display, new_cdclk_state);
 }
 
 int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
-- 
2.49.1


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

* ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (24 preceding siblings ...)
  2025-09-24  3:47 ` ✓ Xe.CI.BAT: success " Patchwork
@ 2025-09-24  6:22 ` Patchwork
  2025-09-24  6:23 ` ✓ CI.KUnit: success " Patchwork
                   ` (9 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-24  6:22 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
URL   : https://patchwork.freedesktop.org/series/154922/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
fbd08a78c3a3bb17964db2a326514c69c1dca660
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit cffd78564cfd68c83eb72ddcad14735358c284de
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Tue Sep 23 20:19:42 2025 +0300

    drm/i915/cdclk: Move intel_cdclk_atomic_check()
    
    Move intel_cdclk_atomic_check() a bit so that we don't need an
    extra intel_modeset_calc_cdclk() forward declaration.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+ /mt/dim checkpatch af3cdefd0a1ad2dad29fcde0854ccbce494cc28a drm-intel
4b5720fbb113 drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed()
f1b1b73b247e drm/i915: Introduce intel_crtc_active_changed() and intel_any_crtc_active_changed()
e65d8fae7eb8 drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is changing its active state
782854afc296 drm/1915/bw: Drop redundant display version checks
f19e9fb0ffca drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed()
69dc7b59a23e drm/i915/cdclk: Extract dg2_power_well_count()
02553ea3d6b8 drm/i915/cdclk: Introduce intel_cdclk_modeset_checks()
91298ce7a40a drm/i915/cdclk: Handle the force_min_cdclk state locking in intel_cdclk_atomic_check()
e4fbd1f13dbc drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk()
4dc97f70b6a8 drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk()
577ca5a52712 drm/i915/cdclk: Rework bw_min_cdclk handling
109e946c6c7d drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe
-:53: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#53: FILE: drivers/gpu/drm/i915/display/intel_cdclk.c:3295:
+							intel_crtc_compute_min_cdclk(old_crtc_state),

-:54: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#54: FILE: drivers/gpu/drm/i915/display/intel_cdclk.c:3296:
+							intel_crtc_compute_min_cdclk(new_crtc_state),

total: 0 errors, 2 warnings, 0 checks, 116 lines checked
f0681f8418af drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls
d98a8ce79e66 drm/i915/cdclk: Rework crtc min_cdclk handling
5d4c18296e19 drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into intel_crtc_compute_min_cdclk()
c3d2dec024dd drm/i915/cdclk: Decuple cdclk from state->modeset
26027f67dbc9 drm/i915: Introduce intel_calc_enabled_pipes()
67fe4eec04cf drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk audio w/a
2226a14eb0df drm/i915/cdclk: Hide intel_modeset_calc_cdclk()
cffd78564cfd drm/i915/cdclk: Move intel_cdclk_atomic_check()



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

* ✓ CI.KUnit: success for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (25 preceding siblings ...)
  2025-09-24  6:22 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2) Patchwork
@ 2025-09-24  6:23 ` Patchwork
  2025-09-24  6:38 ` ✗ CI.checksparse: warning " Patchwork
                   ` (8 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-24  6:23 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
URL   : https://patchwork.freedesktop.org/series/154922/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[06:22:09] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:22:13] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[06:22:42] Starting KUnit Kernel (1/1)...
[06:22:42] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:22:42] ================== guc_buf (11 subtests) ===================
[06:22:42] [PASSED] test_smallest
[06:22:42] [PASSED] test_largest
[06:22:42] [PASSED] test_granular
[06:22:42] [PASSED] test_unique
[06:22:42] [PASSED] test_overlap
[06:22:42] [PASSED] test_reusable
[06:22:42] [PASSED] test_too_big
[06:22:42] [PASSED] test_flush
[06:22:42] [PASSED] test_lookup
[06:22:42] [PASSED] test_data
[06:22:42] [PASSED] test_class
[06:22:42] ===================== [PASSED] guc_buf =====================
[06:22:42] =================== guc_dbm (7 subtests) ===================
[06:22:42] [PASSED] test_empty
[06:22:42] [PASSED] test_default
[06:22:42] ======================== test_size  ========================
[06:22:42] [PASSED] 4
[06:22:42] [PASSED] 8
[06:22:42] [PASSED] 32
[06:22:42] [PASSED] 256
[06:22:42] ==================== [PASSED] test_size ====================
[06:22:42] ======================= test_reuse  ========================
[06:22:42] [PASSED] 4
[06:22:42] [PASSED] 8
[06:22:42] [PASSED] 32
[06:22:42] [PASSED] 256
[06:22:42] =================== [PASSED] test_reuse ====================
[06:22:42] =================== test_range_overlap  ====================
[06:22:42] [PASSED] 4
[06:22:42] [PASSED] 8
[06:22:42] [PASSED] 32
[06:22:42] [PASSED] 256
[06:22:42] =============== [PASSED] test_range_overlap ================
[06:22:42] =================== test_range_compact  ====================
[06:22:42] [PASSED] 4
[06:22:42] [PASSED] 8
[06:22:42] [PASSED] 32
[06:22:42] [PASSED] 256
[06:22:42] =============== [PASSED] test_range_compact ================
[06:22:42] ==================== test_range_spare  =====================
[06:22:42] [PASSED] 4
[06:22:42] [PASSED] 8
[06:22:42] [PASSED] 32
[06:22:42] [PASSED] 256
[06:22:42] ================ [PASSED] test_range_spare =================
[06:22:42] ===================== [PASSED] guc_dbm =====================
[06:22:42] =================== guc_idm (6 subtests) ===================
[06:22:42] [PASSED] bad_init
[06:22:42] [PASSED] no_init
[06:22:42] [PASSED] init_fini
[06:22:42] [PASSED] check_used
[06:22:42] [PASSED] check_quota
[06:22:42] [PASSED] check_all
[06:22:42] ===================== [PASSED] guc_idm =====================
[06:22:42] ================== no_relay (3 subtests) ===================
[06:22:42] [PASSED] xe_drops_guc2pf_if_not_ready
[06:22:42] [PASSED] xe_drops_guc2vf_if_not_ready
[06:22:42] [PASSED] xe_rejects_send_if_not_ready
[06:22:42] ==================== [PASSED] no_relay =====================
[06:22:42] ================== pf_relay (14 subtests) ==================
[06:22:42] [PASSED] pf_rejects_guc2pf_too_short
[06:22:42] [PASSED] pf_rejects_guc2pf_too_long
[06:22:42] [PASSED] pf_rejects_guc2pf_no_payload
[06:22:42] [PASSED] pf_fails_no_payload
[06:22:42] [PASSED] pf_fails_bad_origin
[06:22:42] [PASSED] pf_fails_bad_type
[06:22:42] [PASSED] pf_txn_reports_error
[06:22:42] [PASSED] pf_txn_sends_pf2guc
[06:22:42] [PASSED] pf_sends_pf2guc
[06:22:42] [SKIPPED] pf_loopback_nop
[06:22:42] [SKIPPED] pf_loopback_echo
[06:22:42] [SKIPPED] pf_loopback_fail
[06:22:42] [SKIPPED] pf_loopback_busy
[06:22:42] [SKIPPED] pf_loopback_retry
[06:22:42] ==================== [PASSED] pf_relay =====================
[06:22:42] ================== vf_relay (3 subtests) ===================
[06:22:42] [PASSED] vf_rejects_guc2vf_too_short
[06:22:42] [PASSED] vf_rejects_guc2vf_too_long
[06:22:42] [PASSED] vf_rejects_guc2vf_no_payload
[06:22:42] ==================== [PASSED] vf_relay =====================
[06:22:42] ===================== lmtt (1 subtest) =====================
[06:22:42] ======================== test_ops  =========================
[06:22:42] [PASSED] 2-level
[06:22:42] [PASSED] multi-level
[06:22:42] ==================== [PASSED] test_ops =====================
[06:22:42] ====================== [PASSED] lmtt =======================
[06:22:42] ================= pf_service (11 subtests) =================
[06:22:42] [PASSED] pf_negotiate_any
[06:22:42] [PASSED] pf_negotiate_base_match
[06:22:42] [PASSED] pf_negotiate_base_newer
[06:22:42] [PASSED] pf_negotiate_base_next
[06:22:42] [SKIPPED] pf_negotiate_base_older
[06:22:42] [PASSED] pf_negotiate_base_prev
[06:22:42] [PASSED] pf_negotiate_latest_match
[06:22:42] [PASSED] pf_negotiate_latest_newer
[06:22:42] [PASSED] pf_negotiate_latest_next
[06:22:42] [SKIPPED] pf_negotiate_latest_older
[06:22:42] [SKIPPED] pf_negotiate_latest_prev
[06:22:42] =================== [PASSED] pf_service ====================
[06:22:42] ================= xe_guc_g2g (2 subtests) ==================
[06:22:42] ============== xe_live_guc_g2g_kunit_default  ==============
[06:22:42] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[06:22:42] ============== xe_live_guc_g2g_kunit_allmem  ===============
[06:22:42] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[06:22:42] =================== [SKIPPED] xe_guc_g2g ===================
[06:22:42] =================== xe_mocs (2 subtests) ===================
[06:22:42] ================ xe_live_mocs_kernel_kunit  ================
[06:22:42] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[06:22:42] ================ xe_live_mocs_reset_kunit  =================
[06:22:42] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[06:22:42] ==================== [SKIPPED] xe_mocs =====================
[06:22:42] ================= xe_migrate (2 subtests) ==================
[06:22:42] ================= xe_migrate_sanity_kunit  =================
[06:22:42] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[06:22:42] ================== xe_validate_ccs_kunit  ==================
[06:22:42] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[06:22:42] =================== [SKIPPED] xe_migrate ===================
[06:22:42] ================== xe_dma_buf (1 subtest) ==================
[06:22:42] ==================== xe_dma_buf_kunit  =====================
[06:22:42] ================ [SKIPPED] xe_dma_buf_kunit ================
[06:22:42] =================== [SKIPPED] xe_dma_buf ===================
[06:22:42] ================= xe_bo_shrink (1 subtest) =================
[06:22:42] =================== xe_bo_shrink_kunit  ====================
[06:22:42] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[06:22:42] ================== [SKIPPED] xe_bo_shrink ==================
[06:22:42] ==================== xe_bo (2 subtests) ====================
[06:22:42] ================== xe_ccs_migrate_kunit  ===================
[06:22:42] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[06:22:42] ==================== xe_bo_evict_kunit  ====================
[06:22:42] =============== [SKIPPED] xe_bo_evict_kunit ================
[06:22:42] ===================== [SKIPPED] xe_bo ======================
[06:22:42] ==================== args (11 subtests) ====================
[06:22:42] [PASSED] count_args_test
[06:22:42] [PASSED] call_args_example
[06:22:42] [PASSED] call_args_test
[06:22:42] [PASSED] drop_first_arg_example
[06:22:42] [PASSED] drop_first_arg_test
[06:22:42] [PASSED] first_arg_example
[06:22:42] [PASSED] first_arg_test
[06:22:42] [PASSED] last_arg_example
[06:22:42] [PASSED] last_arg_test
[06:22:42] [PASSED] pick_arg_example
[06:22:42] [PASSED] sep_comma_example
[06:22:42] ====================== [PASSED] args =======================
[06:22:42] =================== xe_pci (3 subtests) ====================
[06:22:42] ==================== check_graphics_ip  ====================
[06:22:42] [PASSED] 12.00 Xe_LP
[06:22:42] [PASSED] 12.10 Xe_LP+
[06:22:42] [PASSED] 12.55 Xe_HPG
[06:22:42] [PASSED] 12.60 Xe_HPC
[06:22:42] [PASSED] 12.70 Xe_LPG
[06:22:42] [PASSED] 12.71 Xe_LPG
[06:22:42] [PASSED] 12.74 Xe_LPG+
[06:22:42] [PASSED] 20.01 Xe2_HPG
[06:22:42] [PASSED] 20.02 Xe2_HPG
[06:22:42] [PASSED] 20.04 Xe2_LPG
[06:22:42] [PASSED] 30.00 Xe3_LPG
[06:22:42] [PASSED] 30.01 Xe3_LPG
[06:22:42] [PASSED] 30.03 Xe3_LPG
[06:22:42] ================ [PASSED] check_graphics_ip ================
[06:22:42] ===================== check_media_ip  ======================
[06:22:42] [PASSED] 12.00 Xe_M
[06:22:42] [PASSED] 12.55 Xe_HPM
[06:22:42] [PASSED] 13.00 Xe_LPM+
[06:22:42] [PASSED] 13.01 Xe2_HPM
[06:22:42] [PASSED] 20.00 Xe2_LPM
[06:22:42] [PASSED] 30.00 Xe3_LPM
[06:22:42] [PASSED] 30.02 Xe3_LPM
[06:22:42] ================= [PASSED] check_media_ip ==================
[06:22:42] ================= check_platform_gt_count  =================
[06:22:42] [PASSED] 0x9A60 (TIGERLAKE)
[06:22:42] [PASSED] 0x9A68 (TIGERLAKE)
[06:22:42] [PASSED] 0x9A70 (TIGERLAKE)
[06:22:42] [PASSED] 0x9A40 (TIGERLAKE)
[06:22:42] [PASSED] 0x9A49 (TIGERLAKE)
[06:22:42] [PASSED] 0x9A59 (TIGERLAKE)
[06:22:42] [PASSED] 0x9A78 (TIGERLAKE)
[06:22:42] [PASSED] 0x9AC0 (TIGERLAKE)
[06:22:42] [PASSED] 0x9AC9 (TIGERLAKE)
[06:22:42] [PASSED] 0x9AD9 (TIGERLAKE)
[06:22:42] [PASSED] 0x9AF8 (TIGERLAKE)
[06:22:42] [PASSED] 0x4C80 (ROCKETLAKE)
[06:22:42] [PASSED] 0x4C8A (ROCKETLAKE)
[06:22:42] [PASSED] 0x4C8B (ROCKETLAKE)
[06:22:42] [PASSED] 0x4C8C (ROCKETLAKE)
[06:22:42] [PASSED] 0x4C90 (ROCKETLAKE)
[06:22:42] [PASSED] 0x4C9A (ROCKETLAKE)
[06:22:42] [PASSED] 0x4680 (ALDERLAKE_S)
[06:22:42] [PASSED] 0x4682 (ALDERLAKE_S)
[06:22:42] [PASSED] 0x4688 (ALDERLAKE_S)
[06:22:42] [PASSED] 0x468A (ALDERLAKE_S)
[06:22:42] [PASSED] 0x468B (ALDERLAKE_S)
[06:22:42] [PASSED] 0x4690 (ALDERLAKE_S)
[06:22:42] [PASSED] 0x4692 (ALDERLAKE_S)
[06:22:42] [PASSED] 0x4693 (ALDERLAKE_S)
[06:22:42] [PASSED] 0x46A0 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46A1 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46A2 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46A3 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46A6 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46A8 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46AA (ALDERLAKE_P)
[06:22:42] [PASSED] 0x462A (ALDERLAKE_P)
[06:22:42] [PASSED] 0x4626 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x4628 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46B0 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46B1 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46B2 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46B3 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46C0 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46C1 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46C2 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46C3 (ALDERLAKE_P)
[06:22:42] [PASSED] 0x46D0 (ALDERLAKE_N)
[06:22:42] [PASSED] 0x46D1 (ALDERLAKE_N)
[06:22:42] [PASSED] 0x46D2 (ALDERLAKE_N)
[06:22:42] [PASSED] 0x46D3 (ALDERLAKE_N)
[06:22:42] [PASSED] 0x46D4 (ALDERLAKE_N)
[06:22:42] [PASSED] 0xA721 (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA7A1 (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA7A9 (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA7AC (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA7AD (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA720 (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA7A0 (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA7A8 (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA7AA (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA7AB (ALDERLAKE_P)
[06:22:42] [PASSED] 0xA780 (ALDERLAKE_S)
[06:22:42] [PASSED] 0xA781 (ALDERLAKE_S)
[06:22:42] [PASSED] 0xA782 (ALDERLAKE_S)
[06:22:42] [PASSED] 0xA783 (ALDERLAKE_S)
[06:22:42] [PASSED] 0xA788 (ALDERLAKE_S)
[06:22:42] [PASSED] 0xA789 (ALDERLAKE_S)
[06:22:42] [PASSED] 0xA78A (ALDERLAKE_S)
[06:22:42] [PASSED] 0xA78B (ALDERLAKE_S)
[06:22:42] [PASSED] 0x4905 (DG1)
[06:22:42] [PASSED] 0x4906 (DG1)
[06:22:42] [PASSED] 0x4907 (DG1)
[06:22:42] [PASSED] 0x4908 (DG1)
[06:22:42] [PASSED] 0x4909 (DG1)
[06:22:42] [PASSED] 0x56C0 (DG2)
[06:22:42] [PASSED] 0x56C2 (DG2)
[06:22:42] [PASSED] 0x56C1 (DG2)
[06:22:42] [PASSED] 0x7D51 (METEORLAKE)
[06:22:42] [PASSED] 0x7DD1 (METEORLAKE)
[06:22:42] [PASSED] 0x7D41 (METEORLAKE)
[06:22:42] [PASSED] 0x7D67 (METEORLAKE)
[06:22:42] [PASSED] 0xB640 (METEORLAKE)
[06:22:42] [PASSED] 0x56A0 (DG2)
[06:22:42] [PASSED] 0x56A1 (DG2)
[06:22:42] [PASSED] 0x56A2 (DG2)
[06:22:42] [PASSED] 0x56BE (DG2)
[06:22:42] [PASSED] 0x56BF (DG2)
[06:22:42] [PASSED] 0x5690 (DG2)
[06:22:42] [PASSED] 0x5691 (DG2)
[06:22:42] [PASSED] 0x5692 (DG2)
[06:22:42] [PASSED] 0x56A5 (DG2)
[06:22:42] [PASSED] 0x56A6 (DG2)
[06:22:42] [PASSED] 0x56B0 (DG2)
[06:22:42] [PASSED] 0x56B1 (DG2)
[06:22:42] [PASSED] 0x56BA (DG2)
[06:22:42] [PASSED] 0x56BB (DG2)
[06:22:42] [PASSED] 0x56BC (DG2)
[06:22:42] [PASSED] 0x56BD (DG2)
[06:22:42] [PASSED] 0x5693 (DG2)
[06:22:42] [PASSED] 0x5694 (DG2)
[06:22:42] [PASSED] 0x5695 (DG2)
[06:22:42] [PASSED] 0x56A3 (DG2)
[06:22:42] [PASSED] 0x56A4 (DG2)
[06:22:42] [PASSED] 0x56B2 (DG2)
[06:22:42] [PASSED] 0x56B3 (DG2)
[06:22:42] [PASSED] 0x5696 (DG2)
[06:22:42] [PASSED] 0x5697 (DG2)
[06:22:42] [PASSED] 0xB69 (PVC)
[06:22:42] [PASSED] 0xB6E (PVC)
[06:22:42] [PASSED] 0xBD4 (PVC)
[06:22:42] [PASSED] 0xBD5 (PVC)
[06:22:42] [PASSED] 0xBD6 (PVC)
[06:22:42] [PASSED] 0xBD7 (PVC)
[06:22:42] [PASSED] 0xBD8 (PVC)
[06:22:42] [PASSED] 0xBD9 (PVC)
[06:22:42] [PASSED] 0xBDA (PVC)
[06:22:42] [PASSED] 0xBDB (PVC)
[06:22:42] [PASSED] 0xBE0 (PVC)
[06:22:42] [PASSED] 0xBE1 (PVC)
[06:22:42] [PASSED] 0xBE5 (PVC)
[06:22:42] [PASSED] 0x7D40 (METEORLAKE)
[06:22:42] [PASSED] 0x7D45 (METEORLAKE)
[06:22:42] [PASSED] 0x7D55 (METEORLAKE)
[06:22:42] [PASSED] 0x7D60 (METEORLAKE)
[06:22:42] [PASSED] 0x7DD5 (METEORLAKE)
[06:22:42] [PASSED] 0x6420 (LUNARLAKE)
[06:22:42] [PASSED] 0x64A0 (LUNARLAKE)
[06:22:42] [PASSED] 0x64B0 (LUNARLAKE)
[06:22:42] [PASSED] 0xE202 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE209 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE20B (BATTLEMAGE)
[06:22:42] [PASSED] 0xE20C (BATTLEMAGE)
[06:22:42] [PASSED] 0xE20D (BATTLEMAGE)
[06:22:42] [PASSED] 0xE210 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE211 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE212 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE216 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE220 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE221 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE222 (BATTLEMAGE)
[06:22:42] [PASSED] 0xE223 (BATTLEMAGE)
[06:22:42] [PASSED] 0xB080 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB081 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB082 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB083 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB084 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB085 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB086 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB087 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB08F (PANTHERLAKE)
[06:22:42] [PASSED] 0xB090 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB0A0 (PANTHERLAKE)
[06:22:42] [PASSED] 0xB0B0 (PANTHERLAKE)
[06:22:42] [PASSED] 0xFD80 (PANTHERLAKE)
[06:22:42] [PASSED] 0xFD81 (PANTHERLAKE)
[06:22:42] ============= [PASSED] check_platform_gt_count =============
[06:22:42] ===================== [PASSED] xe_pci ======================
[06:22:42] =================== xe_rtp (2 subtests) ====================
[06:22:42] =============== xe_rtp_process_to_sr_tests  ================
[06:22:42] [PASSED] coalesce-same-reg
[06:22:42] [PASSED] no-match-no-add
[06:22:42] [PASSED] match-or
[06:22:42] [PASSED] match-or-xfail
[06:22:42] [PASSED] no-match-no-add-multiple-rules
[06:22:42] [PASSED] two-regs-two-entries
[06:22:42] [PASSED] clr-one-set-other
[06:22:42] [PASSED] set-field
[06:22:42] [PASSED] conflict-duplicate
[06:22:42] [PASSED] conflict-not-disjoint
[06:22:42] [PASSED] conflict-reg-type
[06:22:42] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[06:22:42] ================== xe_rtp_process_tests  ===================
[06:22:42] [PASSED] active1
[06:22:42] [PASSED] active2
[06:22:42] [PASSED] active-inactive
[06:22:42] [PASSED] inactive-active
[06:22:42] [PASSED] inactive-1st_or_active-inactive
[06:22:42] [PASSED] inactive-2nd_or_active-inactive
[06:22:42] [PASSED] inactive-last_or_active-inactive
[06:22:42] [PASSED] inactive-no_or_active-inactive
[06:22:42] ============== [PASSED] xe_rtp_process_tests ===============
[06:22:42] ===================== [PASSED] xe_rtp ======================
[06:22:42] ==================== xe_wa (1 subtest) =====================
[06:22:42] ======================== xe_wa_gt  =========================
[06:22:42] [PASSED] TIGERLAKE B0
[06:22:42] [PASSED] DG1 A0
[06:22:42] [PASSED] DG1 B0
[06:22:42] [PASSED] ALDERLAKE_S A0
[06:22:42] [PASSED] ALDERLAKE_S B0
stty: 'standard input': Inappropriate ioctl for device
[06:22:42] [PASSED] ALDERLAKE_S C0
[06:22:42] [PASSED] ALDERLAKE_S D0
[06:22:42] [PASSED] ALDERLAKE_P A0
[06:22:42] [PASSED] ALDERLAKE_P B0
[06:22:42] [PASSED] ALDERLAKE_P C0
[06:22:42] [PASSED] ALDERLAKE_S RPLS D0
[06:22:42] [PASSED] ALDERLAKE_P RPLU E0
[06:22:42] [PASSED] DG2 G10 C0
[06:22:42] [PASSED] DG2 G11 B1
[06:22:42] [PASSED] DG2 G12 A1
[06:22:42] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[06:22:42] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[06:22:42] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[06:22:42] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[06:22:42] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[06:22:42] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[06:22:42] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[06:22:42] ==================== [PASSED] xe_wa_gt =====================
[06:22:42] ====================== [PASSED] xe_wa ======================
[06:22:42] ============================================================
[06:22:42] Testing complete. Ran 306 tests: passed: 288, skipped: 18
[06:22:42] Elapsed time: 33.745s total, 4.221s configuring, 29.158s building, 0.328s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[06:22:42] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:22:44] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[06:23:08] Starting KUnit Kernel (1/1)...
[06:23:08] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:23:08] ============ drm_test_pick_cmdline (2 subtests) ============
[06:23:08] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[06:23:08] =============== drm_test_pick_cmdline_named  ===============
[06:23:08] [PASSED] NTSC
[06:23:08] [PASSED] NTSC-J
[06:23:08] [PASSED] PAL
[06:23:08] [PASSED] PAL-M
[06:23:08] =========== [PASSED] drm_test_pick_cmdline_named ===========
[06:23:08] ============== [PASSED] drm_test_pick_cmdline ==============
[06:23:08] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[06:23:08] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[06:23:08] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[06:23:08] =========== drm_validate_clone_mode (2 subtests) ===========
[06:23:08] ============== drm_test_check_in_clone_mode  ===============
[06:23:08] [PASSED] in_clone_mode
[06:23:08] [PASSED] not_in_clone_mode
[06:23:08] ========== [PASSED] drm_test_check_in_clone_mode ===========
[06:23:08] =============== drm_test_check_valid_clones  ===============
[06:23:08] [PASSED] not_in_clone_mode
[06:23:08] [PASSED] valid_clone
[06:23:08] [PASSED] invalid_clone
[06:23:08] =========== [PASSED] drm_test_check_valid_clones ===========
[06:23:08] ============= [PASSED] drm_validate_clone_mode =============
[06:23:08] ============= drm_validate_modeset (1 subtest) =============
[06:23:08] [PASSED] drm_test_check_connector_changed_modeset
[06:23:08] ============== [PASSED] drm_validate_modeset ===============
[06:23:08] ====== drm_test_bridge_get_current_state (2 subtests) ======
[06:23:08] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[06:23:08] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[06:23:08] ======== [PASSED] drm_test_bridge_get_current_state ========
[06:23:08] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[06:23:08] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[06:23:08] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[06:23:08] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[06:23:08] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[06:23:08] ============== drm_bridge_alloc (2 subtests) ===============
[06:23:08] [PASSED] drm_test_drm_bridge_alloc_basic
[06:23:08] [PASSED] drm_test_drm_bridge_alloc_get_put
[06:23:08] ================ [PASSED] drm_bridge_alloc =================
[06:23:08] ================== drm_buddy (7 subtests) ==================
[06:23:08] [PASSED] drm_test_buddy_alloc_limit
[06:23:08] [PASSED] drm_test_buddy_alloc_optimistic
[06:23:08] [PASSED] drm_test_buddy_alloc_pessimistic
[06:23:08] [PASSED] drm_test_buddy_alloc_pathological
[06:23:08] [PASSED] drm_test_buddy_alloc_contiguous
[06:23:08] [PASSED] drm_test_buddy_alloc_clear
[06:23:08] [PASSED] drm_test_buddy_alloc_range_bias
[06:23:08] ==================== [PASSED] drm_buddy ====================
[06:23:08] ============= drm_cmdline_parser (40 subtests) =============
[06:23:08] [PASSED] drm_test_cmdline_force_d_only
[06:23:08] [PASSED] drm_test_cmdline_force_D_only_dvi
[06:23:08] [PASSED] drm_test_cmdline_force_D_only_hdmi
[06:23:08] [PASSED] drm_test_cmdline_force_D_only_not_digital
[06:23:08] [PASSED] drm_test_cmdline_force_e_only
[06:23:08] [PASSED] drm_test_cmdline_res
[06:23:08] [PASSED] drm_test_cmdline_res_vesa
[06:23:08] [PASSED] drm_test_cmdline_res_vesa_rblank
[06:23:08] [PASSED] drm_test_cmdline_res_rblank
[06:23:08] [PASSED] drm_test_cmdline_res_bpp
[06:23:08] [PASSED] drm_test_cmdline_res_refresh
[06:23:08] [PASSED] drm_test_cmdline_res_bpp_refresh
[06:23:08] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[06:23:08] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[06:23:08] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[06:23:08] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[06:23:08] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[06:23:08] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[06:23:08] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[06:23:08] [PASSED] drm_test_cmdline_res_margins_force_on
[06:23:08] [PASSED] drm_test_cmdline_res_vesa_margins
[06:23:08] [PASSED] drm_test_cmdline_name
[06:23:08] [PASSED] drm_test_cmdline_name_bpp
[06:23:08] [PASSED] drm_test_cmdline_name_option
[06:23:08] [PASSED] drm_test_cmdline_name_bpp_option
[06:23:08] [PASSED] drm_test_cmdline_rotate_0
[06:23:08] [PASSED] drm_test_cmdline_rotate_90
[06:23:08] [PASSED] drm_test_cmdline_rotate_180
[06:23:08] [PASSED] drm_test_cmdline_rotate_270
[06:23:08] [PASSED] drm_test_cmdline_hmirror
[06:23:08] [PASSED] drm_test_cmdline_vmirror
[06:23:08] [PASSED] drm_test_cmdline_margin_options
[06:23:08] [PASSED] drm_test_cmdline_multiple_options
[06:23:08] [PASSED] drm_test_cmdline_bpp_extra_and_option
[06:23:08] [PASSED] drm_test_cmdline_extra_and_option
[06:23:08] [PASSED] drm_test_cmdline_freestanding_options
[06:23:08] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[06:23:08] [PASSED] drm_test_cmdline_panel_orientation
[06:23:08] ================ drm_test_cmdline_invalid  =================
[06:23:08] [PASSED] margin_only
[06:23:08] [PASSED] interlace_only
[06:23:08] [PASSED] res_missing_x
[06:23:08] [PASSED] res_missing_y
[06:23:08] [PASSED] res_bad_y
[06:23:08] [PASSED] res_missing_y_bpp
[06:23:08] [PASSED] res_bad_bpp
[06:23:08] [PASSED] res_bad_refresh
[06:23:08] [PASSED] res_bpp_refresh_force_on_off
[06:23:08] [PASSED] res_invalid_mode
[06:23:08] [PASSED] res_bpp_wrong_place_mode
[06:23:08] [PASSED] name_bpp_refresh
[06:23:08] [PASSED] name_refresh
[06:23:08] [PASSED] name_refresh_wrong_mode
[06:23:08] [PASSED] name_refresh_invalid_mode
[06:23:08] [PASSED] rotate_multiple
[06:23:08] [PASSED] rotate_invalid_val
[06:23:08] [PASSED] rotate_truncated
[06:23:08] [PASSED] invalid_option
[06:23:08] [PASSED] invalid_tv_option
[06:23:08] [PASSED] truncated_tv_option
[06:23:08] ============ [PASSED] drm_test_cmdline_invalid =============
[06:23:08] =============== drm_test_cmdline_tv_options  ===============
[06:23:08] [PASSED] NTSC
[06:23:08] [PASSED] NTSC_443
[06:23:08] [PASSED] NTSC_J
[06:23:08] [PASSED] PAL
[06:23:08] [PASSED] PAL_M
[06:23:08] [PASSED] PAL_N
[06:23:08] [PASSED] SECAM
[06:23:08] [PASSED] MONO_525
[06:23:08] [PASSED] MONO_625
[06:23:08] =========== [PASSED] drm_test_cmdline_tv_options ===========
[06:23:08] =============== [PASSED] drm_cmdline_parser ================
[06:23:08] ========== drmm_connector_hdmi_init (20 subtests) ==========
[06:23:08] [PASSED] drm_test_connector_hdmi_init_valid
[06:23:08] [PASSED] drm_test_connector_hdmi_init_bpc_8
[06:23:08] [PASSED] drm_test_connector_hdmi_init_bpc_10
[06:23:08] [PASSED] drm_test_connector_hdmi_init_bpc_12
[06:23:08] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[06:23:08] [PASSED] drm_test_connector_hdmi_init_bpc_null
[06:23:08] [PASSED] drm_test_connector_hdmi_init_formats_empty
[06:23:08] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[06:23:08] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[06:23:08] [PASSED] supported_formats=0x9 yuv420_allowed=1
[06:23:08] [PASSED] supported_formats=0x9 yuv420_allowed=0
[06:23:08] [PASSED] supported_formats=0x3 yuv420_allowed=1
[06:23:08] [PASSED] supported_formats=0x3 yuv420_allowed=0
[06:23:08] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[06:23:08] [PASSED] drm_test_connector_hdmi_init_null_ddc
[06:23:08] [PASSED] drm_test_connector_hdmi_init_null_product
[06:23:08] [PASSED] drm_test_connector_hdmi_init_null_vendor
[06:23:08] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[06:23:08] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[06:23:08] [PASSED] drm_test_connector_hdmi_init_product_valid
[06:23:08] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[06:23:08] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[06:23:08] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[06:23:08] ========= drm_test_connector_hdmi_init_type_valid  =========
[06:23:08] [PASSED] HDMI-A
[06:23:08] [PASSED] HDMI-B
[06:23:08] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[06:23:08] ======== drm_test_connector_hdmi_init_type_invalid  ========
[06:23:08] [PASSED] Unknown
[06:23:08] [PASSED] VGA
[06:23:08] [PASSED] DVI-I
[06:23:08] [PASSED] DVI-D
[06:23:08] [PASSED] DVI-A
[06:23:08] [PASSED] Composite
[06:23:08] [PASSED] SVIDEO
[06:23:08] [PASSED] LVDS
[06:23:08] [PASSED] Component
[06:23:08] [PASSED] DIN
[06:23:08] [PASSED] DP
[06:23:08] [PASSED] TV
[06:23:08] [PASSED] eDP
[06:23:08] [PASSED] Virtual
[06:23:08] [PASSED] DSI
[06:23:08] [PASSED] DPI
[06:23:08] [PASSED] Writeback
[06:23:08] [PASSED] SPI
[06:23:08] [PASSED] USB
[06:23:08] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[06:23:08] ============ [PASSED] drmm_connector_hdmi_init =============
[06:23:08] ============= drmm_connector_init (3 subtests) =============
[06:23:08] [PASSED] drm_test_drmm_connector_init
[06:23:08] [PASSED] drm_test_drmm_connector_init_null_ddc
[06:23:08] ========= drm_test_drmm_connector_init_type_valid  =========
[06:23:08] [PASSED] Unknown
[06:23:08] [PASSED] VGA
[06:23:08] [PASSED] DVI-I
[06:23:08] [PASSED] DVI-D
[06:23:08] [PASSED] DVI-A
[06:23:08] [PASSED] Composite
[06:23:08] [PASSED] SVIDEO
[06:23:08] [PASSED] LVDS
[06:23:08] [PASSED] Component
[06:23:08] [PASSED] DIN
[06:23:08] [PASSED] DP
[06:23:08] [PASSED] HDMI-A
[06:23:08] [PASSED] HDMI-B
[06:23:08] [PASSED] TV
[06:23:08] [PASSED] eDP
[06:23:08] [PASSED] Virtual
[06:23:08] [PASSED] DSI
[06:23:08] [PASSED] DPI
[06:23:08] [PASSED] Writeback
[06:23:08] [PASSED] SPI
[06:23:08] [PASSED] USB
[06:23:08] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[06:23:08] =============== [PASSED] drmm_connector_init ===============
[06:23:08] ========= drm_connector_dynamic_init (6 subtests) ==========
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_init
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_init_properties
[06:23:08] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[06:23:08] [PASSED] Unknown
[06:23:08] [PASSED] VGA
[06:23:08] [PASSED] DVI-I
[06:23:08] [PASSED] DVI-D
[06:23:08] [PASSED] DVI-A
[06:23:08] [PASSED] Composite
[06:23:08] [PASSED] SVIDEO
[06:23:08] [PASSED] LVDS
[06:23:08] [PASSED] Component
[06:23:08] [PASSED] DIN
[06:23:08] [PASSED] DP
[06:23:08] [PASSED] HDMI-A
[06:23:08] [PASSED] HDMI-B
[06:23:08] [PASSED] TV
[06:23:08] [PASSED] eDP
[06:23:08] [PASSED] Virtual
[06:23:08] [PASSED] DSI
[06:23:08] [PASSED] DPI
[06:23:08] [PASSED] Writeback
[06:23:08] [PASSED] SPI
[06:23:08] [PASSED] USB
[06:23:08] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[06:23:08] ======== drm_test_drm_connector_dynamic_init_name  =========
[06:23:08] [PASSED] Unknown
[06:23:08] [PASSED] VGA
[06:23:08] [PASSED] DVI-I
[06:23:08] [PASSED] DVI-D
[06:23:08] [PASSED] DVI-A
[06:23:08] [PASSED] Composite
[06:23:08] [PASSED] SVIDEO
[06:23:08] [PASSED] LVDS
[06:23:08] [PASSED] Component
[06:23:08] [PASSED] DIN
[06:23:08] [PASSED] DP
[06:23:08] [PASSED] HDMI-A
[06:23:08] [PASSED] HDMI-B
[06:23:08] [PASSED] TV
[06:23:08] [PASSED] eDP
[06:23:08] [PASSED] Virtual
[06:23:08] [PASSED] DSI
[06:23:08] [PASSED] DPI
[06:23:08] [PASSED] Writeback
[06:23:08] [PASSED] SPI
[06:23:08] [PASSED] USB
[06:23:08] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[06:23:08] =========== [PASSED] drm_connector_dynamic_init ============
[06:23:08] ==== drm_connector_dynamic_register_early (4 subtests) =====
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[06:23:08] ====== [PASSED] drm_connector_dynamic_register_early =======
[06:23:08] ======= drm_connector_dynamic_register (7 subtests) ========
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[06:23:08] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[06:23:08] ========= [PASSED] drm_connector_dynamic_register ==========
[06:23:08] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[06:23:08] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[06:23:08] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[06:23:08] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[06:23:08] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[06:23:08] ========== drm_test_get_tv_mode_from_name_valid  ===========
[06:23:08] [PASSED] NTSC
[06:23:08] [PASSED] NTSC-443
[06:23:08] [PASSED] NTSC-J
[06:23:08] [PASSED] PAL
[06:23:08] [PASSED] PAL-M
[06:23:08] [PASSED] PAL-N
[06:23:08] [PASSED] SECAM
[06:23:08] [PASSED] Mono
[06:23:08] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[06:23:08] [PASSED] drm_test_get_tv_mode_from_name_truncated
[06:23:08] ============ [PASSED] drm_get_tv_mode_from_name ============
[06:23:08] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[06:23:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[06:23:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[06:23:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[06:23:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[06:23:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[06:23:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[06:23:08] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[06:23:08] [PASSED] VIC 96
[06:23:08] [PASSED] VIC 97
[06:23:08] [PASSED] VIC 101
[06:23:08] [PASSED] VIC 102
[06:23:08] [PASSED] VIC 106
[06:23:08] [PASSED] VIC 107
[06:23:08] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[06:23:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[06:23:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[06:23:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[06:23:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[06:23:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[06:23:08] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[06:23:08] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[06:23:08] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[06:23:08] [PASSED] Automatic
[06:23:08] [PASSED] Full
[06:23:08] [PASSED] Limited 16:235
[06:23:08] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[06:23:08] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[06:23:08] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[06:23:08] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[06:23:08] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[06:23:08] [PASSED] RGB
[06:23:08] [PASSED] YUV 4:2:0
[06:23:08] [PASSED] YUV 4:2:2
[06:23:08] [PASSED] YUV 4:4:4
[06:23:08] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[06:23:08] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[06:23:08] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[06:23:08] ============= drm_damage_helper (21 subtests) ==============
[06:23:08] [PASSED] drm_test_damage_iter_no_damage
[06:23:08] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[06:23:08] [PASSED] drm_test_damage_iter_no_damage_src_moved
[06:23:08] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[06:23:08] [PASSED] drm_test_damage_iter_no_damage_not_visible
[06:23:08] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[06:23:08] [PASSED] drm_test_damage_iter_no_damage_no_fb
[06:23:08] [PASSED] drm_test_damage_iter_simple_damage
[06:23:08] [PASSED] drm_test_damage_iter_single_damage
[06:23:08] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[06:23:08] [PASSED] drm_test_damage_iter_single_damage_outside_src
[06:23:08] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[06:23:08] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[06:23:08] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[06:23:08] [PASSED] drm_test_damage_iter_single_damage_src_moved
[06:23:08] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[06:23:08] [PASSED] drm_test_damage_iter_damage
[06:23:08] [PASSED] drm_test_damage_iter_damage_one_intersect
[06:23:08] [PASSED] drm_test_damage_iter_damage_one_outside
[06:23:08] [PASSED] drm_test_damage_iter_damage_src_moved
[06:23:08] [PASSED] drm_test_damage_iter_damage_not_visible
[06:23:08] ================ [PASSED] drm_damage_helper ================
[06:23:08] ============== drm_dp_mst_helper (3 subtests) ==============
[06:23:08] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[06:23:08] [PASSED] Clock 154000 BPP 30 DSC disabled
[06:23:08] [PASSED] Clock 234000 BPP 30 DSC disabled
[06:23:08] [PASSED] Clock 297000 BPP 24 DSC disabled
[06:23:08] [PASSED] Clock 332880 BPP 24 DSC enabled
[06:23:08] [PASSED] Clock 324540 BPP 24 DSC enabled
[06:23:08] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[06:23:08] ============== drm_test_dp_mst_calc_pbn_div  ===============
[06:23:08] [PASSED] Link rate 2000000 lane count 4
[06:23:08] [PASSED] Link rate 2000000 lane count 2
[06:23:08] [PASSED] Link rate 2000000 lane count 1
[06:23:08] [PASSED] Link rate 1350000 lane count 4
[06:23:08] [PASSED] Link rate 1350000 lane count 2
[06:23:08] [PASSED] Link rate 1350000 lane count 1
[06:23:08] [PASSED] Link rate 1000000 lane count 4
[06:23:08] [PASSED] Link rate 1000000 lane count 2
[06:23:08] [PASSED] Link rate 1000000 lane count 1
[06:23:08] [PASSED] Link rate 810000 lane count 4
[06:23:08] [PASSED] Link rate 810000 lane count 2
[06:23:08] [PASSED] Link rate 810000 lane count 1
[06:23:08] [PASSED] Link rate 540000 lane count 4
[06:23:08] [PASSED] Link rate 540000 lane count 2
[06:23:08] [PASSED] Link rate 540000 lane count 1
[06:23:08] [PASSED] Link rate 270000 lane count 4
[06:23:08] [PASSED] Link rate 270000 lane count 2
[06:23:08] [PASSED] Link rate 270000 lane count 1
[06:23:08] [PASSED] Link rate 162000 lane count 4
[06:23:08] [PASSED] Link rate 162000 lane count 2
[06:23:08] [PASSED] Link rate 162000 lane count 1
[06:23:08] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[06:23:08] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[06:23:08] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[06:23:08] [PASSED] DP_POWER_UP_PHY with port number
[06:23:08] [PASSED] DP_POWER_DOWN_PHY with port number
[06:23:08] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[06:23:08] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[06:23:08] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[06:23:08] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[06:23:08] [PASSED] DP_QUERY_PAYLOAD with port number
[06:23:08] [PASSED] DP_QUERY_PAYLOAD with VCPI
[06:23:08] [PASSED] DP_REMOTE_DPCD_READ with port number
[06:23:08] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[06:23:08] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[06:23:08] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[06:23:08] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[06:23:08] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[06:23:08] [PASSED] DP_REMOTE_I2C_READ with port number
[06:23:08] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[06:23:08] [PASSED] DP_REMOTE_I2C_READ with transactions array
[06:23:08] [PASSED] DP_REMOTE_I2C_WRITE with port number
[06:23:08] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[06:23:08] [PASSED] DP_REMOTE_I2C_WRITE with data array
[06:23:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[06:23:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[06:23:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[06:23:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[06:23:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[06:23:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[06:23:08] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[06:23:08] ================ [PASSED] drm_dp_mst_helper ================
[06:23:08] ================== drm_exec (7 subtests) ===================
[06:23:08] [PASSED] sanitycheck
[06:23:08] [PASSED] test_lock
[06:23:08] [PASSED] test_lock_unlock
[06:23:08] [PASSED] test_duplicates
[06:23:08] [PASSED] test_prepare
[06:23:08] [PASSED] test_prepare_array
[06:23:08] [PASSED] test_multiple_loops
[06:23:08] ==================== [PASSED] drm_exec =====================
[06:23:08] =========== drm_format_helper_test (17 subtests) ===========
[06:23:08] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[06:23:08] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[06:23:08] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[06:23:08] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[06:23:08] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[06:23:08] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[06:23:08] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[06:23:08] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[06:23:08] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[06:23:08] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[06:23:08] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[06:23:08] ============== drm_test_fb_xrgb8888_to_mono  ===============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[06:23:08] ==================== drm_test_fb_swab  =====================
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ================ [PASSED] drm_test_fb_swab =================
[06:23:08] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[06:23:08] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[06:23:08] [PASSED] single_pixel_source_buffer
[06:23:08] [PASSED] single_pixel_clip_rectangle
[06:23:08] [PASSED] well_known_colors
[06:23:08] [PASSED] destination_pitch
[06:23:08] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[06:23:08] ================= drm_test_fb_clip_offset  =================
[06:23:08] [PASSED] pass through
[06:23:08] [PASSED] horizontal offset
[06:23:08] [PASSED] vertical offset
[06:23:08] [PASSED] horizontal and vertical offset
[06:23:08] [PASSED] horizontal offset (custom pitch)
[06:23:08] [PASSED] vertical offset (custom pitch)
[06:23:08] [PASSED] horizontal and vertical offset (custom pitch)
[06:23:08] ============= [PASSED] drm_test_fb_clip_offset =============
[06:23:08] =================== drm_test_fb_memcpy  ====================
[06:23:08] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[06:23:08] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[06:23:08] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[06:23:08] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[06:23:08] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[06:23:08] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[06:23:08] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[06:23:08] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[06:23:08] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[06:23:08] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[06:23:08] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[06:23:08] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[06:23:08] =============== [PASSED] drm_test_fb_memcpy ================
[06:23:08] ============= [PASSED] drm_format_helper_test ==============
[06:23:08] ================= drm_format (18 subtests) =================
[06:23:08] [PASSED] drm_test_format_block_width_invalid
[06:23:08] [PASSED] drm_test_format_block_width_one_plane
[06:23:08] [PASSED] drm_test_format_block_width_two_plane
[06:23:08] [PASSED] drm_test_format_block_width_three_plane
[06:23:08] [PASSED] drm_test_format_block_width_tiled
[06:23:08] [PASSED] drm_test_format_block_height_invalid
[06:23:08] [PASSED] drm_test_format_block_height_one_plane
[06:23:08] [PASSED] drm_test_format_block_height_two_plane
[06:23:08] [PASSED] drm_test_format_block_height_three_plane
[06:23:08] [PASSED] drm_test_format_block_height_tiled
[06:23:08] [PASSED] drm_test_format_min_pitch_invalid
[06:23:08] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[06:23:08] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[06:23:08] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[06:23:08] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[06:23:08] [PASSED] drm_test_format_min_pitch_two_plane
[06:23:08] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[06:23:08] [PASSED] drm_test_format_min_pitch_tiled
[06:23:08] =================== [PASSED] drm_format ====================
[06:23:08] ============== drm_framebuffer (10 subtests) ===============
[06:23:08] ========== drm_test_framebuffer_check_src_coords  ==========
[06:23:08] [PASSED] Success: source fits into fb
[06:23:08] [PASSED] Fail: overflowing fb with x-axis coordinate
[06:23:08] [PASSED] Fail: overflowing fb with y-axis coordinate
[06:23:08] [PASSED] Fail: overflowing fb with source width
[06:23:08] [PASSED] Fail: overflowing fb with source height
[06:23:08] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[06:23:08] [PASSED] drm_test_framebuffer_cleanup
[06:23:08] =============== drm_test_framebuffer_create  ===============
[06:23:08] [PASSED] ABGR8888 normal sizes
[06:23:08] [PASSED] ABGR8888 max sizes
[06:23:08] [PASSED] ABGR8888 pitch greater than min required
[06:23:08] [PASSED] ABGR8888 pitch less than min required
[06:23:08] [PASSED] ABGR8888 Invalid width
[06:23:08] [PASSED] ABGR8888 Invalid buffer handle
[06:23:08] [PASSED] No pixel format
[06:23:08] [PASSED] ABGR8888 Width 0
[06:23:08] [PASSED] ABGR8888 Height 0
[06:23:08] [PASSED] ABGR8888 Out of bound height * pitch combination
[06:23:08] [PASSED] ABGR8888 Large buffer offset
[06:23:08] [PASSED] ABGR8888 Buffer offset for inexistent plane
[06:23:08] [PASSED] ABGR8888 Invalid flag
[06:23:08] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[06:23:08] [PASSED] ABGR8888 Valid buffer modifier
[06:23:08] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[06:23:08] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[06:23:08] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[06:23:08] [PASSED] NV12 Normal sizes
[06:23:08] [PASSED] NV12 Max sizes
[06:23:08] [PASSED] NV12 Invalid pitch
[06:23:08] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[06:23:08] [PASSED] NV12 different  modifier per-plane
[06:23:08] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[06:23:08] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[06:23:08] [PASSED] NV12 Modifier for inexistent plane
[06:23:08] [PASSED] NV12 Handle for inexistent plane
[06:23:08] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[06:23:08] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[06:23:08] [PASSED] YVU420 Normal sizes
[06:23:08] [PASSED] YVU420 Max sizes
[06:23:08] [PASSED] YVU420 Invalid pitch
[06:23:08] [PASSED] YVU420 Different pitches
[06:23:08] [PASSED] YVU420 Different buffer offsets/pitches
[06:23:08] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[06:23:08] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[06:23:08] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[06:23:08] [PASSED] YVU420 Valid modifier
[06:23:08] [PASSED] YVU420 Different modifiers per plane
[06:23:08] [PASSED] YVU420 Modifier for inexistent plane
[06:23:08] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[06:23:08] [PASSED] X0L2 Normal sizes
[06:23:08] [PASSED] X0L2 Max sizes
[06:23:08] [PASSED] X0L2 Invalid pitch
[06:23:08] [PASSED] X0L2 Pitch greater than minimum required
[06:23:08] [PASSED] X0L2 Handle for inexistent plane
[06:23:08] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[06:23:08] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[06:23:08] [PASSED] X0L2 Valid modifier
[06:23:08] [PASSED] X0L2 Modifier for inexistent plane
[06:23:08] =========== [PASSED] drm_test_framebuffer_create ===========
[06:23:08] [PASSED] drm_test_framebuffer_free
[06:23:08] [PASSED] drm_test_framebuffer_init
[06:23:08] [PASSED] drm_test_framebuffer_init_bad_format
[06:23:08] [PASSED] drm_test_framebuffer_init_dev_mismatch
[06:23:08] [PASSED] drm_test_framebuffer_lookup
[06:23:08] [PASSED] drm_test_framebuffer_lookup_inexistent
[06:23:08] [PASSED] drm_test_framebuffer_modifiers_not_supported
[06:23:08] ================= [PASSED] drm_framebuffer =================
[06:23:08] ================ drm_gem_shmem (8 subtests) ================
[06:23:08] [PASSED] drm_gem_shmem_test_obj_create
[06:23:08] [PASSED] drm_gem_shmem_test_obj_create_private
[06:23:08] [PASSED] drm_gem_shmem_test_pin_pages
[06:23:08] [PASSED] drm_gem_shmem_test_vmap
[06:23:08] [PASSED] drm_gem_shmem_test_get_pages_sgt
[06:23:08] [PASSED] drm_gem_shmem_test_get_sg_table
[06:23:08] [PASSED] drm_gem_shmem_test_madvise
[06:23:08] [PASSED] drm_gem_shmem_test_purge
[06:23:08] ================== [PASSED] drm_gem_shmem ==================
[06:23:08] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[06:23:08] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420  =======
[06:23:08] [PASSED] Automatic
[06:23:08] [PASSED] Full
[06:23:08] [PASSED] Limited 16:235
[06:23:08] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[06:23:08] [PASSED] drm_test_check_disable_connector
[06:23:08] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[06:23:08] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[06:23:08] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[06:23:08] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[06:23:08] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[06:23:08] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[06:23:08] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[06:23:08] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[06:23:08] [PASSED] drm_test_check_output_bpc_dvi
[06:23:08] [PASSED] drm_test_check_output_bpc_format_vic_1
[06:23:08] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[06:23:08] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[06:23:08] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[06:23:08] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[06:23:08] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[06:23:08] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[06:23:08] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[06:23:08] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[06:23:08] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[06:23:08] [PASSED] drm_test_check_broadcast_rgb_value
[06:23:08] [PASSED] drm_test_check_bpc_8_value
[06:23:08] [PASSED] drm_test_check_bpc_10_value
[06:23:08] [PASSED] drm_test_check_bpc_12_value
[06:23:08] [PASSED] drm_test_check_format_value
[06:23:08] [PASSED] drm_test_check_tmds_char_value
[06:23:08] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[06:23:08] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[06:23:08] [PASSED] drm_test_check_mode_valid
[06:23:08] [PASSED] drm_test_check_mode_valid_reject
[06:23:08] [PASSED] drm_test_check_mode_valid_reject_rate
[06:23:08] [PASSED] drm_test_check_mode_valid_reject_max_clock
[06:23:08] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[06:23:08] ================= drm_managed (2 subtests) =================
[06:23:08] [PASSED] drm_test_managed_release_action
[06:23:08] [PASSED] drm_test_managed_run_action
[06:23:08] =================== [PASSED] drm_managed ===================
[06:23:08] =================== drm_mm (6 subtests) ====================
[06:23:08] [PASSED] drm_test_mm_init
[06:23:08] [PASSED] drm_test_mm_debug
[06:23:08] [PASSED] drm_test_mm_align32
[06:23:08] [PASSED] drm_test_mm_align64
[06:23:08] [PASSED] drm_test_mm_lowest
[06:23:08] [PASSED] drm_test_mm_highest
[06:23:08] ===================== [PASSED] drm_mm ======================
[06:23:08] ============= drm_modes_analog_tv (5 subtests) =============
[06:23:08] [PASSED] drm_test_modes_analog_tv_mono_576i
[06:23:08] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[06:23:08] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[06:23:08] [PASSED] drm_test_modes_analog_tv_pal_576i
[06:23:08] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[06:23:08] =============== [PASSED] drm_modes_analog_tv ===============
[06:23:08] ============== drm_plane_helper (2 subtests) ===============
[06:23:08] =============== drm_test_check_plane_state  ================
[06:23:08] [PASSED] clipping_simple
[06:23:08] [PASSED] clipping_rotate_reflect
[06:23:08] [PASSED] positioning_simple
[06:23:08] [PASSED] upscaling
[06:23:08] [PASSED] downscaling
[06:23:08] [PASSED] rounding1
[06:23:08] [PASSED] rounding2
[06:23:08] [PASSED] rounding3
[06:23:08] [PASSED] rounding4
[06:23:08] =========== [PASSED] drm_test_check_plane_state ============
[06:23:08] =========== drm_test_check_invalid_plane_state  ============
[06:23:08] [PASSED] positioning_invalid
[06:23:08] [PASSED] upscaling_invalid
[06:23:08] [PASSED] downscaling_invalid
[06:23:08] ======= [PASSED] drm_test_check_invalid_plane_state ========
[06:23:08] ================ [PASSED] drm_plane_helper =================
[06:23:08] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[06:23:08] ====== drm_test_connector_helper_tv_get_modes_check  =======
[06:23:08] [PASSED] None
[06:23:08] [PASSED] PAL
[06:23:08] [PASSED] NTSC
[06:23:08] [PASSED] Both, NTSC Default
[06:23:08] [PASSED] Both, PAL Default
[06:23:08] [PASSED] Both, NTSC Default, with PAL on command-line
[06:23:08] [PASSED] Both, PAL Default, with NTSC on command-line
[06:23:08] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[06:23:08] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[06:23:08] ================== drm_rect (9 subtests) ===================
[06:23:08] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[06:23:08] [PASSED] drm_test_rect_clip_scaled_not_clipped
[06:23:08] [PASSED] drm_test_rect_clip_scaled_clipped
[06:23:08] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[06:23:08] ================= drm_test_rect_intersect  =================
[06:23:08] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[06:23:08] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[06:23:08] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[06:23:08] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[06:23:08] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[06:23:08] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[06:23:08] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[06:23:08] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[06:23:08] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[06:23:08] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[06:23:08] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[06:23:08] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[06:23:08] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[06:23:08] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[06:23:08] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[06:23:08] ============= [PASSED] drm_test_rect_intersect =============
[06:23:08] ================ drm_test_rect_calc_hscale  ================
[06:23:08] [PASSED] normal use
[06:23:08] [PASSED] out of max range
[06:23:08] [PASSED] out of min range
[06:23:08] [PASSED] zero dst
[06:23:08] [PASSED] negative src
[06:23:08] [PASSED] negative dst
[06:23:08] ============ [PASSED] drm_test_rect_calc_hscale ============
[06:23:08] ================ drm_test_rect_calc_vscale  ================
[06:23:08] [PASSED] normal use
[06:23:08] [PASSED] out of max range
[06:23:08] [PASSED] out of min range
[06:23:08] [PASSED] zero dst
[06:23:08] [PASSED] negative src
stty: 'standard input': Inappropriate ioctl for device
[06:23:08] [PASSED] negative dst
[06:23:08] ============ [PASSED] drm_test_rect_calc_vscale ============
[06:23:08] ================== drm_test_rect_rotate  ===================
[06:23:08] [PASSED] reflect-x
[06:23:08] [PASSED] reflect-y
[06:23:08] [PASSED] rotate-0
[06:23:08] [PASSED] rotate-90
[06:23:08] [PASSED] rotate-180
[06:23:08] [PASSED] rotate-270
[06:23:08] ============== [PASSED] drm_test_rect_rotate ===============
[06:23:08] ================ drm_test_rect_rotate_inv  =================
[06:23:08] [PASSED] reflect-x
[06:23:08] [PASSED] reflect-y
[06:23:08] [PASSED] rotate-0
[06:23:08] [PASSED] rotate-90
[06:23:08] [PASSED] rotate-180
[06:23:08] [PASSED] rotate-270
[06:23:08] ============ [PASSED] drm_test_rect_rotate_inv =============
[06:23:08] ==================== [PASSED] drm_rect =====================
[06:23:08] ============ drm_sysfb_modeset_test (1 subtest) ============
[06:23:08] ============ drm_test_sysfb_build_fourcc_list  =============
[06:23:08] [PASSED] no native formats
[06:23:08] [PASSED] XRGB8888 as native format
[06:23:08] [PASSED] remove duplicates
[06:23:08] [PASSED] convert alpha formats
[06:23:08] [PASSED] random formats
[06:23:08] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[06:23:08] ============= [PASSED] drm_sysfb_modeset_test ==============
[06:23:08] ============================================================
[06:23:08] Testing complete. Ran 621 tests: passed: 621
[06:23:08] Elapsed time: 25.609s total, 1.760s configuring, 23.629s building, 0.201s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[06:23:08] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:23:10] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[06:23:19] Starting KUnit Kernel (1/1)...
[06:23:19] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:23:19] ================= ttm_device (5 subtests) ==================
[06:23:19] [PASSED] ttm_device_init_basic
[06:23:19] [PASSED] ttm_device_init_multiple
[06:23:19] [PASSED] ttm_device_fini_basic
[06:23:19] [PASSED] ttm_device_init_no_vma_man
[06:23:19] ================== ttm_device_init_pools  ==================
[06:23:19] [PASSED] No DMA allocations, no DMA32 required
[06:23:19] [PASSED] DMA allocations, DMA32 required
[06:23:19] [PASSED] No DMA allocations, DMA32 required
[06:23:19] [PASSED] DMA allocations, no DMA32 required
[06:23:19] ============== [PASSED] ttm_device_init_pools ==============
[06:23:19] =================== [PASSED] ttm_device ====================
[06:23:19] ================== ttm_pool (8 subtests) ===================
[06:23:19] ================== ttm_pool_alloc_basic  ===================
[06:23:19] [PASSED] One page
[06:23:19] [PASSED] More than one page
[06:23:19] [PASSED] Above the allocation limit
[06:23:19] [PASSED] One page, with coherent DMA mappings enabled
[06:23:19] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[06:23:19] ============== [PASSED] ttm_pool_alloc_basic ===============
[06:23:19] ============== ttm_pool_alloc_basic_dma_addr  ==============
[06:23:19] [PASSED] One page
[06:23:19] [PASSED] More than one page
[06:23:19] [PASSED] Above the allocation limit
[06:23:19] [PASSED] One page, with coherent DMA mappings enabled
[06:23:19] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[06:23:19] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[06:23:19] [PASSED] ttm_pool_alloc_order_caching_match
[06:23:19] [PASSED] ttm_pool_alloc_caching_mismatch
[06:23:19] [PASSED] ttm_pool_alloc_order_mismatch
[06:23:19] [PASSED] ttm_pool_free_dma_alloc
[06:23:19] [PASSED] ttm_pool_free_no_dma_alloc
[06:23:19] [PASSED] ttm_pool_fini_basic
[06:23:19] ==================== [PASSED] ttm_pool =====================
[06:23:19] ================ ttm_resource (8 subtests) =================
[06:23:19] ================= ttm_resource_init_basic  =================
[06:23:19] [PASSED] Init resource in TTM_PL_SYSTEM
[06:23:19] [PASSED] Init resource in TTM_PL_VRAM
[06:23:19] [PASSED] Init resource in a private placement
[06:23:19] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[06:23:19] ============= [PASSED] ttm_resource_init_basic =============
[06:23:19] [PASSED] ttm_resource_init_pinned
[06:23:19] [PASSED] ttm_resource_fini_basic
[06:23:19] [PASSED] ttm_resource_manager_init_basic
[06:23:19] [PASSED] ttm_resource_manager_usage_basic
[06:23:19] [PASSED] ttm_resource_manager_set_used_basic
[06:23:19] [PASSED] ttm_sys_man_alloc_basic
[06:23:19] [PASSED] ttm_sys_man_free_basic
[06:23:19] ================== [PASSED] ttm_resource ===================
[06:23:19] =================== ttm_tt (15 subtests) ===================
[06:23:19] ==================== ttm_tt_init_basic  ====================
[06:23:19] [PASSED] Page-aligned size
[06:23:19] [PASSED] Extra pages requested
[06:23:19] ================ [PASSED] ttm_tt_init_basic ================
[06:23:19] [PASSED] ttm_tt_init_misaligned
[06:23:19] [PASSED] ttm_tt_fini_basic
[06:23:19] [PASSED] ttm_tt_fini_sg
[06:23:19] [PASSED] ttm_tt_fini_shmem
[06:23:19] [PASSED] ttm_tt_create_basic
[06:23:19] [PASSED] ttm_tt_create_invalid_bo_type
[06:23:19] [PASSED] ttm_tt_create_ttm_exists
[06:23:19] [PASSED] ttm_tt_create_failed
[06:23:19] [PASSED] ttm_tt_destroy_basic
[06:23:19] [PASSED] ttm_tt_populate_null_ttm
[06:23:19] [PASSED] ttm_tt_populate_populated_ttm
[06:23:19] [PASSED] ttm_tt_unpopulate_basic
[06:23:19] [PASSED] ttm_tt_unpopulate_empty_ttm
[06:23:19] [PASSED] ttm_tt_swapin_basic
[06:23:19] ===================== [PASSED] ttm_tt ======================
[06:23:19] =================== ttm_bo (14 subtests) ===================
[06:23:19] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[06:23:19] [PASSED] Cannot be interrupted and sleeps
[06:23:19] [PASSED] Cannot be interrupted, locks straight away
[06:23:19] [PASSED] Can be interrupted, sleeps
[06:23:19] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[06:23:19] [PASSED] ttm_bo_reserve_locked_no_sleep
[06:23:19] [PASSED] ttm_bo_reserve_no_wait_ticket
[06:23:19] [PASSED] ttm_bo_reserve_double_resv
[06:23:19] [PASSED] ttm_bo_reserve_interrupted
[06:23:19] [PASSED] ttm_bo_reserve_deadlock
[06:23:19] [PASSED] ttm_bo_unreserve_basic
[06:23:19] [PASSED] ttm_bo_unreserve_pinned
[06:23:19] [PASSED] ttm_bo_unreserve_bulk
[06:23:19] [PASSED] ttm_bo_fini_basic
[06:23:19] [PASSED] ttm_bo_fini_shared_resv
[06:23:19] [PASSED] ttm_bo_pin_basic
[06:23:19] [PASSED] ttm_bo_pin_unpin_resource
[06:23:19] [PASSED] ttm_bo_multiple_pin_one_unpin
[06:23:19] ===================== [PASSED] ttm_bo ======================
[06:23:19] ============== ttm_bo_validate (21 subtests) ===============
[06:23:19] ============== ttm_bo_init_reserved_sys_man  ===============
[06:23:19] [PASSED] Buffer object for userspace
[06:23:19] [PASSED] Kernel buffer object
[06:23:19] [PASSED] Shared buffer object
[06:23:19] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[06:23:19] ============== ttm_bo_init_reserved_mock_man  ==============
[06:23:19] [PASSED] Buffer object for userspace
[06:23:19] [PASSED] Kernel buffer object
[06:23:19] [PASSED] Shared buffer object
[06:23:19] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[06:23:19] [PASSED] ttm_bo_init_reserved_resv
[06:23:19] ================== ttm_bo_validate_basic  ==================
[06:23:19] [PASSED] Buffer object for userspace
[06:23:19] [PASSED] Kernel buffer object
[06:23:19] [PASSED] Shared buffer object
[06:23:19] ============== [PASSED] ttm_bo_validate_basic ==============
[06:23:19] [PASSED] ttm_bo_validate_invalid_placement
[06:23:19] ============= ttm_bo_validate_same_placement  ==============
[06:23:19] [PASSED] System manager
[06:23:19] [PASSED] VRAM manager
[06:23:19] ========= [PASSED] ttm_bo_validate_same_placement ==========
[06:23:19] [PASSED] ttm_bo_validate_failed_alloc
[06:23:19] [PASSED] ttm_bo_validate_pinned
[06:23:19] [PASSED] ttm_bo_validate_busy_placement
[06:23:19] ================ ttm_bo_validate_multihop  =================
[06:23:19] [PASSED] Buffer object for userspace
[06:23:19] [PASSED] Kernel buffer object
[06:23:19] [PASSED] Shared buffer object
[06:23:19] ============ [PASSED] ttm_bo_validate_multihop =============
[06:23:19] ========== ttm_bo_validate_no_placement_signaled  ==========
[06:23:19] [PASSED] Buffer object in system domain, no page vector
[06:23:19] [PASSED] Buffer object in system domain with an existing page vector
[06:23:19] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[06:23:19] ======== ttm_bo_validate_no_placement_not_signaled  ========
[06:23:19] [PASSED] Buffer object for userspace
[06:23:19] [PASSED] Kernel buffer object
[06:23:19] [PASSED] Shared buffer object
[06:23:19] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[06:23:19] [PASSED] ttm_bo_validate_move_fence_signaled
[06:23:19] ========= ttm_bo_validate_move_fence_not_signaled  =========
[06:23:19] [PASSED] Waits for GPU
[06:23:19] [PASSED] Tries to lock straight away
[06:23:19] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[06:23:19] [PASSED] ttm_bo_validate_happy_evict
[06:23:19] [PASSED] ttm_bo_validate_all_pinned_evict
[06:23:19] [PASSED] ttm_bo_validate_allowed_only_evict
[06:23:19] [PASSED] ttm_bo_validate_deleted_evict
[06:23:19] [PASSED] ttm_bo_validate_busy_domain_evict
[06:23:19] [PASSED] ttm_bo_validate_evict_gutting
[06:23:19] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[06:23:19] ================= [PASSED] ttm_bo_validate =================
[06:23:19] ============================================================
[06:23:19] Testing complete. Ran 101 tests: passed: 101
[06:23:19] Elapsed time: 10.936s total, 1.710s configuring, 9.009s building, 0.182s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✗ CI.checksparse: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (26 preceding siblings ...)
  2025-09-24  6:23 ` ✓ CI.KUnit: success " Patchwork
@ 2025-09-24  6:38 ` Patchwork
  2025-09-24  6:58 ` ✓ Xe.CI.BAT: success " Patchwork
                   ` (7 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-24  6:38 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
URL   : https://patchwork.freedesktop.org/series/154922/
State : warning

== Summary ==

+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast af3cdefd0a1ad2dad29fcde0854ccbce494cc28a
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
+drivers/gpu/drm/i915/display/intel_alpm.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_hotplug.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+drivers/gpu/drm/i915/i915_irq.c:486:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:486:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:494:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:494:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:499:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:499:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:499:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:537:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:537:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:545:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:545:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:550:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:550:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:550:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:594:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:594:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:597:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:597:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:601:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:601:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:608:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:608:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:608:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:608:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/intel_uncore.c:1928:1: warning: context imbalance in 'fwtable_read8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1929:1: warning: context imbalance in 'fwtable_read16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1930:1: warning: context imbalance in 'fwtable_read32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1931:1: warning: context imbalance in 'fwtable_read64' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1996:1: warning: context imbalance in 'gen6_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1997:1: warning: context imbalance in 'gen6_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1998:1: warning: context imbalance in 'gen6_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2018:1: warning: context imbalance in 'fwtable_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2019:1: warning: context imbalance in 'fwtable_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2020:1: warning: context imbalance in 'fwtable_write32' - unexpected unlock

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✓ Xe.CI.BAT: success for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (27 preceding siblings ...)
  2025-09-24  6:38 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-09-24  6:58 ` Patchwork
  2025-09-24  9:34 ` ✗ Xe.CI.Full: failure " Patchwork
                   ` (6 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-24  6:58 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
URL   : https://patchwork.freedesktop.org/series/154922/
State : success

== Summary ==

CI Bug Log - changes from xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a_BAT -> xe-pw-154922v2_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (11 -> 9)
------------------------------

  Missing    (2): bat-adlp-vm bat-ptl-vm 

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

  Here are the changes found in xe-pw-154922v2_BAT that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@kms_flip@basic-flip-vs-dpms:
    - bat-adlp-7:         [DMESG-WARN][1] ([Intel XE#4543]) -> [PASS][2] +1 other test pass
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/bat-adlp-7/igt@kms_flip@basic-flip-vs-dpms.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/bat-adlp-7/igt@kms_flip@basic-flip-vs-dpms.html

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


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

  * Linux: xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a -> xe-pw-154922v2

  IGT_8550: 4f8c7886ad02e116804ec08714f17bce1755c6e4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a: af3cdefd0a1ad2dad29fcde0854ccbce494cc28a
  xe-pw-154922v2: 154922v2

== Logs ==

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

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

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

* Re: [PATCH v2 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
  2025-09-24  6:16   ` [PATCH v2 " Ville Syrjala
@ 2025-09-24  9:05     ` Jani Nikula
  2025-09-24  9:56       ` Ville Syrjälä
  0 siblings, 1 reply; 43+ messages in thread
From: Jani Nikula @ 2025-09-24  9:05 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx; +Cc: intel-xe

On Wed, 24 Sep 2025, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Extract the code to determine the DG2 pipe power well count
> into a small helper. I'll have other uses for this later.
>
> TODO: need to move this power well stuff out from the cdclk code...
>
> v2: Don't lose the early return from intel_cdclk_pcode_pre_notify()
>     (kernel test robot)
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_cdclk.c | 33 +++++++++++++---------
>  1 file changed, 19 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index 05d9f488895e..f190cfb85a34 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -2591,6 +2591,12 @@ static void intel_set_cdclk(struct intel_display *display,
>  	}
>  }
>  
> +static bool dg2_power_well_count(struct intel_display *display,
> +				 const struct intel_cdclk_state *cdclk_state)
> +{
> +	return display->platform.dg2 ? hweight8(cdclk_state->active_pipes) : 0;
> +}
> +
>  static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
>  {
>  	struct intel_display *display = to_intel_display(state);
> @@ -2603,16 +2609,16 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
>  
>  	if (!intel_cdclk_changed(&old_cdclk_state->actual,
>  				 &new_cdclk_state->actual) &&
> -				 new_cdclk_state->active_pipes ==
> -				 old_cdclk_state->active_pipes)
> +	    dg2_power_well_count(display, old_cdclk_state) ==
> +	    dg2_power_well_count(display, old_cdclk_state))

Both have old_cdclk_state, making this always true.

Side note, perhaps the whole function should be renamed
dg2_cdclk_pcode_pre_notify(), because the additional dg2 check in
dg2_power_well_count() felt weird until I realized this is all dg2 only.

BR,
Jani.


>  		return;
>  
>  	/* According to "Sequence Before Frequency Change", voltage level set to 0x3 */
>  	voltage_level = DISPLAY_TO_PCODE_VOLTAGE_MAX;
>  
>  	change_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
> -	update_pipe_count = hweight8(new_cdclk_state->active_pipes) >
> -			    hweight8(old_cdclk_state->active_pipes);
> +	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) >
> +		dg2_power_well_count(display, old_cdclk_state);
>  
>  	/*
>  	 * According to "Sequence Before Frequency Change",
> @@ -2630,7 +2636,7 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
>  	 * no action if it is decreasing, before the change
>  	 */
>  	if (update_pipe_count)
> -		num_active_pipes = hweight8(new_cdclk_state->active_pipes);
> +		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
>  
>  	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
>  			   change_cdclk, update_pipe_count);
> @@ -2650,8 +2656,8 @@ static void intel_cdclk_pcode_post_notify(struct intel_atomic_state *state)
>  	voltage_level = new_cdclk_state->actual.voltage_level;
>  
>  	update_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
> -	update_pipe_count = hweight8(new_cdclk_state->active_pipes) <
> -			    hweight8(old_cdclk_state->active_pipes);
> +	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) <
> +		dg2_power_well_count(display, old_cdclk_state);
>  
>  	/*
>  	 * According to "Sequence After Frequency Change",
> @@ -2667,7 +2673,7 @@ static void intel_cdclk_pcode_post_notify(struct intel_atomic_state *state)
>  	 * no action if it is increasing, after the change
>  	 */
>  	if (update_pipe_count)
> -		num_active_pipes = hweight8(new_cdclk_state->active_pipes);
> +		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
>  
>  	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
>  			   update_cdclk, update_pipe_count);
> @@ -3248,15 +3254,14 @@ static bool intel_cdclk_need_serialize(struct intel_display *display,
>  				       const struct intel_cdclk_state *old_cdclk_state,
>  				       const struct intel_cdclk_state *new_cdclk_state)
>  {
> -	bool power_well_cnt_changed = hweight8(old_cdclk_state->active_pipes) !=
> -				      hweight8(new_cdclk_state->active_pipes);
> -	bool cdclk_changed = intel_cdclk_changed(&old_cdclk_state->actual,
> -						 &new_cdclk_state->actual);
>  	/*
> -	 * We need to poke hw for gen >= 12, because we notify PCode if
> +	 * We need to poke hw for DG2, because we notify PCode if
>  	 * pipe power well count changes.
>  	 */
> -	return cdclk_changed || (display->platform.dg2 && power_well_cnt_changed);
> +	return intel_cdclk_changed(&old_cdclk_state->actual,
> +				   &new_cdclk_state->actual) ||
> +		dg2_power_well_count(display, old_cdclk_state) !=
> +		dg2_power_well_count(display, new_cdclk_state);
>  }
>  
>  int intel_modeset_calc_cdclk(struct intel_atomic_state *state)

-- 
Jani Nikula, Intel

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

* ✗ Xe.CI.Full: failure for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (28 preceding siblings ...)
  2025-09-24  6:58 ` ✓ Xe.CI.BAT: success " Patchwork
@ 2025-09-24  9:34 ` Patchwork
  2025-09-26  8:46 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3) Patchwork
                   ` (5 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-24  9:34 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2)
URL   : https://patchwork.freedesktop.org/series/154922/
State : failure

== Summary ==

CI Bug Log - changes from xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a_FULL -> xe-pw-154922v2_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-154922v2_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-154922v2_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 (4 -> 4)
------------------------------

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-154922v2_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@xe_pm_residency@gt-c6-freeze@gt0:
    - shard-adlp:         NOTRUN -> [INCOMPLETE][1] +1 other test incomplete
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_pm_residency@gt-c6-freeze@gt0.html

  
#### Warnings ####

  * igt@xe_exec_compute_mode@many-execqueues-userptr-free:
    - shard-bmg:          [FAIL][2] ([Intel XE#5625]) -> [FAIL][3]
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-5/igt@xe_exec_compute_mode@many-execqueues-userptr-free.html
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@xe_exec_compute_mode@many-execqueues-userptr-free.html

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

  Here are the changes found in xe-pw-154922v2_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_big_fb@4-tiled-8bpp-rotate-270:
    - shard-dg2-set2:     NOTRUN -> [SKIP][4] ([Intel XE#316]) +2 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-32bpp-rotate-270:
    - shard-adlp:         NOTRUN -> [SKIP][5] ([Intel XE#316])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-16bpp-rotate-0:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#1124])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@kms_big_fb@y-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-adlp:         NOTRUN -> [DMESG-FAIL][7] ([Intel XE#4543]) +1 other test dmesg-fail
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][8] ([Intel XE#1124]) +7 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-8bpp-rotate-270:
    - shard-adlp:         NOTRUN -> [SKIP][9] ([Intel XE#1124])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_big_fb@yf-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#610])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_bw@linear-tiling-3-displays-3840x2160p:
    - shard-adlp:         NOTRUN -> [SKIP][11] ([Intel XE#367])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-4-displays-1920x1080p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][12] ([Intel XE#367]) +1 other test skip
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_bw@linear-tiling-4-displays-1920x1080p.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][13] ([Intel XE#2907]) +2 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][14] ([Intel XE#455] / [Intel XE#787]) +5 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-c-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][15] ([Intel XE#787]) +8 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-c-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][16] ([Intel XE#3442])
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-b-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#2652] / [Intel XE#787]) +7 other tests skip
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-b-dp-2.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][18] ([Intel XE#787]) +90 other tests skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html

  * igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-d-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][19] ([Intel XE#455] / [Intel XE#787]) +20 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-d-dp-2.html

  * igt@kms_chamelium_audio@dp-audio:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#2252]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@kms_chamelium_audio@dp-audio.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-dg2-set2:     NOTRUN -> [SKIP][21] ([Intel XE#306])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     NOTRUN -> [SKIP][22] ([Intel XE#373]) +5 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_content_protection@atomic@pipe-a-dp-2:
    - shard-bmg:          NOTRUN -> [FAIL][23] ([Intel XE#1178]) +1 other test fail
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-7/igt@kms_content_protection@atomic@pipe-a-dp-2.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-dg2-set2:     NOTRUN -> [SKIP][24] ([Intel XE#307])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@lic-type-0@pipe-a-dp-2:
    - shard-dg2-set2:     NOTRUN -> [FAIL][25] ([Intel XE#1178])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_content_protection@lic-type-0@pipe-a-dp-2.html

  * igt@kms_content_protection@uevent:
    - shard-dg2-set2:     NOTRUN -> [FAIL][26] ([Intel XE#1188]) +1 other test fail
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-dg2-set2:     NOTRUN -> [SKIP][27] ([Intel XE#308]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-bmg:          [PASS][28] -> [SKIP][29] ([Intel XE#2291]) +4 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@single-move@pipe-c:
    - shard-dg2-set2:     [PASS][30] -> [DMESG-WARN][31] ([Intel XE#5666]) +1 other test dmesg-warn
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-dg2-434/igt@kms_cursor_legacy@single-move@pipe-c.html
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-466/igt@kms_cursor_legacy@single-move@pipe-c.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][32] ([Intel XE#4494])
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-2.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-adlp:         NOTRUN -> [SKIP][33] ([Intel XE#4331])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-dg2-set2:     NOTRUN -> [SKIP][34] ([Intel XE#4331])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-fractional-bpp-with-bpc:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#2244])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html

  * igt@kms_flip@2x-dpms-vs-vblank-race:
    - shard-adlp:         NOTRUN -> [SKIP][36] ([Intel XE#310])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_flip@2x-dpms-vs-vblank-race.html

  * igt@kms_flip@2x-flip-vs-panning:
    - shard-bmg:          [PASS][37] -> [SKIP][38] ([Intel XE#2316]) +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-3/igt@kms_flip@2x-flip-vs-panning.html
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-6/igt@kms_flip@2x-flip-vs-panning.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-dg2-set2:     [PASS][39] -> [INCOMPLETE][40] ([Intel XE#2049] / [Intel XE#2597])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-dg2-432/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-436/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible@bd-hdmi-a6-dp4:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][41] ([Intel XE#2049] / [Intel XE#2597])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-436/igt@kms_flip@2x-flip-vs-suspend-interruptible@bd-hdmi-a6-dp4.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1:
    - shard-adlp:         [PASS][42] -> [DMESG-WARN][43] ([Intel XE#2953] / [Intel XE#4173]) +1 other test dmesg-warn
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-6/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html

  * igt@kms_flip@flip-vs-suspend@d-hdmi-a1:
    - shard-adlp:         [PASS][44] -> [DMESG-WARN][45] ([Intel XE#4543]) +7 other tests dmesg-warn
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-6/igt@kms_flip@flip-vs-suspend@d-hdmi-a1.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-4/igt@kms_flip@flip-vs-suspend@d-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode:
    - shard-adlp:         NOTRUN -> [SKIP][46] ([Intel XE#455]) +3 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
    - shard-dg2-set2:     NOTRUN -> [SKIP][47] ([Intel XE#455]) +6 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y:
    - shard-adlp:         [PASS][48] -> [DMESG-FAIL][49] ([Intel XE#4543])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y.html
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-y.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y:
    - shard-adlp:         [PASS][50] -> [FAIL][51] ([Intel XE#1874])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y.html
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][52] ([Intel XE#651]) +22 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][53] ([Intel XE#2311])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-move:
    - shard-bmg:          NOTRUN -> [SKIP][54] ([Intel XE#2312])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-slowdraw:
    - shard-adlp:         NOTRUN -> [SKIP][55] ([Intel XE#651])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcdrrs-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render:
    - shard-adlp:         NOTRUN -> [SKIP][56] ([Intel XE#653]) +2 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render:
    - shard-adlp:         NOTRUN -> [SKIP][57] ([Intel XE#656]) +3 other tests skip
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][58] ([Intel XE#653]) +22 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt.html

  * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][59] ([Intel XE#2925])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html

  * igt@kms_plane_cursor@overlay:
    - shard-dg2-set2:     NOTRUN -> [FAIL][60] ([Intel XE#616]) +1 other test fail
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_plane_cursor@overlay.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-dg2-set2:     NOTRUN -> [SKIP][61] ([Intel XE#5020])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2-set2:     NOTRUN -> [SKIP][62] ([Intel XE#870])
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][63] ([Intel XE#1129])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-adlp:         NOTRUN -> [SKIP][64] ([Intel XE#734])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_rpm@basic-pci-d3-state:
    - shard-adlp:         NOTRUN -> [SKIP][65] ([Intel XE#6070])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_pm_rpm@basic-pci-d3-state.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#1406] / [Intel XE#1489])
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
    - shard-dg2-set2:     NOTRUN -> [SKIP][67] ([Intel XE#1406] / [Intel XE#1489]) +3 other tests skip
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb:
    - shard-adlp:         NOTRUN -> [SKIP][68] ([Intel XE#1406] / [Intel XE#1489]) +1 other test skip
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-dg2-set2:     NOTRUN -> [SKIP][69] ([Intel XE#1122] / [Intel XE#1406])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-pr-sprite-plane-onoff:
    - shard-adlp:         NOTRUN -> [SKIP][70] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +2 other tests skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_psr@fbc-pr-sprite-plane-onoff.html

  * igt@kms_psr@fbc-psr2-cursor-plane-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][71] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +8 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html

  * igt@kms_psr@fbc-psr2-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][72] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850])
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@kms_psr@fbc-psr2-suspend.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][73] ([Intel XE#3414]) +1 other test skip
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-adlp:         NOTRUN -> [SKIP][74] ([Intel XE#1127])
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_vrr@lobf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][75] ([Intel XE#2168])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@kms_vrr@lobf.html

  * igt@xe_copy_basic@mem-set-linear-0x3fff:
    - shard-adlp:         NOTRUN -> [SKIP][76] ([Intel XE#1126])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_copy_basic@mem-set-linear-0x3fff.html

  * igt@xe_copy_basic@mem-set-linear-0xfffe:
    - shard-dg2-set2:     NOTRUN -> [SKIP][77] ([Intel XE#1126])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@xe_copy_basic@mem-set-linear-0xfffe.html

  * igt@xe_eudebug@basic-vm-access-parameters:
    - shard-dg2-set2:     NOTRUN -> [SKIP][78] ([Intel XE#4837]) +10 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@xe_eudebug@basic-vm-access-parameters.html

  * igt@xe_eudebug@basic-vm-bind-ufence-sigint-client:
    - shard-bmg:          NOTRUN -> [SKIP][79] ([Intel XE#4837])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@xe_eudebug@basic-vm-bind-ufence-sigint-client.html

  * igt@xe_eudebug_online@stopped-thread:
    - shard-adlp:         NOTRUN -> [SKIP][80] ([Intel XE#4837] / [Intel XE#5565]) +1 other test skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_eudebug_online@stopped-thread.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue:
    - shard-dg2-set2:     [PASS][81] -> [SKIP][82] ([Intel XE#1392]) +1 other test skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-dg2-463/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind:
    - shard-dg2-set2:     NOTRUN -> [SKIP][83] ([Intel XE#1392]) +4 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind.html

  * igt@xe_exec_basic@multigpu-no-exec-null-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][84] ([Intel XE#2322]) +1 other test skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-6/igt@xe_exec_basic@multigpu-no-exec-null-rebind.html

  * igt@xe_exec_basic@multigpu-once-userptr-invalidate-race:
    - shard-adlp:         NOTRUN -> [SKIP][85] ([Intel XE#1392] / [Intel XE#5575]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_exec_basic@multigpu-once-userptr-invalidate-race.html

  * igt@xe_exec_fault_mode@many-execqueues-rebind:
    - shard-adlp:         NOTRUN -> [SKIP][86] ([Intel XE#288] / [Intel XE#5561]) +4 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_exec_fault_mode@many-execqueues-rebind.html

  * igt@xe_exec_fault_mode@many-rebind-imm:
    - shard-dg2-set2:     NOTRUN -> [SKIP][87] ([Intel XE#288]) +17 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@xe_exec_fault_mode@many-rebind-imm.html

  * igt@xe_exec_mix_modes@exec-simple-batch-store-lr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][88] ([Intel XE#2360]) +1 other test skip
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html

  * igt@xe_exec_system_allocator@many-execqueues-mmap-free-huge:
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#4943]) +1 other test skip
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-4/igt@xe_exec_system_allocator@many-execqueues-mmap-free-huge.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-malloc-multi-fault:
    - shard-dg2-set2:     NOTRUN -> [SKIP][90] ([Intel XE#4915]) +189 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@xe_exec_system_allocator@threads-shared-vm-many-malloc-multi-fault.html

  * igt@xe_exec_system_allocator@twice-large-new-race:
    - shard-adlp:         NOTRUN -> [SKIP][91] ([Intel XE#4915]) +41 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_exec_system_allocator@twice-large-new-race.html

  * igt@xe_media_fill@media-fill:
    - shard-dg2-set2:     NOTRUN -> [SKIP][92] ([Intel XE#560])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@xe_media_fill@media-fill.html

  * igt@xe_oa@buffer-fill:
    - shard-adlp:         NOTRUN -> [SKIP][93] ([Intel XE#3573]) +1 other test skip
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_oa@buffer-fill.html

  * igt@xe_oa@closed-fd-and-unmapped-access:
    - shard-dg2-set2:     NOTRUN -> [SKIP][94] ([Intel XE#3573]) +6 other tests skip
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@xe_oa@closed-fd-and-unmapped-access.html

  * igt@xe_pm@s2idle-d3hot-basic-exec:
    - shard-adlp:         [PASS][95] -> [DMESG-WARN][96] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4504])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-9/igt@xe_pm@s2idle-d3hot-basic-exec.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-3/igt@xe_pm@s2idle-d3hot-basic-exec.html

  * igt@xe_pmu@all-fn-engine-activity-load@engine-drm_xe_engine_class_render0:
    - shard-adlp:         NOTRUN -> [TIMEOUT][97] ([Intel XE#5213]) +1 other test timeout
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_pmu@all-fn-engine-activity-load@engine-drm_xe_engine_class_render0.html

  * igt@xe_pmu@fn-engine-activity-load:
    - shard-dg2-set2:     NOTRUN -> [SKIP][98] ([Intel XE#4650])
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@xe_pmu@fn-engine-activity-load.html

  * igt@xe_pmu@gt-frequency:
    - shard-lnl:          [PASS][99] -> [FAIL][100] ([Intel XE#5841]) +1 other test fail
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-lnl-8/igt@xe_pmu@gt-frequency.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-lnl-4/igt@xe_pmu@gt-frequency.html

  * igt@xe_pxp@display-pxp-fb:
    - shard-dg2-set2:     NOTRUN -> [SKIP][101] ([Intel XE#4733]) +1 other test skip
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@xe_pxp@display-pxp-fb.html

  * igt@xe_pxp@pxp-termination-key-update-post-rpm:
    - shard-adlp:         NOTRUN -> [SKIP][102] ([Intel XE#4733] / [Intel XE#5594])
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@xe_pxp@pxp-termination-key-update-post-rpm.html

  * igt@xe_query@multigpu-query-cs-cycles:
    - shard-dg2-set2:     NOTRUN -> [SKIP][103] ([Intel XE#944])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-432/igt@xe_query@multigpu-query-cs-cycles.html

  * igt@xe_sriov_auto_provisioning@exclusive-ranges:
    - shard-dg2-set2:     NOTRUN -> [SKIP][104] ([Intel XE#4130])
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-464/igt@xe_sriov_auto_provisioning@exclusive-ranges.html

  * igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random:
    - shard-adlp:         [PASS][105] -> [DMESG-FAIL][106] ([Intel XE#5213]) +1 other test dmesg-fail
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-2/igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-1/igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random.html

  
#### Possible fixes ####

  * igt@kms_async_flips@alternate-sync-async-flip:
    - shard-bmg:          [FAIL][107] ([Intel XE#3718] / [Intel XE#6078]) -> [PASS][108]
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-4/igt@kms_async_flips@alternate-sync-async-flip.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-8/igt@kms_async_flips@alternate-sync-async-flip.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-a-dp-2:
    - shard-bmg:          [FAIL][109] -> [PASS][110]
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-4/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-dp-2.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-8/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-dp-2.html

  * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
    - shard-bmg:          [SKIP][111] ([Intel XE#2291]) -> [PASS][112]
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-7/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-bmg:          [DMESG-WARN][113] ([Intel XE#5354]) -> [PASS][114]
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_flip@2x-blocking-wf_vblank:
    - shard-bmg:          [SKIP][115] ([Intel XE#2316]) -> [PASS][116] +3 other tests pass
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-6/igt@kms_flip@2x-blocking-wf_vblank.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-7/igt@kms_flip@2x-blocking-wf_vblank.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
    - shard-lnl:          [FAIL][117] ([Intel XE#301]) -> [PASS][118]
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html

  * igt@kms_flip@flip-vs-rmfb-interruptible:
    - shard-adlp:         [DMESG-WARN][119] ([Intel XE#4543] / [Intel XE#5208]) -> [PASS][120] +1 other test pass
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-6/igt@kms_flip@flip-vs-rmfb-interruptible.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-4/igt@kms_flip@flip-vs-rmfb-interruptible.html

  * igt@kms_flip@plain-flip-interruptible@b-hdmi-a1:
    - shard-adlp:         [DMESG-WARN][121] ([Intel XE#4543]) -> [PASS][122] +5 other tests pass
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-9/igt@kms_flip@plain-flip-interruptible@b-hdmi-a1.html
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_flip@plain-flip-interruptible@b-hdmi-a1.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x:
    - shard-adlp:         [DMESG-FAIL][123] ([Intel XE#4543]) -> [PASS][124]
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x.html
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x:
    - shard-adlp:         [FAIL][125] ([Intel XE#1874]) -> [PASS][126]
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x.html
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x.html

  * igt@kms_hdr@static-swap:
    - shard-bmg:          [SKIP][127] ([Intel XE#1503]) -> [PASS][128] +2 other tests pass
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-6/igt@kms_hdr@static-swap.html
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-7/igt@kms_hdr@static-swap.html

  * igt@kms_vblank@ts-continuation-suspend:
    - shard-adlp:         [DMESG-WARN][129] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][130] +6 other tests pass
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-2/igt@kms_vblank@ts-continuation-suspend.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-1/igt@kms_vblank@ts-continuation-suspend.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race:
    - shard-dg2-set2:     [SKIP][131] ([Intel XE#1392]) -> [PASS][132] +2 other tests pass
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-436/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race.html

  * {igt@xe_exec_system_allocator@many-large-execqueues-new-prefetch}:
    - shard-bmg:          [CRASH][133] ([Intel XE#6192]) -> [PASS][134] +12 other tests pass
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-7/igt@xe_exec_system_allocator@many-large-execqueues-new-prefetch.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-2/igt@xe_exec_system_allocator@many-large-execqueues-new-prefetch.html

  * {igt@xe_exec_system_allocator@many-new-prefetch}:
    - shard-lnl:          [CRASH][135] ([Intel XE#6192]) -> [PASS][136] +5 other tests pass
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-lnl-2/igt@xe_exec_system_allocator@many-new-prefetch.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-lnl-7/igt@xe_exec_system_allocator@many-new-prefetch.html

  * igt@xe_pm@s2idle-basic:
    - shard-adlp:         [DMESG-WARN][137] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4504]) -> [PASS][138]
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-2/igt@xe_pm@s2idle-basic.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-6/igt@xe_pm@s2idle-basic.html

  
#### Warnings ####

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][139] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345]) -> [INCOMPLETE][140] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) +1 other test incomplete
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html

  * igt@kms_content_protection@atomic:
    - shard-bmg:          [SKIP][141] ([Intel XE#2341]) -> [FAIL][142] ([Intel XE#1178]) +1 other test fail
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-6/igt@kms_content_protection@atomic.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-7/igt@kms_content_protection@atomic.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-adlp:         [DMESG-WARN][143] ([Intel XE#2953] / [Intel XE#4173]) -> [DMESG-WARN][144] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-6/igt@kms_flip@flip-vs-suspend-interruptible.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a1:
    - shard-adlp:         [DMESG-WARN][145] ([Intel XE#2953] / [Intel XE#4173]) -> [DMESG-WARN][146] ([Intel XE#4543])
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-adlp-6/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a1.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling:
    - shard-lnl:          [SKIP][147] ([Intel XE#1397] / [Intel XE#1745]) -> [ABORT][148] ([Intel XE#4760])
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode:
    - shard-lnl:          [SKIP][149] ([Intel XE#1397]) -> [ABORT][150] ([Intel XE#4760])
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][151] ([Intel XE#2312]) -> [SKIP][152] ([Intel XE#2311]) +12 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][153] ([Intel XE#2311]) -> [SKIP][154] ([Intel XE#2312]) +8 other tests skip
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][155] ([Intel XE#5390]) -> [SKIP][156] ([Intel XE#2312]) +3 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
    - shard-bmg:          [SKIP][157] ([Intel XE#2312]) -> [SKIP][158] ([Intel XE#5390]) +9 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][159] ([Intel XE#2313]) -> [SKIP][160] ([Intel XE#2312]) +11 other tests skip
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
    - shard-bmg:          [SKIP][161] ([Intel XE#2312]) -> [SKIP][162] ([Intel XE#2313]) +11 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][163] ([Intel XE#3544]) -> [SKIP][164] ([Intel XE#3374] / [Intel XE#3544])
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v2/shard-bmg-3/igt@kms_hdr@brightness-with-hdr.html

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

  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
  [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
  [Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
  [Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
  [Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
  [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4494]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4494
  [Intel XE#4504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4504
  [Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
  [Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4760
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
  [Intel XE#5213]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5213
  [Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354
  [Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
  [Intel XE#5503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5503
  [Intel XE#5561]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5561
  [Intel XE#5565]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5565
  [Intel XE#5575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5575
  [Intel XE#5594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5594
  [Intel XE#560]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/560
  [Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
  [Intel XE#5666]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5666
  [Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
  [Intel XE#5841]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5841
  [Intel XE#6070]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6070
  [Intel XE#6078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6078
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#6192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6192
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#734]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/734
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * Linux: xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a -> xe-pw-154922v2

  IGT_8550: 4f8c7886ad02e116804ec08714f17bce1755c6e4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-3822-af3cdefd0a1ad2dad29fcde0854ccbce494cc28a: af3cdefd0a1ad2dad29fcde0854ccbce494cc28a
  xe-pw-154922v2: 154922v2

== Logs ==

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

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

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

* Re: [PATCH v2 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
  2025-09-24  9:05     ` Jani Nikula
@ 2025-09-24  9:56       ` Ville Syrjälä
  0 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjälä @ 2025-09-24  9:56 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, intel-xe

On Wed, Sep 24, 2025 at 12:05:56PM +0300, Jani Nikula wrote:
> On Wed, 24 Sep 2025, Ville Syrjala <ville.syrjala@linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Extract the code to determine the DG2 pipe power well count
> > into a small helper. I'll have other uses for this later.
> >
> > TODO: need to move this power well stuff out from the cdclk code...
> >
> > v2: Don't lose the early return from intel_cdclk_pcode_pre_notify()
> >     (kernel test robot)
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_cdclk.c | 33 +++++++++++++---------
> >  1 file changed, 19 insertions(+), 14 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > index 05d9f488895e..f190cfb85a34 100644
> > --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> > +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > @@ -2591,6 +2591,12 @@ static void intel_set_cdclk(struct intel_display *display,
> >  	}
> >  }
> >  
> > +static bool dg2_power_well_count(struct intel_display *display,
> > +				 const struct intel_cdclk_state *cdclk_state)
> > +{
> > +	return display->platform.dg2 ? hweight8(cdclk_state->active_pipes) : 0;
> > +}
> > +
> >  static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
> >  {
> >  	struct intel_display *display = to_intel_display(state);
> > @@ -2603,16 +2609,16 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
> >  
> >  	if (!intel_cdclk_changed(&old_cdclk_state->actual,
> >  				 &new_cdclk_state->actual) &&
> > -				 new_cdclk_state->active_pipes ==
> > -				 old_cdclk_state->active_pipes)
> > +	    dg2_power_well_count(display, old_cdclk_state) ==
> > +	    dg2_power_well_count(display, old_cdclk_state))
> 
> Both have old_cdclk_state, making this always true.

doh

> 
> Side note, perhaps the whole function should be renamed
> dg2_cdclk_pcode_pre_notify(), because the additional dg2 check in
> dg2_power_well_count() felt weird until I realized this is all dg2 only.

Yeah, the whole thing should really be moved out from the cdclk
code completely. This is essentially a variant of pmdemand,
just through the pcode mailbox instead of using dedicated
pmdemand registers (which internally will get sent over
to pcode anyway). But the actual pmdemand code is also borked
in various ways, so that too will need a lot of work :/

I can cook up a patch to rename these in the meantime.

-- 
Ville Syrjälä
Intel

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

* [PATCH v3 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
  2025-09-23 17:19 ` [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count() Ville Syrjala
  2025-09-23 23:05   ` kernel test robot
  2025-09-24  6:16   ` [PATCH v2 " Ville Syrjala
@ 2025-09-26  8:39   ` Ville Syrjala
  2025-10-09 16:59   ` [PATCH " kernel test robot
  3 siblings, 0 replies; 43+ messages in thread
From: Ville Syrjala @ 2025-09-26  8:39 UTC (permalink / raw)
  To: intel-gfx; +Cc: intel-xe, Jani Nikula

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

Extract the code to determine the DG2 pipe power well count
into a small helper. I'll have other uses for this later.

TODO: need to move this power well stuff out from the cdclk code...

v2: Don't lose the early return from intel_cdclk_pcode_pre_notify()
    (kernel test robot)
v3: Compare old vs. new, not old vs. old (Jani)

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_cdclk.c | 33 +++++++++++++---------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 05d9f488895e..3635813ac0af 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -2591,6 +2591,12 @@ static void intel_set_cdclk(struct intel_display *display,
 	}
 }
 
+static bool dg2_power_well_count(struct intel_display *display,
+				 const struct intel_cdclk_state *cdclk_state)
+{
+	return display->platform.dg2 ? hweight8(cdclk_state->active_pipes) : 0;
+}
+
 static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 {
 	struct intel_display *display = to_intel_display(state);
@@ -2603,16 +2609,16 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 
 	if (!intel_cdclk_changed(&old_cdclk_state->actual,
 				 &new_cdclk_state->actual) &&
-				 new_cdclk_state->active_pipes ==
-				 old_cdclk_state->active_pipes)
+	    dg2_power_well_count(display, old_cdclk_state) ==
+	    dg2_power_well_count(display, new_cdclk_state))
 		return;
 
 	/* According to "Sequence Before Frequency Change", voltage level set to 0x3 */
 	voltage_level = DISPLAY_TO_PCODE_VOLTAGE_MAX;
 
 	change_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
-	update_pipe_count = hweight8(new_cdclk_state->active_pipes) >
-			    hweight8(old_cdclk_state->active_pipes);
+	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) >
+		dg2_power_well_count(display, old_cdclk_state);
 
 	/*
 	 * According to "Sequence Before Frequency Change",
@@ -2630,7 +2636,7 @@ static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
 	 * no action if it is decreasing, before the change
 	 */
 	if (update_pipe_count)
-		num_active_pipes = hweight8(new_cdclk_state->active_pipes);
+		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
 
 	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
 			   change_cdclk, update_pipe_count);
@@ -2650,8 +2656,8 @@ static void intel_cdclk_pcode_post_notify(struct intel_atomic_state *state)
 	voltage_level = new_cdclk_state->actual.voltage_level;
 
 	update_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
-	update_pipe_count = hweight8(new_cdclk_state->active_pipes) <
-			    hweight8(old_cdclk_state->active_pipes);
+	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) <
+		dg2_power_well_count(display, old_cdclk_state);
 
 	/*
 	 * According to "Sequence After Frequency Change",
@@ -2667,7 +2673,7 @@ static void intel_cdclk_pcode_post_notify(struct intel_atomic_state *state)
 	 * no action if it is increasing, after the change
 	 */
 	if (update_pipe_count)
-		num_active_pipes = hweight8(new_cdclk_state->active_pipes);
+		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
 
 	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
 			   update_cdclk, update_pipe_count);
@@ -3248,15 +3254,14 @@ static bool intel_cdclk_need_serialize(struct intel_display *display,
 				       const struct intel_cdclk_state *old_cdclk_state,
 				       const struct intel_cdclk_state *new_cdclk_state)
 {
-	bool power_well_cnt_changed = hweight8(old_cdclk_state->active_pipes) !=
-				      hweight8(new_cdclk_state->active_pipes);
-	bool cdclk_changed = intel_cdclk_changed(&old_cdclk_state->actual,
-						 &new_cdclk_state->actual);
 	/*
-	 * We need to poke hw for gen >= 12, because we notify PCode if
+	 * We need to poke hw for DG2, because we notify PCode if
 	 * pipe power well count changes.
 	 */
-	return cdclk_changed || (display->platform.dg2 && power_well_cnt_changed);
+	return intel_cdclk_changed(&old_cdclk_state->actual,
+				   &new_cdclk_state->actual) ||
+		dg2_power_well_count(display, old_cdclk_state) !=
+		dg2_power_well_count(display, new_cdclk_state);
 }
 
 int intel_modeset_calc_cdclk(struct intel_atomic_state *state)
-- 
2.49.1


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

* ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (29 preceding siblings ...)
  2025-09-24  9:34 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-09-26  8:46 ` Patchwork
  2025-09-26  8:47 ` ✓ CI.KUnit: success " Patchwork
                   ` (4 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-26  8:46 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
URL   : https://patchwork.freedesktop.org/series/154922/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
fbd08a78c3a3bb17964db2a326514c69c1dca660
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 52d2bcc4d044807c0734d20c5fad8dee8d81c770
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Tue Sep 23 20:19:42 2025 +0300

    drm/i915/cdclk: Move intel_cdclk_atomic_check()
    
    Move intel_cdclk_atomic_check() a bit so that we don't need an
    extra intel_modeset_calc_cdclk() forward declaration.
    
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+ /mt/dim checkpatch d557b14c00c4ab027e66c1c7bf512cf479ff8c24 drm-intel
32c2bce33116 drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed()
74a4c213d6a2 drm/i915: Introduce intel_crtc_active_changed() and intel_any_crtc_active_changed()
67efbfc522f1 drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is changing its active state
757071e31875 drm/1915/bw: Drop redundant display version checks
179cfc639562 drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed()
a450c5052d1f drm/i915/cdclk: Extract dg2_power_well_count()
16ab82fd5b8c drm/i915/cdclk: Introduce intel_cdclk_modeset_checks()
f5218f695ff9 drm/i915/cdclk: Handle the force_min_cdclk state locking in intel_cdclk_atomic_check()
bedd2532b948 drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk()
74eb29286287 drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk()
7c1a69900f02 drm/i915/cdclk: Rework bw_min_cdclk handling
b767170e2bdd drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe
-:53: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#53: FILE: drivers/gpu/drm/i915/display/intel_cdclk.c:3295:
+							intel_crtc_compute_min_cdclk(old_crtc_state),

-:54: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#54: FILE: drivers/gpu/drm/i915/display/intel_cdclk.c:3296:
+							intel_crtc_compute_min_cdclk(new_crtc_state),

total: 0 errors, 2 warnings, 0 checks, 116 lines checked
09ff7e57b2e0 drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls
08ca4b9b5b1b drm/i915/cdclk: Rework crtc min_cdclk handling
8b703aa21a0c drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into intel_crtc_compute_min_cdclk()
2fc5a393e579 drm/i915/cdclk: Decuple cdclk from state->modeset
5813f3c6b5f8 drm/i915: Introduce intel_calc_enabled_pipes()
d7370f33b594 drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk audio w/a
b20bffd21a99 drm/i915/cdclk: Hide intel_modeset_calc_cdclk()
52d2bcc4d044 drm/i915/cdclk: Move intel_cdclk_atomic_check()



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

* ✓ CI.KUnit: success for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (30 preceding siblings ...)
  2025-09-26  8:46 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3) Patchwork
@ 2025-09-26  8:47 ` Patchwork
  2025-09-26  9:03 ` ✗ CI.checksparse: warning " Patchwork
                   ` (3 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-26  8:47 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
URL   : https://patchwork.freedesktop.org/series/154922/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[08:46:41] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:46:45] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[08:47:14] Starting KUnit Kernel (1/1)...
[08:47:14] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:47:14] ================== guc_buf (11 subtests) ===================
[08:47:14] [PASSED] test_smallest
[08:47:14] [PASSED] test_largest
[08:47:14] [PASSED] test_granular
[08:47:14] [PASSED] test_unique
[08:47:14] [PASSED] test_overlap
[08:47:14] [PASSED] test_reusable
[08:47:14] [PASSED] test_too_big
[08:47:14] [PASSED] test_flush
[08:47:14] [PASSED] test_lookup
[08:47:14] [PASSED] test_data
[08:47:14] [PASSED] test_class
[08:47:14] ===================== [PASSED] guc_buf =====================
[08:47:14] =================== guc_dbm (7 subtests) ===================
[08:47:14] [PASSED] test_empty
[08:47:14] [PASSED] test_default
[08:47:14] ======================== test_size  ========================
[08:47:14] [PASSED] 4
[08:47:14] [PASSED] 8
[08:47:14] [PASSED] 32
[08:47:14] [PASSED] 256
[08:47:14] ==================== [PASSED] test_size ====================
[08:47:14] ======================= test_reuse  ========================
[08:47:14] [PASSED] 4
[08:47:14] [PASSED] 8
[08:47:14] [PASSED] 32
[08:47:14] [PASSED] 256
[08:47:14] =================== [PASSED] test_reuse ====================
[08:47:14] =================== test_range_overlap  ====================
[08:47:14] [PASSED] 4
[08:47:14] [PASSED] 8
[08:47:14] [PASSED] 32
[08:47:14] [PASSED] 256
[08:47:14] =============== [PASSED] test_range_overlap ================
[08:47:14] =================== test_range_compact  ====================
[08:47:14] [PASSED] 4
[08:47:14] [PASSED] 8
[08:47:14] [PASSED] 32
[08:47:14] [PASSED] 256
[08:47:14] =============== [PASSED] test_range_compact ================
[08:47:14] ==================== test_range_spare  =====================
[08:47:14] [PASSED] 4
[08:47:14] [PASSED] 8
[08:47:14] [PASSED] 32
[08:47:14] [PASSED] 256
[08:47:14] ================ [PASSED] test_range_spare =================
[08:47:14] ===================== [PASSED] guc_dbm =====================
[08:47:14] =================== guc_idm (6 subtests) ===================
[08:47:14] [PASSED] bad_init
[08:47:14] [PASSED] no_init
[08:47:14] [PASSED] init_fini
[08:47:14] [PASSED] check_used
[08:47:14] [PASSED] check_quota
[08:47:14] [PASSED] check_all
[08:47:14] ===================== [PASSED] guc_idm =====================
[08:47:14] ================== no_relay (3 subtests) ===================
[08:47:14] [PASSED] xe_drops_guc2pf_if_not_ready
[08:47:14] [PASSED] xe_drops_guc2vf_if_not_ready
[08:47:14] [PASSED] xe_rejects_send_if_not_ready
[08:47:14] ==================== [PASSED] no_relay =====================
[08:47:14] ================== pf_relay (14 subtests) ==================
[08:47:14] [PASSED] pf_rejects_guc2pf_too_short
[08:47:14] [PASSED] pf_rejects_guc2pf_too_long
[08:47:14] [PASSED] pf_rejects_guc2pf_no_payload
[08:47:14] [PASSED] pf_fails_no_payload
[08:47:14] [PASSED] pf_fails_bad_origin
[08:47:14] [PASSED] pf_fails_bad_type
[08:47:14] [PASSED] pf_txn_reports_error
[08:47:14] [PASSED] pf_txn_sends_pf2guc
[08:47:14] [PASSED] pf_sends_pf2guc
[08:47:14] [SKIPPED] pf_loopback_nop
[08:47:14] [SKIPPED] pf_loopback_echo
[08:47:14] [SKIPPED] pf_loopback_fail
[08:47:14] [SKIPPED] pf_loopback_busy
[08:47:14] [SKIPPED] pf_loopback_retry
[08:47:14] ==================== [PASSED] pf_relay =====================
[08:47:14] ================== vf_relay (3 subtests) ===================
[08:47:14] [PASSED] vf_rejects_guc2vf_too_short
[08:47:14] [PASSED] vf_rejects_guc2vf_too_long
[08:47:14] [PASSED] vf_rejects_guc2vf_no_payload
[08:47:14] ==================== [PASSED] vf_relay =====================
[08:47:14] ===================== lmtt (1 subtest) =====================
[08:47:14] ======================== test_ops  =========================
[08:47:14] [PASSED] 2-level
[08:47:14] [PASSED] multi-level
[08:47:14] ==================== [PASSED] test_ops =====================
[08:47:14] ====================== [PASSED] lmtt =======================
[08:47:14] ================= pf_service (11 subtests) =================
[08:47:14] [PASSED] pf_negotiate_any
[08:47:14] [PASSED] pf_negotiate_base_match
[08:47:14] [PASSED] pf_negotiate_base_newer
[08:47:14] [PASSED] pf_negotiate_base_next
[08:47:14] [SKIPPED] pf_negotiate_base_older
[08:47:14] [PASSED] pf_negotiate_base_prev
[08:47:14] [PASSED] pf_negotiate_latest_match
[08:47:14] [PASSED] pf_negotiate_latest_newer
[08:47:14] [PASSED] pf_negotiate_latest_next
[08:47:14] [SKIPPED] pf_negotiate_latest_older
[08:47:14] [SKIPPED] pf_negotiate_latest_prev
[08:47:14] =================== [PASSED] pf_service ====================
[08:47:14] ================= xe_guc_g2g (2 subtests) ==================
[08:47:14] ============== xe_live_guc_g2g_kunit_default  ==============
[08:47:14] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[08:47:14] ============== xe_live_guc_g2g_kunit_allmem  ===============
[08:47:14] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[08:47:14] =================== [SKIPPED] xe_guc_g2g ===================
[08:47:14] =================== xe_mocs (2 subtests) ===================
[08:47:14] ================ xe_live_mocs_kernel_kunit  ================
[08:47:14] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[08:47:14] ================ xe_live_mocs_reset_kunit  =================
[08:47:14] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[08:47:14] ==================== [SKIPPED] xe_mocs =====================
[08:47:14] ================= xe_migrate (2 subtests) ==================
[08:47:14] ================= xe_migrate_sanity_kunit  =================
[08:47:14] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[08:47:14] ================== xe_validate_ccs_kunit  ==================
[08:47:14] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[08:47:14] =================== [SKIPPED] xe_migrate ===================
[08:47:14] ================== xe_dma_buf (1 subtest) ==================
[08:47:14] ==================== xe_dma_buf_kunit  =====================
[08:47:14] ================ [SKIPPED] xe_dma_buf_kunit ================
[08:47:14] =================== [SKIPPED] xe_dma_buf ===================
[08:47:14] ================= xe_bo_shrink (1 subtest) =================
[08:47:14] =================== xe_bo_shrink_kunit  ====================
[08:47:14] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[08:47:14] ================== [SKIPPED] xe_bo_shrink ==================
[08:47:14] ==================== xe_bo (2 subtests) ====================
[08:47:14] ================== xe_ccs_migrate_kunit  ===================
[08:47:14] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[08:47:14] ==================== xe_bo_evict_kunit  ====================
[08:47:14] =============== [SKIPPED] xe_bo_evict_kunit ================
[08:47:14] ===================== [SKIPPED] xe_bo ======================
[08:47:14] ==================== args (11 subtests) ====================
[08:47:14] [PASSED] count_args_test
[08:47:14] [PASSED] call_args_example
[08:47:14] [PASSED] call_args_test
[08:47:14] [PASSED] drop_first_arg_example
[08:47:14] [PASSED] drop_first_arg_test
[08:47:14] [PASSED] first_arg_example
[08:47:14] [PASSED] first_arg_test
[08:47:14] [PASSED] last_arg_example
[08:47:14] [PASSED] last_arg_test
[08:47:14] [PASSED] pick_arg_example
[08:47:14] [PASSED] sep_comma_example
[08:47:14] ====================== [PASSED] args =======================
[08:47:14] =================== xe_pci (3 subtests) ====================
[08:47:14] ==================== check_graphics_ip  ====================
[08:47:14] [PASSED] 12.00 Xe_LP
[08:47:14] [PASSED] 12.10 Xe_LP+
[08:47:14] [PASSED] 12.55 Xe_HPG
[08:47:14] [PASSED] 12.60 Xe_HPC
[08:47:14] [PASSED] 12.70 Xe_LPG
[08:47:14] [PASSED] 12.71 Xe_LPG
[08:47:14] [PASSED] 12.74 Xe_LPG+
[08:47:14] [PASSED] 20.01 Xe2_HPG
[08:47:14] [PASSED] 20.02 Xe2_HPG
[08:47:14] [PASSED] 20.04 Xe2_LPG
[08:47:14] [PASSED] 30.00 Xe3_LPG
[08:47:14] [PASSED] 30.01 Xe3_LPG
[08:47:14] [PASSED] 30.03 Xe3_LPG
[08:47:14] ================ [PASSED] check_graphics_ip ================
[08:47:14] ===================== check_media_ip  ======================
[08:47:14] [PASSED] 12.00 Xe_M
[08:47:14] [PASSED] 12.55 Xe_HPM
[08:47:14] [PASSED] 13.00 Xe_LPM+
[08:47:14] [PASSED] 13.01 Xe2_HPM
[08:47:14] [PASSED] 20.00 Xe2_LPM
[08:47:14] [PASSED] 30.00 Xe3_LPM
[08:47:14] [PASSED] 30.02 Xe3_LPM
[08:47:14] ================= [PASSED] check_media_ip ==================
[08:47:14] ================= check_platform_gt_count  =================
[08:47:14] [PASSED] 0x9A60 (TIGERLAKE)
[08:47:14] [PASSED] 0x9A68 (TIGERLAKE)
[08:47:14] [PASSED] 0x9A70 (TIGERLAKE)
[08:47:14] [PASSED] 0x9A40 (TIGERLAKE)
[08:47:14] [PASSED] 0x9A49 (TIGERLAKE)
[08:47:14] [PASSED] 0x9A59 (TIGERLAKE)
[08:47:14] [PASSED] 0x9A78 (TIGERLAKE)
[08:47:14] [PASSED] 0x9AC0 (TIGERLAKE)
[08:47:14] [PASSED] 0x9AC9 (TIGERLAKE)
[08:47:14] [PASSED] 0x9AD9 (TIGERLAKE)
[08:47:14] [PASSED] 0x9AF8 (TIGERLAKE)
[08:47:14] [PASSED] 0x4C80 (ROCKETLAKE)
[08:47:14] [PASSED] 0x4C8A (ROCKETLAKE)
[08:47:14] [PASSED] 0x4C8B (ROCKETLAKE)
[08:47:14] [PASSED] 0x4C8C (ROCKETLAKE)
[08:47:14] [PASSED] 0x4C90 (ROCKETLAKE)
[08:47:14] [PASSED] 0x4C9A (ROCKETLAKE)
[08:47:14] [PASSED] 0x4680 (ALDERLAKE_S)
[08:47:14] [PASSED] 0x4682 (ALDERLAKE_S)
[08:47:14] [PASSED] 0x4688 (ALDERLAKE_S)
[08:47:14] [PASSED] 0x468A (ALDERLAKE_S)
[08:47:14] [PASSED] 0x468B (ALDERLAKE_S)
[08:47:14] [PASSED] 0x4690 (ALDERLAKE_S)
[08:47:14] [PASSED] 0x4692 (ALDERLAKE_S)
[08:47:14] [PASSED] 0x4693 (ALDERLAKE_S)
[08:47:14] [PASSED] 0x46A0 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46A1 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46A2 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46A3 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46A6 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46A8 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46AA (ALDERLAKE_P)
[08:47:14] [PASSED] 0x462A (ALDERLAKE_P)
[08:47:14] [PASSED] 0x4626 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x4628 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46B0 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46B1 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46B2 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46B3 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46C0 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46C1 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46C2 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46C3 (ALDERLAKE_P)
[08:47:14] [PASSED] 0x46D0 (ALDERLAKE_N)
[08:47:14] [PASSED] 0x46D1 (ALDERLAKE_N)
[08:47:14] [PASSED] 0x46D2 (ALDERLAKE_N)
[08:47:14] [PASSED] 0x46D3 (ALDERLAKE_N)
[08:47:14] [PASSED] 0x46D4 (ALDERLAKE_N)
[08:47:14] [PASSED] 0xA721 (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA7A1 (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA7A9 (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA7AC (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA7AD (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA720 (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA7A0 (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA7A8 (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA7AA (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA7AB (ALDERLAKE_P)
[08:47:14] [PASSED] 0xA780 (ALDERLAKE_S)
[08:47:14] [PASSED] 0xA781 (ALDERLAKE_S)
[08:47:14] [PASSED] 0xA782 (ALDERLAKE_S)
[08:47:14] [PASSED] 0xA783 (ALDERLAKE_S)
[08:47:14] [PASSED] 0xA788 (ALDERLAKE_S)
[08:47:14] [PASSED] 0xA789 (ALDERLAKE_S)
[08:47:14] [PASSED] 0xA78A (ALDERLAKE_S)
[08:47:14] [PASSED] 0xA78B (ALDERLAKE_S)
[08:47:14] [PASSED] 0x4905 (DG1)
[08:47:14] [PASSED] 0x4906 (DG1)
[08:47:14] [PASSED] 0x4907 (DG1)
[08:47:14] [PASSED] 0x4908 (DG1)
[08:47:14] [PASSED] 0x4909 (DG1)
[08:47:14] [PASSED] 0x56C0 (DG2)
[08:47:14] [PASSED] 0x56C2 (DG2)
[08:47:14] [PASSED] 0x56C1 (DG2)
[08:47:14] [PASSED] 0x7D51 (METEORLAKE)
[08:47:14] [PASSED] 0x7DD1 (METEORLAKE)
[08:47:14] [PASSED] 0x7D41 (METEORLAKE)
[08:47:14] [PASSED] 0x7D67 (METEORLAKE)
[08:47:14] [PASSED] 0xB640 (METEORLAKE)
[08:47:14] [PASSED] 0x56A0 (DG2)
[08:47:14] [PASSED] 0x56A1 (DG2)
[08:47:14] [PASSED] 0x56A2 (DG2)
[08:47:14] [PASSED] 0x56BE (DG2)
[08:47:14] [PASSED] 0x56BF (DG2)
[08:47:14] [PASSED] 0x5690 (DG2)
[08:47:14] [PASSED] 0x5691 (DG2)
[08:47:14] [PASSED] 0x5692 (DG2)
[08:47:14] [PASSED] 0x56A5 (DG2)
[08:47:14] [PASSED] 0x56A6 (DG2)
[08:47:14] [PASSED] 0x56B0 (DG2)
[08:47:14] [PASSED] 0x56B1 (DG2)
[08:47:14] [PASSED] 0x56BA (DG2)
[08:47:14] [PASSED] 0x56BB (DG2)
[08:47:14] [PASSED] 0x56BC (DG2)
[08:47:14] [PASSED] 0x56BD (DG2)
[08:47:14] [PASSED] 0x5693 (DG2)
[08:47:14] [PASSED] 0x5694 (DG2)
[08:47:14] [PASSED] 0x5695 (DG2)
[08:47:14] [PASSED] 0x56A3 (DG2)
[08:47:14] [PASSED] 0x56A4 (DG2)
[08:47:14] [PASSED] 0x56B2 (DG2)
[08:47:14] [PASSED] 0x56B3 (DG2)
[08:47:14] [PASSED] 0x5696 (DG2)
[08:47:14] [PASSED] 0x5697 (DG2)
[08:47:14] [PASSED] 0xB69 (PVC)
[08:47:14] [PASSED] 0xB6E (PVC)
[08:47:14] [PASSED] 0xBD4 (PVC)
[08:47:14] [PASSED] 0xBD5 (PVC)
[08:47:14] [PASSED] 0xBD6 (PVC)
[08:47:14] [PASSED] 0xBD7 (PVC)
[08:47:14] [PASSED] 0xBD8 (PVC)
[08:47:14] [PASSED] 0xBD9 (PVC)
[08:47:14] [PASSED] 0xBDA (PVC)
[08:47:14] [PASSED] 0xBDB (PVC)
[08:47:14] [PASSED] 0xBE0 (PVC)
[08:47:14] [PASSED] 0xBE1 (PVC)
[08:47:14] [PASSED] 0xBE5 (PVC)
[08:47:14] [PASSED] 0x7D40 (METEORLAKE)
[08:47:14] [PASSED] 0x7D45 (METEORLAKE)
[08:47:14] [PASSED] 0x7D55 (METEORLAKE)
[08:47:14] [PASSED] 0x7D60 (METEORLAKE)
[08:47:14] [PASSED] 0x7DD5 (METEORLAKE)
[08:47:14] [PASSED] 0x6420 (LUNARLAKE)
[08:47:14] [PASSED] 0x64A0 (LUNARLAKE)
[08:47:14] [PASSED] 0x64B0 (LUNARLAKE)
[08:47:14] [PASSED] 0xE202 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE209 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE20B (BATTLEMAGE)
[08:47:14] [PASSED] 0xE20C (BATTLEMAGE)
[08:47:14] [PASSED] 0xE20D (BATTLEMAGE)
[08:47:14] [PASSED] 0xE210 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE211 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE212 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE216 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE220 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE221 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE222 (BATTLEMAGE)
[08:47:14] [PASSED] 0xE223 (BATTLEMAGE)
[08:47:14] [PASSED] 0xB080 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB081 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB082 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB083 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB084 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB085 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB086 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB087 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB08F (PANTHERLAKE)
[08:47:14] [PASSED] 0xB090 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB0A0 (PANTHERLAKE)
[08:47:14] [PASSED] 0xB0B0 (PANTHERLAKE)
[08:47:14] [PASSED] 0xFD80 (PANTHERLAKE)
[08:47:14] [PASSED] 0xFD81 (PANTHERLAKE)
[08:47:14] ============= [PASSED] check_platform_gt_count =============
[08:47:14] ===================== [PASSED] xe_pci ======================
[08:47:14] =================== xe_rtp (2 subtests) ====================
[08:47:14] =============== xe_rtp_process_to_sr_tests  ================
[08:47:14] [PASSED] coalesce-same-reg
[08:47:14] [PASSED] no-match-no-add
[08:47:14] [PASSED] match-or
[08:47:14] [PASSED] match-or-xfail
[08:47:14] [PASSED] no-match-no-add-multiple-rules
[08:47:14] [PASSED] two-regs-two-entries
[08:47:14] [PASSED] clr-one-set-other
[08:47:14] [PASSED] set-field
[08:47:14] [PASSED] conflict-duplicate
[08:47:14] [PASSED] conflict-not-disjoint
[08:47:14] [PASSED] conflict-reg-type
[08:47:14] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[08:47:14] ================== xe_rtp_process_tests  ===================
[08:47:14] [PASSED] active1
[08:47:14] [PASSED] active2
[08:47:14] [PASSED] active-inactive
[08:47:14] [PASSED] inactive-active
[08:47:14] [PASSED] inactive-1st_or_active-inactive
[08:47:14] [PASSED] inactive-2nd_or_active-inactive
[08:47:14] [PASSED] inactive-last_or_active-inactive
[08:47:14] [PASSED] inactive-no_or_active-inactive
[08:47:14] ============== [PASSED] xe_rtp_process_tests ===============
[08:47:14] ===================== [PASSED] xe_rtp ======================
[08:47:14] ==================== xe_wa (1 subtest) =====================
[08:47:14] ======================== xe_wa_gt  =========================
[08:47:14] [PASSED] TIGERLAKE B0
[08:47:14] [PASSED] DG1 A0
[08:47:14] [PASSED] DG1 B0
[08:47:14] [PASSED] ALDERLAKE_S A0
[08:47:14] [PASSED] ALDERLAKE_S B0
stty: 'standard input': Inappropriate ioctl for device
[08:47:14] [PASSED] ALDERLAKE_S C0
[08:47:14] [PASSED] ALDERLAKE_S D0
[08:47:14] [PASSED] ALDERLAKE_P A0
[08:47:14] [PASSED] ALDERLAKE_P B0
[08:47:14] [PASSED] ALDERLAKE_P C0
[08:47:14] [PASSED] ALDERLAKE_S RPLS D0
[08:47:14] [PASSED] ALDERLAKE_P RPLU E0
[08:47:14] [PASSED] DG2 G10 C0
[08:47:14] [PASSED] DG2 G11 B1
[08:47:14] [PASSED] DG2 G12 A1
[08:47:14] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[08:47:14] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[08:47:14] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[08:47:14] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[08:47:14] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[08:47:14] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[08:47:14] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[08:47:14] ==================== [PASSED] xe_wa_gt =====================
[08:47:14] ====================== [PASSED] xe_wa ======================
[08:47:14] ============================================================
[08:47:14] Testing complete. Ran 306 tests: passed: 288, skipped: 18
[08:47:14] Elapsed time: 33.712s total, 4.264s configuring, 29.082s building, 0.317s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[08:47:15] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:47:16] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[08:47:40] Starting KUnit Kernel (1/1)...
[08:47:40] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:47:40] ============ drm_test_pick_cmdline (2 subtests) ============
[08:47:40] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[08:47:40] =============== drm_test_pick_cmdline_named  ===============
[08:47:40] [PASSED] NTSC
[08:47:40] [PASSED] NTSC-J
[08:47:40] [PASSED] PAL
[08:47:40] [PASSED] PAL-M
[08:47:40] =========== [PASSED] drm_test_pick_cmdline_named ===========
[08:47:40] ============== [PASSED] drm_test_pick_cmdline ==============
[08:47:40] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[08:47:40] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[08:47:40] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[08:47:40] =========== drm_validate_clone_mode (2 subtests) ===========
[08:47:40] ============== drm_test_check_in_clone_mode  ===============
[08:47:40] [PASSED] in_clone_mode
[08:47:40] [PASSED] not_in_clone_mode
[08:47:40] ========== [PASSED] drm_test_check_in_clone_mode ===========
[08:47:40] =============== drm_test_check_valid_clones  ===============
[08:47:40] [PASSED] not_in_clone_mode
[08:47:40] [PASSED] valid_clone
[08:47:40] [PASSED] invalid_clone
[08:47:40] =========== [PASSED] drm_test_check_valid_clones ===========
[08:47:40] ============= [PASSED] drm_validate_clone_mode =============
[08:47:40] ============= drm_validate_modeset (1 subtest) =============
[08:47:40] [PASSED] drm_test_check_connector_changed_modeset
[08:47:40] ============== [PASSED] drm_validate_modeset ===============
[08:47:40] ====== drm_test_bridge_get_current_state (2 subtests) ======
[08:47:40] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[08:47:40] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[08:47:40] ======== [PASSED] drm_test_bridge_get_current_state ========
[08:47:40] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[08:47:40] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[08:47:40] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[08:47:40] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[08:47:40] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[08:47:40] ============== drm_bridge_alloc (2 subtests) ===============
[08:47:40] [PASSED] drm_test_drm_bridge_alloc_basic
[08:47:40] [PASSED] drm_test_drm_bridge_alloc_get_put
[08:47:40] ================ [PASSED] drm_bridge_alloc =================
[08:47:40] ================== drm_buddy (7 subtests) ==================
[08:47:40] [PASSED] drm_test_buddy_alloc_limit
[08:47:40] [PASSED] drm_test_buddy_alloc_optimistic
[08:47:40] [PASSED] drm_test_buddy_alloc_pessimistic
[08:47:40] [PASSED] drm_test_buddy_alloc_pathological
[08:47:40] [PASSED] drm_test_buddy_alloc_contiguous
[08:47:40] [PASSED] drm_test_buddy_alloc_clear
[08:47:40] [PASSED] drm_test_buddy_alloc_range_bias
[08:47:40] ==================== [PASSED] drm_buddy ====================
[08:47:40] ============= drm_cmdline_parser (40 subtests) =============
[08:47:40] [PASSED] drm_test_cmdline_force_d_only
[08:47:40] [PASSED] drm_test_cmdline_force_D_only_dvi
[08:47:40] [PASSED] drm_test_cmdline_force_D_only_hdmi
[08:47:40] [PASSED] drm_test_cmdline_force_D_only_not_digital
[08:47:40] [PASSED] drm_test_cmdline_force_e_only
[08:47:40] [PASSED] drm_test_cmdline_res
[08:47:40] [PASSED] drm_test_cmdline_res_vesa
[08:47:40] [PASSED] drm_test_cmdline_res_vesa_rblank
[08:47:40] [PASSED] drm_test_cmdline_res_rblank
[08:47:40] [PASSED] drm_test_cmdline_res_bpp
[08:47:40] [PASSED] drm_test_cmdline_res_refresh
[08:47:40] [PASSED] drm_test_cmdline_res_bpp_refresh
[08:47:40] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[08:47:40] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[08:47:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[08:47:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[08:47:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[08:47:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[08:47:40] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[08:47:40] [PASSED] drm_test_cmdline_res_margins_force_on
[08:47:40] [PASSED] drm_test_cmdline_res_vesa_margins
[08:47:40] [PASSED] drm_test_cmdline_name
[08:47:40] [PASSED] drm_test_cmdline_name_bpp
[08:47:40] [PASSED] drm_test_cmdline_name_option
[08:47:40] [PASSED] drm_test_cmdline_name_bpp_option
[08:47:40] [PASSED] drm_test_cmdline_rotate_0
[08:47:40] [PASSED] drm_test_cmdline_rotate_90
[08:47:40] [PASSED] drm_test_cmdline_rotate_180
[08:47:40] [PASSED] drm_test_cmdline_rotate_270
[08:47:40] [PASSED] drm_test_cmdline_hmirror
[08:47:40] [PASSED] drm_test_cmdline_vmirror
[08:47:40] [PASSED] drm_test_cmdline_margin_options
[08:47:40] [PASSED] drm_test_cmdline_multiple_options
[08:47:40] [PASSED] drm_test_cmdline_bpp_extra_and_option
[08:47:40] [PASSED] drm_test_cmdline_extra_and_option
[08:47:40] [PASSED] drm_test_cmdline_freestanding_options
[08:47:40] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[08:47:40] [PASSED] drm_test_cmdline_panel_orientation
[08:47:40] ================ drm_test_cmdline_invalid  =================
[08:47:40] [PASSED] margin_only
[08:47:40] [PASSED] interlace_only
[08:47:40] [PASSED] res_missing_x
[08:47:40] [PASSED] res_missing_y
[08:47:40] [PASSED] res_bad_y
[08:47:40] [PASSED] res_missing_y_bpp
[08:47:40] [PASSED] res_bad_bpp
[08:47:40] [PASSED] res_bad_refresh
[08:47:40] [PASSED] res_bpp_refresh_force_on_off
[08:47:40] [PASSED] res_invalid_mode
[08:47:40] [PASSED] res_bpp_wrong_place_mode
[08:47:40] [PASSED] name_bpp_refresh
[08:47:40] [PASSED] name_refresh
[08:47:40] [PASSED] name_refresh_wrong_mode
[08:47:40] [PASSED] name_refresh_invalid_mode
[08:47:40] [PASSED] rotate_multiple
[08:47:40] [PASSED] rotate_invalid_val
[08:47:40] [PASSED] rotate_truncated
[08:47:40] [PASSED] invalid_option
[08:47:40] [PASSED] invalid_tv_option
[08:47:40] [PASSED] truncated_tv_option
[08:47:40] ============ [PASSED] drm_test_cmdline_invalid =============
[08:47:40] =============== drm_test_cmdline_tv_options  ===============
[08:47:40] [PASSED] NTSC
[08:47:40] [PASSED] NTSC_443
[08:47:40] [PASSED] NTSC_J
[08:47:40] [PASSED] PAL
[08:47:40] [PASSED] PAL_M
[08:47:40] [PASSED] PAL_N
[08:47:40] [PASSED] SECAM
[08:47:40] [PASSED] MONO_525
[08:47:40] [PASSED] MONO_625
[08:47:40] =========== [PASSED] drm_test_cmdline_tv_options ===========
[08:47:40] =============== [PASSED] drm_cmdline_parser ================
[08:47:40] ========== drmm_connector_hdmi_init (20 subtests) ==========
[08:47:40] [PASSED] drm_test_connector_hdmi_init_valid
[08:47:40] [PASSED] drm_test_connector_hdmi_init_bpc_8
[08:47:40] [PASSED] drm_test_connector_hdmi_init_bpc_10
[08:47:40] [PASSED] drm_test_connector_hdmi_init_bpc_12
[08:47:40] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[08:47:40] [PASSED] drm_test_connector_hdmi_init_bpc_null
[08:47:40] [PASSED] drm_test_connector_hdmi_init_formats_empty
[08:47:40] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[08:47:40] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[08:47:40] [PASSED] supported_formats=0x9 yuv420_allowed=1
[08:47:40] [PASSED] supported_formats=0x9 yuv420_allowed=0
[08:47:40] [PASSED] supported_formats=0x3 yuv420_allowed=1
[08:47:40] [PASSED] supported_formats=0x3 yuv420_allowed=0
[08:47:40] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[08:47:40] [PASSED] drm_test_connector_hdmi_init_null_ddc
[08:47:40] [PASSED] drm_test_connector_hdmi_init_null_product
[08:47:40] [PASSED] drm_test_connector_hdmi_init_null_vendor
[08:47:40] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[08:47:40] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[08:47:40] [PASSED] drm_test_connector_hdmi_init_product_valid
[08:47:40] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[08:47:40] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[08:47:40] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[08:47:40] ========= drm_test_connector_hdmi_init_type_valid  =========
[08:47:40] [PASSED] HDMI-A
[08:47:40] [PASSED] HDMI-B
[08:47:40] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[08:47:40] ======== drm_test_connector_hdmi_init_type_invalid  ========
[08:47:40] [PASSED] Unknown
[08:47:40] [PASSED] VGA
[08:47:40] [PASSED] DVI-I
[08:47:40] [PASSED] DVI-D
[08:47:40] [PASSED] DVI-A
[08:47:40] [PASSED] Composite
[08:47:40] [PASSED] SVIDEO
[08:47:40] [PASSED] LVDS
[08:47:40] [PASSED] Component
[08:47:40] [PASSED] DIN
[08:47:40] [PASSED] DP
[08:47:40] [PASSED] TV
[08:47:40] [PASSED] eDP
[08:47:40] [PASSED] Virtual
[08:47:40] [PASSED] DSI
[08:47:40] [PASSED] DPI
[08:47:40] [PASSED] Writeback
[08:47:40] [PASSED] SPI
[08:47:40] [PASSED] USB
[08:47:40] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[08:47:40] ============ [PASSED] drmm_connector_hdmi_init =============
[08:47:40] ============= drmm_connector_init (3 subtests) =============
[08:47:40] [PASSED] drm_test_drmm_connector_init
[08:47:40] [PASSED] drm_test_drmm_connector_init_null_ddc
[08:47:40] ========= drm_test_drmm_connector_init_type_valid  =========
[08:47:40] [PASSED] Unknown
[08:47:40] [PASSED] VGA
[08:47:40] [PASSED] DVI-I
[08:47:40] [PASSED] DVI-D
[08:47:40] [PASSED] DVI-A
[08:47:40] [PASSED] Composite
[08:47:40] [PASSED] SVIDEO
[08:47:40] [PASSED] LVDS
[08:47:40] [PASSED] Component
[08:47:40] [PASSED] DIN
[08:47:40] [PASSED] DP
[08:47:40] [PASSED] HDMI-A
[08:47:40] [PASSED] HDMI-B
[08:47:40] [PASSED] TV
[08:47:40] [PASSED] eDP
[08:47:40] [PASSED] Virtual
[08:47:40] [PASSED] DSI
[08:47:40] [PASSED] DPI
[08:47:40] [PASSED] Writeback
[08:47:40] [PASSED] SPI
[08:47:40] [PASSED] USB
[08:47:40] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[08:47:40] =============== [PASSED] drmm_connector_init ===============
[08:47:40] ========= drm_connector_dynamic_init (6 subtests) ==========
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_init
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_init_properties
[08:47:40] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[08:47:40] [PASSED] Unknown
[08:47:40] [PASSED] VGA
[08:47:40] [PASSED] DVI-I
[08:47:40] [PASSED] DVI-D
[08:47:40] [PASSED] DVI-A
[08:47:40] [PASSED] Composite
[08:47:40] [PASSED] SVIDEO
[08:47:40] [PASSED] LVDS
[08:47:40] [PASSED] Component
[08:47:40] [PASSED] DIN
[08:47:40] [PASSED] DP
[08:47:40] [PASSED] HDMI-A
[08:47:40] [PASSED] HDMI-B
[08:47:40] [PASSED] TV
[08:47:40] [PASSED] eDP
[08:47:40] [PASSED] Virtual
[08:47:40] [PASSED] DSI
[08:47:40] [PASSED] DPI
[08:47:40] [PASSED] Writeback
[08:47:40] [PASSED] SPI
[08:47:40] [PASSED] USB
[08:47:40] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[08:47:40] ======== drm_test_drm_connector_dynamic_init_name  =========
[08:47:40] [PASSED] Unknown
[08:47:40] [PASSED] VGA
[08:47:40] [PASSED] DVI-I
[08:47:40] [PASSED] DVI-D
[08:47:40] [PASSED] DVI-A
[08:47:40] [PASSED] Composite
[08:47:40] [PASSED] SVIDEO
[08:47:40] [PASSED] LVDS
[08:47:40] [PASSED] Component
[08:47:40] [PASSED] DIN
[08:47:40] [PASSED] DP
[08:47:40] [PASSED] HDMI-A
[08:47:40] [PASSED] HDMI-B
[08:47:40] [PASSED] TV
[08:47:40] [PASSED] eDP
[08:47:40] [PASSED] Virtual
[08:47:40] [PASSED] DSI
[08:47:40] [PASSED] DPI
[08:47:40] [PASSED] Writeback
[08:47:40] [PASSED] SPI
[08:47:40] [PASSED] USB
[08:47:40] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[08:47:40] =========== [PASSED] drm_connector_dynamic_init ============
[08:47:40] ==== drm_connector_dynamic_register_early (4 subtests) =====
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[08:47:40] ====== [PASSED] drm_connector_dynamic_register_early =======
[08:47:40] ======= drm_connector_dynamic_register (7 subtests) ========
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[08:47:40] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[08:47:40] ========= [PASSED] drm_connector_dynamic_register ==========
[08:47:40] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[08:47:40] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[08:47:40] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[08:47:40] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[08:47:40] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[08:47:40] ========== drm_test_get_tv_mode_from_name_valid  ===========
[08:47:40] [PASSED] NTSC
[08:47:40] [PASSED] NTSC-443
[08:47:40] [PASSED] NTSC-J
[08:47:40] [PASSED] PAL
[08:47:40] [PASSED] PAL-M
[08:47:40] [PASSED] PAL-N
[08:47:40] [PASSED] SECAM
[08:47:40] [PASSED] Mono
[08:47:40] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[08:47:40] [PASSED] drm_test_get_tv_mode_from_name_truncated
[08:47:40] ============ [PASSED] drm_get_tv_mode_from_name ============
[08:47:40] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[08:47:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[08:47:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[08:47:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[08:47:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[08:47:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[08:47:40] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[08:47:40] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[08:47:40] [PASSED] VIC 96
[08:47:40] [PASSED] VIC 97
[08:47:40] [PASSED] VIC 101
[08:47:40] [PASSED] VIC 102
[08:47:40] [PASSED] VIC 106
[08:47:40] [PASSED] VIC 107
[08:47:40] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[08:47:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[08:47:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[08:47:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[08:47:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[08:47:40] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[08:47:40] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[08:47:40] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[08:47:40] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[08:47:40] [PASSED] Automatic
[08:47:40] [PASSED] Full
[08:47:40] [PASSED] Limited 16:235
[08:47:40] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[08:47:40] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[08:47:40] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[08:47:40] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[08:47:40] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[08:47:40] [PASSED] RGB
[08:47:40] [PASSED] YUV 4:2:0
[08:47:40] [PASSED] YUV 4:2:2
[08:47:40] [PASSED] YUV 4:4:4
[08:47:40] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[08:47:40] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[08:47:40] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[08:47:40] ============= drm_damage_helper (21 subtests) ==============
[08:47:40] [PASSED] drm_test_damage_iter_no_damage
[08:47:40] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[08:47:40] [PASSED] drm_test_damage_iter_no_damage_src_moved
[08:47:40] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[08:47:40] [PASSED] drm_test_damage_iter_no_damage_not_visible
[08:47:40] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[08:47:40] [PASSED] drm_test_damage_iter_no_damage_no_fb
[08:47:40] [PASSED] drm_test_damage_iter_simple_damage
[08:47:40] [PASSED] drm_test_damage_iter_single_damage
[08:47:40] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[08:47:40] [PASSED] drm_test_damage_iter_single_damage_outside_src
[08:47:40] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[08:47:40] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[08:47:40] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[08:47:40] [PASSED] drm_test_damage_iter_single_damage_src_moved
[08:47:40] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[08:47:40] [PASSED] drm_test_damage_iter_damage
[08:47:40] [PASSED] drm_test_damage_iter_damage_one_intersect
[08:47:40] [PASSED] drm_test_damage_iter_damage_one_outside
[08:47:40] [PASSED] drm_test_damage_iter_damage_src_moved
[08:47:40] [PASSED] drm_test_damage_iter_damage_not_visible
[08:47:40] ================ [PASSED] drm_damage_helper ================
[08:47:40] ============== drm_dp_mst_helper (3 subtests) ==============
[08:47:40] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[08:47:40] [PASSED] Clock 154000 BPP 30 DSC disabled
[08:47:40] [PASSED] Clock 234000 BPP 30 DSC disabled
[08:47:40] [PASSED] Clock 297000 BPP 24 DSC disabled
[08:47:40] [PASSED] Clock 332880 BPP 24 DSC enabled
[08:47:40] [PASSED] Clock 324540 BPP 24 DSC enabled
[08:47:40] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[08:47:40] ============== drm_test_dp_mst_calc_pbn_div  ===============
[08:47:40] [PASSED] Link rate 2000000 lane count 4
[08:47:40] [PASSED] Link rate 2000000 lane count 2
[08:47:40] [PASSED] Link rate 2000000 lane count 1
[08:47:40] [PASSED] Link rate 1350000 lane count 4
[08:47:40] [PASSED] Link rate 1350000 lane count 2
[08:47:40] [PASSED] Link rate 1350000 lane count 1
[08:47:40] [PASSED] Link rate 1000000 lane count 4
[08:47:40] [PASSED] Link rate 1000000 lane count 2
[08:47:40] [PASSED] Link rate 1000000 lane count 1
[08:47:40] [PASSED] Link rate 810000 lane count 4
[08:47:40] [PASSED] Link rate 810000 lane count 2
[08:47:40] [PASSED] Link rate 810000 lane count 1
[08:47:40] [PASSED] Link rate 540000 lane count 4
[08:47:40] [PASSED] Link rate 540000 lane count 2
[08:47:40] [PASSED] Link rate 540000 lane count 1
[08:47:40] [PASSED] Link rate 270000 lane count 4
[08:47:40] [PASSED] Link rate 270000 lane count 2
[08:47:40] [PASSED] Link rate 270000 lane count 1
[08:47:40] [PASSED] Link rate 162000 lane count 4
[08:47:40] [PASSED] Link rate 162000 lane count 2
[08:47:40] [PASSED] Link rate 162000 lane count 1
[08:47:40] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[08:47:40] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[08:47:40] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[08:47:40] [PASSED] DP_POWER_UP_PHY with port number
[08:47:40] [PASSED] DP_POWER_DOWN_PHY with port number
[08:47:40] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[08:47:40] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[08:47:40] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[08:47:40] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[08:47:40] [PASSED] DP_QUERY_PAYLOAD with port number
[08:47:40] [PASSED] DP_QUERY_PAYLOAD with VCPI
[08:47:40] [PASSED] DP_REMOTE_DPCD_READ with port number
[08:47:40] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[08:47:40] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[08:47:40] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[08:47:40] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[08:47:40] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[08:47:40] [PASSED] DP_REMOTE_I2C_READ with port number
[08:47:40] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[08:47:40] [PASSED] DP_REMOTE_I2C_READ with transactions array
[08:47:40] [PASSED] DP_REMOTE_I2C_WRITE with port number
[08:47:40] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[08:47:40] [PASSED] DP_REMOTE_I2C_WRITE with data array
[08:47:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[08:47:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[08:47:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[08:47:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[08:47:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[08:47:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[08:47:40] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[08:47:40] ================ [PASSED] drm_dp_mst_helper ================
[08:47:40] ================== drm_exec (7 subtests) ===================
[08:47:40] [PASSED] sanitycheck
[08:47:40] [PASSED] test_lock
[08:47:40] [PASSED] test_lock_unlock
[08:47:40] [PASSED] test_duplicates
[08:47:40] [PASSED] test_prepare
[08:47:40] [PASSED] test_prepare_array
[08:47:40] [PASSED] test_multiple_loops
[08:47:40] ==================== [PASSED] drm_exec =====================
[08:47:40] =========== drm_format_helper_test (17 subtests) ===========
[08:47:40] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[08:47:40] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[08:47:40] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[08:47:40] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[08:47:40] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[08:47:40] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[08:47:40] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[08:47:40] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[08:47:40] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[08:47:40] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[08:47:40] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[08:47:40] ============== drm_test_fb_xrgb8888_to_mono  ===============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[08:47:40] ==================== drm_test_fb_swab  =====================
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ================ [PASSED] drm_test_fb_swab =================
[08:47:40] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[08:47:40] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[08:47:40] [PASSED] single_pixel_source_buffer
[08:47:40] [PASSED] single_pixel_clip_rectangle
[08:47:40] [PASSED] well_known_colors
[08:47:40] [PASSED] destination_pitch
[08:47:40] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[08:47:40] ================= drm_test_fb_clip_offset  =================
[08:47:40] [PASSED] pass through
[08:47:40] [PASSED] horizontal offset
[08:47:40] [PASSED] vertical offset
[08:47:40] [PASSED] horizontal and vertical offset
[08:47:40] [PASSED] horizontal offset (custom pitch)
[08:47:40] [PASSED] vertical offset (custom pitch)
[08:47:40] [PASSED] horizontal and vertical offset (custom pitch)
[08:47:40] ============= [PASSED] drm_test_fb_clip_offset =============
[08:47:40] =================== drm_test_fb_memcpy  ====================
[08:47:40] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[08:47:40] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[08:47:40] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[08:47:40] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[08:47:40] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[08:47:40] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[08:47:40] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[08:47:40] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[08:47:40] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[08:47:40] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[08:47:40] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[08:47:40] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[08:47:40] =============== [PASSED] drm_test_fb_memcpy ================
[08:47:40] ============= [PASSED] drm_format_helper_test ==============
[08:47:40] ================= drm_format (18 subtests) =================
[08:47:40] [PASSED] drm_test_format_block_width_invalid
[08:47:40] [PASSED] drm_test_format_block_width_one_plane
[08:47:40] [PASSED] drm_test_format_block_width_two_plane
[08:47:40] [PASSED] drm_test_format_block_width_three_plane
[08:47:40] [PASSED] drm_test_format_block_width_tiled
[08:47:40] [PASSED] drm_test_format_block_height_invalid
[08:47:40] [PASSED] drm_test_format_block_height_one_plane
[08:47:40] [PASSED] drm_test_format_block_height_two_plane
[08:47:40] [PASSED] drm_test_format_block_height_three_plane
[08:47:40] [PASSED] drm_test_format_block_height_tiled
[08:47:40] [PASSED] drm_test_format_min_pitch_invalid
[08:47:40] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[08:47:40] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[08:47:40] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[08:47:40] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[08:47:40] [PASSED] drm_test_format_min_pitch_two_plane
[08:47:40] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[08:47:40] [PASSED] drm_test_format_min_pitch_tiled
[08:47:40] =================== [PASSED] drm_format ====================
[08:47:40] ============== drm_framebuffer (10 subtests) ===============
[08:47:40] ========== drm_test_framebuffer_check_src_coords  ==========
[08:47:40] [PASSED] Success: source fits into fb
[08:47:40] [PASSED] Fail: overflowing fb with x-axis coordinate
[08:47:40] [PASSED] Fail: overflowing fb with y-axis coordinate
[08:47:40] [PASSED] Fail: overflowing fb with source width
[08:47:40] [PASSED] Fail: overflowing fb with source height
[08:47:40] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[08:47:40] [PASSED] drm_test_framebuffer_cleanup
[08:47:40] =============== drm_test_framebuffer_create  ===============
[08:47:40] [PASSED] ABGR8888 normal sizes
[08:47:40] [PASSED] ABGR8888 max sizes
[08:47:40] [PASSED] ABGR8888 pitch greater than min required
[08:47:40] [PASSED] ABGR8888 pitch less than min required
[08:47:40] [PASSED] ABGR8888 Invalid width
[08:47:40] [PASSED] ABGR8888 Invalid buffer handle
[08:47:40] [PASSED] No pixel format
[08:47:40] [PASSED] ABGR8888 Width 0
[08:47:40] [PASSED] ABGR8888 Height 0
[08:47:40] [PASSED] ABGR8888 Out of bound height * pitch combination
[08:47:40] [PASSED] ABGR8888 Large buffer offset
[08:47:40] [PASSED] ABGR8888 Buffer offset for inexistent plane
[08:47:40] [PASSED] ABGR8888 Invalid flag
[08:47:40] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[08:47:40] [PASSED] ABGR8888 Valid buffer modifier
[08:47:40] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[08:47:40] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[08:47:40] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[08:47:40] [PASSED] NV12 Normal sizes
[08:47:40] [PASSED] NV12 Max sizes
[08:47:40] [PASSED] NV12 Invalid pitch
[08:47:40] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[08:47:40] [PASSED] NV12 different  modifier per-plane
[08:47:40] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[08:47:40] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[08:47:40] [PASSED] NV12 Modifier for inexistent plane
[08:47:40] [PASSED] NV12 Handle for inexistent plane
[08:47:40] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[08:47:40] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[08:47:40] [PASSED] YVU420 Normal sizes
[08:47:40] [PASSED] YVU420 Max sizes
[08:47:40] [PASSED] YVU420 Invalid pitch
[08:47:40] [PASSED] YVU420 Different pitches
[08:47:40] [PASSED] YVU420 Different buffer offsets/pitches
[08:47:40] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[08:47:40] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[08:47:40] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[08:47:40] [PASSED] YVU420 Valid modifier
[08:47:40] [PASSED] YVU420 Different modifiers per plane
[08:47:40] [PASSED] YVU420 Modifier for inexistent plane
[08:47:40] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[08:47:40] [PASSED] X0L2 Normal sizes
[08:47:40] [PASSED] X0L2 Max sizes
[08:47:40] [PASSED] X0L2 Invalid pitch
[08:47:40] [PASSED] X0L2 Pitch greater than minimum required
[08:47:40] [PASSED] X0L2 Handle for inexistent plane
[08:47:40] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[08:47:40] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[08:47:40] [PASSED] X0L2 Valid modifier
[08:47:40] [PASSED] X0L2 Modifier for inexistent plane
[08:47:40] =========== [PASSED] drm_test_framebuffer_create ===========
[08:47:40] [PASSED] drm_test_framebuffer_free
[08:47:40] [PASSED] drm_test_framebuffer_init
[08:47:40] [PASSED] drm_test_framebuffer_init_bad_format
[08:47:40] [PASSED] drm_test_framebuffer_init_dev_mismatch
[08:47:40] [PASSED] drm_test_framebuffer_lookup
[08:47:40] [PASSED] drm_test_framebuffer_lookup_inexistent
[08:47:40] [PASSED] drm_test_framebuffer_modifiers_not_supported
[08:47:40] ================= [PASSED] drm_framebuffer =================
[08:47:40] ================ drm_gem_shmem (8 subtests) ================
[08:47:40] [PASSED] drm_gem_shmem_test_obj_create
[08:47:40] [PASSED] drm_gem_shmem_test_obj_create_private
[08:47:40] [PASSED] drm_gem_shmem_test_pin_pages
[08:47:40] [PASSED] drm_gem_shmem_test_vmap
[08:47:40] [PASSED] drm_gem_shmem_test_get_pages_sgt
[08:47:40] [PASSED] drm_gem_shmem_test_get_sg_table
[08:47:40] [PASSED] drm_gem_shmem_test_madvise
[08:47:40] [PASSED] drm_gem_shmem_test_purge
[08:47:40] ================== [PASSED] drm_gem_shmem ==================
[08:47:40] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[08:47:40] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420  =======
[08:47:40] [PASSED] Automatic
[08:47:40] [PASSED] Full
[08:47:40] [PASSED] Limited 16:235
[08:47:40] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[08:47:40] [PASSED] drm_test_check_disable_connector
[08:47:40] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[08:47:40] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[08:47:40] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[08:47:40] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[08:47:40] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[08:47:40] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[08:47:40] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[08:47:40] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[08:47:40] [PASSED] drm_test_check_output_bpc_dvi
[08:47:40] [PASSED] drm_test_check_output_bpc_format_vic_1
[08:47:40] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[08:47:40] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[08:47:40] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[08:47:40] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[08:47:40] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[08:47:40] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[08:47:40] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[08:47:40] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[08:47:40] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[08:47:40] [PASSED] drm_test_check_broadcast_rgb_value
[08:47:40] [PASSED] drm_test_check_bpc_8_value
[08:47:40] [PASSED] drm_test_check_bpc_10_value
[08:47:40] [PASSED] drm_test_check_bpc_12_value
[08:47:40] [PASSED] drm_test_check_format_value
[08:47:40] [PASSED] drm_test_check_tmds_char_value
[08:47:40] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[08:47:40] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[08:47:40] [PASSED] drm_test_check_mode_valid
[08:47:40] [PASSED] drm_test_check_mode_valid_reject
[08:47:40] [PASSED] drm_test_check_mode_valid_reject_rate
[08:47:40] [PASSED] drm_test_check_mode_valid_reject_max_clock
[08:47:40] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[08:47:40] ================= drm_managed (2 subtests) =================
[08:47:40] [PASSED] drm_test_managed_release_action
[08:47:40] [PASSED] drm_test_managed_run_action
[08:47:40] =================== [PASSED] drm_managed ===================
[08:47:40] =================== drm_mm (6 subtests) ====================
[08:47:40] [PASSED] drm_test_mm_init
[08:47:40] [PASSED] drm_test_mm_debug
[08:47:40] [PASSED] drm_test_mm_align32
[08:47:40] [PASSED] drm_test_mm_align64
[08:47:40] [PASSED] drm_test_mm_lowest
[08:47:40] [PASSED] drm_test_mm_highest
[08:47:40] ===================== [PASSED] drm_mm ======================
[08:47:40] ============= drm_modes_analog_tv (5 subtests) =============
[08:47:40] [PASSED] drm_test_modes_analog_tv_mono_576i
[08:47:40] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[08:47:40] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[08:47:40] [PASSED] drm_test_modes_analog_tv_pal_576i
[08:47:40] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[08:47:40] =============== [PASSED] drm_modes_analog_tv ===============
[08:47:40] ============== drm_plane_helper (2 subtests) ===============
[08:47:40] =============== drm_test_check_plane_state  ================
[08:47:40] [PASSED] clipping_simple
[08:47:40] [PASSED] clipping_rotate_reflect
[08:47:40] [PASSED] positioning_simple
[08:47:40] [PASSED] upscaling
[08:47:40] [PASSED] downscaling
[08:47:40] [PASSED] rounding1
[08:47:40] [PASSED] rounding2
[08:47:40] [PASSED] rounding3
[08:47:40] [PASSED] rounding4
[08:47:40] =========== [PASSED] drm_test_check_plane_state ============
[08:47:40] =========== drm_test_check_invalid_plane_state  ============
[08:47:40] [PASSED] positioning_invalid
[08:47:40] [PASSED] upscaling_invalid
[08:47:40] [PASSED] downscaling_invalid
[08:47:40] ======= [PASSED] drm_test_check_invalid_plane_state ========
[08:47:40] ================ [PASSED] drm_plane_helper =================
[08:47:40] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[08:47:40] ====== drm_test_connector_helper_tv_get_modes_check  =======
[08:47:40] [PASSED] None
[08:47:40] [PASSED] PAL
[08:47:40] [PASSED] NTSC
[08:47:40] [PASSED] Both, NTSC Default
[08:47:40] [PASSED] Both, PAL Default
[08:47:40] [PASSED] Both, NTSC Default, with PAL on command-line
[08:47:40] [PASSED] Both, PAL Default, with NTSC on command-line
[08:47:40] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[08:47:40] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[08:47:40] ================== drm_rect (9 subtests) ===================
[08:47:40] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[08:47:40] [PASSED] drm_test_rect_clip_scaled_not_clipped
[08:47:40] [PASSED] drm_test_rect_clip_scaled_clipped
[08:47:40] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[08:47:40] ================= drm_test_rect_intersect  =================
[08:47:40] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[08:47:40] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[08:47:40] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[08:47:40] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[08:47:40] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[08:47:40] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[08:47:40] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[08:47:40] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[08:47:40] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[08:47:40] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[08:47:40] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[08:47:40] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[08:47:40] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[08:47:40] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[08:47:40] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[08:47:40] ============= [PASSED] drm_test_rect_intersect =============
[08:47:40] ================ drm_test_rect_calc_hscale  ================
[08:47:40] [PASSED] normal use
[08:47:40] [PASSED] out of max range
[08:47:40] [PASSED] out of min range
[08:47:40] [PASSED] zero dst
[08:47:40] [PASSED] negative src
[08:47:40] [PASSED] negative dst
[08:47:40] ============ [PASSED] drm_test_rect_calc_hscale ============
[08:47:40] ================ drm_test_rect_calc_vscale  ================
[08:47:40] [PASSED] normal use
[08:47:40] [PASSED] out of max range
[08:47:40] [PASSED] out of min range
[08:47:40] [PASSED] zero dst
[08:47:40] [PASSED] negative src
stty: 'standard input': Inappropriate ioctl for device
[08:47:40] [PASSED] negative dst
[08:47:40] ============ [PASSED] drm_test_rect_calc_vscale ============
[08:47:40] ================== drm_test_rect_rotate  ===================
[08:47:40] [PASSED] reflect-x
[08:47:40] [PASSED] reflect-y
[08:47:40] [PASSED] rotate-0
[08:47:40] [PASSED] rotate-90
[08:47:40] [PASSED] rotate-180
[08:47:40] [PASSED] rotate-270
[08:47:40] ============== [PASSED] drm_test_rect_rotate ===============
[08:47:40] ================ drm_test_rect_rotate_inv  =================
[08:47:40] [PASSED] reflect-x
[08:47:40] [PASSED] reflect-y
[08:47:40] [PASSED] rotate-0
[08:47:40] [PASSED] rotate-90
[08:47:40] [PASSED] rotate-180
[08:47:40] [PASSED] rotate-270
[08:47:40] ============ [PASSED] drm_test_rect_rotate_inv =============
[08:47:40] ==================== [PASSED] drm_rect =====================
[08:47:40] ============ drm_sysfb_modeset_test (1 subtest) ============
[08:47:40] ============ drm_test_sysfb_build_fourcc_list  =============
[08:47:40] [PASSED] no native formats
[08:47:40] [PASSED] XRGB8888 as native format
[08:47:40] [PASSED] remove duplicates
[08:47:40] [PASSED] convert alpha formats
[08:47:40] [PASSED] random formats
[08:47:40] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[08:47:40] ============= [PASSED] drm_sysfb_modeset_test ==============
[08:47:40] ============================================================
[08:47:40] Testing complete. Ran 621 tests: passed: 621
[08:47:40] Elapsed time: 25.517s total, 1.747s configuring, 23.549s building, 0.203s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[08:47:40] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:47:42] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[08:47:51] Starting KUnit Kernel (1/1)...
[08:47:51] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:47:51] ================= ttm_device (5 subtests) ==================
[08:47:51] [PASSED] ttm_device_init_basic
[08:47:51] [PASSED] ttm_device_init_multiple
[08:47:51] [PASSED] ttm_device_fini_basic
[08:47:51] [PASSED] ttm_device_init_no_vma_man
[08:47:51] ================== ttm_device_init_pools  ==================
[08:47:51] [PASSED] No DMA allocations, no DMA32 required
[08:47:51] [PASSED] DMA allocations, DMA32 required
[08:47:51] [PASSED] No DMA allocations, DMA32 required
[08:47:51] [PASSED] DMA allocations, no DMA32 required
[08:47:51] ============== [PASSED] ttm_device_init_pools ==============
[08:47:51] =================== [PASSED] ttm_device ====================
[08:47:51] ================== ttm_pool (8 subtests) ===================
[08:47:51] ================== ttm_pool_alloc_basic  ===================
[08:47:51] [PASSED] One page
[08:47:51] [PASSED] More than one page
[08:47:51] [PASSED] Above the allocation limit
[08:47:51] [PASSED] One page, with coherent DMA mappings enabled
[08:47:51] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[08:47:51] ============== [PASSED] ttm_pool_alloc_basic ===============
[08:47:51] ============== ttm_pool_alloc_basic_dma_addr  ==============
[08:47:51] [PASSED] One page
[08:47:51] [PASSED] More than one page
[08:47:51] [PASSED] Above the allocation limit
[08:47:51] [PASSED] One page, with coherent DMA mappings enabled
[08:47:51] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[08:47:51] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[08:47:51] [PASSED] ttm_pool_alloc_order_caching_match
[08:47:51] [PASSED] ttm_pool_alloc_caching_mismatch
[08:47:51] [PASSED] ttm_pool_alloc_order_mismatch
[08:47:51] [PASSED] ttm_pool_free_dma_alloc
[08:47:51] [PASSED] ttm_pool_free_no_dma_alloc
[08:47:51] [PASSED] ttm_pool_fini_basic
[08:47:51] ==================== [PASSED] ttm_pool =====================
[08:47:51] ================ ttm_resource (8 subtests) =================
[08:47:51] ================= ttm_resource_init_basic  =================
[08:47:51] [PASSED] Init resource in TTM_PL_SYSTEM
[08:47:51] [PASSED] Init resource in TTM_PL_VRAM
[08:47:51] [PASSED] Init resource in a private placement
[08:47:51] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[08:47:51] ============= [PASSED] ttm_resource_init_basic =============
[08:47:51] [PASSED] ttm_resource_init_pinned
[08:47:51] [PASSED] ttm_resource_fini_basic
[08:47:51] [PASSED] ttm_resource_manager_init_basic
[08:47:51] [PASSED] ttm_resource_manager_usage_basic
[08:47:51] [PASSED] ttm_resource_manager_set_used_basic
[08:47:51] [PASSED] ttm_sys_man_alloc_basic
[08:47:51] [PASSED] ttm_sys_man_free_basic
[08:47:51] ================== [PASSED] ttm_resource ===================
[08:47:51] =================== ttm_tt (15 subtests) ===================
[08:47:51] ==================== ttm_tt_init_basic  ====================
[08:47:51] [PASSED] Page-aligned size
[08:47:51] [PASSED] Extra pages requested
[08:47:51] ================ [PASSED] ttm_tt_init_basic ================
[08:47:51] [PASSED] ttm_tt_init_misaligned
[08:47:51] [PASSED] ttm_tt_fini_basic
[08:47:51] [PASSED] ttm_tt_fini_sg
[08:47:51] [PASSED] ttm_tt_fini_shmem
[08:47:51] [PASSED] ttm_tt_create_basic
[08:47:51] [PASSED] ttm_tt_create_invalid_bo_type
[08:47:51] [PASSED] ttm_tt_create_ttm_exists
[08:47:51] [PASSED] ttm_tt_create_failed
[08:47:51] [PASSED] ttm_tt_destroy_basic
[08:47:51] [PASSED] ttm_tt_populate_null_ttm
[08:47:51] [PASSED] ttm_tt_populate_populated_ttm
[08:47:51] [PASSED] ttm_tt_unpopulate_basic
[08:47:51] [PASSED] ttm_tt_unpopulate_empty_ttm
[08:47:51] [PASSED] ttm_tt_swapin_basic
[08:47:51] ===================== [PASSED] ttm_tt ======================
[08:47:51] =================== ttm_bo (14 subtests) ===================
[08:47:51] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[08:47:51] [PASSED] Cannot be interrupted and sleeps
[08:47:51] [PASSED] Cannot be interrupted, locks straight away
[08:47:51] [PASSED] Can be interrupted, sleeps
[08:47:51] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[08:47:51] [PASSED] ttm_bo_reserve_locked_no_sleep
[08:47:51] [PASSED] ttm_bo_reserve_no_wait_ticket
[08:47:51] [PASSED] ttm_bo_reserve_double_resv
[08:47:51] [PASSED] ttm_bo_reserve_interrupted
[08:47:51] [PASSED] ttm_bo_reserve_deadlock
[08:47:51] [PASSED] ttm_bo_unreserve_basic
[08:47:51] [PASSED] ttm_bo_unreserve_pinned
[08:47:51] [PASSED] ttm_bo_unreserve_bulk
[08:47:51] [PASSED] ttm_bo_fini_basic
[08:47:51] [PASSED] ttm_bo_fini_shared_resv
[08:47:51] [PASSED] ttm_bo_pin_basic
[08:47:51] [PASSED] ttm_bo_pin_unpin_resource
[08:47:51] [PASSED] ttm_bo_multiple_pin_one_unpin
[08:47:51] ===================== [PASSED] ttm_bo ======================
[08:47:51] ============== ttm_bo_validate (21 subtests) ===============
[08:47:51] ============== ttm_bo_init_reserved_sys_man  ===============
[08:47:51] [PASSED] Buffer object for userspace
[08:47:51] [PASSED] Kernel buffer object
[08:47:51] [PASSED] Shared buffer object
[08:47:51] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[08:47:51] ============== ttm_bo_init_reserved_mock_man  ==============
[08:47:51] [PASSED] Buffer object for userspace
[08:47:51] [PASSED] Kernel buffer object
[08:47:51] [PASSED] Shared buffer object
[08:47:51] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[08:47:51] [PASSED] ttm_bo_init_reserved_resv
[08:47:51] ================== ttm_bo_validate_basic  ==================
[08:47:51] [PASSED] Buffer object for userspace
[08:47:51] [PASSED] Kernel buffer object
[08:47:51] [PASSED] Shared buffer object
[08:47:51] ============== [PASSED] ttm_bo_validate_basic ==============
[08:47:51] [PASSED] ttm_bo_validate_invalid_placement
[08:47:51] ============= ttm_bo_validate_same_placement  ==============
[08:47:51] [PASSED] System manager
[08:47:51] [PASSED] VRAM manager
[08:47:51] ========= [PASSED] ttm_bo_validate_same_placement ==========
[08:47:51] [PASSED] ttm_bo_validate_failed_alloc
[08:47:51] [PASSED] ttm_bo_validate_pinned
[08:47:51] [PASSED] ttm_bo_validate_busy_placement
[08:47:51] ================ ttm_bo_validate_multihop  =================
[08:47:51] [PASSED] Buffer object for userspace
[08:47:51] [PASSED] Kernel buffer object
[08:47:51] [PASSED] Shared buffer object
[08:47:51] ============ [PASSED] ttm_bo_validate_multihop =============
[08:47:51] ========== ttm_bo_validate_no_placement_signaled  ==========
[08:47:51] [PASSED] Buffer object in system domain, no page vector
[08:47:51] [PASSED] Buffer object in system domain with an existing page vector
[08:47:51] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[08:47:51] ======== ttm_bo_validate_no_placement_not_signaled  ========
[08:47:51] [PASSED] Buffer object for userspace
[08:47:51] [PASSED] Kernel buffer object
[08:47:51] [PASSED] Shared buffer object
[08:47:51] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[08:47:51] [PASSED] ttm_bo_validate_move_fence_signaled
[08:47:51] ========= ttm_bo_validate_move_fence_not_signaled  =========
[08:47:51] [PASSED] Waits for GPU
[08:47:51] [PASSED] Tries to lock straight away
[08:47:51] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[08:47:51] [PASSED] ttm_bo_validate_happy_evict
[08:47:51] [PASSED] ttm_bo_validate_all_pinned_evict
[08:47:51] [PASSED] ttm_bo_validate_allowed_only_evict
[08:47:51] [PASSED] ttm_bo_validate_deleted_evict
[08:47:51] [PASSED] ttm_bo_validate_busy_domain_evict
[08:47:51] [PASSED] ttm_bo_validate_evict_gutting
[08:47:51] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[08:47:51] ================= [PASSED] ttm_bo_validate =================
[08:47:51] ============================================================
[08:47:51] Testing complete. Ran 101 tests: passed: 101
[08:47:51] Elapsed time: 11.137s total, 1.681s configuring, 9.189s building, 0.226s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✗ CI.checksparse: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (31 preceding siblings ...)
  2025-09-26  8:47 ` ✓ CI.KUnit: success " Patchwork
@ 2025-09-26  9:03 ` Patchwork
  2025-09-26  9:28 ` ✓ Xe.CI.BAT: success " Patchwork
                   ` (2 subsequent siblings)
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-26  9:03 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
URL   : https://patchwork.freedesktop.org/series/154922/
State : warning

== Summary ==

+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast d557b14c00c4ab027e66c1c7bf512cf479ff8c24
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
+drivers/gpu/drm/i915/display/intel_alpm.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2026:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2039:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2039:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2039:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_hotplug.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+drivers/gpu/drm/i915/i915_irq.c:466:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:466:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:474:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:474:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:479:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:479:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:479:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:517:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:517:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:525:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:525:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:530:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:530:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:530:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:574:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:574:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:577:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:577:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:581:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:581:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:588:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:588:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:588:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:588:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/intel_uncore.c:1928:1: warning: context imbalance in 'fwtable_read8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1929:1: warning: context imbalance in 'fwtable_read16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1930:1: warning: context imbalance in 'fwtable_read32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1931:1: warning: context imbalance in 'fwtable_read64' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1996:1: warning: context imbalance in 'gen6_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1997:1: warning: context imbalance in 'gen6_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1998:1: warning: context imbalance in 'gen6_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2018:1: warning: context imbalance in 'fwtable_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2019:1: warning: context imbalance in 'fwtable_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2020:1: warning: context imbalance in 'fwtable_write32' - unexpected unlock

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



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

* ✓ Xe.CI.BAT: success for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (32 preceding siblings ...)
  2025-09-26  9:03 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-09-26  9:28 ` Patchwork
  2025-09-26 13:36 ` ✓ Xe.CI.Full: " Patchwork
  2025-10-08  7:15 ` [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Kahola, Mika
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-26  9:28 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
URL   : https://patchwork.freedesktop.org/series/154922/
State : success

== Summary ==

CI Bug Log - changes from xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24_BAT -> xe-pw-154922v3_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts

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

  Here are the changes found in xe-pw-154922v3_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_flip@basic-flip-vs-dpms:
    - bat-adlp-7:         [PASS][1] -> [DMESG-WARN][2] ([Intel XE#4543]) +1 other test dmesg-warn
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/bat-adlp-7/igt@kms_flip@basic-flip-vs-dpms.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/bat-adlp-7/igt@kms_flip@basic-flip-vs-dpms.html

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


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

  * Linux: xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24 -> xe-pw-154922v3

  IGT_8554: 8554
  xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24: d557b14c00c4ab027e66c1c7bf512cf479ff8c24
  xe-pw-154922v3: 154922v3

== Logs ==

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

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

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

* ✓ Xe.CI.Full: success for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (33 preceding siblings ...)
  2025-09-26  9:28 ` ✓ Xe.CI.BAT: success " Patchwork
@ 2025-09-26 13:36 ` Patchwork
  2025-10-08  7:15 ` [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Kahola, Mika
  35 siblings, 0 replies; 43+ messages in thread
From: Patchwork @ 2025-09-26 13:36 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3)
URL   : https://patchwork.freedesktop.org/series/154922/
State : success

== Summary ==

CI Bug Log - changes from xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24_FULL -> xe-pw-154922v3_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

  Here are the changes found in xe-pw-154922v3_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

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

  * igt@kms_big_fb@y-tiled-8bpp-rotate-180:
    - shard-bmg:          NOTRUN -> [SKIP][2] ([Intel XE#1124]) +2 other tests skip
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_big_fb@y-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-90:
    - shard-lnl:          NOTRUN -> [SKIP][3] ([Intel XE#1124])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-lnl-8/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][4] ([Intel XE#1124]) +4 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][5] ([Intel XE#2191])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html

  * igt@kms_bw@linear-tiling-3-displays-3840x2160p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][6] ([Intel XE#367])
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][7] ([Intel XE#2887]) +1 other test skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-a-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][8] ([Intel XE#787]) +125 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-432/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-a-dp-2.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#2652] / [Intel XE#787]) +7 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-1/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#3432])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][11] ([Intel XE#455] / [Intel XE#787]) +24 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     [PASS][12] -> [INCOMPLETE][13] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_chamelium_audio@hdmi-audio:
    - shard-bmg:          NOTRUN -> [SKIP][14] ([Intel XE#2252]) +1 other test skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_chamelium_audio@hdmi-audio.html

  * igt@kms_chamelium_color@ctm-limited-range:
    - shard-dg2-set2:     NOTRUN -> [SKIP][15] ([Intel XE#306]) +1 other test skip
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_chamelium_color@ctm-limited-range.html

  * igt@kms_chamelium_edid@vga-edid-read:
    - shard-dg2-set2:     NOTRUN -> [SKIP][16] ([Intel XE#373]) +3 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_chamelium_edid@vga-edid-read.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg2-set2:     NOTRUN -> [FAIL][17] ([Intel XE#1178]) +3 other tests fail
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_cursor_crc@cursor-offscreen-512x512:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#2321])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_cursor_crc@cursor-offscreen-512x512.html

  * igt@kms_cursor_crc@cursor-onscreen-256x85:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#2320]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_cursor_crc@cursor-onscreen-256x85.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-dg2-set2:     NOTRUN -> [SKIP][20] ([Intel XE#308]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_legacy@cursor-vs-flip-varying-size:
    - shard-bmg:          [PASS][21] -> [DMESG-WARN][22] ([Intel XE#5354])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-4/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-8/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-bmg:          [PASS][23] -> [SKIP][24] ([Intel XE#2291]) +3 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_dsc@dsc-with-bpc:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#2244])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_dsc@dsc-with-bpc.html

  * igt@kms_dsc@dsc-with-output-formats-with-bpc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][26] ([Intel XE#455]) +9 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_dsc@dsc-with-output-formats-with-bpc.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#5425])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-adlp:         [PASS][28] -> [DMESG-WARN][29] ([Intel XE#2953] / [Intel XE#4173]) +10 other tests dmesg-warn
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-9/igt@kms_fbcon_fbt@fbc-suspend.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-4/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_feature_discovery@chamelium:
    - shard-dg2-set2:     NOTRUN -> [SKIP][30] ([Intel XE#701])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-434/igt@kms_feature_discovery@chamelium.html

  * igt@kms_feature_discovery@display-2x:
    - shard-bmg:          [PASS][31] -> [SKIP][32] ([Intel XE#2373])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-7/igt@kms_feature_discovery@display-2x.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@display-3x:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#2373])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_feature_discovery@display-3x.html

  * igt@kms_flip@2x-flip-vs-wf_vblank:
    - shard-bmg:          [PASS][34] -> [FAIL][35] ([Intel XE#3098]) +1 other test fail
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-4/igt@kms_flip@2x-flip-vs-wf_vblank.html
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_flip@2x-flip-vs-wf_vblank.html

  * igt@kms_flip@2x-modeset-vs-vblank-race:
    - shard-bmg:          [PASS][36] -> [SKIP][37] ([Intel XE#2316]) +2 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-7/igt@kms_flip@2x-modeset-vs-vblank-race.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@kms_flip@2x-modeset-vs-vblank-race.html

  * igt@kms_flip@flip-vs-suspend@d-hdmi-a1:
    - shard-adlp:         [PASS][38] -> [DMESG-WARN][39] ([Intel XE#4543]) +6 other tests dmesg-warn
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_flip@flip-vs-suspend@d-hdmi-a1.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-9/igt@kms_flip@flip-vs-suspend@d-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#1401] / [Intel XE#1745])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][41] ([Intel XE#1401])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#2293]) +1 other test skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y:
    - shard-adlp:         [PASS][44] -> [FAIL][45] ([Intel XE#1874])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-9/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x:
    - shard-adlp:         [PASS][46] -> [DMESG-FAIL][47] ([Intel XE#4543])
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x.html
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-9/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x.html

  * igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-render:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#2311]) +9 other tests skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-rgb101010-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#5390]) +6 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][50] ([Intel XE#651]) +15 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
    - shard-dg2-set2:     NOTRUN -> [SKIP][51] ([Intel XE#658])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][52] ([Intel XE#656]) +1 other test skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][53] ([Intel XE#653]) +16 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][54] ([Intel XE#2313]) +7 other tests skip
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt.html

  * igt@kms_joiner@invalid-modeset-force-ultra-joiner:
    - shard-dg2-set2:     NOTRUN -> [SKIP][55] ([Intel XE#2925])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-dg2-set2:     NOTRUN -> [SKIP][56] ([Intel XE#356])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_plane_multiple@2x-tiling-none:
    - shard-bmg:          [PASS][57] -> [SKIP][58] ([Intel XE#4596])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-none.html
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-none.html

  * igt@kms_plane_multiple@2x-tiling-y:
    - shard-dg2-set2:     NOTRUN -> [SKIP][59] ([Intel XE#5021])
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_plane_multiple@2x-tiling-y.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-dg2-set2:     NOTRUN -> [SKIP][60] ([Intel XE#870])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_rpm@universal-planes-dpms:
    - shard-adlp:         [PASS][61] -> [DMESG-WARN][62] ([Intel XE#5750])
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_pm_rpm@universal-planes-dpms.html
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-1/igt@kms_pm_rpm@universal-planes-dpms.html

  * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
    - shard-dg2-set2:     NOTRUN -> [SKIP][63] ([Intel XE#1406] / [Intel XE#1489]) +4 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-bmg:          NOTRUN -> [SKIP][64] ([Intel XE#1406] / [Intel XE#1489]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr@fbc-psr2-cursor-plane-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][65] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +7 other tests skip
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][66] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +3 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@kms_psr@psr2-primary-render:
    - shard-bmg:          NOTRUN -> [SKIP][67] ([Intel XE#1406] / [Intel XE#2234])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_psr@psr2-primary-render.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-dg2-set2:     NOTRUN -> [SKIP][68] ([Intel XE#330])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vrr@flip-suspend:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#1499])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_vrr@flip-suspend.html

  * igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute:
    - shard-dg2-set2:     NOTRUN -> [SKIP][70] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html

  * igt@xe_eudebug@basic-client-th:
    - shard-bmg:          NOTRUN -> [SKIP][71] ([Intel XE#4837]) +4 other tests skip
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@xe_eudebug@basic-client-th.html

  * igt@xe_eudebug@vma-ufence-faultable:
    - shard-dg2-set2:     NOTRUN -> [SKIP][72] ([Intel XE#4837]) +8 other tests skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-434/igt@xe_eudebug@vma-ufence-faultable.html

  * igt@xe_evict_ccs@evict-overcommit-simple:
    - shard-lnl:          NOTRUN -> [SKIP][73] ([Intel XE#688])
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-lnl-8/igt@xe_evict_ccs@evict-overcommit-simple.html

  * igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap:
    - shard-dg2-set2:     [PASS][74] -> [SKIP][75] ([Intel XE#1392]) +4 other tests skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-dg2-434/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html

  * igt@xe_exec_basic@multigpu-once-basic-defer-mmap:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#2322]) +2 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html

  * igt@xe_exec_fault_mode@many-execqueues-userptr-imm:
    - shard-dg2-set2:     NOTRUN -> [SKIP][77] ([Intel XE#288]) +11 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@xe_exec_fault_mode@many-execqueues-userptr-imm.html

  * igt@xe_exec_system_allocator@evict-malloc:
    - shard-bmg:          [PASS][78] -> [ABORT][79] ([Intel XE#3970])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-5/igt@xe_exec_system_allocator@evict-malloc.html
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@xe_exec_system_allocator@evict-malloc.html

  * igt@xe_exec_system_allocator@many-stride-malloc-race:
    - shard-dg2-set2:     NOTRUN -> [SKIP][80] ([Intel XE#4915]) +126 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@xe_exec_system_allocator@many-stride-malloc-race.html

  * igt@xe_exec_system_allocator@threads-many-execqueues-mmap-huge-nomemset:
    - shard-bmg:          NOTRUN -> [SKIP][81] ([Intel XE#4943]) +11 other tests skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@xe_exec_system_allocator@threads-many-execqueues-mmap-huge-nomemset.html
    - shard-lnl:          NOTRUN -> [SKIP][82] ([Intel XE#4943])
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-lnl-8/igt@xe_exec_system_allocator@threads-many-execqueues-mmap-huge-nomemset.html

  * igt@xe_oa@mmio-triggered-reports:
    - shard-dg2-set2:     NOTRUN -> [SKIP][83] ([Intel XE#3573]) +5 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@xe_oa@mmio-triggered-reports.html

  * igt@xe_pm@d3cold-multiple-execs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][84] ([Intel XE#2284] / [Intel XE#366])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-434/igt@xe_pm@d3cold-multiple-execs.html

  * igt@xe_pmu@engine-activity-most-load-idle:
    - shard-bmg:          NOTRUN -> [DMESG-WARN][85] ([Intel XE#6190]) +1 other test dmesg-warn
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@xe_pmu@engine-activity-most-load-idle.html

  * igt@xe_pmu@fn-engine-activity-load:
    - shard-dg2-set2:     NOTRUN -> [SKIP][86] ([Intel XE#4650])
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-464/igt@xe_pmu@fn-engine-activity-load.html

  * igt@xe_pmu@gt-frequency:
    - shard-lnl:          [PASS][87] -> [FAIL][88] ([Intel XE#5841]) +1 other test fail
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-lnl-1/igt@xe_pmu@gt-frequency.html
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-lnl-7/igt@xe_pmu@gt-frequency.html

  * igt@xe_pxp@pxp-stale-bo-exec-post-rpm:
    - shard-bmg:          NOTRUN -> [SKIP][89] ([Intel XE#4733])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@xe_pxp@pxp-stale-bo-exec-post-rpm.html

  * igt@xe_pxp@pxp-termination-key-update-post-rpm:
    - shard-dg2-set2:     NOTRUN -> [SKIP][90] ([Intel XE#4733]) +1 other test skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@xe_pxp@pxp-termination-key-update-post-rpm.html

  * igt@xe_query@multigpu-query-engines:
    - shard-bmg:          NOTRUN -> [SKIP][91] ([Intel XE#944])
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@xe_query@multigpu-query-engines.html

  * igt@xe_query@multigpu-query-uc-fw-version-guc:
    - shard-dg2-set2:     NOTRUN -> [SKIP][92] ([Intel XE#944]) +1 other test skip
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-436/igt@xe_query@multigpu-query-uc-fw-version-guc.html

  * igt@xe_sriov_scheduling@nonpreempt-engine-resets:
    - shard-dg2-set2:     NOTRUN -> [SKIP][93] ([Intel XE#4351])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-434/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html

  
#### Possible fixes ####

  * igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-1:
    - shard-adlp:         [DMESG-WARN][94] ([Intel XE#4543]) -> [PASS][95] +12 other tests pass
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-2/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-1.html
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-8/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-hdmi-a-1.html

  * igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p:
    - shard-bmg:          [SKIP][96] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][97] +1 other test pass
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-2160x1440p.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
    - shard-bmg:          [SKIP][98] ([Intel XE#2291]) -> [PASS][99] +2 other tests pass
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-3/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-bmg:          [FAIL][100] ([Intel XE#4633]) -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - shard-bmg:          [SKIP][102] ([Intel XE#1340]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-3/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html

  * igt@kms_dp_linktrain_fallback@dp-fallback:
    - shard-bmg:          [SKIP][104] ([Intel XE#4294]) -> [PASS][105]
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_dp_linktrain_fallback@dp-fallback.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-5/igt@kms_dp_linktrain_fallback@dp-fallback.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-bmg:          [SKIP][106] ([Intel XE#2316]) -> [PASS][107] +6 other tests pass
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-3/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@flip-vs-rmfb-interruptible:
    - shard-adlp:         [DMESG-WARN][108] ([Intel XE#5208]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-8/igt@kms_flip@flip-vs-rmfb-interruptible.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-2/igt@kms_flip@flip-vs-rmfb-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-bmg:          [INCOMPLETE][110] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][111] +1 other test pass
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_flip@flip-vs-suspend.html
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x:
    - shard-adlp:         [DMESG-FAIL][112] ([Intel XE#4543]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x.html
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-9/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x.html

  * igt@kms_hdr@invalid-metadata-sizes:
    - shard-bmg:          [SKIP][114] ([Intel XE#1503]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_hdr@invalid-metadata-sizes.html
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-5/igt@kms_hdr@invalid-metadata-sizes.html

  * igt@kms_plane_multiple@2x-tiling-4:
    - shard-bmg:          [SKIP][116] ([Intel XE#4596]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-4.html
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-4.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-c:
    - shard-adlp:         [DMESG-WARN][118] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][119] +7 other tests pass
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-8/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-c.html
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-2/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-c.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-adlp:         [FAIL][120] ([Intel XE#718]) -> [PASS][121]
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-1/igt@kms_pm_dc@dc6-dpms.html
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-8/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-bmg:          [SKIP][122] ([Intel XE#1435]) -> [PASS][123]
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc.html
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-5/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_vrr@negative-basic:
    - shard-bmg:          [SKIP][124] ([Intel XE#1499]) -> [PASS][125]
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_vrr@negative-basic.html
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-5/igt@kms_vrr@negative-basic.html

  * igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race:
    - shard-dg2-set2:     [SKIP][126] ([Intel XE#1392]) -> [PASS][127] +1 other test pass
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-434/igt@xe_exec_basic@multigpu-no-exec-userptr-invalidate-race.html

  * igt@xe_exec_reset@cm-close-fd:
    - shard-adlp:         [DMESG-WARN][128] -> [PASS][129]
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@xe_exec_reset@cm-close-fd.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-9/igt@xe_exec_reset@cm-close-fd.html

  * {igt@xe_exec_system_allocator@once-malloc-prefetch-race}:
    - shard-bmg:          [CRASH][130] ([Intel XE#6192]) -> [PASS][131] +13 other tests pass
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-8/igt@xe_exec_system_allocator@once-malloc-prefetch-race.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@xe_exec_system_allocator@once-malloc-prefetch-race.html

  * {igt@xe_exec_system_allocator@twice-mmap-prefetch}:
    - shard-lnl:          [CRASH][132] ([Intel XE#6192]) -> [PASS][133] +10 other tests pass
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-lnl-1/igt@xe_exec_system_allocator@twice-mmap-prefetch.html
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-lnl-7/igt@xe_exec_system_allocator@twice-mmap-prefetch.html

  * igt@xe_module_load@many-reload:
    - shard-adlp:         [DMESG-WARN][134] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#5244]) -> [PASS][135]
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-8/igt@xe_module_load@many-reload.html
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-2/igt@xe_module_load@many-reload.html

  * igt@xe_pm_residency@gt-c6-freeze@gt0:
    - shard-adlp:         [DMESG-WARN][136] ([Intel XE#2953] / [Intel XE#3088] / [Intel XE#4173]) -> [PASS][137] +1 other test pass
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-1/igt@xe_pm_residency@gt-c6-freeze@gt0.html
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-3/igt@xe_pm_residency@gt-c6-freeze@gt0.html

  
#### Warnings ####

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
    - shard-adlp:         [DMESG-FAIL][138] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543]) -> [DMESG-FAIL][139] ([Intel XE#4543])
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
    - shard-dg2-set2:     [INCOMPLETE][140] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4345]) -> [INCOMPLETE][141] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522])
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [INCOMPLETE][142] ([Intel XE#2705] / [Intel XE#4212]) -> [INCOMPLETE][143] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522])
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6.html
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6.html

  * igt@kms_content_protection@srm:
    - shard-bmg:          [FAIL][144] ([Intel XE#1178]) -> [SKIP][145] ([Intel XE#2341])
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-7/igt@kms_content_protection@srm.html
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@kms_content_protection@srm.html

  * igt@kms_flip@dpms-off-confusion-interruptible:
    - shard-adlp:         [DMESG-WARN][146] ([Intel XE#4543]) -> [DMESG-WARN][147] ([Intel XE#2953] / [Intel XE#4173])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_flip@dpms-off-confusion-interruptible.html
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-9/igt@kms_flip@dpms-off-confusion-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-adlp:         [DMESG-FAIL][148] ([Intel XE#4543]) -> [DMESG-WARN][149] ([Intel XE#4543])
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-1/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1:
    - shard-adlp:         [FAIL][150] ([Intel XE#301]) -> [DMESG-WARN][151] ([Intel XE#4543])
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1.html
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-1/igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render:
    - shard-bmg:          [SKIP][152] ([Intel XE#2311]) -> [SKIP][153] ([Intel XE#2312]) +6 other tests skip
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render.html
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][154] ([Intel XE#2312]) -> [SKIP][155] ([Intel XE#2311]) +13 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][156] ([Intel XE#2312]) -> [SKIP][157] ([Intel XE#5390]) +7 other tests skip
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt.html
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][158] ([Intel XE#5390]) -> [SKIP][159] ([Intel XE#2312]) +4 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
    - shard-bmg:          [SKIP][160] ([Intel XE#2312]) -> [SKIP][161] ([Intel XE#2313]) +14 other tests skip
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-5/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-bmg:          [SKIP][162] ([Intel XE#2313]) -> [SKIP][163] ([Intel XE#2312]) +11 other tests skip
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][164] ([Intel XE#2509]) -> [SKIP][165] ([Intel XE#2426])
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-5/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
    - shard-adlp:         [ABORT][166] ([Intel XE#5530]) -> [ABORT][167] ([Intel XE#4917] / [Intel XE#5530])
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-6/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-1/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
    - shard-bmg:          [ABORT][168] ([Intel XE#5466] / [Intel XE#5530]) -> [ABORT][169] ([Intel XE#4917] / [Intel XE#5466] / [Intel XE#5530])
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-bmg-1/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-bmg-3/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html

  * igt@xe_peer2peer@write:
    - shard-dg2-set2:     [FAIL][170] ([Intel XE#1173]) -> [SKIP][171] ([Intel XE#1061])
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-dg2-434/igt@xe_peer2peer@write.html
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-dg2-432/igt@xe_peer2peer@write.html

  * igt@xe_sriov_scheduling@equal-throughput:
    - shard-adlp:         [DMESG-FAIL][172] ([Intel XE#5213]) -> [DMESG-FAIL][173] ([Intel XE#5213] / [Intel XE#5545]) +1 other test dmesg-fail
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24/shard-adlp-6/igt@xe_sriov_scheduling@equal-throughput.html
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154922v3/shard-adlp-1/igt@xe_sriov_scheduling@equal-throughput.html

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

  [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
  [Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
  [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
  [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
  [Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#3088]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3088
  [Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/330
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/356
  [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
  [Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
  [Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
  [Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
  [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4351
  [Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
  [Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
  [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
  [Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4917
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#5191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5191
  [Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
  [Intel XE#5213]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5213
  [Intel XE#5244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5244
  [Intel XE#5300]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5300
  [Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354
  [Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
  [Intel XE#5425]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5425
  [Intel XE#5466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5466
  [Intel XE#5530]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5530
  [Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
  [Intel XE#5750]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5750
  [Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
  [Intel XE#5841]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5841
  [Intel XE#6190]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6190
  [Intel XE#6192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6192
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/701
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * Linux: xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24 -> xe-pw-154922v3

  IGT_8554: 8554
  xe-3833-d557b14c00c4ab027e66c1c7bf512cf479ff8c24: d557b14c00c4ab027e66c1c7bf512cf479ff8c24
  xe-pw-154922v3: 154922v3

== Logs ==

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

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

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

* RE: [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset
  2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
                   ` (34 preceding siblings ...)
  2025-09-26 13:36 ` ✓ Xe.CI.Full: " Patchwork
@ 2025-10-08  7:15 ` Kahola, Mika
  35 siblings, 0 replies; 43+ messages in thread
From: Kahola, Mika @ 2025-10-08  7:15 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx@lists.freedesktop.org
  Cc: intel-xe@lists.freedesktop.org

> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville Syrjala
> Sent: Tuesday, 23 September 2025 20.19
> To: intel-gfx@lists.freedesktop.org
> Cc: intel-xe@lists.freedesktop.org
> Subject: [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset
> 
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> The state->modeset dependency on the cdclk stuff is annoying and confusing. The cdclk code also interacts in weird ways with
> several other parts of the driver. Decouple cdclk from state->modeset and attempt to make the interactions between different
> parts less confusing.

For the whole series

Reviewed-by: Mika Kahola <mika.kahola@intel.com>

> 
> Ville Syrjälä (20):
>   drm/i915: Introduce intel_crtc_enable_changed() and
>     intel_any_crtc_enable_changed()
>   drm/i915: Introduce intel_crtc_active_changed() and
>     intel_any_crtc_active_changed()
>   drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is
>     changing its active state
>   drm/1915/bw: Drop redundant display version checks
>   drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed()
>   drm/i915/cdclk: Extract dg2_power_well_count()
>   drm/i915/cdclk: Introduce intel_cdclk_modeset_checks()
>   drm/i915/cdclk: Handle the force_min_cdclk state locking in
>     intel_cdclk_atomic_check()
>   drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk()
>   drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk()
>   drm/i915/cdclk: Rework bw_min_cdclk handling
>   drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe
>   drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls
>   drm/i915/cdclk: Rework crtc min_cdclk handling
>   drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into
>     intel_crtc_compute_min_cdclk()
>   drm/i915/cdclk: Decuple cdclk from state->modeset
>   drm/i915: Introduce intel_calc_enabled_pipes()
>   drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk
>     audio w/a
>   drm/i915/cdclk: Hide intel_modeset_calc_cdclk()
>   drm/i915/cdclk: Move intel_cdclk_atomic_check()
> 
>  drivers/gpu/drm/i915/display/intel_bw.c      |  85 ++---
>  drivers/gpu/drm/i915/display/intel_bw.h      |   3 +-
>  drivers/gpu/drm/i915/display/intel_cdclk.c   | 312 +++++++++++++------
>  drivers/gpu/drm/i915/display/intel_cdclk.h   |   7 +-
>  drivers/gpu/drm/i915/display/intel_crtc.c    |  42 +++
>  drivers/gpu/drm/i915/display/intel_crtc.h    |   7 +
>  drivers/gpu/drm/i915/display/intel_display.c |  47 +--
>  drivers/gpu/drm/i915/display/intel_display.h |   2 +
>  drivers/gpu/drm/i915/display/intel_plane.c   |  52 +---
>  drivers/gpu/drm/i915/display/intel_plane.h   |   3 -
>  10 files changed, 335 insertions(+), 225 deletions(-)
> 
> --
> 2.49.1


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

* Re: [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
  2025-09-23 17:19 ` [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count() Ville Syrjala
                     ` (2 preceding siblings ...)
  2025-09-26  8:39   ` [PATCH v3 " Ville Syrjala
@ 2025-10-09 16:59   ` kernel test robot
  3 siblings, 0 replies; 43+ messages in thread
From: kernel test robot @ 2025-10-09 16:59 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx; +Cc: llvm, oe-kbuild-all, intel-xe

Hi Ville,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.17 next-20251009]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Ville-Syrjala/drm-i915-Introduce-intel_crtc_enable_changed-and-intel_any_crtc_enable_changed/20250926-204211
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
patch link:    https://lore.kernel.org/r/20250923171943.7319-7-ville.syrjala%40linux.intel.com
patch subject: [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count()
config: i386-randconfig-011-20251009 (https://download.01.org/0day-ci/archive/20251010/202510100011.UWvFqHK3-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251010/202510100011.UWvFqHK3-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510100011.UWvFqHK3-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/i915/display/intel_cdclk.c:2619:6: error: variable 'voltage_level' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
    2619 |         if (!intel_cdclk_changed(&old_cdclk_state->actual,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2620 |                                  &new_cdclk_state->actual) &&
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2621 |             dg2_power_well_count(display, old_cdclk_state) ==
         |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2622 |             dg2_power_well_count(display, old_cdclk_state))
         |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2649:30: note: uninitialized use occurs here
    2649 |         intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
         |                                     ^~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2619:2: note: remove the 'if' if its condition is always true
    2619 |         if (!intel_cdclk_changed(&old_cdclk_state->actual,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2620 |                                  &new_cdclk_state->actual) &&
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2621 |             dg2_power_well_count(display, old_cdclk_state) ==
         |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2622 |             dg2_power_well_count(display, old_cdclk_state))
         |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2623 | 
    2624 |         /* According to "Sequence Before Frequency Change", voltage level set to 0x3 */
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2625 |         voltage_level = DISPLAY_TO_PCODE_VOLTAGE_MAX;
>> drivers/gpu/drm/i915/display/intel_cdclk.c:2619:6: error: variable 'voltage_level' is used uninitialized whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
    2619 |         if (!intel_cdclk_changed(&old_cdclk_state->actual,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2620 |                                  &new_cdclk_state->actual) &&
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2649:30: note: uninitialized use occurs here
    2649 |         intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
         |                                     ^~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2619:6: note: remove the '&&' if its condition is always true
    2619 |         if (!intel_cdclk_changed(&old_cdclk_state->actual,
         |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2620 |                                  &new_cdclk_state->actual) &&
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/i915/display/intel_cdclk.c:2616:42: note: initialize the variable 'voltage_level' to silence this warning
    2616 |         unsigned int cdclk = 0; u8 voltage_level, num_active_pipes = 0;
         |                                                 ^
         |                                                  = '\0'
   2 errors generated.


vim +2619 drivers/gpu/drm/i915/display/intel_cdclk.c

aaf1b5cf5e779df Ville Syrjälä       2025-09-23  2608  
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2609  static void intel_cdclk_pcode_pre_notify(struct intel_atomic_state *state)
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2610  {
d34927acff91501 Ville Syrjälä       2024-09-06  2611  	struct intel_display *display = to_intel_display(state);
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2612  	const struct intel_cdclk_state *old_cdclk_state =
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2613  		intel_atomic_get_old_cdclk_state(state);
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2614  	const struct intel_cdclk_state *new_cdclk_state =
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2615  		intel_atomic_get_new_cdclk_state(state);
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2616  	unsigned int cdclk = 0; u8 voltage_level, num_active_pipes = 0;
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2617  	bool change_cdclk, update_pipe_count;
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2618  
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04 @2619  	if (!intel_cdclk_changed(&old_cdclk_state->actual,
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2620  				 &new_cdclk_state->actual) &&
aaf1b5cf5e779df Ville Syrjälä       2025-09-23  2621  	    dg2_power_well_count(display, old_cdclk_state) ==
aaf1b5cf5e779df Ville Syrjälä       2025-09-23  2622  	    dg2_power_well_count(display, old_cdclk_state))
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2623  
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2624  	/* According to "Sequence Before Frequency Change", voltage level set to 0x3 */
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2625  	voltage_level = DISPLAY_TO_PCODE_VOLTAGE_MAX;
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2626  
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2627  	change_cdclk = new_cdclk_state->actual.cdclk != old_cdclk_state->actual.cdclk;
aaf1b5cf5e779df Ville Syrjälä       2025-09-23  2628  	update_pipe_count = dg2_power_well_count(display, new_cdclk_state) >
aaf1b5cf5e779df Ville Syrjälä       2025-09-23  2629  		dg2_power_well_count(display, old_cdclk_state);
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2630  
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2631  	/*
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2632  	 * According to "Sequence Before Frequency Change",
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2633  	 * if CDCLK is increasing, set bits 25:16 to upcoming CDCLK,
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2634  	 * if CDCLK is decreasing or not changing, set bits 25:16 to current CDCLK,
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2635  	 * which basically means we choose the maximum of old and new CDCLK, if we know both
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2636  	 */
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2637  	if (change_cdclk)
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2638  		cdclk = max(new_cdclk_state->actual.cdclk, old_cdclk_state->actual.cdclk);
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2639  
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2640  	/*
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2641  	 * According to "Sequence For Pipe Count Change",
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2642  	 * if pipe count is increasing, set bits 25:16 to upcoming pipe count
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2643  	 * (power well is enabled)
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2644  	 * no action if it is decreasing, before the change
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2645  	 */
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2646  	if (update_pipe_count)
aaf1b5cf5e779df Ville Syrjälä       2025-09-23  2647  		num_active_pipes = dg2_power_well_count(display, new_cdclk_state);
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2648  
d34927acff91501 Ville Syrjälä       2024-09-06  2649  	intel_pcode_notify(display, voltage_level, num_active_pipes, cdclk,
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2650  			   change_cdclk, update_pipe_count);
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2651  }
ceb0cc3b428825f Stanislav Lisovskiy 2023-05-04  2652  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

end of thread, other threads:[~2025-10-09 17:00 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-23 17:19 [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Ville Syrjala
2025-09-23 17:19 ` [PATCH 01/20] drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed() Ville Syrjala
2025-09-23 17:19 ` [PATCH 02/20] drm/i915: Introduce intel_crtc_active_changed() and intel_any_crtc_active_changed() Ville Syrjala
2025-09-23 17:19 ` [PATCH 03/20] drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is changing its active state Ville Syrjala
2025-09-23 17:19 ` [PATCH 04/20] drm/1915/bw: Drop redundant display version checks Ville Syrjala
2025-09-23 17:19 ` [PATCH 05/20] drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed() Ville Syrjala
2025-09-23 17:19 ` [PATCH 06/20] drm/i915/cdclk: Extract dg2_power_well_count() Ville Syrjala
2025-09-23 23:05   ` kernel test robot
2025-09-24  6:16   ` [PATCH v2 " Ville Syrjala
2025-09-24  9:05     ` Jani Nikula
2025-09-24  9:56       ` Ville Syrjälä
2025-09-26  8:39   ` [PATCH v3 " Ville Syrjala
2025-10-09 16:59   ` [PATCH " kernel test robot
2025-09-23 17:19 ` [PATCH 07/20] drm/i915/cdclk: Introduce intel_cdclk_modeset_checks() Ville Syrjala
2025-09-23 17:19 ` [PATCH 08/20] drm/i915/cdclk: Handle the force_min_cdclk state locking in intel_cdclk_atomic_check() Ville Syrjala
2025-09-23 17:19 ` [PATCH 09/20] drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk() Ville Syrjala
2025-09-23 17:19 ` [PATCH 10/20] drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk() Ville Syrjala
2025-09-23 17:19 ` [PATCH 11/20] drm/i915/cdclk: Rework bw_min_cdclk handling Ville Syrjala
2025-09-23 17:19 ` [PATCH 12/20] drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe Ville Syrjala
2025-09-23 17:19 ` [PATCH 13/20] drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls Ville Syrjala
2025-09-23 17:19 ` [PATCH 14/20] drm/i915/cdclk: Rework crtc min_cdclk handling Ville Syrjala
2025-09-23 17:19 ` [PATCH 15/20] drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into intel_crtc_compute_min_cdclk() Ville Syrjala
2025-09-23 17:19 ` [PATCH 16/20] drm/i915/cdclk: Decuple cdclk from state->modeset Ville Syrjala
2025-09-23 17:19 ` [PATCH 17/20] drm/i915: Introduce intel_calc_enabled_pipes() Ville Syrjala
2025-09-23 17:19 ` [PATCH 18/20] drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk audio w/a Ville Syrjala
2025-09-23 17:19 ` [PATCH 19/20] drm/i915/cdclk: Hide intel_modeset_calc_cdclk() Ville Syrjala
2025-09-23 17:19 ` [PATCH 20/20] drm/i915/cdclk: Move intel_cdclk_atomic_check() Ville Syrjala
2025-09-23 17:46 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset Patchwork
2025-09-23 17:48 ` ✓ CI.KUnit: success " Patchwork
2025-09-23 18:09 ` ✗ CI.checksparse: warning " Patchwork
2025-09-23 21:34 ` ✗ Xe.CI.Full: failure " Patchwork
2025-09-24  3:47 ` ✓ Xe.CI.BAT: success " Patchwork
2025-09-24  6:22 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev2) Patchwork
2025-09-24  6:23 ` ✓ CI.KUnit: success " Patchwork
2025-09-24  6:38 ` ✗ CI.checksparse: warning " Patchwork
2025-09-24  6:58 ` ✓ Xe.CI.BAT: success " Patchwork
2025-09-24  9:34 ` ✗ Xe.CI.Full: failure " Patchwork
2025-09-26  8:46 ` ✗ CI.checkpatch: warning for drm/i915/cdclk: Decouple CDCLK from state->modeset (rev3) Patchwork
2025-09-26  8:47 ` ✓ CI.KUnit: success " Patchwork
2025-09-26  9:03 ` ✗ CI.checksparse: warning " Patchwork
2025-09-26  9:28 ` ✓ Xe.CI.BAT: success " Patchwork
2025-09-26 13:36 ` ✓ Xe.CI.Full: " Patchwork
2025-10-08  7:15 ` [PATCH 00/20] drm/i915/cdclk: Decouple CDCLK from state->modeset Kahola, Mika

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