Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder
@ 2026-08-07 12:34 Jani Nikula
  2026-08-07 12:34 ` [PATCH 1/4] drm/i915/display: Limit max joined dotclock on joiner pipes available Jani Nikula
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Jani Nikula @ 2026-08-07 12:34 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: ankit.k.nautiyal, jani.nikula

A bunch of fixes to limit invalid joiner combinations earlier, during
mode enumeration and compute config. Patch 1 is v2 of [1], the rest are
new.

I decided to drop Fixes: and Cc: stable for now, just to thread
carefully. There are no bug reports about this that I know of, and we
can trivially ask for backports as needed.

BR,
Jani.



[1] https://lore.kernel.org/r/20260806143738.2710312-1-jani.nikula@intel.com

Jani Nikula (4):
  drm/i915/display: Limit max joined dotclock on joiner pipes available
  drm/i915/dp: Limit for_each_joiner_candidate() on joiner pipes
    available
  drm/i915/dp: Limit compute config joining to pipes that can actually
    join
  drm/i915/debugfs: Reject invalid force_joined_pipes harder

 drivers/gpu/drm/i915/display/intel_display.c  | 51 ++++++++++++++++++-
 drivers/gpu/drm/i915/display/intel_display.h  |  1 +
 .../drm/i915/display/intel_display_debugfs.c  | 19 ++-----
 drivers/gpu/drm/i915/display/intel_dp.c       | 17 +++----
 drivers/gpu/drm/i915/display/intel_dp_mst.c   |  4 ++
 5 files changed, 64 insertions(+), 28 deletions(-)

-- 
2.47.3


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

* [PATCH 1/4] drm/i915/display: Limit max joined dotclock on joiner pipes available
  2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
@ 2026-08-07 12:34 ` Jani Nikula
  2026-08-10 11:17   ` Nautiyal, Ankit K
  2026-08-07 12:34 ` [PATCH 2/4] drm/i915/dp: Limit for_each_joiner_candidate() " Jani Nikula
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Jani Nikula @ 2026-08-07 12:34 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: ankit.k.nautiyal, jani.nikula

Multiplying the max dotclock based on joiner availability on the
platform alone does not take into account the actual pipes (possibly
with some fused) available for joining.

Limit the max joined dotclock based on the actual pipes available for
joining. Add helpers for figuring out the valid primary pipes, based on
having the required joiners and amount of consecutive pipes available.

v2: Check for consecutive pipes available (Ankit)

Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 51 +++++++++++++++++++-
 drivers/gpu/drm/i915/display/intel_display.h |  1 +
 2 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 829d7a411dcc..c958b2a92cc7 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -193,6 +193,53 @@ is_trans_port_sync_mode(const struct intel_crtc_state *crtc_state)
 		is_trans_port_sync_slave(crtc_state);
 }
 
+/*
+ * Return a bitmask of all the start indices of consecutive bitfields of size
+ * width in mask.
+ */
+static unsigned long find_consecutive_bits(unsigned long mask, int width)
+{
+	unsigned long bit, out_mask = 0;
+
+	if (!width)
+		return 0;
+
+	for_each_set_bit(bit, &mask, BITS_PER_TYPE(mask)) {
+		/* For each set bit, see if the following bits are set also */
+		unsigned long bitfield = GENMASK(bit + width - 1, bit);
+
+		if ((mask & bitfield) == bitfield)
+			out_mask |= BIT(bit);
+	}
+
+	return out_mask;
+}
+
+/*
+ * Return a bitmask of all valid joiner primary pipes for joining
+ * num_joined_pipes pipes. For completeness, return all valid pipes for
+ * num_joined_pipes == 1.
+ *
+ * Return 0 if the platform doesn't support joining for the requested number of
+ * pipes, or there are not enough consecutive pipes available.
+ */
+u8 intel_joiner_valid_primary_pipe_mask(struct intel_display *display, int num_joined_pipes)
+{
+	if (num_joined_pipes == 1) {
+		return DISPLAY_RUNTIME_INFO(display)->pipe_mask;
+	} else if (num_joined_pipes == 2) {
+		if (!HAS_UNCOMPRESSED_JOINER(display) && !HAS_BIGJOINER(display))
+			return 0;
+	} else if (num_joined_pipes == 4) {
+		if (!HAS_ULTRAJOINER(display))
+			return 0;
+	} else {
+		return 0;
+	}
+
+	return find_consecutive_bits(DISPLAY_RUNTIME_INFO(display)->pipe_mask, num_joined_pipes);
+}
+
 static enum pipe joiner_primary_pipe(const struct intel_crtc_state *crtc_state)
 {
 	return ffs(crtc_state->joiner_pipes) - 1;
@@ -8113,9 +8160,9 @@ static int max_dotclock(struct intel_display *display)
 {
 	int max_dotclock = display->cdclk.max_dotclk_freq;
 
-	if (HAS_ULTRAJOINER(display))
+	if (intel_joiner_valid_primary_pipe_mask(display, 4))
 		max_dotclock *= 4;
-	else if (HAS_UNCOMPRESSED_JOINER(display) || HAS_BIGJOINER(display))
+	else if (intel_joiner_valid_primary_pipe_mask(display, 2))
 		max_dotclock *= 2;
 
 	return max_dotclock;
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index 57ea4f2edf2a..e7ecae9d2d21 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -373,6 +373,7 @@ intel_cpu_transcoder_mode_valid(struct intel_display *display,
 enum phy intel_port_to_phy(struct intel_display *display, enum port port);
 bool is_trans_port_sync_mode(const struct intel_crtc_state *state);
 bool is_trans_port_sync_master(const struct intel_crtc_state *state);
+u8 intel_joiner_valid_primary_pipe_mask(struct intel_display *display, int num_joined_pipes);
 u8 intel_crtc_joined_pipe_mask(const struct intel_crtc_state *crtc_state);
 bool intel_crtc_is_joiner_secondary(const struct intel_crtc_state *crtc_state);
 bool intel_crtc_is_joiner_primary(const struct intel_crtc_state *crtc_state);
-- 
2.47.3


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

* [PATCH 2/4] drm/i915/dp: Limit for_each_joiner_candidate() on joiner pipes available
  2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
  2026-08-07 12:34 ` [PATCH 1/4] drm/i915/display: Limit max joined dotclock on joiner pipes available Jani Nikula
@ 2026-08-07 12:34 ` Jani Nikula
  2026-08-10 11:36   ` Nautiyal, Ankit K
  2026-08-07 12:34 ` [PATCH 3/4] drm/i915/dp: Limit compute config joining to pipes that can actually join Jani Nikula
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Jani Nikula @ 2026-08-07 12:34 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: ankit.k.nautiyal, jani.nikula

Make intel_dp_can_join(), and subsequently
intel_dp_joiner_candidate_valid() and for_each_joiner_candidate() more
strict about pipes actually available for joining by using
intel_joiner_valid_primary_pipe_mask().

This rejects some invalid combos early for both mode enumeration and
compute config.

Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 437b9e7bb864..e1604bc895e5 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1274,17 +1274,7 @@ bool intel_dp_can_join(struct intel_dp *intel_dp,
 	if (num_joined_pipes > 1 && !intel_dp_has_joiner(intel_dp))
 		return false;
 
-	switch (num_joined_pipes) {
-	case 1:
-		return true;
-	case 2:
-		return HAS_BIGJOINER(display) ||
-		       HAS_UNCOMPRESSED_JOINER(display);
-	case 4:
-		return HAS_ULTRAJOINER(display);
-	default:
-		return false;
-	}
+	return intel_joiner_valid_primary_pipe_mask(display, num_joined_pipes);
 }
 
 bool intel_dp_dotclk_valid(struct intel_display *display,
-- 
2.47.3


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

* [PATCH 3/4] drm/i915/dp: Limit compute config joining to pipes that can actually join
  2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
  2026-08-07 12:34 ` [PATCH 1/4] drm/i915/display: Limit max joined dotclock on joiner pipes available Jani Nikula
  2026-08-07 12:34 ` [PATCH 2/4] drm/i915/dp: Limit for_each_joiner_candidate() " Jani Nikula
@ 2026-08-07 12:34 ` Jani Nikula
  2026-08-10 11:41   ` Nautiyal, Ankit K
  2026-08-07 12:34 ` [PATCH 4/4] drm/i915/debugfs: Reject invalid force_joined_pipes harder Jani Nikula
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Jani Nikula @ 2026-08-07 12:34 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: ankit.k.nautiyal, jani.nikula

Skip joining for pipes that can't work as joiner primary pipe for the
number of pipes being joined. This limits the invalid combos early,
instead of ending up with crtc_state->joiner_pipes that would fail
during modeset. Before, crtc_state->joiner pipes could have ended up
including pipes that do not exist on the platform.

Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_dp.c     | 5 +++++
 drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index e1604bc895e5..6b60e0a1c8ee 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2910,6 +2910,7 @@ intel_dp_compute_link_config(struct intel_encoder *encoder,
 			     struct drm_connector_state *conn_state,
 			     bool respect_downstream_limits)
 {
+	struct intel_display *display = to_intel_display(encoder);
 	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
 	struct intel_connector *connector =
 		to_intel_connector(conn_state->connector);
@@ -2924,6 +2925,10 @@ intel_dp_compute_link_config(struct intel_encoder *encoder,
 		return -EINVAL;
 
 	for_each_joiner_candidate(connector, adjusted_mode, num_joined_pipes) {
+		/* If the pipe can't be a joiner primary, skip early. */
+		if (!(intel_joiner_valid_primary_pipe_mask(display, num_joined_pipes) & BIT(crtc->pipe)))
+			continue;
+
 		/*
 		 * NOTE:
 		 * The crtc_state->joiner_pipes should have been set at the end
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 3be1643f8d03..379666692bc8 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -770,6 +770,10 @@ static int mst_stream_compute_config(struct intel_atomic_state *state,
 		return ret;
 
 	for_each_joiner_candidate(connector, adjusted_mode, num_joined_pipes) {
+		/* If the pipe can't be a joiner primary, skip early. */
+		if (!(intel_joiner_valid_primary_pipe_mask(display, num_joined_pipes) & BIT(crtc->pipe)))
+			continue;
+
 		if (num_joined_pipes > 1)
 			pipe_config->joiner_pipes = GENMASK(crtc->pipe + num_joined_pipes - 1,
 							    crtc->pipe);
-- 
2.47.3


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

* [PATCH 4/4] drm/i915/debugfs: Reject invalid force_joined_pipes harder
  2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
                   ` (2 preceding siblings ...)
  2026-08-07 12:34 ` [PATCH 3/4] drm/i915/dp: Limit compute config joining to pipes that can actually join Jani Nikula
@ 2026-08-07 12:34 ` Jani Nikula
  2026-08-10 11:43   ` Nautiyal, Ankit K
  2026-08-07 13:00 ` ✗ CI.checkpatch: warning for drm/i915/display: Limit invalid joiner combinations harder Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Jani Nikula @ 2026-08-07 12:34 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: ankit.k.nautiyal, jani.nikula

Reject invalid joiner forcing more thoroughly, taking into account
whether bigjoiner or uncompressed joiner is available, and whether the
requested number of pipes can actually be joined.

Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 .../drm/i915/display/intel_display_debugfs.c  | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 2bbf4760dc30..3e302f23f247 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -1285,22 +1285,11 @@ static ssize_t i915_joiner_write(struct file *file,
 	if (ret < 0)
 		return ret;
 
-	switch (force_joined_pipes) {
-	case 0:
-	case 1:
-	case 2:
-		connector->force_joined_pipes = force_joined_pipes;
-		break;
-	case 4:
-		if (HAS_ULTRAJOINER(display)) {
-			connector->force_joined_pipes = force_joined_pipes;
-			break;
-		}
-
-		fallthrough;
-	default:
+	if (force_joined_pipes &&
+	    !intel_joiner_valid_primary_pipe_mask(display, force_joined_pipes))
 		return -EINVAL;
-	}
+
+	connector->force_joined_pipes = force_joined_pipes;
 
 	*offp += len;
 
-- 
2.47.3


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

* ✗ CI.checkpatch: warning for drm/i915/display: Limit invalid joiner combinations harder
  2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
                   ` (3 preceding siblings ...)
  2026-08-07 12:34 ` [PATCH 4/4] drm/i915/debugfs: Reject invalid force_joined_pipes harder Jani Nikula
@ 2026-08-07 13:00 ` Patchwork
  2026-08-07 13:01 ` ✓ CI.KUnit: success " Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2026-08-07 13:00 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/i915/display: Limit invalid joiner combinations harder
URL   : https://patchwork.freedesktop.org/series/171796/
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
061140b9bc586ae7f40abc1249c97e1cc72d1b9d
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit b340b587f0df8032240b70f56be49f14fa79f390
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Fri Aug 7 15:34:07 2026 +0300

    drm/i915/debugfs: Reject invalid force_joined_pipes harder
    
    Reject invalid joiner forcing more thoroughly, taking into account
    whether bigjoiner or uncompressed joiner is available, and whether the
    requested number of pipes can actually be joined.
    
    Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+ /mt/dim checkpatch 01d30c194951b8794c33f0d7f559bc4a1c9b7630 drm-intel
e8d23c0f1e12 drm/i915/display: Limit max joined dotclock on joiner pipes available
c1aef1efea71 drm/i915/dp: Limit for_each_joiner_candidate() on joiner pipes available
c81b9de9811d drm/i915/dp: Limit compute config joining to pipes that can actually join
-:33: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#33: FILE: drivers/gpu/drm/i915/display/intel_dp.c:2929:
+		if (!(intel_joiner_valid_primary_pipe_mask(display, num_joined_pipes) & BIT(crtc->pipe)))

-:48: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#48: FILE: drivers/gpu/drm/i915/display/intel_dp_mst.c:774:
+		if (!(intel_joiner_valid_primary_pipe_mask(display, num_joined_pipes) & BIT(crtc->pipe)))

total: 0 errors, 2 warnings, 0 checks, 27 lines checked
b340b587f0df drm/i915/debugfs: Reject invalid force_joined_pipes harder



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

* ✓ CI.KUnit: success for drm/i915/display: Limit invalid joiner combinations harder
  2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
                   ` (4 preceding siblings ...)
  2026-08-07 13:00 ` ✗ CI.checkpatch: warning for drm/i915/display: Limit invalid joiner combinations harder Patchwork
@ 2026-08-07 13:01 ` Patchwork
  2026-08-07 13:44 ` ✓ Xe.CI.BAT: " Patchwork
  2026-08-07 22:40 ` ✗ Xe.CI.FULL: failure " Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2026-08-07 13:01 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

== Series Details ==

Series: drm/i915/display: Limit invalid joiner combinations harder
URL   : https://patchwork.freedesktop.org/series/171796/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[13:00:24] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:00:28] 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
[13:01:00] Starting KUnit Kernel (1/1)...
[13:01:00] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:01:00] ================== guc_buf (11 subtests) ===================
[13:01:00] [PASSED] test_smallest
[13:01:00] [PASSED] test_largest
[13:01:00] [PASSED] test_granular
[13:01:00] [PASSED] test_unique
[13:01:00] [PASSED] test_overlap
[13:01:00] [PASSED] test_reusable
[13:01:00] [PASSED] test_too_big
[13:01:00] [PASSED] test_flush
[13:01:00] [PASSED] test_lookup
[13:01:00] [PASSED] test_data
[13:01:00] [PASSED] test_class
[13:01:00] ===================== [PASSED] guc_buf =====================
[13:01:00] =================== guc_dbm (7 subtests) ===================
[13:01:00] [PASSED] test_empty
[13:01:00] [PASSED] test_default
[13:01:00] ======================== test_size  ========================
[13:01:00] [PASSED] 4
[13:01:00] [PASSED] 8
[13:01:00] [PASSED] 32
[13:01:00] [PASSED] 256
[13:01:00] ==================== [PASSED] test_size ====================
[13:01:00] ======================= test_reuse  ========================
[13:01:00] [PASSED] 4
[13:01:00] [PASSED] 8
[13:01:00] [PASSED] 32
[13:01:00] [PASSED] 256
[13:01:00] =================== [PASSED] test_reuse ====================
[13:01:00] =================== test_range_overlap  ====================
[13:01:00] [PASSED] 4
[13:01:00] [PASSED] 8
[13:01:00] [PASSED] 32
[13:01:00] [PASSED] 256
[13:01:00] =============== [PASSED] test_range_overlap ================
[13:01:00] =================== test_range_compact  ====================
[13:01:00] [PASSED] 4
[13:01:00] [PASSED] 8
[13:01:00] [PASSED] 32
[13:01:00] [PASSED] 256
[13:01:00] =============== [PASSED] test_range_compact ================
[13:01:00] ==================== test_range_spare  =====================
[13:01:00] [PASSED] 4
[13:01:00] [PASSED] 8
[13:01:00] [PASSED] 32
[13:01:00] [PASSED] 256
[13:01:00] ================ [PASSED] test_range_spare =================
[13:01:00] ===================== [PASSED] guc_dbm =====================
[13:01:00] =================== guc_idm (6 subtests) ===================
[13:01:00] [PASSED] bad_init
[13:01:00] [PASSED] no_init
[13:01:00] [PASSED] init_fini
[13:01:00] [PASSED] check_used
[13:01:00] [PASSED] check_quota
[13:01:00] [PASSED] check_all
[13:01:00] ===================== [PASSED] guc_idm =====================
[13:01:00] =============== guc_klv_helpers (9 subtests) ===============
[13:01:00] [PASSED] test_count
[13:01:00] [PASSED] test_encode_u32
[13:01:00] [PASSED] test_encode_u64
[13:01:00] [PASSED] test_encode_string
[13:01:00] [PASSED] test_encode_object_raw
[13:01:00] [PASSED] test_encode_object_klv
[13:01:00] [PASSED] test_encode_object_nested
[13:01:00] [PASSED] test_encode_object_basic
[13:01:00] [PASSED] test_print
[13:01:00] ================= [PASSED] guc_klv_helpers =================
[13:01:00] ================== no_relay (3 subtests) ===================
[13:01:00] [PASSED] xe_drops_guc2pf_if_not_ready
[13:01:00] [PASSED] xe_drops_guc2vf_if_not_ready
[13:01:00] [PASSED] xe_rejects_send_if_not_ready
[13:01:00] ==================== [PASSED] no_relay =====================
[13:01:00] ================== pf_relay (14 subtests) ==================
[13:01:00] [PASSED] pf_rejects_guc2pf_too_short
[13:01:00] [PASSED] pf_rejects_guc2pf_too_long
[13:01:00] [PASSED] pf_rejects_guc2pf_no_payload
[13:01:00] [PASSED] pf_fails_no_payload
[13:01:00] [PASSED] pf_fails_bad_origin
[13:01:00] [PASSED] pf_fails_bad_type
[13:01:00] [PASSED] pf_txn_reports_error
[13:01:00] [PASSED] pf_txn_sends_pf2guc
[13:01:00] [PASSED] pf_sends_pf2guc
[13:01:00] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:01:00] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:01:00] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:01:00] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:01:00] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:01:00] ==================== [PASSED] pf_relay =====================
[13:01:00] ================== vf_relay (3 subtests) ===================
[13:01:00] [PASSED] vf_rejects_guc2vf_too_short
[13:01:00] [PASSED] vf_rejects_guc2vf_too_long
[13:01:00] [PASSED] vf_rejects_guc2vf_no_payload
[13:01:00] ==================== [PASSED] vf_relay =====================
[13:01:00] ================ pf_gt_config (9 subtests) =================
[13:01:00] [PASSED] fair_contexts_1vf
[13:01:00] [PASSED] fair_doorbells_1vf
[13:01:00] [PASSED] fair_ggtt_1vf
[13:01:00] ====================== fair_vram_1vf  ======================
[13:01:00] [PASSED] 3.50 GiB
[13:01:00] [PASSED] 11.5 GiB
[13:01:00] [PASSED] 15.5 GiB
[13:01:00] [PASSED] 31.5 GiB
[13:01:00] [PASSED] 63.5 GiB
[13:01:00] [PASSED] 1.91 GiB
[13:01:00] ================== [PASSED] fair_vram_1vf ==================
[13:01:00] ================ fair_vram_1vf_admin_only  =================
[13:01:00] [PASSED] 3.50 GiB
[13:01:00] [PASSED] 11.5 GiB
[13:01:00] [PASSED] 15.5 GiB
[13:01:00] [PASSED] 31.5 GiB
[13:01:00] [PASSED] 63.5 GiB
[13:01:00] [PASSED] 1.91 GiB
[13:01:00] ============ [PASSED] fair_vram_1vf_admin_only =============
[13:01:00] ====================== fair_contexts  ======================
[13:01:00] [PASSED] 1 VF
[13:01:00] [PASSED] 2 VFs
[13:01:00] [PASSED] 3 VFs
[13:01:00] [PASSED] 4 VFs
[13:01:00] [PASSED] 5 VFs
[13:01:00] [PASSED] 6 VFs
[13:01:00] [PASSED] 7 VFs
[13:01:00] [PASSED] 8 VFs
[13:01:00] [PASSED] 9 VFs
[13:01:00] [PASSED] 10 VFs
[13:01:00] [PASSED] 11 VFs
[13:01:00] [PASSED] 12 VFs
[13:01:00] [PASSED] 13 VFs
[13:01:00] [PASSED] 14 VFs
[13:01:00] [PASSED] 15 VFs
[13:01:00] [PASSED] 16 VFs
[13:01:00] [PASSED] 17 VFs
[13:01:00] [PASSED] 18 VFs
[13:01:00] [PASSED] 19 VFs
[13:01:00] [PASSED] 20 VFs
[13:01:00] [PASSED] 21 VFs
[13:01:00] [PASSED] 22 VFs
[13:01:00] [PASSED] 23 VFs
[13:01:00] [PASSED] 24 VFs
[13:01:00] [PASSED] 25 VFs
[13:01:00] [PASSED] 26 VFs
[13:01:00] [PASSED] 27 VFs
[13:01:00] [PASSED] 28 VFs
[13:01:00] [PASSED] 29 VFs
[13:01:00] [PASSED] 30 VFs
[13:01:00] [PASSED] 31 VFs
[13:01:00] [PASSED] 32 VFs
[13:01:00] [PASSED] 33 VFs
[13:01:00] [PASSED] 34 VFs
[13:01:00] [PASSED] 35 VFs
[13:01:00] [PASSED] 36 VFs
[13:01:00] [PASSED] 37 VFs
[13:01:00] [PASSED] 38 VFs
[13:01:00] [PASSED] 39 VFs
[13:01:00] [PASSED] 40 VFs
[13:01:00] [PASSED] 41 VFs
[13:01:00] [PASSED] 42 VFs
[13:01:00] [PASSED] 43 VFs
[13:01:00] [PASSED] 44 VFs
[13:01:00] [PASSED] 45 VFs
[13:01:00] [PASSED] 46 VFs
[13:01:00] [PASSED] 47 VFs
[13:01:00] [PASSED] 48 VFs
[13:01:00] [PASSED] 49 VFs
[13:01:00] [PASSED] 50 VFs
[13:01:00] [PASSED] 51 VFs
[13:01:00] [PASSED] 52 VFs
[13:01:00] [PASSED] 53 VFs
[13:01:00] [PASSED] 54 VFs
[13:01:00] [PASSED] 55 VFs
[13:01:00] [PASSED] 56 VFs
[13:01:00] [PASSED] 57 VFs
[13:01:00] [PASSED] 58 VFs
[13:01:00] [PASSED] 59 VFs
[13:01:00] [PASSED] 60 VFs
[13:01:00] [PASSED] 61 VFs
[13:01:00] [PASSED] 62 VFs
[13:01:00] [PASSED] 63 VFs
[13:01:00] ================== [PASSED] fair_contexts ==================
[13:01:00] ===================== fair_doorbells  ======================
[13:01:00] [PASSED] 1 VF
[13:01:00] [PASSED] 2 VFs
[13:01:00] [PASSED] 3 VFs
[13:01:00] [PASSED] 4 VFs
[13:01:00] [PASSED] 5 VFs
[13:01:00] [PASSED] 6 VFs
[13:01:00] [PASSED] 7 VFs
[13:01:00] [PASSED] 8 VFs
[13:01:00] [PASSED] 9 VFs
[13:01:00] [PASSED] 10 VFs
[13:01:00] [PASSED] 11 VFs
[13:01:00] [PASSED] 12 VFs
[13:01:00] [PASSED] 13 VFs
[13:01:00] [PASSED] 14 VFs
[13:01:00] [PASSED] 15 VFs
[13:01:00] [PASSED] 16 VFs
[13:01:00] [PASSED] 17 VFs
[13:01:00] [PASSED] 18 VFs
[13:01:00] [PASSED] 19 VFs
[13:01:00] [PASSED] 20 VFs
[13:01:00] [PASSED] 21 VFs
[13:01:00] [PASSED] 22 VFs
[13:01:00] [PASSED] 23 VFs
[13:01:00] [PASSED] 24 VFs
[13:01:00] [PASSED] 25 VFs
[13:01:00] [PASSED] 26 VFs
[13:01:00] [PASSED] 27 VFs
[13:01:00] [PASSED] 28 VFs
[13:01:00] [PASSED] 29 VFs
[13:01:00] [PASSED] 30 VFs
[13:01:00] [PASSED] 31 VFs
[13:01:00] [PASSED] 32 VFs
[13:01:00] [PASSED] 33 VFs
[13:01:00] [PASSED] 34 VFs
[13:01:00] [PASSED] 35 VFs
[13:01:00] [PASSED] 36 VFs
[13:01:00] [PASSED] 37 VFs
[13:01:00] [PASSED] 38 VFs
[13:01:00] [PASSED] 39 VFs
[13:01:00] [PASSED] 40 VFs
[13:01:00] [PASSED] 41 VFs
[13:01:00] [PASSED] 42 VFs
[13:01:00] [PASSED] 43 VFs
[13:01:00] [PASSED] 44 VFs
[13:01:00] [PASSED] 45 VFs
[13:01:00] [PASSED] 46 VFs
[13:01:00] [PASSED] 47 VFs
[13:01:00] [PASSED] 48 VFs
[13:01:00] [PASSED] 49 VFs
[13:01:00] [PASSED] 50 VFs
[13:01:00] [PASSED] 51 VFs
[13:01:00] [PASSED] 52 VFs
[13:01:00] [PASSED] 53 VFs
[13:01:00] [PASSED] 54 VFs
[13:01:00] [PASSED] 55 VFs
[13:01:00] [PASSED] 56 VFs
[13:01:00] [PASSED] 57 VFs
[13:01:00] [PASSED] 58 VFs
[13:01:00] [PASSED] 59 VFs
[13:01:00] [PASSED] 60 VFs
[13:01:00] [PASSED] 61 VFs
[13:01:00] [PASSED] 62 VFs
[13:01:00] [PASSED] 63 VFs
[13:01:00] ================= [PASSED] fair_doorbells ==================
[13:01:00] ======================== fair_ggtt  ========================
[13:01:00] [PASSED] 1 VF
[13:01:00] [PASSED] 2 VFs
[13:01:00] [PASSED] 3 VFs
[13:01:00] [PASSED] 4 VFs
[13:01:00] [PASSED] 5 VFs
[13:01:00] [PASSED] 6 VFs
[13:01:00] [PASSED] 7 VFs
[13:01:00] [PASSED] 8 VFs
[13:01:00] [PASSED] 9 VFs
[13:01:00] [PASSED] 10 VFs
[13:01:00] [PASSED] 11 VFs
[13:01:00] [PASSED] 12 VFs
[13:01:00] [PASSED] 13 VFs
[13:01:00] [PASSED] 14 VFs
[13:01:00] [PASSED] 15 VFs
[13:01:00] [PASSED] 16 VFs
[13:01:00] [PASSED] 17 VFs
[13:01:00] [PASSED] 18 VFs
[13:01:00] [PASSED] 19 VFs
[13:01:00] [PASSED] 20 VFs
[13:01:00] [PASSED] 21 VFs
[13:01:00] [PASSED] 22 VFs
[13:01:00] [PASSED] 23 VFs
[13:01:00] [PASSED] 24 VFs
[13:01:00] [PASSED] 25 VFs
[13:01:00] [PASSED] 26 VFs
[13:01:00] [PASSED] 27 VFs
[13:01:00] [PASSED] 28 VFs
[13:01:00] [PASSED] 29 VFs
[13:01:00] [PASSED] 30 VFs
[13:01:00] [PASSED] 31 VFs
[13:01:00] [PASSED] 32 VFs
[13:01:00] [PASSED] 33 VFs
[13:01:00] [PASSED] 34 VFs
[13:01:00] [PASSED] 35 VFs
[13:01:00] [PASSED] 36 VFs
[13:01:00] [PASSED] 37 VFs
[13:01:00] [PASSED] 38 VFs
[13:01:00] [PASSED] 39 VFs
[13:01:00] [PASSED] 40 VFs
[13:01:00] [PASSED] 41 VFs
[13:01:00] [PASSED] 42 VFs
[13:01:00] [PASSED] 43 VFs
[13:01:00] [PASSED] 44 VFs
[13:01:00] [PASSED] 45 VFs
[13:01:00] [PASSED] 46 VFs
[13:01:00] [PASSED] 47 VFs
[13:01:00] [PASSED] 48 VFs
[13:01:00] [PASSED] 49 VFs
[13:01:00] [PASSED] 50 VFs
[13:01:00] [PASSED] 51 VFs
[13:01:00] [PASSED] 52 VFs
[13:01:00] [PASSED] 53 VFs
[13:01:00] [PASSED] 54 VFs
[13:01:00] [PASSED] 55 VFs
[13:01:00] [PASSED] 56 VFs
[13:01:00] [PASSED] 57 VFs
[13:01:00] [PASSED] 58 VFs
[13:01:00] [PASSED] 59 VFs
[13:01:00] [PASSED] 60 VFs
[13:01:00] [PASSED] 61 VFs
[13:01:00] [PASSED] 62 VFs
[13:01:00] [PASSED] 63 VFs
[13:01:00] ==================== [PASSED] fair_ggtt ====================
[13:01:00] ======================== fair_vram  ========================
[13:01:00] [PASSED] 1 VF
[13:01:00] [PASSED] 2 VFs
[13:01:00] [PASSED] 3 VFs
[13:01:00] [PASSED] 4 VFs
[13:01:00] [PASSED] 5 VFs
[13:01:00] [PASSED] 6 VFs
[13:01:00] [PASSED] 7 VFs
[13:01:00] [PASSED] 8 VFs
[13:01:00] [PASSED] 9 VFs
[13:01:00] [PASSED] 10 VFs
[13:01:00] [PASSED] 11 VFs
[13:01:00] [PASSED] 12 VFs
[13:01:00] [PASSED] 13 VFs
[13:01:00] [PASSED] 14 VFs
[13:01:00] [PASSED] 15 VFs
[13:01:00] [PASSED] 16 VFs
[13:01:00] [PASSED] 17 VFs
[13:01:00] [PASSED] 18 VFs
[13:01:00] [PASSED] 19 VFs
[13:01:00] [PASSED] 20 VFs
[13:01:00] [PASSED] 21 VFs
[13:01:00] [PASSED] 22 VFs
[13:01:00] [PASSED] 23 VFs
[13:01:00] [PASSED] 24 VFs
[13:01:00] [PASSED] 25 VFs
[13:01:00] [PASSED] 26 VFs
[13:01:00] [PASSED] 27 VFs
[13:01:00] [PASSED] 28 VFs
[13:01:00] [PASSED] 29 VFs
[13:01:00] [PASSED] 30 VFs
[13:01:00] [PASSED] 31 VFs
[13:01:00] [PASSED] 32 VFs
[13:01:00] [PASSED] 33 VFs
[13:01:00] [PASSED] 34 VFs
[13:01:00] [PASSED] 35 VFs
[13:01:00] [PASSED] 36 VFs
[13:01:00] [PASSED] 37 VFs
[13:01:00] [PASSED] 38 VFs
[13:01:00] [PASSED] 39 VFs
[13:01:00] [PASSED] 40 VFs
[13:01:00] [PASSED] 41 VFs
[13:01:00] [PASSED] 42 VFs
[13:01:00] [PASSED] 43 VFs
[13:01:00] [PASSED] 44 VFs
[13:01:00] [PASSED] 45 VFs
[13:01:00] [PASSED] 46 VFs
[13:01:00] [PASSED] 47 VFs
[13:01:00] [PASSED] 48 VFs
[13:01:00] [PASSED] 49 VFs
[13:01:00] [PASSED] 50 VFs
[13:01:00] [PASSED] 51 VFs
[13:01:00] [PASSED] 52 VFs
[13:01:00] [PASSED] 53 VFs
[13:01:00] [PASSED] 54 VFs
[13:01:00] [PASSED] 55 VFs
[13:01:00] [PASSED] 56 VFs
[13:01:00] [PASSED] 57 VFs
[13:01:00] [PASSED] 58 VFs
[13:01:00] [PASSED] 59 VFs
[13:01:00] [PASSED] 60 VFs
[13:01:00] [PASSED] 61 VFs
[13:01:00] [PASSED] 62 VFs
[13:01:00] [PASSED] 63 VFs
[13:01:00] ==================== [PASSED] fair_vram ====================
[13:01:00] ================== [PASSED] pf_gt_config ===================
[13:01:00] ===================== lmtt (1 subtest) =====================
[13:01:00] ======================== test_ops  =========================
[13:01:00] [PASSED] 2-level
[13:01:00] [PASSED] multi-level
[13:01:00] ==================== [PASSED] test_ops =====================
[13:01:00] ====================== [PASSED] lmtt =======================
[13:01:00] ================= sriov_packet (1 subtest) =================
[13:01:00] [PASSED] test_descriptor_init
[13:01:00] ================== [PASSED] sriov_packet ===================
[13:01:00] ================= pf_service (11 subtests) =================
[13:01:00] [PASSED] pf_negotiate_any
[13:01:00] [PASSED] pf_negotiate_base_match
[13:01:00] [PASSED] pf_negotiate_base_newer
[13:01:00] [PASSED] pf_negotiate_base_next
[13:01:00] [SKIPPED] pf_negotiate_base_older (no older minor)
[13:01:00] [PASSED] pf_negotiate_base_prev
[13:01:00] [PASSED] pf_negotiate_latest_match
[13:01:00] [PASSED] pf_negotiate_latest_newer
[13:01:00] [PASSED] pf_negotiate_latest_next
[13:01:00] [SKIPPED] pf_negotiate_latest_older (no older minor)
[13:01:00] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[13:01:00] =================== [PASSED] pf_service ====================
[13:01:00] ================= xe_guc_g2g (2 subtests) ==================
[13:01:00] ============== xe_live_guc_g2g_kunit_default  ==============
[13:01:00] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[13:01:00] ============== xe_live_guc_g2g_kunit_allmem  ===============
[13:01:00] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[13:01:00] =================== [SKIPPED] xe_guc_g2g ===================
[13:01:00] =================== xe_mocs (2 subtests) ===================
[13:01:00] ================ xe_live_mocs_kernel_kunit  ================
[13:01:00] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[13:01:00] ================ xe_live_mocs_reset_kunit  =================
[13:01:00] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[13:01:00] ==================== [SKIPPED] xe_mocs =====================
[13:01:00] ================= xe_migrate (2 subtests) ==================
[13:01:00] ================= xe_migrate_sanity_kunit  =================
[13:01:00] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[13:01:00] ================== xe_validate_ccs_kunit  ==================
[13:01:00] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[13:01:00] =================== [SKIPPED] xe_migrate ===================
[13:01:00] ================== xe_dma_buf (1 subtest) ==================
[13:01:00] ==================== xe_dma_buf_kunit  =====================
[13:01:00] ================ [SKIPPED] xe_dma_buf_kunit ================
[13:01:00] =================== [SKIPPED] xe_dma_buf ===================
[13:01:00] ================= xe_bo_shrink (1 subtest) =================
[13:01:00] =================== xe_bo_shrink_kunit  ====================
[13:01:00] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[13:01:00] ================== [SKIPPED] xe_bo_shrink ==================
[13:01:00] ==================== xe_bo (2 subtests) ====================
[13:01:00] ================== xe_ccs_migrate_kunit  ===================
[13:01:00] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[13:01:00] ==================== xe_bo_evict_kunit  ====================
[13:01:00] =============== [SKIPPED] xe_bo_evict_kunit ================
[13:01:00] ===================== [SKIPPED] xe_bo ======================
[13:01:00] ==================== args (13 subtests) ====================
[13:01:00] [PASSED] count_args_test
[13:01:00] [PASSED] call_args_example
[13:01:00] [PASSED] call_args_test
[13:01:00] [PASSED] drop_first_arg_example
[13:01:00] [PASSED] drop_first_arg_test
[13:01:00] [PASSED] first_arg_example
[13:01:00] [PASSED] first_arg_test
[13:01:00] [PASSED] last_arg_example
[13:01:00] [PASSED] last_arg_test
[13:01:00] [PASSED] pick_arg_example
[13:01:00] [PASSED] if_args_example
[13:01:00] [PASSED] if_args_test
[13:01:00] [PASSED] sep_comma_example
[13:01:00] ====================== [PASSED] args =======================
[13:01:00] =================== xe_pci (3 subtests) ====================
[13:01:00] ==================== check_graphics_ip  ====================
[13:01:00] [PASSED] 12.00 Xe_LP
[13:01:00] [PASSED] 12.10 Xe_LP+
[13:01:00] [PASSED] 12.55 Xe_HPG
[13:01:00] [PASSED] 12.60 Xe_HPC
[13:01:00] [PASSED] 12.70 Xe_LPG
[13:01:00] [PASSED] 12.71 Xe_LPG
[13:01:00] [PASSED] 12.74 Xe_LPG+
[13:01:00] [PASSED] 20.01 Xe2_HPG
[13:01:00] [PASSED] 20.02 Xe2_HPG
[13:01:00] [PASSED] 20.04 Xe2_LPG
[13:01:00] [PASSED] 30.00 Xe3_LPG
[13:01:00] [PASSED] 30.01 Xe3_LPG
[13:01:00] [PASSED] 30.03 Xe3_LPG
[13:01:00] [PASSED] 30.04 Xe3_LPG
[13:01:00] [PASSED] 30.05 Xe3_LPG
[13:01:00] [PASSED] 35.10 Xe3p_LPG
[13:01:00] [PASSED] 35.11 Xe3p_XPC
[13:01:00] ================ [PASSED] check_graphics_ip ================
[13:01:00] ===================== check_media_ip  ======================
[13:01:00] [PASSED] 12.00 Xe_M
[13:01:00] [PASSED] 12.55 Xe_HPM
[13:01:00] [PASSED] 13.00 Xe_LPM+
[13:01:00] [PASSED] 13.01 Xe2_HPM
[13:01:00] [PASSED] 20.00 Xe2_LPM
[13:01:00] [PASSED] 30.00 Xe3_LPM
[13:01:00] [PASSED] 30.02 Xe3_LPM
[13:01:00] [PASSED] 35.00 Xe3p_LPM
[13:01:00] [PASSED] 35.03 Xe3p_HPM
[13:01:00] ================= [PASSED] check_media_ip ==================
[13:01:00] =================== check_platform_desc  ===================
[13:01:00] [PASSED] 0x9A60 (TIGERLAKE)
[13:01:00] [PASSED] 0x9A68 (TIGERLAKE)
[13:01:00] [PASSED] 0x9A70 (TIGERLAKE)
[13:01:00] [PASSED] 0x9A40 (TIGERLAKE)
[13:01:00] [PASSED] 0x9A49 (TIGERLAKE)
[13:01:00] [PASSED] 0x9A59 (TIGERLAKE)
[13:01:00] [PASSED] 0x9A78 (TIGERLAKE)
[13:01:00] [PASSED] 0x9AC0 (TIGERLAKE)
[13:01:00] [PASSED] 0x9AC9 (TIGERLAKE)
[13:01:00] [PASSED] 0x9AD9 (TIGERLAKE)
[13:01:00] [PASSED] 0x9AF8 (TIGERLAKE)
[13:01:00] [PASSED] 0x4C80 (ROCKETLAKE)
[13:01:00] [PASSED] 0x4C8A (ROCKETLAKE)
[13:01:00] [PASSED] 0x4C8B (ROCKETLAKE)
[13:01:00] [PASSED] 0x4C8C (ROCKETLAKE)
[13:01:00] [PASSED] 0x4C90 (ROCKETLAKE)
[13:01:00] [PASSED] 0x4C9A (ROCKETLAKE)
[13:01:00] [PASSED] 0x4680 (ALDERLAKE_S)
[13:01:00] [PASSED] 0x4682 (ALDERLAKE_S)
[13:01:00] [PASSED] 0x4688 (ALDERLAKE_S)
[13:01:00] [PASSED] 0x468A (ALDERLAKE_S)
[13:01:00] [PASSED] 0x468B (ALDERLAKE_S)
[13:01:00] [PASSED] 0x4690 (ALDERLAKE_S)
[13:01:00] [PASSED] 0x4692 (ALDERLAKE_S)
[13:01:00] [PASSED] 0x4693 (ALDERLAKE_S)
[13:01:00] [PASSED] 0x46A0 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46A1 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46A2 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46A3 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46A6 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46A8 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46AA (ALDERLAKE_P)
[13:01:00] [PASSED] 0x462A (ALDERLAKE_P)
[13:01:00] [PASSED] 0x4626 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x4628 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46B0 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46B1 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46B2 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46B3 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46C0 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46C1 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46C2 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46C3 (ALDERLAKE_P)
[13:01:00] [PASSED] 0x46D0 (ALDERLAKE_N)
[13:01:00] [PASSED] 0x46D1 (ALDERLAKE_N)
[13:01:00] [PASSED] 0x46D2 (ALDERLAKE_N)
[13:01:00] [PASSED] 0x46D3 (ALDERLAKE_N)
[13:01:00] [PASSED] 0x46D4 (ALDERLAKE_N)
[13:01:00] [PASSED] 0xA721 (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA7A1 (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA7A9 (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA7AC (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA7AD (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA720 (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA7A0 (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA7A8 (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA7AA (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA7AB (ALDERLAKE_P)
[13:01:00] [PASSED] 0xA780 (ALDERLAKE_S)
[13:01:00] [PASSED] 0xA781 (ALDERLAKE_S)
[13:01:00] [PASSED] 0xA782 (ALDERLAKE_S)
[13:01:00] [PASSED] 0xA783 (ALDERLAKE_S)
[13:01:00] [PASSED] 0xA788 (ALDERLAKE_S)
[13:01:00] [PASSED] 0xA789 (ALDERLAKE_S)
[13:01:00] [PASSED] 0xA78A (ALDERLAKE_S)
[13:01:00] [PASSED] 0xA78B (ALDERLAKE_S)
[13:01:00] [PASSED] 0x4905 (DG1)
[13:01:00] [PASSED] 0x4906 (DG1)
[13:01:00] [PASSED] 0x4907 (DG1)
[13:01:00] [PASSED] 0x4908 (DG1)
[13:01:00] [PASSED] 0x4909 (DG1)
[13:01:00] [PASSED] 0x56C0 (DG2)
[13:01:00] [PASSED] 0x56C2 (DG2)
[13:01:00] [PASSED] 0x56C1 (DG2)
[13:01:00] [PASSED] 0x7D51 (METEORLAKE)
[13:01:00] [PASSED] 0x7DD1 (METEORLAKE)
[13:01:00] [PASSED] 0x7D41 (METEORLAKE)
[13:01:00] [PASSED] 0x7D67 (METEORLAKE)
[13:01:00] [PASSED] 0xB640 (METEORLAKE)
[13:01:00] [PASSED] 0x56A0 (DG2)
[13:01:00] [PASSED] 0x56A1 (DG2)
[13:01:00] [PASSED] 0x56A2 (DG2)
[13:01:00] [PASSED] 0x56BE (DG2)
[13:01:00] [PASSED] 0x56BF (DG2)
[13:01:00] [PASSED] 0x5690 (DG2)
[13:01:00] [PASSED] 0x5691 (DG2)
[13:01:00] [PASSED] 0x5692 (DG2)
[13:01:00] [PASSED] 0x56A5 (DG2)
[13:01:00] [PASSED] 0x56A6 (DG2)
[13:01:00] [PASSED] 0x56B0 (DG2)
[13:01:00] [PASSED] 0x56B1 (DG2)
[13:01:00] [PASSED] 0x56BA (DG2)
[13:01:00] [PASSED] 0x56BB (DG2)
[13:01:00] [PASSED] 0x56BC (DG2)
[13:01:00] [PASSED] 0x56BD (DG2)
[13:01:00] [PASSED] 0x5693 (DG2)
[13:01:00] [PASSED] 0x5694 (DG2)
[13:01:00] [PASSED] 0x5695 (DG2)
[13:01:00] [PASSED] 0x56A3 (DG2)
[13:01:00] [PASSED] 0x56A4 (DG2)
[13:01:00] [PASSED] 0x56B2 (DG2)
[13:01:00] [PASSED] 0x56B3 (DG2)
[13:01:00] [PASSED] 0x5696 (DG2)
[13:01:00] [PASSED] 0x5697 (DG2)
[13:01:00] [PASSED] 0xB69 (PVC)
[13:01:00] [PASSED] 0xB6E (PVC)
[13:01:00] [PASSED] 0xBD4 (PVC)
[13:01:00] [PASSED] 0xBD5 (PVC)
[13:01:00] [PASSED] 0xBD6 (PVC)
[13:01:00] [PASSED] 0xBD7 (PVC)
[13:01:00] [PASSED] 0xBD8 (PVC)
[13:01:00] [PASSED] 0xBD9 (PVC)
[13:01:00] [PASSED] 0xBDA (PVC)
[13:01:00] [PASSED] 0xBDB (PVC)
[13:01:00] [PASSED] 0xBE0 (PVC)
[13:01:00] [PASSED] 0xBE1 (PVC)
[13:01:00] [PASSED] 0xBE5 (PVC)
[13:01:00] [PASSED] 0x7D40 (METEORLAKE)
[13:01:00] [PASSED] 0x7D45 (METEORLAKE)
[13:01:00] [PASSED] 0x7D55 (METEORLAKE)
[13:01:00] [PASSED] 0x7D60 (METEORLAKE)
[13:01:00] [PASSED] 0x7DD5 (METEORLAKE)
[13:01:00] [PASSED] 0x6420 (LUNARLAKE)
[13:01:00] [PASSED] 0x64A0 (LUNARLAKE)
[13:01:00] [PASSED] 0x64B0 (LUNARLAKE)
[13:01:00] [PASSED] 0xE202 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE209 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE20B (BATTLEMAGE)
[13:01:00] [PASSED] 0xE20C (BATTLEMAGE)
[13:01:00] [PASSED] 0xE20D (BATTLEMAGE)
[13:01:00] [PASSED] 0xE210 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE211 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE212 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE216 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE220 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE221 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE222 (BATTLEMAGE)
[13:01:00] [PASSED] 0xE223 (BATTLEMAGE)
[13:01:00] [PASSED] 0xB080 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB081 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB082 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB083 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB084 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB085 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB086 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB087 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB08F (PANTHERLAKE)
[13:01:00] [PASSED] 0xB090 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB0A0 (PANTHERLAKE)
[13:01:00] [PASSED] 0xB0B0 (PANTHERLAKE)
[13:01:00] [PASSED] 0xFD80 (PANTHERLAKE)
[13:01:00] [PASSED] 0xFD81 (PANTHERLAKE)
[13:01:00] [PASSED] 0xD740 (NOVALAKE_S)
[13:01:00] [PASSED] 0xD741 (NOVALAKE_S)
[13:01:00] [PASSED] 0xD742 (NOVALAKE_S)
[13:01:00] [PASSED] 0xD743 (NOVALAKE_S)
[13:01:00] [PASSED] 0xD745 (NOVALAKE_S)
[13:01:00] [PASSED] 0xD74A (NOVALAKE_S)
[13:01:00] [PASSED] 0xD74B (NOVALAKE_S)
[13:01:00] [PASSED] 0x674C (CRESCENTISLAND)
[13:01:00] [PASSED] 0x674D (CRESCENTISLAND)
[13:01:00] [PASSED] 0x674E (CRESCENTISLAND)
[13:01:00] [PASSED] 0x674F (CRESCENTISLAND)
[13:01:00] [PASSED] 0x6750 (CRESCENTISLAND)
[13:01:00] [PASSED] 0xD750 (NOVALAKE_P)
[13:01:00] [PASSED] 0xD751 (NOVALAKE_P)
[13:01:00] [PASSED] 0xD752 (NOVALAKE_P)
[13:01:00] [PASSED] 0xD753 (NOVALAKE_P)
[13:01:00] [PASSED] 0xD754 (NOVALAKE_P)
[13:01:00] [PASSED] 0xD755 (NOVALAKE_P)
[13:01:00] [PASSED] 0xD756 (NOVALAKE_P)
[13:01:00] [PASSED] 0xD757 (NOVALAKE_P)
[13:01:00] [PASSED] 0xD75F (NOVALAKE_P)
[13:01:00] =============== [PASSED] check_platform_desc ===============
[13:01:00] ===================== [PASSED] xe_pci ======================
[13:01:00] ============= xe_rtp_tables_test (5 subtests) ==============
[13:01:00] ================== xe_rtp_table_gt_test  ===================
[13:01:00] [PASSED] gt_was/14011060649
[13:01:00] [PASSED] gt_was/14011059788
[13:01:00] [PASSED] gt_was/14015795083
[13:01:00] [PASSED] gt_was/16021867713
[13:01:00] [PASSED] gt_was/14019449301
[13:01:00] [PASSED] gt_was/16028005424
[13:01:00] [PASSED] gt_was/14026578760
[13:01:00] [PASSED] gt_was/1409420604
[13:01:00] [PASSED] gt_was/1408615072
[13:01:00] [PASSED] gt_was/22010523718
[13:01:00] [PASSED] gt_was/14011006942
[13:01:00] [PASSED] gt_was/14014830051
[13:01:00] [PASSED] gt_was/18018781329
[13:01:00] [PASSED] gt_was/1509235366
[13:01:00] [PASSED] gt_was/18018781329
[13:01:00] [PASSED] gt_was/16016694945
[13:01:00] [PASSED] gt_was/14018575942
[13:01:00] [PASSED] gt_was/22016670082
[13:01:00] [PASSED] gt_was/22016670082
[13:01:00] [PASSED] gt_was/14017421178
[13:01:00] [PASSED] gt_was/16025250150
[13:01:00] [PASSED] gt_was/14021871409
[13:01:00] [PASSED] gt_was/16021865536
[13:01:00] [PASSED] gt_was/14021486841
[13:01:00] [PASSED] gt_was/14025160223
[13:01:00] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[13:01:00] [PASSED] gt_was/14025635424
[13:01:00] [PASSED] gt_was/16028005424
[13:01:00] ============== [PASSED] xe_rtp_table_gt_test ===============
[13:01:00] ================== xe_rtp_table_gt_test  ===================
[13:01:00] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[13:01:00] [PASSED] gt_tunings/Tuning: 32B Access Enable
[13:01:00] [PASSED] gt_tunings/Tuning: L3 cache
[13:01:00] [PASSED] gt_tunings/Tuning: L3 cache - media
[13:01:00] [PASSED] gt_tunings/Tuning: Compression Overfetch
[13:01:00] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[13:01:00] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[13:01:00] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[13:01:00] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[13:01:00] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[13:01:00] [PASSED] gt_tunings/Tuning: Stateless compression control
[13:01:00] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[13:01:00] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[13:01:00] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[13:01:00] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[13:01:00] ============== [PASSED] xe_rtp_table_gt_test ===============
[13:01:00] ================== xe_rtp_table_oob_test  ==================
[13:01:00] [PASSED] oob_was/1607983814
[13:01:00] [PASSED] oob_was/16010904313
[13:01:00] [PASSED] oob_was/18022495364
[13:01:00] [PASSED] oob_was/22012773006
[13:01:00] [PASSED] oob_was/14014475959
[13:01:00] [PASSED] oob_was/22011391025
[13:01:00] [PASSED] oob_was/22012727170
[13:01:00] [PASSED] oob_was/22012727685
[13:01:00] [PASSED] oob_was/22016596838
[13:01:00] [PASSED] oob_was/18020744125
[13:01:00] [PASSED] oob_was/1409600907
[13:01:00] [PASSED] oob_was/22014953428
[13:01:00] [PASSED] oob_was/16017236439
[13:01:00] [PASSED] oob_was/14019821291
[13:01:00] [PASSED] oob_was/14015076503
[13:01:00] [PASSED] oob_was/14018913170
[13:01:00] [PASSED] oob_was/14018094691
[13:01:00] [PASSED] oob_was/18024947630
[13:01:00] [PASSED] oob_was/16022287689
[13:01:00] [PASSED] oob_was/13011645652
[13:01:00] [PASSED] oob_was/14022293748
[13:01:00] [PASSED] oob_was/22019794406
[13:01:00] [PASSED] oob_was/22019338487
[13:01:00] [PASSED] oob_was/16023588340
[13:01:00] [PASSED] oob_was/14019789679
[13:01:00] [PASSED] oob_was/14022866841
[13:01:00] [PASSED] oob_was/16021333562
[13:01:00] [PASSED] oob_was/14016712196
[13:01:00] [PASSED] oob_was/14015568240
[13:01:00] [PASSED] oob_was/18013179988
[13:01:00] [PASSED] oob_was/1508761755
[13:01:00] [PASSED] oob_was/16023105232
[13:01:00] [PASSED] oob_was/16026508708
[13:01:00] [PASSED] oob_was/14020001231
[13:01:00] [PASSED] oob_was/16023683509
[13:01:00] [PASSED] oob_was/14025515070
[13:01:00] [PASSED] oob_was/15015404425_disable
[13:01:00] [PASSED] oob_was/16026007364
[13:01:00] [PASSED] oob_was/14020316580
[13:01:00] [PASSED] oob_was/14025883347
[13:01:00] [PASSED] oob_was/16029380221
[13:01:00] [PASSED] oob_was/22022079272
[13:01:00] [PASSED] oob_was/16029897822
[13:01:00] [PASSED] oob_was/14027054324
[13:01:00] ============== [PASSED] xe_rtp_table_oob_test ==============
[13:01:00] ================ xe_rtp_table_dev_oob_test  ================
[13:01:00] [PASSED] device_oob_was/22010954014
[13:01:00] [PASSED] device_oob_was/15015404425
[13:01:00] [PASSED] device_oob_was/22019338487_display
[13:01:00] [PASSED] device_oob_was/14022085890
[13:01:00] [PASSED] device_oob_was/14026539277
[13:01:00] [PASSED] device_oob_was/14026633728
[13:01:00] [PASSED] device_oob_was/14026746987
[13:01:00] [PASSED] device_oob_was/14026779378
[13:01:00] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[13:01:00] ========== xe_rtp_table_missing_upper_bound_test  ==========
[13:01:00] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[13:01:00] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[13:01:00] [PASSED] register_whitelist/1806527549
[13:01:00] [PASSED] register_whitelist/allow_read_ctx_timestamp
[13:01:00] [PASSED] register_whitelist/allow_read_queue_timestamp
[13:01:00] [PASSED] register_whitelist/16014440446
[13:01:00] [PASSED] register_whitelist/16017236439
[13:01:00] [PASSED] register_whitelist/16020183090
[13:01:00] [PASSED] register_whitelist/14024997852
[13:01:00] [PASSED] register_whitelist/14024997852
[13:01:00] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[13:01:00] =============== [PASSED] xe_rtp_tables_test ================
[13:01:00] =================== xe_rtp (3 subtests) ====================
[13:01:00] =================== xe_rtp_rules_tests  ====================
[13:01:00] [PASSED] no
[13:01:00] [PASSED] yes
[13:01:00] [PASSED] no-and-no
[13:01:00] [PASSED] no-and-yes
[13:01:00] [PASSED] yes-and-no
[13:01:00] [PASSED] yes-and-yes
[13:01:00] [PASSED] no-or-no
[13:01:00] [PASSED] no-or-yes
[13:01:00] [PASSED] yes-or-no
[13:01:00] [PASSED] yes-or-yes
[13:01:00] [PASSED] no-yes-or-yes-no
[13:01:00] [PASSED] no-yes-or-yes-yes
[13:01:00] [PASSED] yes-yes-or-no-yes
[13:01:00] [PASSED] yes-yes-or-yes-yes
[13:01:00] [PASSED] no-no-or-yes-or-no
[13:01:00] [PASSED] or
[13:01:00] [PASSED] or-yes
[13:01:00] [PASSED] or-no
[13:01:00] [PASSED] yes-or
[13:01:00] [PASSED] no-or
[13:01:00] [PASSED] no-or-or-yes
[13:01:00] [PASSED] yes-or-or-no
[13:01:00] [PASSED] no-or-or-no
[13:01:00] [PASSED] missing-context-engine-class
[13:01:00] [PASSED] missing-context-engine-class-or-yes
[13:01:00] [PASSED] missing-context-engine-class-or-or-yes
[13:01:00] =============== [PASSED] xe_rtp_rules_tests ================
[13:01:00] =============== xe_rtp_process_to_sr_tests  ================
[13:01:00] [PASSED] coalesce-same-reg
[13:01:00] [PASSED] coalesce-same-reg-literal-and-func
[13:01:00] [PASSED] no-match-no-add
[13:01:00] [PASSED] two-regs-two-entries
[13:01:00] [PASSED] clr-one-set-other
[13:01:00] [PASSED] set-field
[13:01:00] [PASSED] conflict-duplicate
[13:01:00] [PASSED] conflict-not-disjoint
[13:01:00] [PASSED] conflict-not-disjoint-literal-and-func
[13:01:00] [PASSED] conflict-reg-type
[13:01:00] [PASSED] bad-mcr-reg-forced-to-regular
[13:01:00] [PASSED] bad-regular-reg-forced-to-mcr
[13:01:00] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[13:01:00] ================== xe_rtp_process_tests  ===================
[13:01:00] [PASSED] active1
[13:01:00] [PASSED] active2
[13:01:00] [PASSED] active-inactive
[13:01:00] [PASSED] inactive-active
[13:01:00] [PASSED] inactive-active-inactive
[13:01:00] [PASSED] inactive-inactive-inactive
[13:01:00] ============== [PASSED] xe_rtp_process_tests ===============
[13:01:00] ===================== [PASSED] xe_rtp ======================
[13:01:00] ==================== xe_wa (1 subtest) =====================
[13:01:00] ======================== xe_wa_gt  =========================
[13:01:00] [PASSED] TIGERLAKE B0
[13:01:00] [PASSED] DG1 A0
[13:01:00] [PASSED] DG1 B0
[13:01:00] [PASSED] ALDERLAKE_S A0
[13:01:00] [PASSED] ALDERLAKE_S B0
[13:01:00] [PASSED] ALDERLAKE_S C0
[13:01:00] [PASSED] ALDERLAKE_S D0
[13:01:00] [PASSED] ALDERLAKE_P A0
[13:01:00] [PASSED] ALDERLAKE_P B0
[13:01:00] [PASSED] ALDERLAKE_P C0
[13:01:00] [PASSED] ALDERLAKE_S RPLS D0
[13:01:00] [PASSED] ALDERLAKE_P RPLU E0
[13:01:00] [PASSED] DG2 G10 C0
[13:01:00] [PASSED] DG2 G11 B1
[13:01:00] [PASSED] DG2 G12 A1
[13:01:00] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[13:01:00] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[13:01:00] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[13:01:00] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[13:01:00] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[13:01:00] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[13:01:00] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[13:01:00] ==================== [PASSED] xe_wa_gt =====================
[13:01:00] ====================== [PASSED] xe_wa ======================
[13:01:00] ============================================================
[13:01:00] Testing complete. Ran 742 tests: passed: 724, skipped: 18
[13:01:00] Elapsed time: 36.779s total, 4.350s configuring, 31.762s building, 0.632s running

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

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

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



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

* ✓ Xe.CI.BAT: success for drm/i915/display: Limit invalid joiner combinations harder
  2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
                   ` (5 preceding siblings ...)
  2026-08-07 13:01 ` ✓ CI.KUnit: success " Patchwork
@ 2026-08-07 13:44 ` Patchwork
  2026-08-07 22:40 ` ✗ Xe.CI.FULL: failure " Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2026-08-07 13:44 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/display: Limit invalid joiner combinations harder
URL   : https://patchwork.freedesktop.org/series/171796/
State : success

== Summary ==

CI Bug Log - changes from xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630_BAT -> xe-pw-171796v1_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (13 -> 15)
------------------------------

  Additional (2): bat-nvls-2 bat-wcl-2 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@eof:
    - bat-wcl-2:          NOTRUN -> [SKIP][1] ([Intel XE#7241]) +4 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@fbdev@eof.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-wcl-2:          NOTRUN -> [SKIP][2] ([Intel XE#7245])
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - bat-wcl-2:          NOTRUN -> [SKIP][3] ([Intel XE#7240]) +3 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@kms_flip@basic-flip-vs-wf_vblank.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-wcl-2:          NOTRUN -> [SKIP][4] ([Intel XE#7246])
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_pipe_crc_basic@hang-read-crc:
    - bat-wcl-2:          NOTRUN -> [SKIP][5] ([Intel XE#7237]) +13 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@kms_pipe_crc_basic@hang-read-crc.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - bat-wcl-2:          NOTRUN -> [SKIP][6] ([Intel XE#2850]) +2 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@xe_evict@evict-small-multi-vm:
    - bat-wcl-2:          NOTRUN -> [SKIP][7] ([Intel XE#7238]) +11 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@xe_evict@evict-small-multi-vm.html

  * igt@xe_exec_balancer@twice-virtual-userptr-rebind:
    - bat-wcl-2:          NOTRUN -> [SKIP][8] ([Intel XE#7482]) +17 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@xe_exec_balancer@twice-virtual-userptr-rebind.html

  * igt@xe_exec_multi_queue@many-queues-userptr-invalidate:
    - bat-wcl-2:          NOTRUN -> [SKIP][9] ([Intel XE#8364]) +13 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@xe_exec_multi_queue@many-queues-userptr-invalidate.html

  * igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit:
    - bat-wcl-2:          NOTRUN -> [SKIP][10] ([Intel XE#7239]) +2 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit.html

  * igt@xe_mmap@vram:
    - bat-wcl-2:          NOTRUN -> [SKIP][11] ([Intel XE#7243])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@xe_mmap@vram.html

  * igt@xe_pat@pat-index-xehpc:
    - bat-wcl-2:          NOTRUN -> [SKIP][12] ([Intel XE#7247] / [Intel XE#7590])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelp:
    - bat-wcl-2:          NOTRUN -> [SKIP][13] ([Intel XE#7242] / [Intel XE#7590])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@xe_pat@pat-index-xelp.html

  * igt@xe_pat@pat-index-xelpg:
    - bat-wcl-2:          NOTRUN -> [SKIP][14] ([Intel XE#7248] / [Intel XE#7590])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-wcl-2/igt@xe_pat@pat-index-xelpg.html

  
#### Possible fixes ####

  * igt@core_hotunplug@unbind-rebind:
    - {bat-nvls-1}:       [DMESG-WARN][15] ([Intel XE#8762]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/bat-nvls-1/igt@core_hotunplug@unbind-rebind.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/bat-nvls-1/igt@core_hotunplug@unbind-rebind.html

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

  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#7237]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7237
  [Intel XE#7238]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7238
  [Intel XE#7239]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7239
  [Intel XE#7240]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7240
  [Intel XE#7241]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7241
  [Intel XE#7242]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7242
  [Intel XE#7243]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7243
  [Intel XE#7245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7245
  [Intel XE#7246]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7246
  [Intel XE#7247]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7247
  [Intel XE#7248]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7248
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8377]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8377
  [Intel XE#8741]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8741
  [Intel XE#8742]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8742
  [Intel XE#8743]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8743
  [Intel XE#8744]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8744
  [Intel XE#8745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8745
  [Intel XE#8746]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8746
  [Intel XE#8747]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8747
  [Intel XE#8748]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8748
  [Intel XE#8755]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8755
  [Intel XE#8756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8756
  [Intel XE#8757]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8757
  [Intel XE#8758]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8758
  [Intel XE#8761]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8761
  [Intel XE#8762]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8762
  [Intel XE#8773]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8773
  [Intel XE#8783]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8783
  [Intel XE#8784]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8784


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

  * IGT: IGT_9043 -> IGT_9046
  * Linux: xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630 -> xe-pw-171796v1

  IGT_9043: 9043
  IGT_9046: 9046
  xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630: 01d30c194951b8794c33f0d7f559bc4a1c9b7630
  xe-pw-171796v1: 171796v1

== Logs ==

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

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

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

* ✗ Xe.CI.FULL: failure for drm/i915/display: Limit invalid joiner combinations harder
  2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
                   ` (6 preceding siblings ...)
  2026-08-07 13:44 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-08-07 22:40 ` Patchwork
  7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2026-08-07 22:40 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-xe

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

== Series Details ==

Series: drm/i915/display: Limit invalid joiner combinations harder
URL   : https://patchwork.freedesktop.org/series/171796/
State : failure

== Summary ==

CI Bug Log - changes from xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630_FULL -> xe-pw-171796v1_FULL
====================================================

Summary
-------

  **WARNING**

  Minor unknown changes coming with xe-pw-171796v1_FULL need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-171796v1_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 (2 -> 2)
------------------------------

  No changes in participating hosts

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

  Here are the unknown changes that may have been introduced in xe-pw-171796v1_FULL:

### IGT changes ###

#### Warnings ####

  * igt@sriov_basic@pf-unbind-with-vf-probed:
    - shard-bmg:          [ABORT][1] -> [FAIL][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-6/igt@sriov_basic@pf-unbind-with-vf-probed.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@sriov_basic@pf-unbind-with-vf-probed.html

  
New tests
---------

  New tests have been introduced between xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630_FULL and xe-pw-171796v1_FULL:

### New IGT tests (3) ###

  * igt@xe_pmu@all-fn-engine-activity-load@engine-drm_xe_engine_class_video_enhance1:
    - Statuses : 1 pass(s)
    - Exec time: [2.16] s

  * igt@xe_pmu@fn-engine-activity-load@engine-drm_xe_engine_class_video_enhance1:
    - Statuses : 1 pass(s)
    - Exec time: [6.08] s

  * igt@xe_pmu@fn-engine-activity-sched-if-idle@engine-drm_xe_engine_class_video_enhance1:
    - Statuses : 1 pass(s)
    - Exec time: [6.31] s

  

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

  Here are the changes found in xe-pw-171796v1_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_big_fb@4-tiled-64bpp-rotate-90:
    - shard-bmg:          NOTRUN -> [SKIP][3] ([Intel XE#2327])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-2/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][4] ([Intel XE#1124]) +1 other test skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_bw@connected-linear-tiling-3-displays-target-3840x2160p:
    - shard-bmg:          NOTRUN -> [SKIP][5] ([Intel XE#7679])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@kms_bw@connected-linear-tiling-3-displays-target-3840x2160p.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][6] ([Intel XE#2887]) +5 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html

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

  * igt@kms_chamelium_hpd@hdmi-hpd-after-hibernate:
    - shard-bmg:          NOTRUN -> [SKIP][8] ([Intel XE#2252]) +2 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@kms_chamelium_hpd@hdmi-hpd-after-hibernate.html

  * igt@kms_cursor_crc@cursor-offscreen-32x32:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#2320])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@kms_cursor_crc@cursor-offscreen-32x32.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-bmg:          [PASS][10] -> [FAIL][11] ([Intel XE#7571])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats:
    - shard-bmg:          NOTRUN -> [SKIP][12] ([Intel XE#4422] / [Intel XE#7442])
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-7/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1:
    - shard-lnl:          [PASS][13] -> [FAIL][14] ([Intel XE#301])
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html

  * igt@kms_flip@plain-flip-ts-check-interruptible@d-dp2:
    - shard-bmg:          [PASS][15] -> [FAIL][16] ([Intel XE#5408] / [Intel XE#6266]) +1 other test fail
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-3/igt@kms_flip@plain-flip-ts-check-interruptible@d-dp2.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@kms_flip@plain-flip-ts-check-interruptible@d-dp2.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#7178] / [Intel XE#7351])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling.html

  * igt@kms_frontbuffer_tracking@drrshdr-abgr161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#7061]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@kms_frontbuffer_tracking@drrshdr-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#4141]) +3 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#7061] / [Intel XE#7356])
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@kms_frontbuffer_tracking@fbc-abgr161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-move:
    - shard-bmg:          NOTRUN -> [SKIP][21] ([Intel XE#2311]) +11 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move:
    - shard-bmg:          NOTRUN -> [SKIP][22] ([Intel XE#2313]) +15 other tests skip
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#7399]) +1 other test skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y.html

  * igt@kms_pipe_stress@stress-xrgb8888-yftiled:
    - shard-bmg:          NOTRUN -> [SKIP][24] ([Intel XE#6912] / [Intel XE#7375])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-7/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html

  * igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5:
    - shard-bmg:          NOTRUN -> [SKIP][25] ([Intel XE#8303]) +1 other test skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5.html

  * igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping:
    - shard-bmg:          NOTRUN -> [SKIP][26] ([Intel XE#7283])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-3/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#5020] / [Intel XE#7348])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-1/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@intel-max-src-size:
    - shard-bmg:          [PASS][28] -> [SKIP][29] ([Intel XE#2685] / [Intel XE#3307])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-4/igt@kms_plane_scaling@intel-max-src-size.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@kms_plane_scaling@intel-max-src-size.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-bmg:          NOTRUN -> [SKIP][30] ([Intel XE#2499])
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][31] ([Intel XE#1489]) +2 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html

  * igt@kms_psr@psr-basic:
    - shard-bmg:          NOTRUN -> [SKIP][32] ([Intel XE#2234] / [Intel XE#2850]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@kms_psr@psr-basic.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#2330] / [Intel XE#5813])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@kms_sharpness_filter@filter-dpms:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#6503])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-1/igt@kms_sharpness_filter@filter-dpms.html

  * igt@kms_vrr@flip-basic-fastset:
    - shard-bmg:          NOTRUN -> [SKIP][35] ([Intel XE#1499])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@kms_vrr@flip-basic-fastset.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-bmg:          [PASS][36] -> [INCOMPLETE][37] ([Intel XE#6321] / [Intel XE#8355])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-10/igt@xe_evict@evict-beng-mixed-many-threads-small.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_evict@evict-mixed-many-threads-small:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][38] ([Intel XE#6321] / [Intel XE#8355])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-1/igt@xe_evict@evict-mixed-many-threads-small.html

  * igt@xe_evict@evict-mixed-threads-small-multi-queue:
    - shard-bmg:          NOTRUN -> [SKIP][39] ([Intel XE#8370])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@xe_evict@evict-mixed-threads-small-multi-queue.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
    - shard-bmg:          NOTRUN -> [SKIP][40] ([Intel XE#2322] / [Intel XE#7372]) +1 other test skip
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-1/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html

  * igt@xe_exec_fault_mode@twice-multi-queue-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#8374]) +1 other test skip
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-3/igt@xe_exec_fault_mode@twice-multi-queue-rebind.html

  * igt@xe_exec_multi_queue@two-queues-priority-smem:
    - shard-bmg:          NOTRUN -> [SKIP][42] ([Intel XE#8364]) +8 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@xe_exec_multi_queue@two-queues-priority-smem.html

  * igt@xe_exec_threads@threads-multi-queue-fd-basic:
    - shard-bmg:          NOTRUN -> [SKIP][43] ([Intel XE#8378]) +3 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@xe_exec_threads@threads-multi-queue-fd-basic.html

  * igt@xe_fault_injection@vm-create-fail-xe_pt_create:
    - shard-bmg:          [PASS][44] -> [ABORT][45] ([Intel XE#8007]) +1 other test abort
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-7/igt@xe_fault_injection@vm-create-fail-xe_pt_create.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-6/igt@xe_fault_injection@vm-create-fail-xe_pt_create.html

  * igt@xe_page_reclaim@invalid-1g:
    - shard-bmg:          NOTRUN -> [SKIP][46] ([Intel XE#7793]) +1 other test skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@xe_page_reclaim@invalid-1g.html

  * igt@xe_pat@pat-sw-hw-compare:
    - shard-bmg:          NOTRUN -> [FAIL][47] ([Intel XE#7695])
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@xe_pat@pat-sw-hw-compare.html

  * igt@xe_pm@d3cold-multiple-execs:
    - shard-bmg:          NOTRUN -> [SKIP][48] ([Intel XE#2284] / [Intel XE#7370])
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@xe_pm@d3cold-multiple-execs.html

  * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
    - shard-bmg:          NOTRUN -> [SKIP][49] ([Intel XE#944])
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html

  * igt@xe_sriov_flr@flr-each-isolation:
    - shard-bmg:          [PASS][50] -> [FAIL][51] ([Intel XE#6569])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-10/igt@xe_sriov_flr@flr-each-isolation.html
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@xe_sriov_flr@flr-each-isolation.html

  
#### Possible fixes ####

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
    - shard-lnl:          [FAIL][52] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][53]
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-bmg:          [SKIP][54] ([Intel XE#7308]) -> [PASS][55]
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-5/igt@kms_hdmi_inject@inject-audio.html
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-lnl:          [FAIL][56] ([Intel XE#8399]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-lnl-8/igt@kms_pm_dc@dc6-psr.html
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-lnl-6/igt@kms_pm_dc@dc6-psr.html

  * igt@xe_exec_reset@long-spin-reuse-many-preempt-media:
    - shard-bmg:          [FAIL][58] ([Intel XE#7850]) -> [PASS][59]
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-10/igt@xe_exec_reset@long-spin-reuse-many-preempt-media.html
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-7/igt@xe_exec_reset@long-spin-reuse-many-preempt-media.html

  * igt@xe_module_load@load:
    - shard-bmg:          ([PASS][60], [PASS][61], [PASS][62], [PASS][63], [PASS][64], [PASS][65], [PASS][66], [PASS][67], [PASS][68], [PASS][69], [PASS][70], [PASS][71], [PASS][72], [PASS][73], [PASS][74], [PASS][75], [PASS][76], [PASS][77], [PASS][78], [PASS][79], [PASS][80], [PASS][81], [SKIP][82], [PASS][83], [PASS][84], [PASS][85]) ([Intel XE#2457] / [Intel XE#7405]) -> ([PASS][86], [PASS][87], [PASS][88], [PASS][89], [PASS][90], [PASS][91], [PASS][92], [PASS][93], [PASS][94], [PASS][95], [PASS][96], [PASS][97], [PASS][98], [PASS][99], [PASS][100], [PASS][101], [PASS][102], [PASS][103], [PASS][104], [PASS][105], [PASS][106], [PASS][107], [PASS][108], [PASS][109], [PASS][110])
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-4/igt@xe_module_load@load.html
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-4/igt@xe_module_load@load.html
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-8/igt@xe_module_load@load.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-8/igt@xe_module_load@load.html
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-10/igt@xe_module_load@load.html
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-1/igt@xe_module_load@load.html
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-1/igt@xe_module_load@load.html
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-1/igt@xe_module_load@load.html
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-10/igt@xe_module_load@load.html
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-10/igt@xe_module_load@load.html
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-5/igt@xe_module_load@load.html
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-2/igt@xe_module_load@load.html
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-3/igt@xe_module_load@load.html
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-3/igt@xe_module_load@load.html
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-3/igt@xe_module_load@load.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-5/igt@xe_module_load@load.html
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-5/igt@xe_module_load@load.html
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-6/igt@xe_module_load@load.html
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-7/igt@xe_module_load@load.html
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-7/igt@xe_module_load@load.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-7/igt@xe_module_load@load.html
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-6/igt@xe_module_load@load.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-7/igt@xe_module_load@load.html
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-9/igt@xe_module_load@load.html
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-9/igt@xe_module_load@load.html
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-2/igt@xe_module_load@load.html
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@xe_module_load@load.html
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-7/igt@xe_module_load@load.html
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-2/igt@xe_module_load@load.html
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-2/igt@xe_module_load@load.html
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-6/igt@xe_module_load@load.html
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-1/igt@xe_module_load@load.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-1/igt@xe_module_load@load.html
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-7/igt@xe_module_load@load.html
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-7/igt@xe_module_load@load.html
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@xe_module_load@load.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@xe_module_load@load.html
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-4/igt@xe_module_load@load.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@xe_module_load@load.html
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@xe_module_load@load.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@xe_module_load@load.html
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@xe_module_load@load.html
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-5/igt@xe_module_load@load.html
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@xe_module_load@load.html
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-8/igt@xe_module_load@load.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-2/igt@xe_module_load@load.html
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-6/igt@xe_module_load@load.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-3/igt@xe_module_load@load.html
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-3/igt@xe_module_load@load.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@xe_module_load@load.html
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-10/igt@xe_module_load@load.html

  * igt@xe_oa@non-zero-reason-all:
    - shard-lnl:          [FAIL][111] ([Intel XE#7334]) -> [PASS][112] +1 other test pass
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-lnl-6/igt@xe_oa@non-zero-reason-all.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-lnl-5/igt@xe_oa@non-zero-reason-all.html

  * igt@xe_sriov_auto_provisioning@selfconfig-basic:
    - shard-bmg:          [FAIL][113] ([Intel XE#7992]) -> [PASS][114] +2 other tests pass
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-5/igt@xe_sriov_auto_provisioning@selfconfig-basic.html
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-1/igt@xe_sriov_auto_provisioning@selfconfig-basic.html

  
#### Warnings ####

  * igt@kms_content_protection@atomic-hdcp14:
    - shard-bmg:          [ABORT][115] -> [FAIL][116] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-10/igt@kms_content_protection@atomic-hdcp14.html
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-7/igt@kms_content_protection@atomic-hdcp14.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-lnl:          [FAIL][117] ([Intel XE#301] / [Intel XE#3149]) -> [FAIL][118] ([Intel XE#301])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          [FAIL][119] ([Intel XE#1729] / [Intel XE#7424]) -> [SKIP][120] ([Intel XE#2426] / [Intel XE#5848])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern.html
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-171796v1/shard-bmg-9/igt@kms_tiled_display@basic-test-pattern.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [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#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [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#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
  [Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
  [Intel XE#2685]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2685
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
  [Intel XE#3307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3307
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5408]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5408
  [Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#6266]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6266
  [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
  [Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
  [Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
  [Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7308
  [Intel XE#7334]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7334
  [Intel XE#7348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7348
  [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
  [Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
  [Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
  [Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
  [Intel XE#7405]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7405
  [Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
  [Intel XE#7442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7442
  [Intel XE#7571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7571
  [Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
  [Intel XE#7695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7695
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7850
  [Intel XE#7992]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7992
  [Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
  [Intel XE#8303]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8303
  [Intel XE#8355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8355
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8370
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8399
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


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

  * IGT: IGT_9043 -> IGT_9046
  * Linux: xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630 -> xe-pw-171796v1

  IGT_9043: 9043
  IGT_9046: 9046
  xe-5560-01d30c194951b8794c33f0d7f559bc4a1c9b7630: 01d30c194951b8794c33f0d7f559bc4a1c9b7630
  xe-pw-171796v1: 171796v1

== Logs ==

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

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

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

* Re: [PATCH 1/4] drm/i915/display: Limit max joined dotclock on joiner pipes available
  2026-08-07 12:34 ` [PATCH 1/4] drm/i915/display: Limit max joined dotclock on joiner pipes available Jani Nikula
@ 2026-08-10 11:17   ` Nautiyal, Ankit K
  2026-08-11 12:47     ` Jani Nikula
  0 siblings, 1 reply; 14+ messages in thread
From: Nautiyal, Ankit K @ 2026-08-10 11:17 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx, intel-xe


On 8/7/2026 6:04 PM, Jani Nikula wrote:
> Multiplying the max dotclock based on joiner availability on the
> platform alone does not take into account the actual pipes (possibly
> with some fused) available for joining.
>
> Limit the max joined dotclock based on the actual pipes available for
> joining. Add helpers for figuring out the valid primary pipes, based on
> having the required joiners and amount of consecutive pipes available.
>
> v2: Check for consecutive pipes available (Ankit)
>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_display.c | 51 +++++++++++++++++++-
>   drivers/gpu/drm/i915/display/intel_display.h |  1 +
>   2 files changed, 50 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 829d7a411dcc..c958b2a92cc7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -193,6 +193,53 @@ is_trans_port_sync_mode(const struct intel_crtc_state *crtc_state)
>   		is_trans_port_sync_slave(crtc_state);
>   }
>   
> +/*
> + * Return a bitmask of all the start indices of consecutive bitfields of size
> + * width in mask.
> + */
> +static unsigned long find_consecutive_bits(unsigned long mask, int width)
> +{
> +	unsigned long bit, out_mask = 0;
> +
> +	if (!width)
> +		return 0;
> +
> +	for_each_set_bit(bit, &mask, BITS_PER_TYPE(mask)) {
> +		/* For each set bit, see if the following bits are set also */
> +		unsigned long bitfield = GENMASK(bit + width - 1, bit);
> +
> +		if ((mask & bitfield) == bitfield)
> +			out_mask |= BIT(bit);
> +	}
> +
> +	return out_mask;

This is very clever!

This fits very nicely with the part where we want to check if joiner is 
supported "for a specific crtc" during compute_config phase.

This works even for width = 1 as well, but it's better to handle the 
case separately as you have already done, it's intuitive and avoids 
iterating through the bits.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


> +}
> +
> +/*
> + * Return a bitmask of all valid joiner primary pipes for joining
> + * num_joined_pipes pipes. For completeness, return all valid pipes for
> + * num_joined_pipes == 1.
> + *
> + * Return 0 if the platform doesn't support joining for the requested number of
> + * pipes, or there are not enough consecutive pipes available.
> + */
> +u8 intel_joiner_valid_primary_pipe_mask(struct intel_display *display, int num_joined_pipes)
> +{
> +	if (num_joined_pipes == 1) {
> +		return DISPLAY_RUNTIME_INFO(display)->pipe_mask;
> +	} else if (num_joined_pipes == 2) {
> +		if (!HAS_UNCOMPRESSED_JOINER(display) && !HAS_BIGJOINER(display))
> +			return 0;
> +	} else if (num_joined_pipes == 4) {
> +		if (!HAS_ULTRAJOINER(display))
> +			return 0;
> +	} else {
> +		return 0;
> +	}
> +
> +	return find_consecutive_bits(DISPLAY_RUNTIME_INFO(display)->pipe_mask, num_joined_pipes);
> +}
> +
>   static enum pipe joiner_primary_pipe(const struct intel_crtc_state *crtc_state)
>   {
>   	return ffs(crtc_state->joiner_pipes) - 1;
> @@ -8113,9 +8160,9 @@ static int max_dotclock(struct intel_display *display)
>   {
>   	int max_dotclock = display->cdclk.max_dotclk_freq;
>   
> -	if (HAS_ULTRAJOINER(display))
> +	if (intel_joiner_valid_primary_pipe_mask(display, 4))
>   		max_dotclock *= 4;
> -	else if (HAS_UNCOMPRESSED_JOINER(display) || HAS_BIGJOINER(display))
> +	else if (intel_joiner_valid_primary_pipe_mask(display, 2))
>   		max_dotclock *= 2;
>   
>   	return max_dotclock;
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
> index 57ea4f2edf2a..e7ecae9d2d21 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -373,6 +373,7 @@ intel_cpu_transcoder_mode_valid(struct intel_display *display,
>   enum phy intel_port_to_phy(struct intel_display *display, enum port port);
>   bool is_trans_port_sync_mode(const struct intel_crtc_state *state);
>   bool is_trans_port_sync_master(const struct intel_crtc_state *state);
> +u8 intel_joiner_valid_primary_pipe_mask(struct intel_display *display, int num_joined_pipes);
>   u8 intel_crtc_joined_pipe_mask(const struct intel_crtc_state *crtc_state);
>   bool intel_crtc_is_joiner_secondary(const struct intel_crtc_state *crtc_state);
>   bool intel_crtc_is_joiner_primary(const struct intel_crtc_state *crtc_state);

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

* Re: [PATCH 2/4] drm/i915/dp: Limit for_each_joiner_candidate() on joiner pipes available
  2026-08-07 12:34 ` [PATCH 2/4] drm/i915/dp: Limit for_each_joiner_candidate() " Jani Nikula
@ 2026-08-10 11:36   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 14+ messages in thread
From: Nautiyal, Ankit K @ 2026-08-10 11:36 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx, intel-xe


On 8/7/2026 6:04 PM, Jani Nikula wrote:
> Make intel_dp_can_join(), and subsequently
> intel_dp_joiner_candidate_valid() and for_each_joiner_candidate() more
> strict about pipes actually available for joining by using
> intel_joiner_valid_primary_pipe_mask().
>
> This rejects some invalid combos early for both mode enumeration and
> compute config.
>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

LGTM.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


> ---
>   drivers/gpu/drm/i915/display/intel_dp.c | 12 +-----------
>   1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 437b9e7bb864..e1604bc895e5 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1274,17 +1274,7 @@ bool intel_dp_can_join(struct intel_dp *intel_dp,
>   	if (num_joined_pipes > 1 && !intel_dp_has_joiner(intel_dp))
>   		return false;
>   
> -	switch (num_joined_pipes) {
> -	case 1:
> -		return true;
> -	case 2:
> -		return HAS_BIGJOINER(display) ||
> -		       HAS_UNCOMPRESSED_JOINER(display);
> -	case 4:
> -		return HAS_ULTRAJOINER(display);
> -	default:
> -		return false;
> -	}
> +	return intel_joiner_valid_primary_pipe_mask(display, num_joined_pipes);
>   }
>   
>   bool intel_dp_dotclk_valid(struct intel_display *display,

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

* Re: [PATCH 3/4] drm/i915/dp: Limit compute config joining to pipes that can actually join
  2026-08-07 12:34 ` [PATCH 3/4] drm/i915/dp: Limit compute config joining to pipes that can actually join Jani Nikula
@ 2026-08-10 11:41   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 14+ messages in thread
From: Nautiyal, Ankit K @ 2026-08-10 11:41 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx, intel-xe


On 8/7/2026 6:04 PM, Jani Nikula wrote:
> Skip joining for pipes that can't work as joiner primary pipe for the
> number of pipes being joined. This limits the invalid combos early,
> instead of ending up with crtc_state->joiner_pipes that would fail
> during modeset. Before, crtc_state->joiner pipes could have ended up
> including pipes that do not exist on the platform.
>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

LGTM.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

> ---
>   drivers/gpu/drm/i915/display/intel_dp.c     | 5 +++++
>   drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 ++++
>   2 files changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index e1604bc895e5..6b60e0a1c8ee 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2910,6 +2910,7 @@ intel_dp_compute_link_config(struct intel_encoder *encoder,
>   			     struct drm_connector_state *conn_state,
>   			     bool respect_downstream_limits)
>   {
> +	struct intel_display *display = to_intel_display(encoder);
>   	struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
>   	struct intel_connector *connector =
>   		to_intel_connector(conn_state->connector);
> @@ -2924,6 +2925,10 @@ intel_dp_compute_link_config(struct intel_encoder *encoder,
>   		return -EINVAL;
>   
>   	for_each_joiner_candidate(connector, adjusted_mode, num_joined_pipes) {
> +		/* If the pipe can't be a joiner primary, skip early. */
> +		if (!(intel_joiner_valid_primary_pipe_mask(display, num_joined_pipes) & BIT(crtc->pipe)))
> +			continue;
> +
>   		/*
>   		 * NOTE:
>   		 * The crtc_state->joiner_pipes should have been set at the end
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 3be1643f8d03..379666692bc8 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -770,6 +770,10 @@ static int mst_stream_compute_config(struct intel_atomic_state *state,
>   		return ret;
>   
>   	for_each_joiner_candidate(connector, adjusted_mode, num_joined_pipes) {
> +		/* If the pipe can't be a joiner primary, skip early. */
> +		if (!(intel_joiner_valid_primary_pipe_mask(display, num_joined_pipes) & BIT(crtc->pipe)))
> +			continue;
> +
>   		if (num_joined_pipes > 1)
>   			pipe_config->joiner_pipes = GENMASK(crtc->pipe + num_joined_pipes - 1,
>   							    crtc->pipe);

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

* Re: [PATCH 4/4] drm/i915/debugfs: Reject invalid force_joined_pipes harder
  2026-08-07 12:34 ` [PATCH 4/4] drm/i915/debugfs: Reject invalid force_joined_pipes harder Jani Nikula
@ 2026-08-10 11:43   ` Nautiyal, Ankit K
  0 siblings, 0 replies; 14+ messages in thread
From: Nautiyal, Ankit K @ 2026-08-10 11:43 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx, intel-xe


On 8/7/2026 6:04 PM, Jani Nikula wrote:
> Reject invalid joiner forcing more thoroughly, taking into account
> whether bigjoiner or uncompressed joiner is available, and whether the
> requested number of pipes can actually be joined.
>
> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

LGTM.

Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>


> ---
>   .../drm/i915/display/intel_display_debugfs.c  | 19 ++++---------------
>   1 file changed, 4 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 2bbf4760dc30..3e302f23f247 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -1285,22 +1285,11 @@ static ssize_t i915_joiner_write(struct file *file,
>   	if (ret < 0)
>   		return ret;
>   
> -	switch (force_joined_pipes) {
> -	case 0:
> -	case 1:
> -	case 2:
> -		connector->force_joined_pipes = force_joined_pipes;
> -		break;
> -	case 4:
> -		if (HAS_ULTRAJOINER(display)) {
> -			connector->force_joined_pipes = force_joined_pipes;
> -			break;
> -		}
> -
> -		fallthrough;
> -	default:
> +	if (force_joined_pipes &&
> +	    !intel_joiner_valid_primary_pipe_mask(display, force_joined_pipes))
>   		return -EINVAL;
> -	}
> +
> +	connector->force_joined_pipes = force_joined_pipes;
>   
>   	*offp += len;
>   

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

* Re: [PATCH 1/4] drm/i915/display: Limit max joined dotclock on joiner pipes available
  2026-08-10 11:17   ` Nautiyal, Ankit K
@ 2026-08-11 12:47     ` Jani Nikula
  0 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2026-08-11 12:47 UTC (permalink / raw)
  To: Nautiyal, Ankit K, intel-gfx, intel-xe

On Mon, 10 Aug 2026, "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com> wrote:
> On 8/7/2026 6:04 PM, Jani Nikula wrote:
>> Multiplying the max dotclock based on joiner availability on the
>> platform alone does not take into account the actual pipes (possibly
>> with some fused) available for joining.
>>
>> Limit the max joined dotclock based on the actual pipes available for
>> joining. Add helpers for figuring out the valid primary pipes, based on
>> having the required joiners and amount of consecutive pipes available.
>>
>> v2: Check for consecutive pipes available (Ankit)
>>
>> Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>   drivers/gpu/drm/i915/display/intel_display.c | 51 +++++++++++++++++++-
>>   drivers/gpu/drm/i915/display/intel_display.h |  1 +
>>   2 files changed, 50 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> index 829d7a411dcc..c958b2a92cc7 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> @@ -193,6 +193,53 @@ is_trans_port_sync_mode(const struct intel_crtc_state *crtc_state)
>>   		is_trans_port_sync_slave(crtc_state);
>>   }
>>   
>> +/*
>> + * Return a bitmask of all the start indices of consecutive bitfields of size
>> + * width in mask.
>> + */
>> +static unsigned long find_consecutive_bits(unsigned long mask, int width)
>> +{
>> +	unsigned long bit, out_mask = 0;
>> +
>> +	if (!width)
>> +		return 0;
>> +
>> +	for_each_set_bit(bit, &mask, BITS_PER_TYPE(mask)) {
>> +		/* For each set bit, see if the following bits are set also */
>> +		unsigned long bitfield = GENMASK(bit + width - 1, bit);
>> +
>> +		if ((mask & bitfield) == bitfield)
>> +			out_mask |= BIT(bit);
>> +	}
>> +
>> +	return out_mask;
>
> This is very clever!
>
> This fits very nicely with the part where we want to check if joiner is 
> supported "for a specific crtc" during compute_config phase.

Yay, thanks!

> This works even for width = 1 as well, but it's better to handle the 
> case separately as you have already done, it's intuitive and avoids 
> iterating through the bits.
>
> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>

Thanks for the review, pushed the lot to din.

BR,
Jani.

>
>
>> +}
>> +
>> +/*
>> + * Return a bitmask of all valid joiner primary pipes for joining
>> + * num_joined_pipes pipes. For completeness, return all valid pipes for
>> + * num_joined_pipes == 1.
>> + *
>> + * Return 0 if the platform doesn't support joining for the requested number of
>> + * pipes, or there are not enough consecutive pipes available.
>> + */
>> +u8 intel_joiner_valid_primary_pipe_mask(struct intel_display *display, int num_joined_pipes)
>> +{
>> +	if (num_joined_pipes == 1) {
>> +		return DISPLAY_RUNTIME_INFO(display)->pipe_mask;
>> +	} else if (num_joined_pipes == 2) {
>> +		if (!HAS_UNCOMPRESSED_JOINER(display) && !HAS_BIGJOINER(display))
>> +			return 0;
>> +	} else if (num_joined_pipes == 4) {
>> +		if (!HAS_ULTRAJOINER(display))
>> +			return 0;
>> +	} else {
>> +		return 0;
>> +	}
>> +
>> +	return find_consecutive_bits(DISPLAY_RUNTIME_INFO(display)->pipe_mask, num_joined_pipes);
>> +}
>> +
>>   static enum pipe joiner_primary_pipe(const struct intel_crtc_state *crtc_state)
>>   {
>>   	return ffs(crtc_state->joiner_pipes) - 1;
>> @@ -8113,9 +8160,9 @@ static int max_dotclock(struct intel_display *display)
>>   {
>>   	int max_dotclock = display->cdclk.max_dotclk_freq;
>>   
>> -	if (HAS_ULTRAJOINER(display))
>> +	if (intel_joiner_valid_primary_pipe_mask(display, 4))
>>   		max_dotclock *= 4;
>> -	else if (HAS_UNCOMPRESSED_JOINER(display) || HAS_BIGJOINER(display))
>> +	else if (intel_joiner_valid_primary_pipe_mask(display, 2))
>>   		max_dotclock *= 2;
>>   
>>   	return max_dotclock;
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
>> index 57ea4f2edf2a..e7ecae9d2d21 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display.h
>> @@ -373,6 +373,7 @@ intel_cpu_transcoder_mode_valid(struct intel_display *display,
>>   enum phy intel_port_to_phy(struct intel_display *display, enum port port);
>>   bool is_trans_port_sync_mode(const struct intel_crtc_state *state);
>>   bool is_trans_port_sync_master(const struct intel_crtc_state *state);
>> +u8 intel_joiner_valid_primary_pipe_mask(struct intel_display *display, int num_joined_pipes);
>>   u8 intel_crtc_joined_pipe_mask(const struct intel_crtc_state *crtc_state);
>>   bool intel_crtc_is_joiner_secondary(const struct intel_crtc_state *crtc_state);
>>   bool intel_crtc_is_joiner_primary(const struct intel_crtc_state *crtc_state);

-- 
Jani Nikula, Intel

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

end of thread, other threads:[~2026-08-11 12:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-07 12:34 [PATCH 0/4] drm/i915/display: Limit invalid joiner combinations harder Jani Nikula
2026-08-07 12:34 ` [PATCH 1/4] drm/i915/display: Limit max joined dotclock on joiner pipes available Jani Nikula
2026-08-10 11:17   ` Nautiyal, Ankit K
2026-08-11 12:47     ` Jani Nikula
2026-08-07 12:34 ` [PATCH 2/4] drm/i915/dp: Limit for_each_joiner_candidate() " Jani Nikula
2026-08-10 11:36   ` Nautiyal, Ankit K
2026-08-07 12:34 ` [PATCH 3/4] drm/i915/dp: Limit compute config joining to pipes that can actually join Jani Nikula
2026-08-10 11:41   ` Nautiyal, Ankit K
2026-08-07 12:34 ` [PATCH 4/4] drm/i915/debugfs: Reject invalid force_joined_pipes harder Jani Nikula
2026-08-10 11:43   ` Nautiyal, Ankit K
2026-08-07 13:00 ` ✗ CI.checkpatch: warning for drm/i915/display: Limit invalid joiner combinations harder Patchwork
2026-08-07 13:01 ` ✓ CI.KUnit: success " Patchwork
2026-08-07 13:44 ` ✓ Xe.CI.BAT: " Patchwork
2026-08-07 22:40 ` ✗ Xe.CI.FULL: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox