* [PATCH v6 00/13] Add support for Common SDP Transmission Line
@ 2026-09-13 14:56 Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 01/13] drm/i915/dip: Add new file to handle Data Island Packet hardware Ankit Nautiyal
` (16 more replies)
0 siblings, 17 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Xe3p_lpd introduces new register bits to program a common SDP
Transmission line that will be used by the Hardware to position the
SDPs. Along with this, another new register is also added to stagger
the different SDPs.
This series adds support for programming the Common SDP Transmission Line
(CMN_SDP_TL) and its stagger control registers.
Rev2:
- Add tracking for AS SDP Transmission line first. Instead of directly
programming it in the register, compute the state during
compute_config_late() and write the value from crtc_state.
Readout from the register through a vrr helper, since the register is
defined in context of VRR and will be used for both DP and HDMI VRR
packets.
- Add support to track other SDP transmission lines, instead of stagger
values.
- Compute the transmission lines in compute_config_late path and add
readout.
- Always write the Common SDP Transmission line and other stagger
values, whether the packets are sent or not.
- Dump SDP transmission lines in crtc_state.
Rev3:
- Introduce new files for handling the Data Island Packets (DIPs)
programming in one place. (Ville)
- Extract the Transmission Line programming for
HDMI Extended Metadata Packet (EMP) and Adaptive Sync SDP (AS SDP)
i.e. EMP_AS_SDP_TL in the new file.
- Add programming for Common Base SDP Transmission lines and other
stagger offsets in the new file.
- Add a #TODO to extract other helpers that deal with Data Island Packets
and VIDEO_DIP registers.
- Place the HAS_* Macros related to DIP in the intel_dip.h file
instead of intel_display_devices.h (Jani)
- Make function names more descriptive and avoid overuse of multiple
acronyms. (Jani)
Note:
- Though I have fixed the naming as suggested in most places, I
have retained HAS_EMP_AS_SDP_TL for the following reasons:
1) Lack of an apt name that avoids the acronym for
'Extended Metadata Packet Adaptive Sync Secondary Packet Transmission
Line'.
2) Keeping this name makes it easier to find and map with the exact name
for such a complex register name.
However, I am open to suggestions for a better name.
Rev4:
- Drop the patch to check for DP encoder before writing EMP_AS_SDP_TL
register. Instead reset the register to 0 for non DP encoder case.
Rev5:
- Rebase
- Address review comments from Suraj:
- Drop some redundant checks, and fix few commit messages.
Rev6:
- Move the new struct in intel_display_types.h from intel_dip.h (Jani)
- Check for CMN_SDP_TL restriction and Warn if not followed. (Suraj)
- Use HAS_CMN_SDP_TL() instead of checking if cmn_sdp_tl is set or not.
(Sashiko)
- Make sure that the guardband is sufficient as per CMN_SDP_TL while
optiminzing the guardband.
Ankit Nautiyal (11):
drm/i915/dip: Add new file to handle Data Island Packet hardware
drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register
drm/i915/intel_dip: Add check for DP encoder
drm/i915/dip: Add helper to get AS SDP Transmission Line
drm/i915/display: Add crtc state for DIP transmission lines
drm/i915/dip: Store and use AS SDP transmission line from crtc state
drm/i915/dip: Add HAS_COMMON_SDP_TL macro
drm/i915/dp: Store SDP transmission lines in crtc_state
drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission
line
drm/i915/dip: Enable Common SDP Transmission line
drm/i915/display: Dump DIP Transmission lines
Ankit Nautiyal (12):
drm/i915/dip: Add new file to handle Data Island Packet hardware
drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register
drm/i915/intel_dip: Add check for DP encoder
drm/i915/dip: Add helper to get AS SDP Transmission Line
drm/i915/display: Add crtc state for DIP transmission lines
drm/i915/dip: Store and use AS SDP transmission line from crtc state
drm/i915/dip: Add HAS_COMMON_SDP_TL macro
drm/i915/dip: Store SDP transmission lines in crtc_state
drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission
line
drm/i915/dip: Enable Common SDP Transmission line
drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL
drm/i915/display: Dump DIP Transmission lines
Arun R Murthy (1):
drm/i915/dip_regs: Add register definitions for common SDP
Transmission Line
drivers/gpu/drm/i915/Makefile | 1 +
.../drm/i915/display/intel_crtc_state_dump.c | 9 +
drivers/gpu/drm/i915/display/intel_ddi.c | 5 +
drivers/gpu/drm/i915/display/intel_dip.c | 215 ++++++++++++++++++
drivers/gpu/drm/i915/display/intel_dip.h | 53 +++++
drivers/gpu/drm/i915/display/intel_dip_regs.h | 36 +++
drivers/gpu/drm/i915/display/intel_display.c | 6 +
.../drm/i915/display/intel_display_types.h | 16 ++
drivers/gpu/drm/i915/display/intel_dp.c | 52 ++++-
drivers/gpu/drm/i915/display/intel_vrr.c | 14 +-
drivers/gpu/drm/i915/display/intel_vrr_regs.h | 6 -
drivers/gpu/drm/xe/Makefile | 1 +
12 files changed, 395 insertions(+), 19 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_dip.c
create mode 100644 drivers/gpu/drm/i915/display/intel_dip.h
create mode 100644 drivers/gpu/drm/i915/display/intel_dip_regs.h
--
2.50.1
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v6 01/13] drm/i915/dip: Add new file to handle Data Island Packet hardware
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 02/13] drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register Ankit Nautiyal
` (15 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Add new files intel_dip.c, intel_dip.h, and intel_dip_regs.h to handle
low level hardware programming related to Data Island Packets.
Currently only programming of the Transmission Line for HDMI 2.1
Extended Metadata Packet (EMP) and DP Adaptive-Sync Secondary Data
Packet (SDP) is added (MMIO register EMP_AS_SDP_TL).
This will serve as a common place for DIP related code, which is currently
scattered across DP and HDMI files. A TODO has been added for extracting
the remaining DIP helpers.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/intel_dip.c | 39 +++++++++++++++++++
drivers/gpu/drm/i915/display/intel_dip.h | 38 ++++++++++++++++++
drivers/gpu/drm/i915/display/intel_dip_regs.h | 17 ++++++++
drivers/gpu/drm/i915/display/intel_vrr.c | 1 +
drivers/gpu/drm/i915/display/intel_vrr_regs.h | 6 ---
drivers/gpu/drm/xe/Makefile | 1 +
7 files changed, 97 insertions(+), 6 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_dip.c
create mode 100644 drivers/gpu/drm/i915/display/intel_dip.h
create mode 100644 drivers/gpu/drm/i915/display/intel_dip_regs.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index a83fa8be0aba..d4e7764621e1 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -349,6 +349,7 @@ i915-y += \
display/intel_cx0_phy.o \
display/intel_ddi.o \
display/intel_ddi_buf_trans.o \
+ display/intel_dip.o \
display/intel_display_device.o \
display/intel_display_trace.o \
display/intel_dkl_phy.o \
diff --git a/drivers/gpu/drm/i915/display/intel_dip.c b/drivers/gpu/drm/i915/display/intel_dip.c
new file mode 100644
index 000000000000..2e2bdb2b199c
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_dip.c
@@ -0,0 +1,39 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2026 Intel Corporation
+ *
+ */
+
+#include "intel_de.h"
+#include "intel_dip.h"
+#include "intel_dip_regs.h"
+#include "intel_display_types.h"
+
+u16 intel_dip_read_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
+{
+ struct intel_display *display = to_intel_display(crtc_state);
+ enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
+ u32 val;
+
+ if (!HAS_EMP_AS_SDP_TL(display))
+ return 0;
+
+ val = intel_de_read(display, EMP_AS_SDP_TL(display, cpu_transcoder));
+ return REG_FIELD_GET(EMP_AS_SDP_DB_TL_MASK, val);
+}
+
+void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
+{
+ struct intel_display *display = to_intel_display(crtc_state);
+ enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
+
+ if (!HAS_EMP_AS_SDP_TL(display))
+ return;
+ /*
+ * Since currently we support VRR only for DP/eDP, so this is programmed
+ * only for Adaptive Sync SDP to Vsync start.
+ */
+ intel_de_write(display,
+ EMP_AS_SDP_TL(display, cpu_transcoder),
+ EMP_AS_SDP_DB_TL(crtc_state->vrr.vsync_start));
+}
diff --git a/drivers/gpu/drm/i915/display/intel_dip.h b/drivers/gpu/drm/i915/display/intel_dip.h
new file mode 100644
index 000000000000..25bae4a04d6b
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_dip.h
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2026 Intel Corporation
+ */
+
+#ifndef __INTEL_DIP_H__
+#define __INTEL_DIP_H__
+
+#include "intel_display_device.h"
+
+/*
+ * Video DIP (Data Island Packet) helpers.
+ *
+ * This file contains helpers for programming video DIP related hardware.
+ *
+ * TODO: Currently, this is only used for programming EMP_AS_SDP_TL i.e. to
+ * program Transmission Line for HDMI 2.1 Extended Metadata Packet (EMP) and
+ * DP Adaptive Sync (AS) Secondary Data Packet (SDP). However, all low level
+ * DIP buffer read/write and related helpers should be extracted here later.
+ */
+
+struct intel_crtc_state;
+
+/*
+ * EMP AS SDP TL: Extended Metadata Packet (EMP) Adaptive Sync (AS)
+ * Secondary Data Packet (SDP) Transmission Line (TL).
+ *
+ * Starting with BMG (display ver 14.01) and LNL+ (display ver 20+),
+ * the AS SDP transmission line is programmable via the EMP AS SDP TL
+ * register.
+ */
+#define HAS_EMP_AS_SDP_TL(__display) (DISPLAY_VERx100(__display) == 1401 || \
+ DISPLAY_VER(__display) >= 20)
+
+u16 intel_dip_read_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state);
+void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state);
+
+#endif /* __INTEL_DIP_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_dip_regs.h b/drivers/gpu/drm/i915/display/intel_dip_regs.h
new file mode 100644
index 000000000000..85dcbf42e77d
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_dip_regs.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2026 Intel Corporation
+ */
+
+#ifndef __INTEL_DIP_REGS_H__
+#define __INTEL_DIP_REGS_H__
+
+#include "intel_display_reg_defs.h"
+
+/* EMP (Extended Metadata Packet) AS (Adaptive Sync) SDP Transmission Line */
+#define _EMP_AS_SDP_TL_A 0x60204
+#define EMP_AS_SDP_TL(display, trans) _MMIO_TRANS2((display), (trans), _EMP_AS_SDP_TL_A)
+#define EMP_AS_SDP_DB_TL_MASK REG_GENMASK(12, 0)
+#define EMP_AS_SDP_DB_TL(db_transmit_line) REG_FIELD_PREP(EMP_AS_SDP_DB_TL_MASK, (db_transmit_line))
+
+#endif /* __INTEL_DIP_REGS_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
index e36db1174440..fd8b6f829cfe 100644
--- a/drivers/gpu/drm/i915/display/intel_vrr.c
+++ b/drivers/gpu/drm/i915/display/intel_vrr.c
@@ -17,6 +17,7 @@
#include "intel_cmtg.h"
#include "intel_crtc.h"
#include "intel_de.h"
+#include "intel_dip_regs.h"
#include "intel_display_limits.h"
#include "intel_display_regs.h"
#include "intel_display_types.h"
diff --git a/drivers/gpu/drm/i915/display/intel_vrr_regs.h b/drivers/gpu/drm/i915/display/intel_vrr_regs.h
index 9d4d6573a149..ba8631cbc672 100644
--- a/drivers/gpu/drm/i915/display/intel_vrr_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_vrr_regs.h
@@ -174,12 +174,6 @@
#define VRR_VSYNC_START_MASK REG_GENMASK(12, 0)
#define VRR_VSYNC_START(vsync_start) REG_FIELD_PREP(VRR_VSYNC_START_MASK, (vsync_start))
-/* Common register for HDMI EMP and DP AS SDP */
-#define _EMP_AS_SDP_TL_A 0x60204
-#define EMP_AS_SDP_TL(display, trans) _MMIO_TRANS2((display), (trans), _EMP_AS_SDP_TL_A)
-#define EMP_AS_SDP_DB_TL_MASK REG_GENMASK(12, 0)
-#define EMP_AS_SDP_DB_TL(db_transmit_line) REG_FIELD_PREP(EMP_AS_SDP_DB_TL_MASK, (db_transmit_line))
-
#define _TRANS_CMRR_M_LO_A 0x604F0
#define TRANS_CMRR_M_LO(display, trans) _MMIO_TRANS2((display), (trans), _TRANS_CMRR_M_LO_A)
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 67b8b5477639..ba4404896f2f 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -259,6 +259,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
i915-display/intel_ddi.o \
i915-display/intel_ddi_buf_trans.o \
i915-display/intel_de.o \
+ i915-display/intel_dip.o \
i915-display/intel_display.o \
i915-display/intel_display_conversion.o \
i915-display/intel_display_device.o \
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 02/13] drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 01/13] drm/i915/dip: Add new file to handle Data Island Packet hardware Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 03/13] drm/i915/intel_dip: Add check for DP encoder Ankit Nautiyal
` (14 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Now that intel_dip_write_emp_as_sdp_tl() exists, use it instead of
the open-coded EMP_AS_SDP_TL programming sequence in
intel_vrr_set_transcoder_timings().
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_vrr.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
index fd8b6f829cfe..a516ba34e0d0 100644
--- a/drivers/gpu/drm/i915/display/intel_vrr.c
+++ b/drivers/gpu/drm/i915/display/intel_vrr.c
@@ -17,6 +17,7 @@
#include "intel_cmtg.h"
#include "intel_crtc.h"
#include "intel_de.h"
+#include "intel_dip.h"
#include "intel_dip_regs.h"
#include "intel_display_limits.h"
#include "intel_display_regs.h"
@@ -711,17 +712,7 @@ void intel_vrr_set_transcoder_timings(const struct intel_crtc_state *crtc_state)
VRR_VSYNC_END(crtc_state->vrr.vsync_end) |
VRR_VSYNC_START(crtc_state->vrr.vsync_start));
- /*
- * For BMG and LNL+ onwards the EMP_AS_SDP_TL is used for programming
- * double buffering point and transmission line for VRR packets for
- * HDMI2.1/DP/eDP/DP->HDMI2.1 PCON.
- * Since currently we support VRR only for DP/eDP, so this is programmed
- * to for Adaptive Sync SDP to Vsync start.
- */
- if (DISPLAY_VERx100(display) == 1401 || DISPLAY_VER(display) >= 20)
- intel_de_write(display,
- EMP_AS_SDP_TL(display, cpu_transcoder),
- EMP_AS_SDP_DB_TL(crtc_state->vrr.vsync_start));
+ intel_dip_write_emp_as_sdp_tl(crtc_state);
}
void
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 03/13] drm/i915/intel_dip: Add check for DP encoder
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 01/13] drm/i915/dip: Add new file to handle Data Island Packet hardware Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 02/13] drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 04/13] drm/i915/dip: Add helper to get AS SDP Transmission Line Ankit Nautiyal
` (13 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
At the moment, the common register for programming Transmission line for
Extended Metadata Packet and Adaptive-Sync Secondary Data Packet
(EMP_AS_SDP_TL) is only used to program Adaptive-Sync SDP (AS SDP).
Since VRR and Video Timing Extended Metadat Packet (VTEMP) are not yet
implemented for HDMI, add an explicit check to write the register only
for DP encoders (that may use AS SDP) and reset the register for non-DP
encoders.
In subsequent changes, instead of directly writing the value,
appropriate helpers will be called, that will supply the transmission line
for these packets.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dip.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dip.c b/drivers/gpu/drm/i915/display/intel_dip.c
index 2e2bdb2b199c..b28352a9e23f 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.c
+++ b/drivers/gpu/drm/i915/display/intel_dip.c
@@ -26,14 +26,19 @@ void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
{
struct intel_display *display = to_intel_display(crtc_state);
enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
+ u32 transmission_line = 0;
if (!HAS_EMP_AS_SDP_TL(display))
return;
/*
- * Since currently we support VRR only for DP/eDP, so this is programmed
- * only for Adaptive Sync SDP to Vsync start.
+ * Since we currently support VRR only for DP/eDP, program the register
+ * for Adaptive Sync SDP using vsync start. For non-DP encoders,
+ * the register is reset to 0.
*/
+ if (intel_crtc_has_dp_encoder(crtc_state))
+ transmission_line = crtc_state->vrr.vsync_start;
+
intel_de_write(display,
EMP_AS_SDP_TL(display, cpu_transcoder),
- EMP_AS_SDP_DB_TL(crtc_state->vrr.vsync_start));
+ EMP_AS_SDP_DB_TL(transmission_line));
}
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 04/13] drm/i915/dip: Add helper to get AS SDP Transmission Line
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (2 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 03/13] drm/i915/intel_dip: Add check for DP encoder Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 05/13] drm/i915/display: Add crtc state for DIP transmission lines Ankit Nautiyal
` (12 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Introduce a DIP helper to compute the Adaptive Sync SDP transmission line
and use it when programming the EMP_AS_SDP_TL register.
Currently the AS SDP transmission line is programmed to the T1 position.
This can be extended in the future to support programming the T2 position
as well.
While at it, improve the documentation: the AS SDP transmission line
corresponds to the T1 position, which maps to the start of the VSYNC
pulse.
v2:
- Move the helper into intel_dip.c and make it static, since intel_dip.c
is its only caller.
- Drop the now unused prototype from intel_dp.h.
- Add the check HAS_EMP_AS_SDP_TL(). (Suraj)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> (#v1)
---
drivers/gpu/drm/i915/display/intel_dip.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dip.c b/drivers/gpu/drm/i915/display/intel_dip.c
index b28352a9e23f..0277b15e1c82 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.c
+++ b/drivers/gpu/drm/i915/display/intel_dip.c
@@ -9,6 +9,23 @@
#include "intel_dip_regs.h"
#include "intel_display_types.h"
+static int intel_dip_get_as_sdp_transmission_line(const struct intel_crtc_state *crtc_state)
+{
+ struct intel_display *display = to_intel_display(crtc_state);
+
+ if (!HAS_EMP_AS_SDP_TL(display))
+ return 0;
+
+ /*
+ * EMP_AS_SDP_TL defines the T1 position as the default AS SDP
+ * Transmission Line, which corresponds to the start of the
+ * VSYNC pulse.
+ *
+ * Use the T1 position for now.
+ */
+ return crtc_state->vrr.vsync_start;
+}
+
u16 intel_dip_read_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
{
struct intel_display *display = to_intel_display(crtc_state);
@@ -36,7 +53,7 @@ void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
* the register is reset to 0.
*/
if (intel_crtc_has_dp_encoder(crtc_state))
- transmission_line = crtc_state->vrr.vsync_start;
+ transmission_line = intel_dip_get_as_sdp_transmission_line(crtc_state);
intel_de_write(display,
EMP_AS_SDP_TL(display, cpu_transcoder),
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 05/13] drm/i915/display: Add crtc state for DIP transmission lines
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (3 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 04/13] drm/i915/dip: Add helper to get AS SDP Transmission Line Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 06/13] drm/i915/dip: Store and use AS SDP transmission line from crtc state Ankit Nautiyal
` (11 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
The Adaptive Sync SDP is currently the only packet with a programmable
transmission line.
Make a structure struct intel_dip for Data Island Packets. Add a member to
track Adaptive-Sync SDP transmission line. Include the new member in the
pipe configuration comparison.
This will pave the way for supporting more packets' programmable
transmission lines, including the common base SDP transmission line
introduced with Xe3p_lpd.
v2:
- Move struct intel_dip from intel_dip.h to intel_display_types.h (Jani)
- Move PIPE_CONF_CHECK for emp_as_sdp_tl in !fastset block. (Sashiko)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> (#v1)
---
drivers/gpu/drm/i915/display/intel_display.c | 1 +
drivers/gpu/drm/i915/display/intel_display_types.h | 10 ++++++++++
2 files changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 9151ea6c15ab..5e8f2e48e95b 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -5602,6 +5602,7 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
PIPE_CONF_CHECK_I(vrr.dc_balance.max_increase);
PIPE_CONF_CHECK_I(vrr.dc_balance.max_decrease);
PIPE_CONF_CHECK_I(vrr.dc_balance.vblank_target);
+ PIPE_CONF_CHECK_I(dip.emp_as_sdp_tl);
}
if (!fastset || intel_vrr_always_use_vrr_tg(display)) {
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 9016be52c7ea..bcaf42cefa17 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1006,6 +1006,14 @@ struct intel_casf {
bool enable;
};
+struct intel_dip {
+ /*
+ * DIP Transmission line, relative to the Vtotal.
+ * The programmed transmit line is (Vtotal - value)
+ */
+ u16 emp_as_sdp_tl;
+};
+
struct intel_crtc_state {
/*
* uapi (drm) state. This is the software state shown to userspace.
@@ -1312,6 +1320,8 @@ struct intel_crtc_state {
struct drm_dp_as_sdp as_sdp;
} infoframes;
+ struct intel_dip dip;
+
u8 eld[MAX_ELD_BYTES];
/* HDMI scrambling status */
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 06/13] drm/i915/dip: Store and use AS SDP transmission line from crtc state
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (4 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 05/13] drm/i915/display: Add crtc state for DIP transmission lines Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 15:30 ` sashiko-bot
2026-09-13 14:56 ` [PATCH v6 07/13] drm/i915/dip_regs: Add register definitions for common SDP Transmission Line Ankit Nautiyal
` (10 subsequent siblings)
16 siblings, 1 reply; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
The driver currently computes the Adaptive Sync SDP transmission line
directly at programming time. Instead, compute and store the
AS SDP transmission line in the crtc state and use it when programming the
EMP_AS_SDP_TL register.
We get the clear picture about the SDPs and guardband only in
intel_dp_sdp_compute_config_late() therefore we must configure the
AS SDP transmission line at this point when AS SDP is enabled in
crtc_state.
This prepares the ground for supporting programmable transmission lines
for additional DP SDPs.
While moving the helper into intel_dip.c, drop the
intel_crtc_has_dp_encoder() check instead of relocating it. It was
needed in the old VRR write path shared by other encoderes as well, but
intel_dip_sdp_tl_compute_config_late() is only reached via DP, so HDMI
never sets crtc_state->dip.emp_as_sdp_tl and it stays 0 by default.
v2:
- Move the helper into intel_dip.c and drop the
intel_crtc_has_dp_encoder() check.
- Drop the redundant checks. (Suraj)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/i915/display/intel_ddi.c | 2 ++
drivers/gpu/drm/i915/display/intel_dip.c | 20 +++++++++++---------
drivers/gpu/drm/i915/display/intel_dip.h | 3 +++
drivers/gpu/drm/i915/display/intel_dp.c | 3 +++
4 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 9b3b526e5e55..dacb4b7588a0 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -49,6 +49,7 @@
#include "intel_ddi.h"
#include "intel_ddi_buf_trans.h"
#include "intel_de.h"
+#include "intel_dip.h"
#include "intel_display_power.h"
#include "intel_display_regs.h"
#include "intel_display_types.h"
@@ -4235,6 +4236,7 @@ static void intel_ddi_get_config(struct intel_encoder *encoder,
intel_read_dp_sdp(encoder, pipe_config, HDMI_PACKET_TYPE_GAMUT_METADATA);
intel_read_dp_sdp(encoder, pipe_config, DP_SDP_VSC);
intel_read_dp_sdp(encoder, pipe_config, DP_SDP_ADAPTIVE_SYNC);
+ intel_dip_sdp_transmission_line_get_config(pipe_config);
intel_audio_codec_get_config(encoder, pipe_config);
}
diff --git a/drivers/gpu/drm/i915/display/intel_dip.c b/drivers/gpu/drm/i915/display/intel_dip.c
index 0277b15e1c82..d1acc7eb5a39 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.c
+++ b/drivers/gpu/drm/i915/display/intel_dip.c
@@ -43,19 +43,21 @@ void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
{
struct intel_display *display = to_intel_display(crtc_state);
enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
- u32 transmission_line = 0;
if (!HAS_EMP_AS_SDP_TL(display))
return;
- /*
- * Since we currently support VRR only for DP/eDP, program the register
- * for Adaptive Sync SDP using vsync start. For non-DP encoders,
- * the register is reset to 0.
- */
- if (intel_crtc_has_dp_encoder(crtc_state))
- transmission_line = intel_dip_get_as_sdp_transmission_line(crtc_state);
intel_de_write(display,
EMP_AS_SDP_TL(display, cpu_transcoder),
- EMP_AS_SDP_DB_TL(transmission_line));
+ EMP_AS_SDP_DB_TL(crtc_state->dip.emp_as_sdp_tl));
+}
+
+void intel_dip_sdp_tl_compute_config_late(struct intel_crtc_state *crtc_state)
+{
+ crtc_state->dip.emp_as_sdp_tl = intel_dip_get_as_sdp_transmission_line(crtc_state);
+}
+
+void intel_dip_sdp_transmission_line_get_config(struct intel_crtc_state *crtc_state)
+{
+ crtc_state->dip.emp_as_sdp_tl = intel_dip_read_emp_as_sdp_tl(crtc_state);
}
diff --git a/drivers/gpu/drm/i915/display/intel_dip.h b/drivers/gpu/drm/i915/display/intel_dip.h
index 25bae4a04d6b..20f9aeb85c39 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.h
+++ b/drivers/gpu/drm/i915/display/intel_dip.h
@@ -35,4 +35,7 @@ struct intel_crtc_state;
u16 intel_dip_read_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state);
void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state);
+void intel_dip_sdp_tl_compute_config_late(struct intel_crtc_state *crtc_state);
+void intel_dip_sdp_transmission_line_get_config(struct intel_crtc_state *crtc_state);
+
#endif /* __INTEL_DIP_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 0cd5e6b5034c..8c3a324e164e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -61,6 +61,7 @@
#include "intel_cx0_phy.h"
#include "intel_ddi.h"
#include "intel_de.h"
+#include "intel_dip.h"
#include "intel_display_driver.h"
#include "intel_display_jiffies.h"
#include "intel_display_utils.h"
@@ -7324,6 +7325,8 @@ int intel_dp_sdp_compute_config_late(struct intel_crtc_state *crtc_state)
return -EINVAL;
}
+ intel_dip_sdp_tl_compute_config_late(crtc_state);
+
return 0;
}
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 07/13] drm/i915/dip_regs: Add register definitions for common SDP Transmission Line
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (5 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 06/13] drm/i915/dip: Store and use AS SDP transmission line from crtc state Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 08/13] drm/i915/dip: Add HAS_COMMON_SDP_TL macro Ankit Nautiyal
` (9 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
From: Arun R Murthy <arun.r.murthy@intel.com>
Add registers definitions for common SDP transmission line CMN_SDP_TL
and CMN_SDP_TL_STGR_CTL.
v2: Move all registers to intel_dip_regs.h (Ankit)
Bspec: 74384
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dip_regs.h | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dip_regs.h b/drivers/gpu/drm/i915/display/intel_dip_regs.h
index 85dcbf42e77d..7e69c5cf63da 100644
--- a/drivers/gpu/drm/i915/display/intel_dip_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_dip_regs.h
@@ -14,4 +14,23 @@
#define EMP_AS_SDP_DB_TL_MASK REG_GENMASK(12, 0)
#define EMP_AS_SDP_DB_TL(db_transmit_line) REG_FIELD_PREP(EMP_AS_SDP_DB_TL_MASK, (db_transmit_line))
+/* COMMON SDP TRANSMISSION LINE */
+#define _CMN_SDP_TL_A 0x6020c
+#define CMN_SDP_TL(display, trans) _MMIO_TRANS2(display, (trans), _CMN_SDP_TL_A)
+#define TRANSMISSION_LINE_ENABLE REG_BIT(31)
+#define BASE_TRANSMISSION_LINE_MASK REG_GENMASK(12, 0)
+#define BASE_TRANSMISSION_LINE(x) REG_FIELD_PREP(BASE_TRANSMISSION_LINE_MASK, x)
+
+#define _CMN_SDP_TL_STGR_CTL_A 0x60214
+#define CMN_SDP_TL_STGR_CTL(display, trans) _MMIO_TRANS2(display, (trans), _CMN_SDP_TL_STGR_CTL_A)
+#define VSC_EXT_STAGGER_MASK REG_GENMASK(11, 8)
+#define VSC_EXT_STAGGER(x) REG_FIELD_PREP(VSC_EXT_STAGGER_MASK, x)
+#define VSC_EXT_STAGGER_DEFAULT 0x2
+#define PPS_STAGGER_MASK REG_GENMASK(7, 4)
+#define PPS_STAGGER(x) REG_FIELD_PREP(PPS_STAGGER_MASK, x)
+#define PPS_STAGGER_DEFAULT 0x1
+#define GMP_STAGGER_MASK REG_GENMASK(3, 0)
+#define GMP_STAGGER(x) REG_FIELD_PREP(GMP_STAGGER_MASK, x)
+#define GMP_STAGGER_DEFAULT 0x0
+
#endif /* __INTEL_DIP_REGS_H__ */
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 08/13] drm/i915/dip: Add HAS_COMMON_SDP_TL macro
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (6 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 07/13] drm/i915/dip_regs: Add register definitions for common SDP Transmission Line Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 09/13] drm/i915/dip: Store SDP transmission lines in crtc_state Ankit Nautiyal
` (8 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Add a helper macro to detect CMN SDP TL support on platforms with display
version 35 and above.
v2: Use prefix drm/i915/dip. (Suraj)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dip.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dip.h b/drivers/gpu/drm/i915/display/intel_dip.h
index 20f9aeb85c39..8ff22eb5663b 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.h
+++ b/drivers/gpu/drm/i915/display/intel_dip.h
@@ -32,6 +32,16 @@ struct intel_crtc_state;
#define HAS_EMP_AS_SDP_TL(__display) (DISPLAY_VERx100(__display) == 1401 || \
DISPLAY_VER(__display) >= 20)
+/*
+ * CMN SDP TL: Common Secondary Data Packet Transmission Line.
+ *
+ * Xe3p_lpd introduces new register CMN_SDP_TL to program a common SDP
+ * Transmission line that will be used by the Hardware to position the
+ * SDPs. Along with this, another new register CMN_SDP_TL_STGR_CTL is
+ * also added to stagger the different SDPs.
+ */
+#define HAS_COMMON_SDP_TL(__display) (DISPLAY_VER(__display) >= 35)
+
u16 intel_dip_read_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state);
void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state);
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 09/13] drm/i915/dip: Store SDP transmission lines in crtc_state
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (7 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 08/13] drm/i915/dip: Add HAS_COMMON_SDP_TL macro Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 10/13] drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission line Ankit Nautiyal
` (7 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Currently the driver only programs the transmission line for the
Adaptive-Sync SDP, while the hardware controls the transmission lines for
other SDPs.
Starting with Xe3p_lpd, the hardware allows the driver to program
transmission lines for additional DP SDPs. Prepare for this by adding
fields to struct intel_crtc_state to store SDP transmission lines, and
include them in pipe config comparison.
The SDP transmission line fields track vrr.vsync_start/vtotal, which are
allowed to change during a seamless LRR fastset. Guard their pipe config
comparison under !fastset, same as vrr.vsync_start/vsync_end, so a fastset
is not unnecessarily turned into a full modeset.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 5 +++++
drivers/gpu/drm/i915/display/intel_display_types.h | 6 ++++++
2 files changed, 11 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 5e8f2e48e95b..e052c5ad99d9 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -5603,6 +5603,11 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
PIPE_CONF_CHECK_I(vrr.dc_balance.max_decrease);
PIPE_CONF_CHECK_I(vrr.dc_balance.vblank_target);
PIPE_CONF_CHECK_I(dip.emp_as_sdp_tl);
+ PIPE_CONF_CHECK_I(dip.gmp_sdp_tl);
+ PIPE_CONF_CHECK_I(dip.pps_sdp_tl);
+ PIPE_CONF_CHECK_I(dip.vsc_sdp_tl);
+ PIPE_CONF_CHECK_I(dip.vsc_ext_sdp_tl);
+ PIPE_CONF_CHECK_I(dip.cmn_sdp_tl);
}
if (!fastset || intel_vrr_always_use_vrr_tg(display)) {
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index bcaf42cefa17..105d25123db3 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -1012,6 +1012,12 @@ struct intel_dip {
* The programmed transmit line is (Vtotal - value)
*/
u16 emp_as_sdp_tl;
+ u16 gmp_sdp_tl;
+ u16 pps_sdp_tl;
+ u16 vsc_sdp_tl;
+ u16 vsc_ext_sdp_tl;
+ /* Common SDP Base transmission line (Xe3p_lpd+) */
+ u16 cmn_sdp_tl;
};
struct intel_crtc_state {
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 10/13] drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission line
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (8 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 09/13] drm/i915/dip: Store SDP transmission lines in crtc_state Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 11/13] drm/i915/dip: Enable Common " Ankit Nautiyal
` (6 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Introduce helpers to program or disable CMN_SDP_TL and stagger registers
using the state stored in crtc_state.
v2:
- Use HAS_COMMON_SDP_TL(display) instead of checking crtc_state->dip.cmn_sdp_tl,
since 0 is a valid transmission line value. (Sashiko)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dip.c | 56 ++++++++++++++++++++++++
drivers/gpu/drm/i915/display/intel_dip.h | 2 +
2 files changed, 58 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dip.c b/drivers/gpu/drm/i915/display/intel_dip.c
index d1acc7eb5a39..f8e8577b2755 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.c
+++ b/drivers/gpu/drm/i915/display/intel_dip.c
@@ -4,6 +4,8 @@
*
*/
+#include <drm/drm_print.h>
+
#include "intel_de.h"
#include "intel_dip.h"
#include "intel_dip_regs.h"
@@ -61,3 +63,57 @@ void intel_dip_sdp_transmission_line_get_config(struct intel_crtc_state *crtc_st
{
crtc_state->dip.emp_as_sdp_tl = intel_dip_read_emp_as_sdp_tl(crtc_state);
}
+
+static int intel_dip_sdp_tl_to_stagger(const struct intel_crtc_state *crtc_state,
+ u16 sdp_transmission_line)
+{
+ return sdp_transmission_line - crtc_state->dip.cmn_sdp_tl;
+}
+
+void intel_dip_cmn_sdp_transmission_line_enable(const struct intel_crtc_state *crtc_state)
+{
+ struct intel_display *display = to_intel_display(crtc_state);
+ enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
+ int gmp_stagger;
+ int pps_stagger;
+ int vsc_ext_stagger;
+
+ if (!HAS_COMMON_SDP_TL(display))
+ return;
+
+ gmp_stagger = intel_dip_sdp_tl_to_stagger(crtc_state,
+ crtc_state->dip.gmp_sdp_tl);
+
+ pps_stagger = intel_dip_sdp_tl_to_stagger(crtc_state,
+ crtc_state->dip.pps_sdp_tl);
+
+ vsc_ext_stagger = intel_dip_sdp_tl_to_stagger(crtc_state,
+ crtc_state->dip.vsc_ext_sdp_tl);
+
+ if (drm_WARN_ON(display->drm, gmp_stagger < 0))
+ return;
+ if (drm_WARN_ON(display->drm, pps_stagger < 0))
+ return;
+ if (drm_WARN_ON(display->drm, vsc_ext_stagger < 0))
+ return;
+
+ intel_de_write(display, CMN_SDP_TL_STGR_CTL(display, cpu_transcoder),
+ GMP_STAGGER(gmp_stagger) |
+ PPS_STAGGER(pps_stagger) |
+ VSC_EXT_STAGGER(vsc_ext_stagger));
+
+ intel_de_write(display, CMN_SDP_TL(display, cpu_transcoder),
+ TRANSMISSION_LINE_ENABLE |
+ BASE_TRANSMISSION_LINE(crtc_state->dip.cmn_sdp_tl));
+}
+
+void intel_dip_cmn_sdp_transmission_line_disable(const struct intel_crtc_state *old_crtc_state)
+{
+ struct intel_display *display = to_intel_display(old_crtc_state);
+ enum transcoder cpu_transcoder = old_crtc_state->cpu_transcoder;
+
+ if (!HAS_COMMON_SDP_TL(display))
+ return;
+
+ intel_de_write(display, CMN_SDP_TL(display, cpu_transcoder), 0);
+}
diff --git a/drivers/gpu/drm/i915/display/intel_dip.h b/drivers/gpu/drm/i915/display/intel_dip.h
index 8ff22eb5663b..7c64c84cb1be 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.h
+++ b/drivers/gpu/drm/i915/display/intel_dip.h
@@ -47,5 +47,7 @@ void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state);
void intel_dip_sdp_tl_compute_config_late(struct intel_crtc_state *crtc_state);
void intel_dip_sdp_transmission_line_get_config(struct intel_crtc_state *crtc_state);
+void intel_dip_cmn_sdp_transmission_line_enable(const struct intel_crtc_state *crtc_state);
+void intel_dip_cmn_sdp_transmission_line_disable(const struct intel_crtc_state *old_crtc_state);
#endif /* __INTEL_DIP_H__ */
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 11/13] drm/i915/dip: Enable Common SDP Transmission line
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (9 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 10/13] drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission line Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 15:33 ` sashiko-bot
2026-09-13 14:56 ` [PATCH v6 12/13] drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL Ankit Nautiyal
` (5 subsequent siblings)
16 siblings, 1 reply; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Enable programming of the common SDP transmission line on platforms that
support it. Compute and program the common base transmission line and
per-SDP stagger values from the crtc state during modeset, and disable the
feature on pipe disable.
Currently, the stagger values are set as per the default policy of the
Hardware. This can be optimized later if we come up with a specific driver
policy to sequence the SDPs better.
v2: Add WARN if the Common Transmission Line is more than Guardband +
SCL. (Suraj)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/i915/display/intel_ddi.c | 3 +
drivers/gpu/drm/i915/display/intel_dip.c | 96 ++++++++++++++++++++++++
2 files changed, 99 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index dacb4b7588a0..3cdb06e81130 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -2737,6 +2737,8 @@ static void mtl_ddi_pre_enable_dp(struct intel_atomic_state *state,
/* 6.o Configure and enable FEC if needed */
intel_ddi_enable_fec(encoder, crtc_state);
+ intel_dip_cmn_sdp_transmission_line_enable(crtc_state);
+
/* 7.a 128b/132b SST. */
if (!is_mst && intel_dp_is_uhbr(crtc_state)) {
/* VCPID 1, start slot 0 for 128b/132b, tu slots */
@@ -3124,6 +3126,7 @@ static void intel_ddi_buf_disable(struct intel_encoder *encoder,
DP_TP_CTL_ENABLE, 0);
}
+ intel_dip_cmn_sdp_transmission_line_disable(crtc_state);
intel_ddi_disable_fec(encoder, crtc_state);
if (DISPLAY_VER(display) < 14)
diff --git a/drivers/gpu/drm/i915/display/intel_dip.c b/drivers/gpu/drm/i915/display/intel_dip.c
index f8e8577b2755..f447150ff7bc 100644
--- a/drivers/gpu/drm/i915/display/intel_dip.c
+++ b/drivers/gpu/drm/i915/display/intel_dip.c
@@ -10,6 +10,7 @@
#include "intel_dip.h"
#include "intel_dip_regs.h"
#include "intel_display_types.h"
+#include "intel_hdmi.h"
static int intel_dip_get_as_sdp_transmission_line(const struct intel_crtc_state *crtc_state)
{
@@ -54,14 +55,109 @@ void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
EMP_AS_SDP_DB_TL(crtc_state->dip.emp_as_sdp_tl));
}
+static int intel_dip_sdp_stagger_to_tl(struct intel_crtc_state *crtc_state,
+ int stagger)
+{
+ return crtc_state->dip.cmn_sdp_tl + stagger;
+}
+
+static
+void intel_dip_cmn_sdp_tl_compute_config_late(struct intel_crtc_state *crtc_state)
+{
+ struct intel_display *display = to_intel_display(crtc_state);
+ bool as_sdp;
+
+ if (!HAS_COMMON_SDP_TL(display))
+ return;
+
+ as_sdp = crtc_state->infoframes.enable &
+ intel_hdmi_infoframe_enable(DP_SDP_ADAPTIVE_SYNC);
+ /*
+ * When AS SDP is enabled :
+ * - The common SDP Transmission Line matches the EMP SDP Transmission Line.
+ *
+ * When AS SDP is disabled:
+ * - Bspec mentions the positions as lines of delayed vblank.
+ * - Guardband = 1st line of delayed vblank
+ * - Common SDP Transmission line is set to 2nd line of delayed vblank.
+ */
+
+ if (as_sdp)
+ crtc_state->dip.cmn_sdp_tl = crtc_state->dip.emp_as_sdp_tl;
+ else
+ crtc_state->dip.cmn_sdp_tl = crtc_state->vrr.guardband - 1;
+
+ if (drm_WARN_ON(display->drm,
+ crtc_state->dip.cmn_sdp_tl >=
+ crtc_state->vrr.guardband + crtc_state->set_context_latency))
+ return;
+
+ /*
+ * Currently we are programming the default stagger values, but these
+ * can be optimized if required, based on number of SDPs enabled.
+ *
+ * Default values of the Transmission lines for SDPs other than AS SDP:
+ * VSC : CMN SDP Transmission line
+ * GMP : CMN SDP Transmission line
+ * PPS : CMN SDP Transmission line + 1
+ * VSC_EXT: CMN SDP Transmission line + 2
+ */
+ crtc_state->dip.vsc_sdp_tl = crtc_state->dip.cmn_sdp_tl;
+ crtc_state->dip.gmp_sdp_tl =
+ intel_dip_sdp_stagger_to_tl(crtc_state, GMP_STAGGER_DEFAULT);
+ crtc_state->dip.pps_sdp_tl =
+ intel_dip_sdp_stagger_to_tl(crtc_state, PPS_STAGGER_DEFAULT);
+ crtc_state->dip.vsc_ext_sdp_tl =
+ intel_dip_sdp_stagger_to_tl(crtc_state, VSC_EXT_STAGGER_DEFAULT);
+}
+
void intel_dip_sdp_tl_compute_config_late(struct intel_crtc_state *crtc_state)
{
crtc_state->dip.emp_as_sdp_tl = intel_dip_get_as_sdp_transmission_line(crtc_state);
+
+ intel_dip_cmn_sdp_tl_compute_config_late(crtc_state);
+}
+
+static
+void intel_dip_cmn_sdp_transmission_line_get_config(struct intel_crtc_state *crtc_state)
+{
+ struct intel_display *display = to_intel_display(crtc_state);
+ enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
+ u16 vsc_ext_stagger, pps_stagger, gmp_stagger;
+ u32 val;
+
+ if (!HAS_COMMON_SDP_TL(display))
+ return;
+
+ val = intel_de_read(display, CMN_SDP_TL(display, cpu_transcoder));
+
+ if (!(val & TRANSMISSION_LINE_ENABLE))
+ return;
+
+ crtc_state->dip.cmn_sdp_tl = REG_FIELD_GET(BASE_TRANSMISSION_LINE_MASK, val);
+
+ /* SDP VSC uses same transmission line as CMN base transmission line */
+ crtc_state->dip.vsc_sdp_tl = crtc_state->dip.cmn_sdp_tl;
+
+ val = intel_de_read(display, CMN_SDP_TL_STGR_CTL(display, cpu_transcoder));
+
+ vsc_ext_stagger = REG_FIELD_GET(VSC_EXT_STAGGER_MASK, val);
+ pps_stagger = REG_FIELD_GET(PPS_STAGGER_MASK, val);
+ gmp_stagger = REG_FIELD_GET(GMP_STAGGER_MASK, val);
+
+ crtc_state->dip.vsc_ext_sdp_tl =
+ intel_dip_sdp_stagger_to_tl(crtc_state, vsc_ext_stagger);
+ crtc_state->dip.pps_sdp_tl =
+ intel_dip_sdp_stagger_to_tl(crtc_state, pps_stagger);
+ crtc_state->dip.gmp_sdp_tl =
+ intel_dip_sdp_stagger_to_tl(crtc_state, gmp_stagger);
}
void intel_dip_sdp_transmission_line_get_config(struct intel_crtc_state *crtc_state)
{
crtc_state->dip.emp_as_sdp_tl = intel_dip_read_emp_as_sdp_tl(crtc_state);
+
+ intel_dip_cmn_sdp_transmission_line_get_config(crtc_state);
}
static int intel_dip_sdp_tl_to_stagger(const struct intel_crtc_state *crtc_state,
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 12/13] drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (10 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 11/13] drm/i915/dip: Enable Common " Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 15:25 ` sashiko-bot
2026-09-13 14:56 ` [PATCH v6 13/13] drm/i915/display: Dump DIP Transmission lines Ankit Nautiyal
` (4 subsequent siblings)
16 siblings, 1 reply; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Once CMN_SDP_TL is enabled, GMP/PPS/VSC/VSC_EXT/AS SDPs are no longer
positioned relative to the guardband: they are anchored via
CMN_SDP_TL/CMN_SDP_TL_STGR_CTL instead. As per Bspec 68921, SDP Setup is
0 in this mode, so the old per-packet guardband sizing (based on
GMP/PPS/AS-SDP being enabled) no longer applies for GMP/PPS/VSC/VSC_EXT.
Since we are using the default stagger values for now, size the guardband
such that the max default transmission line can be supported, similar to
when CMN SDP TL is not set:
base : 2nd line of delayed vblank
GMP : 2 + GMP_STAGGER
VSC_EXT: 2 + VSC_EXT_STAGGER
VSC : 2
PPS : 2 + PPS_STAGGER
SDP Setup = 1 + MAX(GMP, VSC_EXT, VSC, PPS setup lines)
Add intel_dp_get_lines_for_cmn_sdp_tl() and route it via the existing
intel_dp_get_lines_for_sdp().
The AS SDP check in intel_dp_sdp_min_guardband() still adds
vrr.vsync_start + 1 to the guardband, since AS SDP positioning is
unaffected by CMN_SDP_TL.
Bspec: 68921
Assisted-by: Copilot:claude-sonnet-4.5
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 49 ++++++++++++++++++++++++-
1 file changed, 47 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 8c3a324e164e..02e73ae9e34a 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -62,6 +62,7 @@
#include "intel_ddi.h"
#include "intel_de.h"
#include "intel_dip.h"
+#include "intel_dip_regs.h"
#include "intel_display_driver.h"
#include "intel_display_jiffies.h"
#include "intel_display_utils.h"
@@ -7348,9 +7349,55 @@ int intel_dp_compute_config_late(struct intel_encoder *encoder,
return 0;
}
+static
+int intel_dp_get_lines_for_cmn_sdp_tl(u32 type)
+{
+ u32 stagger_val;
+
+ /*
+ * Since we are using default stagger values similar to the case
+ * where CMN SDP TL is not set, the different SDP transmission
+ * lines are:
+ * base : 2nd line of delayed vblank:
+ * GMP : 2 + GMP_STAGGER
+ * VSC_EXT: 2 + VSC_EXT_STAGGER
+ * VSC : 2
+ * PPS : 2 + PPS_STAGGER
+ *
+ * SDP Setup = 1 + MAX(GMP, VSC_EXT, VSC, PPS setup lines)
+ *
+ * For EMP_AS_SDP_TL guardband should be more than vrr.vsync_start.
+ */
+
+ switch (type) {
+ case DP_SDP_VSC_EXT_VESA:
+ case DP_SDP_VSC_EXT_CEA:
+ stagger_val = VSC_EXT_STAGGER_DEFAULT;
+ break;
+ case HDMI_PACKET_TYPE_GAMUT_METADATA:
+ stagger_val = GMP_STAGGER_DEFAULT;
+ break;
+ case DP_SDP_PPS:
+ stagger_val = PPS_STAGGER_DEFAULT;
+ break;
+ default:
+ return 0;
+ }
+
+ return 1 + 2 + stagger_val;
+}
+
static
int intel_dp_get_lines_for_sdp(const struct intel_crtc_state *crtc_state, u32 type)
{
+ struct intel_display *display = to_intel_display(crtc_state);
+
+ if (type == DP_SDP_ADAPTIVE_SYNC)
+ return crtc_state->vrr.vsync_start + 1;
+
+ if (HAS_COMMON_SDP_TL(display))
+ return intel_dp_get_lines_for_cmn_sdp_tl(type);
+
switch (type) {
case DP_SDP_VSC_EXT_VESA:
case DP_SDP_VSC_EXT_CEA:
@@ -7359,8 +7406,6 @@ int intel_dp_get_lines_for_sdp(const struct intel_crtc_state *crtc_state, u32 ty
return 8;
case DP_SDP_PPS:
return 7;
- case DP_SDP_ADAPTIVE_SYNC:
- return crtc_state->vrr.vsync_start + 1;
default:
break;
}
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v6 13/13] drm/i915/display: Dump DIP Transmission lines
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (11 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 12/13] drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL Ankit Nautiyal
@ 2026-09-13 14:56 ` Ankit Nautiyal
2026-09-13 15:22 ` ✗ CI.checkpatch: warning for Add support for Common SDP Transmission Line (rev6) Patchwork
` (3 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Ankit Nautiyal @ 2026-09-13 14:56 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: ville.syrjala, arun.r.murthy, jani.nikula, suraj.kandpal,
Ankit Nautiyal
Add DIP transmission lines to the CRTC state dump.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_crtc_state_dump.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
index ad4f362e0c09..92675a88b969 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc_state_dump.c
@@ -251,6 +251,15 @@ void intel_crtc_state_dump(const struct intel_crtc_state *pipe_config,
str_enabled_disabled(pipe_config->has_panel_replay),
str_enabled_disabled(pipe_config->enable_psr2_sel_fetch));
drm_printf(&p, "minimum hblank: %d\n", pipe_config->min_hblank);
+
+ drm_printf(&p, "DIP Transmission Lines: EMP/AS SDP: %u\n",
+ pipe_config->dip.emp_as_sdp_tl);
+ drm_printf(&p, "DIP Transmission Lines: Common Base SDP: %u, GMP SDP: %u, PPS SDP: %u, VSC SDP: %u, VSC_EXT SDP: %u\n",
+ pipe_config->dip.cmn_sdp_tl,
+ pipe_config->dip.gmp_sdp_tl,
+ pipe_config->dip.pps_sdp_tl,
+ pipe_config->dip.vsc_sdp_tl,
+ pipe_config->dip.vsc_ext_sdp_tl);
}
drm_printf(&p, "audio: %i, infoframes: %i, infoframes enabled: 0x%x\n",
--
2.50.1
^ permalink raw reply related [flat|nested] 21+ messages in thread
* ✗ CI.checkpatch: warning for Add support for Common SDP Transmission Line (rev6)
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (12 preceding siblings ...)
2026-09-13 14:56 ` [PATCH v6 13/13] drm/i915/display: Dump DIP Transmission lines Ankit Nautiyal
@ 2026-09-13 15:22 ` Patchwork
2026-09-13 15:25 ` ✓ CI.KUnit: success " Patchwork
` (2 subsequent siblings)
16 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2026-09-13 15:22 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-xe
== Series Details ==
Series: Add support for Common SDP Transmission Line (rev6)
URL : https://patchwork.freedesktop.org/series/162623/
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
d875049d2b299159a272bd5151994970cdcd1e31
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 9a28301d91ba52c7270ba41210c9db2b5e0b03cb
Author: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Date: Sun Sep 13 20:26:48 2026 +0530
drm/i915/display: Dump DIP Transmission lines
Add DIP transmission lines to the CRTC state dump.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
+ /mt/dim checkpatch d0f49187686a810b5b83216805c07814ad7542dc drm-intel
8e356b844175 drm/i915/dip: Add new file to handle Data Island Packet hardware
-:34: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#34:
new file mode 100644
-:115: CHECK:MACRO_ARG_REUSE: Macro argument reuse '__display' - possible side-effects?
#115: FILE: drivers/gpu/drm/i915/display/intel_dip.h:32:
+#define HAS_EMP_AS_SDP_TL(__display) (DISPLAY_VERx100(__display) == 1401 || \
+ DISPLAY_VER(__display) >= 20)
-:142: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#142: FILE: drivers/gpu/drm/i915/display/intel_dip_regs.h:15:
+#define EMP_AS_SDP_DB_TL(db_transmit_line) REG_FIELD_PREP(EMP_AS_SDP_DB_TL_MASK, (db_transmit_line))
total: 0 errors, 2 warnings, 1 checks, 127 lines checked
a427a934f03e drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register
042c75abb6f4 drm/i915/intel_dip: Add check for DP encoder
7bb642dbc268 drm/i915/dip: Add helper to get AS SDP Transmission Line
972b2909c42b drm/i915/display: Add crtc state for DIP transmission lines
eb451f8e22d7 drm/i915/dip: Store and use AS SDP transmission line from crtc state
4526ec7970a4 drm/i915/dip_regs: Add register definitions for common SDP Transmission Line
-:33: WARNING:LONG_LINE: line length of 102 exceeds 100 columns
#33: FILE: drivers/gpu/drm/i915/display/intel_dip_regs.h:25:
+#define CMN_SDP_TL_STGR_CTL(display, trans) _MMIO_TRANS2(display, (trans), _CMN_SDP_TL_STGR_CTL_A)
total: 0 errors, 1 warnings, 0 checks, 23 lines checked
e91bd45fa89a drm/i915/dip: Add HAS_COMMON_SDP_TL macro
79deac9e8b5d drm/i915/dip: Store SDP transmission lines in crtc_state
f3a17d77b217 drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission line
-:11: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#11:
- Use HAS_COMMON_SDP_TL(display) instead of checking crtc_state->dip.cmn_sdp_tl,
total: 0 errors, 1 warnings, 0 checks, 72 lines checked
441be7690b74 drm/i915/dip: Enable Common SDP Transmission line
ddcf7fcb172c drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL
9a28301d91ba drm/i915/display: Dump DIP Transmission lines
^ permalink raw reply [flat|nested] 21+ messages in thread
* ✓ CI.KUnit: success for Add support for Common SDP Transmission Line (rev6)
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (13 preceding siblings ...)
2026-09-13 15:22 ` ✗ CI.checkpatch: warning for Add support for Common SDP Transmission Line (rev6) Patchwork
@ 2026-09-13 15:25 ` Patchwork
2026-09-13 16:02 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-13 17:04 ` ✓ Xe.CI.FULL: " Patchwork
16 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2026-09-13 15:25 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-xe
== Series Details ==
Series: Add support for Common SDP Transmission Line (rev6)
URL : https://patchwork.freedesktop.org/series/162623/
State : success
== Summary ==
+ trap cleanup EXIT
+ kunitconfigs=('/kernel/drivers/gpu/tests/.kunitconfig' '/kernel/drivers/gpu/drm/xe/.kunitconfig' '/kernel/drivers/gpu/drm/tests/.kunitconfig' '/kernel/drivers/gpu/drm/ttm/tests/.kunitconfig' '/kernel/drivers/dma-buf/.kunitconfig')
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/tests/.kunitconfig
[15:22:58] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:23: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
[15:23:23] Starting KUnit Kernel (1/1)...
[15:23:23] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:23:23] ============= refcount_interrupt (4 subtests) ==============
[15:23:23] [PASSED] test_single_irq_change
[15:23:23] [PASSED] test_nested_irq_change
[15:23:23] [PASSED] test_multiple_irq_change
[15:23:23] [PASSED] test_irq_save
[15:23:23] =============== [PASSED] refcount_interrupt ================
[15:23:23] ================= gpu_buddy (14 subtests) ==================
[15:23:23] [PASSED] gpu_test_buddy_alloc_limit
[15:23:23] [PASSED] gpu_test_buddy_alloc_optimistic
[15:23:23] [PASSED] gpu_test_buddy_alloc_pessimistic
[15:23:23] [PASSED] gpu_test_buddy_alloc_pathological
[15:23:23] [PASSED] gpu_test_buddy_alloc_contiguous
[15:23:23] [PASSED] gpu_test_buddy_alloc_clear
[15:23:23] [PASSED] gpu_test_buddy_alloc_range
[15:23:23] [PASSED] gpu_test_buddy_alloc_range_bias
[15:23:24] [PASSED] gpu_test_buddy_fragmentation_performance
[15:23:25] [PASSED] gpu_test_buddy_dirty_tracker_performance
[15:23:25] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[15:23:25] [PASSED] gpu_test_buddy_offset_aligned_allocation
[15:23:25] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[15:23:25] [PASSED] gpu_test_buddy_addr_to_block
[15:23:25] ==================== [PASSED] gpu_buddy ====================
[15:23:25] ============================================================
[15:23:25] Testing complete. Ran 18 tests: passed: 18
[15:23:25] Elapsed time: 26.814s total, 4.413s configuring, 20.434s building, 1.910s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/xe/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[15:23:25] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:23:27] 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
[15:24:01] Starting KUnit Kernel (1/1)...
[15:24:01] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:24:02] ============= refcount_interrupt (4 subtests) ==============
[15:24:02] [PASSED] test_single_irq_change
[15:24:02] [PASSED] test_nested_irq_change
[15:24:02] [PASSED] test_multiple_irq_change
[15:24:02] [PASSED] test_irq_save
[15:24:02] =============== [PASSED] refcount_interrupt ================
[15:24:02] ================== guc_buf (11 subtests) ===================
[15:24:02] [PASSED] test_smallest
[15:24:02] [PASSED] test_largest
[15:24:02] [PASSED] test_granular
[15:24:02] [PASSED] test_unique
[15:24:02] [PASSED] test_overlap
[15:24:02] [PASSED] test_reusable
[15:24:02] [PASSED] test_too_big
[15:24:02] [PASSED] test_flush
[15:24:02] [PASSED] test_lookup
[15:24:02] [PASSED] test_data
[15:24:02] [PASSED] test_class
[15:24:02] ===================== [PASSED] guc_buf =====================
[15:24:02] =================== guc_dbm (7 subtests) ===================
[15:24:02] [PASSED] test_empty
[15:24:02] [PASSED] test_default
[15:24:02] ======================== test_size ========================
[15:24:02] [PASSED] 4
[15:24:02] [PASSED] 8
[15:24:02] [PASSED] 32
[15:24:02] [PASSED] 256
[15:24:02] ==================== [PASSED] test_size ====================
[15:24:02] ======================= test_reuse ========================
[15:24:02] [PASSED] 4
[15:24:02] [PASSED] 8
[15:24:02] [PASSED] 32
[15:24:02] [PASSED] 256
[15:24:02] =================== [PASSED] test_reuse ====================
[15:24:02] =================== test_range_overlap ====================
[15:24:02] [PASSED] 4
[15:24:02] [PASSED] 8
[15:24:02] [PASSED] 32
[15:24:02] [PASSED] 256
[15:24:02] =============== [PASSED] test_range_overlap ================
[15:24:02] =================== test_range_compact ====================
[15:24:02] [PASSED] 4
[15:24:02] [PASSED] 8
[15:24:02] [PASSED] 32
[15:24:02] [PASSED] 256
[15:24:02] =============== [PASSED] test_range_compact ================
[15:24:02] ==================== test_range_spare =====================
[15:24:02] [PASSED] 4
[15:24:02] [PASSED] 8
[15:24:02] [PASSED] 32
[15:24:02] [PASSED] 256
[15:24:02] ================ [PASSED] test_range_spare =================
[15:24:02] ===================== [PASSED] guc_dbm =====================
[15:24:02] =================== guc_idm (6 subtests) ===================
[15:24:02] [PASSED] bad_init
[15:24:02] [PASSED] no_init
[15:24:02] [PASSED] init_fini
[15:24:02] [PASSED] check_used
[15:24:02] [PASSED] check_quota
[15:24:02] [PASSED] check_all
[15:24:02] ===================== [PASSED] guc_idm =====================
[15:24:02] =============== guc_klv_helpers (9 subtests) ===============
[15:24:02] [PASSED] test_count
[15:24:02] [PASSED] test_encode_u32
[15:24:02] [PASSED] test_encode_u64
[15:24:02] [PASSED] test_encode_string
[15:24:02] [PASSED] test_encode_object_raw
[15:24:02] [PASSED] test_encode_object_klv
[15:24:02] [PASSED] test_encode_object_nested
[15:24:02] [PASSED] test_encode_object_basic
[15:24:02] [PASSED] test_print
[15:24:02] ================= [PASSED] guc_klv_helpers =================
[15:24:02] =================== xe_log (4 subtests) ====================
[15:24:02] [PASSED] demo_cper
[15:24:02] [PASSED] demo_dmesg
[15:24:02] ======================= test_dmesg ========================
[15:24:02] [PASSED] test_fatal
[15:24:02] [PASSED] test_fatal_tile
[15:24:02] [PASSED] test_fatal_gt
[15:24:02] [PASSED] test_fatal_comp
[15:24:02] [PASSED] test_fatal_comp_tile
[15:24:02] [PASSED] test_fatal_comp_gt
[15:24:02] [PASSED] test_fatal_all
[15:24:02] [PASSED] test_recoverable
[15:24:02] [PASSED] test_recoverable_tile
[15:24:02] [PASSED] test_recoverable_gt
[15:24:02] [PASSED] test_recoverable_comp
[15:24:02] [PASSED] test_recoverable_comp_tile
[15:24:02] [PASSED] test_recoverable_comp_gt
[15:24:02] [PASSED] test_recoverable_all
[15:24:02] [PASSED] test_info
[15:24:02] [PASSED] test_info_tile
[15:24:02] [PASSED] test_info_gt
[15:24:02] [PASSED] test_info_err
[15:24:02] [PASSED] test_info_comp
[15:24:02] [PASSED] test_info_comp_tile
[15:24:02] [PASSED] test_info_comp_gt
[15:24:02] [PASSED] test_info_all
[15:24:02] [PASSED] test_hw_fatal
[15:24:02] [PASSED] test_hw_recoverable
[15:24:02] [PASSED] test_hw_corrected
[15:24:02] [PASSED] test_hw_informational
[15:24:02] =================== [PASSED] test_dmesg ====================
[15:24:02] ====================== test_invalid =======================
[15:24:02] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[15:24:02] ================== [SKIPPED] test_invalid ==================
[15:24:02] ===================== [PASSED] xe_log ======================
[15:24:02] ================== no_relay (3 subtests) ===================
[15:24:02] [PASSED] xe_drops_guc2pf_if_not_ready
[15:24:02] [PASSED] xe_drops_guc2vf_if_not_ready
[15:24:02] [PASSED] xe_rejects_send_if_not_ready
[15:24:02] ==================== [PASSED] no_relay =====================
[15:24:02] ================== pf_relay (14 subtests) ==================
[15:24:02] [PASSED] pf_rejects_guc2pf_too_short
[15:24:02] [PASSED] pf_rejects_guc2pf_too_long
[15:24:02] [PASSED] pf_rejects_guc2pf_no_payload
[15:24:02] [PASSED] pf_fails_no_payload
[15:24:02] [PASSED] pf_fails_bad_origin
[15:24:02] [PASSED] pf_fails_bad_type
[15:24:02] [PASSED] pf_txn_reports_error
[15:24:02] [PASSED] pf_txn_sends_pf2guc
[15:24:02] [PASSED] pf_sends_pf2guc
[15:24:02] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:24:02] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:24:02] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:24:02] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:24:02] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[15:24:02] ==================== [PASSED] pf_relay =====================
[15:24:02] ================== vf_relay (3 subtests) ===================
[15:24:02] [PASSED] vf_rejects_guc2vf_too_short
[15:24:02] [PASSED] vf_rejects_guc2vf_too_long
[15:24:02] [PASSED] vf_rejects_guc2vf_no_payload
[15:24:02] ==================== [PASSED] vf_relay =====================
[15:24:02] ================ pf_gt_config (9 subtests) =================
[15:24:02] [PASSED] fair_contexts_1vf
[15:24:02] [PASSED] fair_doorbells_1vf
[15:24:02] [PASSED] fair_ggtt_1vf
[15:24:02] ====================== fair_vram_1vf ======================
[15:24:02] [PASSED] 3.50 GiB
[15:24:02] [PASSED] 11.5 GiB
[15:24:02] [PASSED] 15.5 GiB
[15:24:02] [PASSED] 31.5 GiB
[15:24:02] [PASSED] 63.5 GiB
[15:24:02] [PASSED] 1.91 GiB
[15:24:02] ================== [PASSED] fair_vram_1vf ==================
[15:24:02] ================ fair_vram_1vf_admin_only =================
[15:24:02] [PASSED] 3.50 GiB
[15:24:02] [PASSED] 11.5 GiB
[15:24:02] [PASSED] 15.5 GiB
[15:24:02] [PASSED] 31.5 GiB
[15:24:02] [PASSED] 63.5 GiB
[15:24:02] [PASSED] 1.91 GiB
[15:24:02] ============ [PASSED] fair_vram_1vf_admin_only =============
[15:24:02] ====================== fair_contexts ======================
[15:24:02] [PASSED] 1 VF
[15:24:02] [PASSED] 2 VFs
[15:24:02] [PASSED] 3 VFs
[15:24:02] [PASSED] 4 VFs
[15:24:02] [PASSED] 5 VFs
[15:24:02] [PASSED] 6 VFs
[15:24:02] [PASSED] 7 VFs
[15:24:02] [PASSED] 8 VFs
[15:24:02] [PASSED] 9 VFs
[15:24:02] [PASSED] 10 VFs
[15:24:02] [PASSED] 11 VFs
[15:24:02] [PASSED] 12 VFs
[15:24:02] [PASSED] 13 VFs
[15:24:02] [PASSED] 14 VFs
[15:24:02] [PASSED] 15 VFs
[15:24:02] [PASSED] 16 VFs
[15:24:02] [PASSED] 17 VFs
[15:24:02] [PASSED] 18 VFs
[15:24:02] [PASSED] 19 VFs
[15:24:02] [PASSED] 20 VFs
[15:24:02] [PASSED] 21 VFs
[15:24:02] [PASSED] 22 VFs
[15:24:02] [PASSED] 23 VFs
[15:24:02] [PASSED] 24 VFs
[15:24:02] [PASSED] 25 VFs
[15:24:02] [PASSED] 26 VFs
[15:24:02] [PASSED] 27 VFs
[15:24:02] [PASSED] 28 VFs
[15:24:02] [PASSED] 29 VFs
[15:24:02] [PASSED] 30 VFs
[15:24:02] [PASSED] 31 VFs
[15:24:02] [PASSED] 32 VFs
[15:24:02] [PASSED] 33 VFs
[15:24:02] [PASSED] 34 VFs
[15:24:02] [PASSED] 35 VFs
[15:24:02] [PASSED] 36 VFs
[15:24:02] [PASSED] 37 VFs
[15:24:02] [PASSED] 38 VFs
[15:24:02] [PASSED] 39 VFs
[15:24:02] [PASSED] 40 VFs
[15:24:02] [PASSED] 41 VFs
[15:24:02] [PASSED] 42 VFs
[15:24:02] [PASSED] 43 VFs
[15:24:02] [PASSED] 44 VFs
[15:24:02] [PASSED] 45 VFs
[15:24:02] [PASSED] 46 VFs
[15:24:02] [PASSED] 47 VFs
[15:24:02] [PASSED] 48 VFs
[15:24:02] [PASSED] 49 VFs
[15:24:02] [PASSED] 50 VFs
[15:24:02] [PASSED] 51 VFs
[15:24:02] [PASSED] 52 VFs
[15:24:02] [PASSED] 53 VFs
[15:24:02] [PASSED] 54 VFs
[15:24:02] [PASSED] 55 VFs
[15:24:02] [PASSED] 56 VFs
[15:24:02] [PASSED] 57 VFs
[15:24:02] [PASSED] 58 VFs
[15:24:02] [PASSED] 59 VFs
[15:24:02] [PASSED] 60 VFs
[15:24:02] [PASSED] 61 VFs
[15:24:02] [PASSED] 62 VFs
[15:24:02] [PASSED] 63 VFs
[15:24:02] ================== [PASSED] fair_contexts ==================
[15:24:02] ===================== fair_doorbells ======================
[15:24:02] [PASSED] 1 VF
[15:24:02] [PASSED] 2 VFs
[15:24:02] [PASSED] 3 VFs
[15:24:02] [PASSED] 4 VFs
[15:24:02] [PASSED] 5 VFs
[15:24:02] [PASSED] 6 VFs
[15:24:02] [PASSED] 7 VFs
[15:24:02] [PASSED] 8 VFs
[15:24:02] [PASSED] 9 VFs
[15:24:02] [PASSED] 10 VFs
[15:24:02] [PASSED] 11 VFs
[15:24:02] [PASSED] 12 VFs
[15:24:02] [PASSED] 13 VFs
[15:24:02] [PASSED] 14 VFs
[15:24:02] [PASSED] 15 VFs
[15:24:02] [PASSED] 16 VFs
[15:24:02] [PASSED] 17 VFs
[15:24:02] [PASSED] 18 VFs
[15:24:02] [PASSED] 19 VFs
[15:24:02] [PASSED] 20 VFs
[15:24:02] [PASSED] 21 VFs
[15:24:02] [PASSED] 22 VFs
[15:24:02] [PASSED] 23 VFs
[15:24:02] [PASSED] 24 VFs
[15:24:02] [PASSED] 25 VFs
[15:24:02] [PASSED] 26 VFs
[15:24:02] [PASSED] 27 VFs
[15:24:02] [PASSED] 28 VFs
[15:24:02] [PASSED] 29 VFs
[15:24:02] [PASSED] 30 VFs
[15:24:02] [PASSED] 31 VFs
[15:24:02] [PASSED] 32 VFs
[15:24:02] [PASSED] 33 VFs
[15:24:02] [PASSED] 34 VFs
[15:24:02] [PASSED] 35 VFs
[15:24:02] [PASSED] 36 VFs
[15:24:02] [PASSED] 37 VFs
[15:24:02] [PASSED] 38 VFs
[15:24:02] [PASSED] 39 VFs
[15:24:02] [PASSED] 40 VFs
[15:24:02] [PASSED] 41 VFs
[15:24:02] [PASSED] 42 VFs
[15:24:02] [PASSED] 43 VFs
[15:24:02] [PASSED] 44 VFs
[15:24:02] [PASSED] 45 VFs
[15:24:02] [PASSED] 46 VFs
[15:24:02] [PASSED] 47 VFs
[15:24:02] [PASSED] 48 VFs
[15:24:02] [PASSED] 49 VFs
[15:24:02] [PASSED] 50 VFs
[15:24:02] [PASSED] 51 VFs
[15:24:02] [PASSED] 52 VFs
[15:24:02] [PASSED] 53 VFs
[15:24:02] [PASSED] 54 VFs
[15:24:02] [PASSED] 55 VFs
[15:24:02] [PASSED] 56 VFs
[15:24:02] [PASSED] 57 VFs
[15:24:02] [PASSED] 58 VFs
[15:24:02] [PASSED] 59 VFs
[15:24:02] [PASSED] 60 VFs
[15:24:02] [PASSED] 61 VFs
[15:24:02] [PASSED] 62 VFs
[15:24:02] [PASSED] 63 VFs
[15:24:02] ================= [PASSED] fair_doorbells ==================
[15:24:02] ======================== fair_ggtt ========================
[15:24:02] [PASSED] 1 VF
[15:24:02] [PASSED] 2 VFs
[15:24:02] [PASSED] 3 VFs
[15:24:02] [PASSED] 4 VFs
[15:24:02] [PASSED] 5 VFs
[15:24:02] [PASSED] 6 VFs
[15:24:02] [PASSED] 7 VFs
[15:24:02] [PASSED] 8 VFs
[15:24:02] [PASSED] 9 VFs
[15:24:02] [PASSED] 10 VFs
[15:24:02] [PASSED] 11 VFs
[15:24:02] [PASSED] 12 VFs
[15:24:02] [PASSED] 13 VFs
[15:24:02] [PASSED] 14 VFs
[15:24:02] [PASSED] 15 VFs
[15:24:02] [PASSED] 16 VFs
[15:24:02] [PASSED] 17 VFs
[15:24:02] [PASSED] 18 VFs
[15:24:02] [PASSED] 19 VFs
[15:24:02] [PASSED] 20 VFs
[15:24:02] [PASSED] 21 VFs
[15:24:02] [PASSED] 22 VFs
[15:24:02] [PASSED] 23 VFs
[15:24:02] [PASSED] 24 VFs
[15:24:02] [PASSED] 25 VFs
[15:24:02] [PASSED] 26 VFs
[15:24:02] [PASSED] 27 VFs
[15:24:02] [PASSED] 28 VFs
[15:24:02] [PASSED] 29 VFs
[15:24:02] [PASSED] 30 VFs
[15:24:02] [PASSED] 31 VFs
[15:24:02] [PASSED] 32 VFs
[15:24:02] [PASSED] 33 VFs
[15:24:02] [PASSED] 34 VFs
[15:24:02] [PASSED] 35 VFs
[15:24:02] [PASSED] 36 VFs
[15:24:02] [PASSED] 37 VFs
[15:24:02] [PASSED] 38 VFs
[15:24:02] [PASSED] 39 VFs
[15:24:02] [PASSED] 40 VFs
[15:24:02] [PASSED] 41 VFs
[15:24:02] [PASSED] 42 VFs
[15:24:02] [PASSED] 43 VFs
[15:24:02] [PASSED] 44 VFs
[15:24:02] [PASSED] 45 VFs
[15:24:02] [PASSED] 46 VFs
[15:24:02] [PASSED] 47 VFs
[15:24:02] [PASSED] 48 VFs
[15:24:02] [PASSED] 49 VFs
[15:24:02] [PASSED] 50 VFs
[15:24:02] [PASSED] 51 VFs
[15:24:02] [PASSED] 52 VFs
[15:24:02] [PASSED] 53 VFs
[15:24:02] [PASSED] 54 VFs
[15:24:02] [PASSED] 55 VFs
[15:24:02] [PASSED] 56 VFs
[15:24:02] [PASSED] 57 VFs
[15:24:02] [PASSED] 58 VFs
[15:24:02] [PASSED] 59 VFs
[15:24:02] [PASSED] 60 VFs
[15:24:02] [PASSED] 61 VFs
[15:24:02] [PASSED] 62 VFs
[15:24:02] [PASSED] 63 VFs
[15:24:02] ==================== [PASSED] fair_ggtt ====================
[15:24:02] ======================== fair_vram ========================
[15:24:02] [PASSED] 1 VF
[15:24:02] [PASSED] 2 VFs
[15:24:02] [PASSED] 3 VFs
[15:24:02] [PASSED] 4 VFs
[15:24:02] [PASSED] 5 VFs
[15:24:02] [PASSED] 6 VFs
[15:24:02] [PASSED] 7 VFs
[15:24:02] [PASSED] 8 VFs
[15:24:02] [PASSED] 9 VFs
[15:24:02] [PASSED] 10 VFs
[15:24:02] [PASSED] 11 VFs
[15:24:02] [PASSED] 12 VFs
[15:24:02] [PASSED] 13 VFs
[15:24:02] [PASSED] 14 VFs
[15:24:02] [PASSED] 15 VFs
[15:24:02] [PASSED] 16 VFs
[15:24:02] [PASSED] 17 VFs
[15:24:02] [PASSED] 18 VFs
[15:24:02] [PASSED] 19 VFs
[15:24:02] [PASSED] 20 VFs
[15:24:02] [PASSED] 21 VFs
[15:24:02] [PASSED] 22 VFs
[15:24:02] [PASSED] 23 VFs
[15:24:02] [PASSED] 24 VFs
[15:24:02] [PASSED] 25 VFs
[15:24:02] [PASSED] 26 VFs
[15:24:02] [PASSED] 27 VFs
[15:24:02] [PASSED] 28 VFs
[15:24:02] [PASSED] 29 VFs
[15:24:02] [PASSED] 30 VFs
[15:24:02] [PASSED] 31 VFs
[15:24:02] [PASSED] 32 VFs
[15:24:02] [PASSED] 33 VFs
[15:24:02] [PASSED] 34 VFs
[15:24:02] [PASSED] 35 VFs
[15:24:02] [PASSED] 36 VFs
[15:24:02] [PASSED] 37 VFs
[15:24:02] [PASSED] 38 VFs
[15:24:02] [PASSED] 39 VFs
[15:24:02] [PASSED] 40 VFs
[15:24:02] [PASSED] 41 VFs
[15:24:02] [PASSED] 42 VFs
[15:24:02] [PASSED] 43 VFs
[15:24:02] [PASSED] 44 VFs
[15:24:02] [PASSED] 45 VFs
[15:24:02] [PASSED] 46 VFs
[15:24:02] [PASSED] 47 VFs
[15:24:02] [PASSED] 48 VFs
[15:24:02] [PASSED] 49 VFs
[15:24:02] [PASSED] 50 VFs
[15:24:02] [PASSED] 51 VFs
[15:24:02] [PASSED] 52 VFs
[15:24:02] [PASSED] 53 VFs
[15:24:02] [PASSED] 54 VFs
[15:24:02] [PASSED] 55 VFs
[15:24:02] [PASSED] 56 VFs
[15:24:02] [PASSED] 57 VFs
[15:24:02] [PASSED] 58 VFs
[15:24:02] [PASSED] 59 VFs
[15:24:02] [PASSED] 60 VFs
[15:24:02] [PASSED] 61 VFs
[15:24:02] [PASSED] 62 VFs
[15:24:02] [PASSED] 63 VFs
[15:24:02] ==================== [PASSED] fair_vram ====================
[15:24:02] ================== [PASSED] pf_gt_config ===================
[15:24:02] ===================== lmtt (1 subtest) =====================
[15:24:02] ======================== test_ops =========================
[15:24:02] [PASSED] 2-level
[15:24:02] [PASSED] multi-level
[15:24:02] ==================== [PASSED] test_ops =====================
[15:24:02] ====================== [PASSED] lmtt =======================
[15:24:02] ================= sriov_packet (1 subtest) =================
[15:24:02] [PASSED] test_descriptor_init
[15:24:02] ================== [PASSED] sriov_packet ===================
[15:24:02] ================= pf_service (11 subtests) =================
[15:24:02] [PASSED] pf_negotiate_any
[15:24:02] [PASSED] pf_negotiate_base_match
[15:24:02] [PASSED] pf_negotiate_base_newer
[15:24:02] [PASSED] pf_negotiate_base_next
[15:24:02] [SKIPPED] pf_negotiate_base_older (no older minor)
[15:24:02] [PASSED] pf_negotiate_base_prev
[15:24:02] [PASSED] pf_negotiate_latest_match
[15:24:02] [PASSED] pf_negotiate_latest_newer
[15:24:02] [PASSED] pf_negotiate_latest_next
[15:24:02] [SKIPPED] pf_negotiate_latest_older (no older minor)
[15:24:02] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[15:24:02] =================== [PASSED] pf_service ====================
[15:24:02] ================= xe_guc_g2g (2 subtests) ==================
[15:24:02] ============== xe_live_guc_g2g_kunit_default ==============
[15:24:02] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[15:24:02] ============== xe_live_guc_g2g_kunit_allmem ===============
[15:24:02] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[15:24:02] =================== [SKIPPED] xe_guc_g2g ===================
[15:24:02] =================== xe_mocs (2 subtests) ===================
[15:24:02] ================ xe_live_mocs_kernel_kunit ================
[15:24:02] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[15:24:02] ================ xe_live_mocs_reset_kunit =================
[15:24:02] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[15:24:02] ==================== [SKIPPED] xe_mocs =====================
[15:24:02] ================= xe_migrate (2 subtests) ==================
[15:24:02] ================= xe_migrate_sanity_kunit =================
[15:24:02] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[15:24:02] ================== xe_validate_ccs_kunit ==================
[15:24:02] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[15:24:02] =================== [SKIPPED] xe_migrate ===================
[15:24:02] ================== xe_dma_buf (1 subtest) ==================
[15:24:02] ==================== xe_dma_buf_kunit =====================
[15:24:02] ================ [SKIPPED] xe_dma_buf_kunit ================
[15:24:02] =================== [SKIPPED] xe_dma_buf ===================
[15:24:02] ================= xe_bo_shrink (1 subtest) =================
[15:24:02] =================== xe_bo_shrink_kunit ====================
[15:24:02] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[15:24:02] ================== [SKIPPED] xe_bo_shrink ==================
[15:24:02] ==================== xe_bo (2 subtests) ====================
[15:24:02] ================== xe_ccs_migrate_kunit ===================
[15:24:02] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[15:24:02] ==================== xe_bo_evict_kunit ====================
[15:24:02] =============== [SKIPPED] xe_bo_evict_kunit ================
[15:24:02] ===================== [SKIPPED] xe_bo ======================
[15:24:02] =================== xe_any (9 subtests) ====================
[15:24:02] [PASSED] test_to_xe
[15:24:02] [PASSED] test_to_dev
[15:24:02] [PASSED] test_to_pdev
[15:24:02] [PASSED] test_to_drm
[15:24:02] [PASSED] test_if_pdev
[15:24:02] [PASSED] test_if_xe
[15:24:02] [PASSED] test_if_tile
[15:24:02] [PASSED] test_if_gt
[15:24:02] [PASSED] test_to_id
[15:24:02] ===================== [PASSED] xe_any ======================
[15:24:02] ==================== args (13 subtests) ====================
[15:24:02] [PASSED] count_args_test
[15:24:02] [PASSED] call_args_example
[15:24:02] [PASSED] call_args_test
[15:24:02] [PASSED] drop_first_arg_example
[15:24:02] [PASSED] drop_first_arg_test
[15:24:02] [PASSED] first_arg_example
[15:24:02] [PASSED] first_arg_test
[15:24:02] [PASSED] last_arg_example
[15:24:02] [PASSED] last_arg_test
[15:24:02] [PASSED] pick_arg_example
[15:24:02] [PASSED] if_args_example
[15:24:02] [PASSED] if_args_test
[15:24:02] [PASSED] sep_comma_example
[15:24:02] ====================== [PASSED] args =======================
[15:24:02] =================== xe_pci (3 subtests) ====================
[15:24:02] ==================== check_graphics_ip ====================
[15:24:02] [PASSED] 12.00 Xe_LP
[15:24:02] [PASSED] 12.10 Xe_LP+
[15:24:02] [PASSED] 12.55 Xe_HPG
[15:24:02] [PASSED] 12.60 Xe_HPC
[15:24:02] [PASSED] 12.70 Xe_LPG
[15:24:02] [PASSED] 12.71 Xe_LPG
[15:24:02] [PASSED] 12.74 Xe_LPG+
[15:24:02] [PASSED] 20.01 Xe2_HPG
[15:24:02] [PASSED] 20.02 Xe2_HPG
[15:24:02] [PASSED] 20.04 Xe2_LPG
[15:24:02] [PASSED] 30.00 Xe3_LPG
[15:24:02] [PASSED] 30.01 Xe3_LPG
[15:24:02] [PASSED] 30.03 Xe3_LPG
[15:24:02] [PASSED] 30.04 Xe3_LPG
[15:24:02] [PASSED] 30.05 Xe3_LPG
[15:24:02] [PASSED] 35.10 Xe3p_LPG
[15:24:02] [PASSED] 35.11 Xe3p_XPC
[15:24:02] ================ [PASSED] check_graphics_ip ================
[15:24:02] ===================== check_media_ip ======================
[15:24:02] [PASSED] 12.00 Xe_M
[15:24:02] [PASSED] 12.55 Xe_HPM
[15:24:02] [PASSED] 13.00 Xe_LPM+
[15:24:02] [PASSED] 13.01 Xe2_HPM
[15:24:02] [PASSED] 20.00 Xe2_LPM
[15:24:02] [PASSED] 30.00 Xe3_LPM
[15:24:02] [PASSED] 30.02 Xe3_LPM
[15:24:02] [PASSED] 35.00 Xe3p_LPM
[15:24:02] [PASSED] 35.03 Xe3p_HPM
[15:24:02] ================= [PASSED] check_media_ip ==================
[15:24:02] =================== check_platform_desc ===================
[15:24:02] [PASSED] 0x9A60 (TIGERLAKE)
[15:24:02] [PASSED] 0x9A68 (TIGERLAKE)
[15:24:02] [PASSED] 0x9A70 (TIGERLAKE)
[15:24:02] [PASSED] 0x9A40 (TIGERLAKE)
[15:24:02] [PASSED] 0x9A49 (TIGERLAKE)
[15:24:02] [PASSED] 0x9A59 (TIGERLAKE)
[15:24:02] [PASSED] 0x9A78 (TIGERLAKE)
[15:24:02] [PASSED] 0x9AC0 (TIGERLAKE)
[15:24:02] [PASSED] 0x9AC9 (TIGERLAKE)
[15:24:02] [PASSED] 0x9AD9 (TIGERLAKE)
[15:24:02] [PASSED] 0x9AF8 (TIGERLAKE)
[15:24:02] [PASSED] 0x4C80 (ROCKETLAKE)
[15:24:02] [PASSED] 0x4C8A (ROCKETLAKE)
[15:24:02] [PASSED] 0x4C8B (ROCKETLAKE)
[15:24:02] [PASSED] 0x4C8C (ROCKETLAKE)
[15:24:02] [PASSED] 0x4C90 (ROCKETLAKE)
[15:24:02] [PASSED] 0x4C9A (ROCKETLAKE)
[15:24:02] [PASSED] 0x4680 (ALDERLAKE_S)
[15:24:02] [PASSED] 0x4682 (ALDERLAKE_S)
[15:24:02] [PASSED] 0x4688 (ALDERLAKE_S)
[15:24:02] [PASSED] 0x468A (ALDERLAKE_S)
[15:24:02] [PASSED] 0x468B (ALDERLAKE_S)
[15:24:02] [PASSED] 0x4690 (ALDERLAKE_S)
[15:24:02] [PASSED] 0x4692 (ALDERLAKE_S)
[15:24:02] [PASSED] 0x4693 (ALDERLAKE_S)
[15:24:02] [PASSED] 0x46A0 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46A1 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46A2 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46A3 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46A6 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46A8 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46AA (ALDERLAKE_P)
[15:24:02] [PASSED] 0x462A (ALDERLAKE_P)
[15:24:02] [PASSED] 0x4626 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x4628 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46B0 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46B1 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46B2 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46B3 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46C0 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46C1 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46C2 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46C3 (ALDERLAKE_P)
[15:24:02] [PASSED] 0x46D0 (ALDERLAKE_N)
[15:24:02] [PASSED] 0x46D1 (ALDERLAKE_N)
[15:24:02] [PASSED] 0x46D2 (ALDERLAKE_N)
[15:24:02] [PASSED] 0x46D3 (ALDERLAKE_N)
[15:24:02] [PASSED] 0x46D4 (ALDERLAKE_N)
[15:24:02] [PASSED] 0xA721 (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA7A1 (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA7A9 (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA7AC (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA7AD (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA720 (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA7A0 (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA7A8 (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA7AA (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA7AB (ALDERLAKE_P)
[15:24:02] [PASSED] 0xA780 (ALDERLAKE_S)
[15:24:02] [PASSED] 0xA781 (ALDERLAKE_S)
[15:24:02] [PASSED] 0xA782 (ALDERLAKE_S)
[15:24:02] [PASSED] 0xA783 (ALDERLAKE_S)
[15:24:02] [PASSED] 0xA788 (ALDERLAKE_S)
[15:24:02] [PASSED] 0xA789 (ALDERLAKE_S)
[15:24:02] [PASSED] 0xA78A (ALDERLAKE_S)
[15:24:02] [PASSED] 0xA78B (ALDERLAKE_S)
[15:24:02] [PASSED] 0x4905 (DG1)
[15:24:02] [PASSED] 0x4906 (DG1)
[15:24:02] [PASSED] 0x4907 (DG1)
[15:24:02] [PASSED] 0x4908 (DG1)
[15:24:02] [PASSED] 0x4909 (DG1)
[15:24:02] [PASSED] 0x56C0 (DG2)
[15:24:02] [PASSED] 0x56C2 (DG2)
[15:24:02] [PASSED] 0x56C1 (DG2)
[15:24:02] [PASSED] 0x7D51 (METEORLAKE)
[15:24:02] [PASSED] 0x7DD1 (METEORLAKE)
[15:24:02] [PASSED] 0x7D41 (METEORLAKE)
[15:24:02] [PASSED] 0x7D67 (METEORLAKE)
[15:24:02] [PASSED] 0xB640 (METEORLAKE)
[15:24:02] [PASSED] 0x56A0 (DG2)
[15:24:02] [PASSED] 0x56A1 (DG2)
[15:24:02] [PASSED] 0x56A2 (DG2)
[15:24:02] [PASSED] 0x56BE (DG2)
[15:24:02] [PASSED] 0x56BF (DG2)
[15:24:02] [PASSED] 0x5690 (DG2)
[15:24:02] [PASSED] 0x5691 (DG2)
[15:24:02] [PASSED] 0x5692 (DG2)
[15:24:02] [PASSED] 0x56A5 (DG2)
[15:24:02] [PASSED] 0x56A6 (DG2)
[15:24:02] [PASSED] 0x56B0 (DG2)
[15:24:02] [PASSED] 0x56B1 (DG2)
[15:24:02] [PASSED] 0x56BA (DG2)
[15:24:02] [PASSED] 0x56BB (DG2)
[15:24:02] [PASSED] 0x56BC (DG2)
[15:24:02] [PASSED] 0x56BD (DG2)
[15:24:02] [PASSED] 0x5693 (DG2)
[15:24:02] [PASSED] 0x5694 (DG2)
[15:24:02] [PASSED] 0x5695 (DG2)
[15:24:02] [PASSED] 0x56A3 (DG2)
[15:24:02] [PASSED] 0x56A4 (DG2)
[15:24:02] [PASSED] 0x56B2 (DG2)
[15:24:02] [PASSED] 0x56B3 (DG2)
[15:24:02] [PASSED] 0x5696 (DG2)
[15:24:02] [PASSED] 0x5697 (DG2)
[15:24:02] [PASSED] 0xB69 (PVC)
[15:24:02] [PASSED] 0xB6E (PVC)
[15:24:02] [PASSED] 0xBD4 (PVC)
[15:24:02] [PASSED] 0xBD5 (PVC)
[15:24:02] [PASSED] 0xBD6 (PVC)
[15:24:02] [PASSED] 0xBD7 (PVC)
[15:24:02] [PASSED] 0xBD8 (PVC)
[15:24:02] [PASSED] 0xBD9 (PVC)
[15:24:02] [PASSED] 0xBDA (PVC)
[15:24:02] [PASSED] 0xBDB (PVC)
[15:24:02] [PASSED] 0xBE0 (PVC)
[15:24:02] [PASSED] 0xBE1 (PVC)
[15:24:02] [PASSED] 0xBE5 (PVC)
[15:24:02] [PASSED] 0x7D40 (METEORLAKE)
[15:24:02] [PASSED] 0x7D45 (METEORLAKE)
[15:24:02] [PASSED] 0x7D55 (METEORLAKE)
[15:24:02] [PASSED] 0x7D60 (METEORLAKE)
[15:24:02] [PASSED] 0x7DD5 (METEORLAKE)
[15:24:02] [PASSED] 0x6420 (LUNARLAKE)
[15:24:02] [PASSED] 0x64A0 (LUNARLAKE)
[15:24:02] [PASSED] 0x64B0 (LUNARLAKE)
[15:24:02] [PASSED] 0xE202 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE209 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE20B (BATTLEMAGE)
[15:24:02] [PASSED] 0xE20C (BATTLEMAGE)
[15:24:02] [PASSED] 0xE20D (BATTLEMAGE)
[15:24:02] [PASSED] 0xE210 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE211 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE212 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE216 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE220 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE221 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE222 (BATTLEMAGE)
[15:24:02] [PASSED] 0xE223 (BATTLEMAGE)
[15:24:02] [PASSED] 0xB080 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB081 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB082 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB083 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB084 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB085 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB086 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB087 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB08F (PANTHERLAKE)
[15:24:02] [PASSED] 0xB090 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB0A0 (PANTHERLAKE)
[15:24:02] [PASSED] 0xB0B0 (PANTHERLAKE)
[15:24:02] [PASSED] 0xFD80 (PANTHERLAKE)
[15:24:02] [PASSED] 0xFD81 (PANTHERLAKE)
[15:24:02] [PASSED] 0xD740 (NOVALAKE_S)
[15:24:02] [PASSED] 0xD741 (NOVALAKE_S)
[15:24:02] [PASSED] 0xD742 (NOVALAKE_S)
[15:24:02] [PASSED] 0xD743 (NOVALAKE_S)
[15:24:02] [PASSED] 0xD745 (NOVALAKE_S)
[15:24:02] [PASSED] 0xD74A (NOVALAKE_S)
[15:24:02] [PASSED] 0xD74B (NOVALAKE_S)
[15:24:02] [PASSED] 0x674C (CRESCENTISLAND)
[15:24:02] [PASSED] 0x674D (CRESCENTISLAND)
[15:24:02] [PASSED] 0x674E (CRESCENTISLAND)
[15:24:02] [PASSED] 0x674F (CRESCENTISLAND)
[15:24:02] [PASSED] 0x6750 (CRESCENTISLAND)
[15:24:02] [PASSED] 0xD750 (NOVALAKE_P)
[15:24:02] [PASSED] 0xD751 (NOVALAKE_P)
[15:24:02] [PASSED] 0xD752 (NOVALAKE_P)
[15:24:02] [PASSED] 0xD753 (NOVALAKE_P)
[15:24:02] [PASSED] 0xD754 (NOVALAKE_P)
[15:24:02] [PASSED] 0xD755 (NOVALAKE_P)
[15:24:02] [PASSED] 0xD756 (NOVALAKE_P)
[15:24:02] [PASSED] 0xD757 (NOVALAKE_P)
[15:24:02] [PASSED] 0xD75F (NOVALAKE_P)
[15:24:02] =============== [PASSED] check_platform_desc ===============
[15:24:02] ===================== [PASSED] xe_pci ======================
[15:24:02] ============= xe_rtp_tables_test (5 subtests) ==============
[15:24:02] ================== xe_rtp_table_gt_test ===================
[15:24:02] [PASSED] gt_was/14011060649
[15:24:02] [PASSED] gt_was/14011059788
[15:24:02] [PASSED] gt_was/14015795083
[15:24:02] [PASSED] gt_was/16021867713
[15:24:02] [PASSED] gt_was/14019449301
[15:24:02] [PASSED] gt_was/16028005424
[15:24:02] [PASSED] gt_was/14026578760
[15:24:02] [PASSED] gt_was/1409420604
[15:24:02] [PASSED] gt_was/1408615072
[15:24:02] [PASSED] gt_was/22010523718
[15:24:02] [PASSED] gt_was/14011006942
[15:24:02] [PASSED] gt_was/14014830051
[15:24:02] [PASSED] gt_was/18018781329
[15:24:02] [PASSED] gt_was/1509235366
[15:24:02] [PASSED] gt_was/18018781329
[15:24:02] [PASSED] gt_was/16016694945
[15:24:02] [PASSED] gt_was/14018575942
[15:24:02] [PASSED] gt_was/22016670082
[15:24:02] [PASSED] gt_was/22016670082
[15:24:02] [PASSED] gt_was/14017421178
[15:24:02] [PASSED] gt_was/16025250150
[15:24:02] [PASSED] gt_was/14021871409
[15:24:02] [PASSED] gt_was/16021865536
[15:24:02] [PASSED] gt_was/14021486841
[15:24:02] [PASSED] gt_was/14025160223
[15:24:02] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[15:24:02] [PASSED] gt_was/14025635424
[15:24:02] [PASSED] gt_was/16028005424
[15:24:02] ============== [PASSED] xe_rtp_table_gt_test ===============
[15:24:02] ================== xe_rtp_table_gt_test ===================
[15:24:02] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[15:24:02] [PASSED] gt_tunings/Tuning: 32B Access Enable
[15:24:02] [PASSED] gt_tunings/Tuning: L3 cache
[15:24:02] [PASSED] gt_tunings/Tuning: L3 cache - media
[15:24:02] [PASSED] gt_tunings/Tuning: Compression Overfetch
[15:24:02] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[15:24:02] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[15:24:02] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[15:24:02] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[15:24:02] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[15:24:02] [PASSED] gt_tunings/Tuning: Stateless compression control
[15:24:02] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[15:24:02] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[15:24:02] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[15:24:02] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[15:24:02] ============== [PASSED] xe_rtp_table_gt_test ===============
[15:24:02] ================== xe_rtp_table_oob_test ==================
[15:24:02] [PASSED] oob_was/1607983814
[15:24:02] [PASSED] oob_was/16010904313
[15:24:02] [PASSED] oob_was/18022495364
[15:24:02] [PASSED] oob_was/22012773006
[15:24:02] [PASSED] oob_was/14014475959
[15:24:02] [PASSED] oob_was/22011391025
[15:24:02] [PASSED] oob_was/22012727170
[15:24:02] [PASSED] oob_was/22012727685
[15:24:02] [PASSED] oob_was/22016596838
[15:24:02] [PASSED] oob_was/18020744125
[15:24:02] [PASSED] oob_was/1409600907
[15:24:02] [PASSED] oob_was/22014953428
[15:24:02] [PASSED] oob_was/16017236439
[15:24:02] [PASSED] oob_was/14019821291
[15:24:02] [PASSED] oob_was/14015076503
[15:24:02] [PASSED] oob_was/14018913170
[15:24:02] [PASSED] oob_was/14018094691
[15:24:02] [PASSED] oob_was/18024947630
[15:24:02] [PASSED] oob_was/16022287689
[15:24:02] [PASSED] oob_was/13011645652
[15:24:02] [PASSED] oob_was/14022293748
[15:24:02] [PASSED] oob_was/22019794406
[15:24:02] [PASSED] oob_was/22019338487
[15:24:02] [PASSED] oob_was/16023588340
[15:24:02] [PASSED] oob_was/14019789679
[15:24:02] [PASSED] oob_was/14022866841
[15:24:02] [PASSED] oob_was/16021333562
[15:24:02] [PASSED] oob_was/14016712196
[15:24:02] [PASSED] oob_was/14015568240
[15:24:02] [PASSED] oob_was/18013179988
[15:24:02] [PASSED] oob_was/1508761755
[15:24:02] [PASSED] oob_was/16023105232
[15:24:02] [PASSED] oob_was/16026508708
[15:24:02] [PASSED] oob_was/14020001231
[15:24:02] [PASSED] oob_was/16023683509
[15:24:02] [PASSED] oob_was/14025515070
[15:24:02] [PASSED] oob_was/15015404425_disable
[15:24:02] [PASSED] oob_was/16026007364
[15:24:02] [PASSED] oob_was/14020316580
[15:24:02] [PASSED] oob_was/14025883347
[15:24:02] [PASSED] oob_was/16029380221
[15:24:02] [PASSED] oob_was/22022079272
[15:24:02] [PASSED] oob_was/16029897822
[15:24:02] [PASSED] oob_was/14027054324
[15:24:02] ============== [PASSED] xe_rtp_table_oob_test ==============
[15:24:02] ================ xe_rtp_table_dev_oob_test ================
[15:24:02] [PASSED] device_oob_was/22010954014
[15:24:02] [PASSED] device_oob_was/15015404425
[15:24:02] [PASSED] device_oob_was/22019338487_display
[15:24:02] [PASSED] device_oob_was/14022085890
[15:24:02] [PASSED] device_oob_was/14026539277
[15:24:02] [PASSED] device_oob_was/14026633728
[15:24:02] [PASSED] device_oob_was/14026746987
[15:24:02] [PASSED] device_oob_was/14026779378
[15:24:02] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[15:24:02] ========== xe_rtp_table_missing_upper_bound_test ==========
[15:24:02] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[15:24:02] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[15:24:02] [PASSED] register_whitelist/1806527549
[15:24:02] [PASSED] register_whitelist/allow_read_ctx_timestamp
[15:24:02] [PASSED] register_whitelist/allow_read_queue_timestamp
[15:24:02] [PASSED] register_whitelist/16014440446
[15:24:02] [PASSED] register_whitelist/16017236439
[15:24:02] [PASSED] register_whitelist/16020183090
[15:24:02] [PASSED] register_whitelist/14024997852
[15:24:02] [PASSED] register_whitelist/14024997852
[15:24:02] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[15:24:02] =============== [PASSED] xe_rtp_tables_test ================
[15:24:02] =================== xe_rtp (3 subtests) ====================
[15:24:02] =================== xe_rtp_rules_tests ====================
[15:24:02] [PASSED] no
[15:24:02] [PASSED] yes
[15:24:02] [PASSED] no-and-no
[15:24:02] [PASSED] no-and-yes
[15:24:02] [PASSED] yes-and-no
[15:24:02] [PASSED] yes-and-yes
[15:24:02] [PASSED] no-or-no
[15:24:02] [PASSED] no-or-yes
[15:24:02] [PASSED] yes-or-no
[15:24:02] [PASSED] yes-or-yes
[15:24:02] [PASSED] no-yes-or-yes-no
[15:24:02] [PASSED] no-yes-or-yes-yes
[15:24:02] [PASSED] yes-yes-or-no-yes
[15:24:02] [PASSED] yes-yes-or-yes-yes
[15:24:02] [PASSED] no-no-or-yes-or-no
[15:24:02] [PASSED] or
[15:24:02] [PASSED] or-yes
[15:24:02] [PASSED] or-no
[15:24:02] [PASSED] yes-or
[15:24:02] [PASSED] no-or
[15:24:02] [PASSED] no-or-or-yes
[15:24:02] [PASSED] yes-or-or-no
[15:24:02] [PASSED] no-or-or-no
[15:24:02] [PASSED] missing-context-engine-class
[15:24:02] [PASSED] missing-context-engine-class-or-yes
[15:24:02] [PASSED] missing-context-engine-class-or-or-yes
[15:24:02] =============== [PASSED] xe_rtp_rules_tests ================
[15:24:02] =============== xe_rtp_process_to_sr_tests ================
[15:24:02] [PASSED] coalesce-same-reg
[15:24:02] [PASSED] coalesce-same-reg-literal-and-func
[15:24:02] [PASSED] no-match-no-add
[15:24:02] [PASSED] two-regs-two-entries
[15:24:02] [PASSED] clr-one-set-other
[15:24:02] [PASSED] set-field
[15:24:02] [PASSED] conflict-duplicate
[15:24:02] [PASSED] conflict-not-disjoint
[15:24:02] [PASSED] conflict-not-disjoint-literal-and-func
[15:24:02] [PASSED] conflict-reg-type
[15:24:02] [PASSED] bad-mcr-reg-forced-to-regular
[15:24:02] [PASSED] bad-regular-reg-forced-to-mcr
[15:24:02] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[15:24:02] ================== xe_rtp_process_tests ===================
[15:24:02] [PASSED] active1
[15:24:02] [PASSED] active2
[15:24:02] [PASSED] active-inactive
[15:24:02] [PASSED] inactive-active
[15:24:02] [PASSED] inactive-active-inactive
[15:24:02] [PASSED] inactive-inactive-inactive
[15:24:02] ============== [PASSED] xe_rtp_process_tests ===============
[15:24:02] ===================== [PASSED] xe_rtp ======================
[15:24:02] ==================== xe_wa (1 subtest) =====================
[15:24:02] ======================== xe_wa_gt =========================
[15:24:02] [PASSED] TIGERLAKE B0
[15:24:02] [PASSED] DG1 A0
[15:24:02] [PASSED] DG1 B0
[15:24:02] [PASSED] ALDERLAKE_S A0
[15:24:02] [PASSED] ALDERLAKE_S B0
[15:24:02] [PASSED] ALDERLAKE_S C0
[15:24:02] [PASSED] ALDERLAKE_S D0
[15:24:02] [PASSED] ALDERLAKE_P A0
[15:24:02] [PASSED] ALDERLAKE_P B0
[15:24:02] [PASSED] ALDERLAKE_P C0
[15:24:02] [PASSED] ALDERLAKE_S RPLS D0
[15:24:02] [PASSED] ALDERLAKE_P RPLU E0
[15:24:02] [PASSED] DG2 G10 C0
[15:24:02] [PASSED] DG2 G11 B1
[15:24:02] [PASSED] DG2 G12 A1
[15:24:02] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[15:24:02] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[15:24:02] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[15:24:02] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[15:24:02] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[15:24:02] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[15:24:02] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[15:24:02] ==================== [PASSED] xe_wa_gt =====================
[15:24:02] ====================== [PASSED] xe_wa ======================
[15:24:02] ============================================================
[15:24:02] Testing complete. Ran 793 tests: passed: 765, skipped: 28
[15:24:02] Elapsed time: 37.220s total, 1.841s configuring, 34.660s building, 0.710s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[15:24:02] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:24:04] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[15:24:30] Starting KUnit Kernel (1/1)...
[15:24:30] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:24:30] ============= refcount_interrupt (4 subtests) ==============
[15:24:30] [PASSED] test_single_irq_change
[15:24:30] [PASSED] test_nested_irq_change
[15:24:30] [PASSED] test_multiple_irq_change
[15:24:30] [PASSED] test_irq_save
[15:24:30] =============== [PASSED] refcount_interrupt ================
[15:24:30] ============ drm_test_pick_cmdline (2 subtests) ============
[15:24:30] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[15:24:30] =============== drm_test_pick_cmdline_named ===============
[15:24:30] [PASSED] NTSC
[15:24:30] [PASSED] NTSC-J
[15:24:30] [PASSED] PAL
[15:24:30] [PASSED] PAL-M
[15:24:30] =========== [PASSED] drm_test_pick_cmdline_named ===========
[15:24:30] ============== [PASSED] drm_test_pick_cmdline ==============
[15:24:30] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[15:24:30] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[15:24:30] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[15:24:30] =========== drm_validate_clone_mode (2 subtests) ===========
[15:24:30] ============== drm_test_check_in_clone_mode ===============
[15:24:30] [PASSED] in_clone_mode
[15:24:30] [PASSED] not_in_clone_mode
[15:24:30] ========== [PASSED] drm_test_check_in_clone_mode ===========
[15:24:30] =============== drm_test_check_valid_clones ===============
[15:24:30] [PASSED] not_in_clone_mode
[15:24:30] [PASSED] valid_clone
[15:24:30] [PASSED] invalid_clone
[15:24:30] =========== [PASSED] drm_test_check_valid_clones ===========
[15:24:30] ============= [PASSED] drm_validate_clone_mode =============
[15:24:30] ============= drm_validate_modeset (1 subtest) =============
[15:24:30] [PASSED] drm_test_check_connector_changed_modeset
[15:24:30] ============== [PASSED] drm_validate_modeset ===============
[15:24:30] ====== drm_test_bridge_get_current_state (1 subtest) =======
[15:24:30] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[15:24:30] ======== [PASSED] drm_test_bridge_get_current_state ========
[15:24:30] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[15:24:30] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[15:24:30] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[15:24:30] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[15:24:30] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[15:24:30] ============== drm_bridge_alloc (2 subtests) ===============
[15:24:30] [PASSED] drm_test_drm_bridge_alloc_basic
[15:24:30] [PASSED] drm_test_drm_bridge_alloc_get_put
[15:24:30] ================ [PASSED] drm_bridge_alloc =================
[15:24:30] ============= drm_bridge_bus_fmt (5 subtests) ==============
[15:24:30] [PASSED] drm_test_bridge_rgb_yuv_rgb
[15:24:30] [PASSED] drm_test_bridge_must_convert_to_yuv444
[15:24:30] [PASSED] drm_test_bridge_hdmi_auto_rgb
[15:24:30] [PASSED] drm_test_bridge_auto_first
[15:24:30] [PASSED] drm_test_bridge_rgb_yuv_no_path
[15:24:30] =============== [PASSED] drm_bridge_bus_fmt ================
[15:24:30] ============= drm_cmdline_parser (40 subtests) =============
[15:24:30] [PASSED] drm_test_cmdline_force_d_only
[15:24:30] [PASSED] drm_test_cmdline_force_D_only_dvi
[15:24:30] [PASSED] drm_test_cmdline_force_D_only_hdmi
[15:24:30] [PASSED] drm_test_cmdline_force_D_only_not_digital
[15:24:30] [PASSED] drm_test_cmdline_force_e_only
[15:24:30] [PASSED] drm_test_cmdline_res
[15:24:30] [PASSED] drm_test_cmdline_res_vesa
[15:24:30] [PASSED] drm_test_cmdline_res_vesa_rblank
[15:24:30] [PASSED] drm_test_cmdline_res_rblank
[15:24:30] [PASSED] drm_test_cmdline_res_bpp
[15:24:30] [PASSED] drm_test_cmdline_res_refresh
[15:24:30] [PASSED] drm_test_cmdline_res_bpp_refresh
[15:24:30] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[15:24:30] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[15:24:30] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[15:24:30] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[15:24:30] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[15:24:30] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[15:24:30] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[15:24:30] [PASSED] drm_test_cmdline_res_margins_force_on
[15:24:30] [PASSED] drm_test_cmdline_res_vesa_margins
[15:24:30] [PASSED] drm_test_cmdline_name
[15:24:30] [PASSED] drm_test_cmdline_name_bpp
[15:24:30] [PASSED] drm_test_cmdline_name_option
[15:24:30] [PASSED] drm_test_cmdline_name_bpp_option
[15:24:30] [PASSED] drm_test_cmdline_rotate_0
[15:24:30] [PASSED] drm_test_cmdline_rotate_90
[15:24:30] [PASSED] drm_test_cmdline_rotate_180
[15:24:30] [PASSED] drm_test_cmdline_rotate_270
[15:24:30] [PASSED] drm_test_cmdline_hmirror
[15:24:30] [PASSED] drm_test_cmdline_vmirror
[15:24:30] [PASSED] drm_test_cmdline_margin_options
[15:24:30] [PASSED] drm_test_cmdline_multiple_options
[15:24:30] [PASSED] drm_test_cmdline_bpp_extra_and_option
[15:24:30] [PASSED] drm_test_cmdline_extra_and_option
[15:24:30] [PASSED] drm_test_cmdline_freestanding_options
[15:24:30] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[15:24:30] [PASSED] drm_test_cmdline_panel_orientation
[15:24:30] ================ drm_test_cmdline_invalid =================
[15:24:30] [PASSED] margin_only
[15:24:30] [PASSED] interlace_only
[15:24:30] [PASSED] res_missing_x
[15:24:30] [PASSED] res_missing_y
[15:24:30] [PASSED] res_bad_y
[15:24:30] [PASSED] res_missing_y_bpp
[15:24:30] [PASSED] res_bad_bpp
[15:24:30] [PASSED] res_bad_refresh
[15:24:30] [PASSED] res_bpp_refresh_force_on_off
[15:24:30] [PASSED] res_invalid_mode
[15:24:30] [PASSED] res_bpp_wrong_place_mode
[15:24:30] [PASSED] name_bpp_refresh
[15:24:30] [PASSED] name_refresh
[15:24:30] [PASSED] name_refresh_wrong_mode
[15:24:30] [PASSED] name_refresh_invalid_mode
[15:24:30] [PASSED] rotate_multiple
[15:24:30] [PASSED] rotate_invalid_val
[15:24:30] [PASSED] rotate_truncated
[15:24:30] [PASSED] invalid_option
[15:24:30] [PASSED] invalid_tv_option
[15:24:30] [PASSED] truncated_tv_option
[15:24:30] ============ [PASSED] drm_test_cmdline_invalid =============
[15:24:30] =============== drm_test_cmdline_tv_options ===============
[15:24:30] [PASSED] NTSC
[15:24:30] [PASSED] NTSC_443
[15:24:30] [PASSED] NTSC_J
[15:24:30] [PASSED] PAL
[15:24:30] [PASSED] PAL_M
[15:24:30] [PASSED] PAL_N
[15:24:30] [PASSED] SECAM
[15:24:30] [PASSED] MONO_525
[15:24:30] [PASSED] MONO_625
[15:24:30] =========== [PASSED] drm_test_cmdline_tv_options ===========
[15:24:30] =============== [PASSED] drm_cmdline_parser ================
[15:24:30] ========== drmm_connector_hdmi_init (20 subtests) ==========
[15:24:30] [PASSED] drm_test_connector_hdmi_init_valid
[15:24:30] [PASSED] drm_test_connector_hdmi_init_bpc_8
[15:24:30] [PASSED] drm_test_connector_hdmi_init_bpc_10
[15:24:30] [PASSED] drm_test_connector_hdmi_init_bpc_12
[15:24:30] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[15:24:30] [PASSED] drm_test_connector_hdmi_init_bpc_null
[15:24:30] [PASSED] drm_test_connector_hdmi_init_formats_empty
[15:24:30] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[15:24:30] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[15:24:30] [PASSED] supported_formats=0x9 yuv420_allowed=1
[15:24:30] [PASSED] supported_formats=0x9 yuv420_allowed=0
[15:24:30] [PASSED] supported_formats=0x5 yuv420_allowed=1
[15:24:30] [PASSED] supported_formats=0x5 yuv420_allowed=0
[15:24:30] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[15:24:30] [PASSED] drm_test_connector_hdmi_init_null_ddc
[15:24:30] [PASSED] drm_test_connector_hdmi_init_null_product
[15:24:30] [PASSED] drm_test_connector_hdmi_init_null_vendor
[15:24:30] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[15:24:30] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[15:24:30] [PASSED] drm_test_connector_hdmi_init_product_valid
[15:24:30] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[15:24:30] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[15:24:30] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[15:24:30] ========= drm_test_connector_hdmi_init_type_valid =========
[15:24:30] [PASSED] HDMI-A
[15:24:30] [PASSED] HDMI-B
[15:24:30] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[15:24:30] ======== drm_test_connector_hdmi_init_type_invalid ========
[15:24:30] [PASSED] Unknown
[15:24:30] [PASSED] VGA
[15:24:30] [PASSED] DVI-I
[15:24:30] [PASSED] DVI-D
[15:24:30] [PASSED] DVI-A
[15:24:30] [PASSED] Composite
[15:24:30] [PASSED] SVIDEO
[15:24:30] [PASSED] LVDS
[15:24:30] [PASSED] Component
[15:24:30] [PASSED] DIN
[15:24:30] [PASSED] DP
[15:24:30] [PASSED] TV
[15:24:30] [PASSED] eDP
[15:24:30] [PASSED] Virtual
[15:24:30] [PASSED] DSI
[15:24:30] [PASSED] DPI
[15:24:30] [PASSED] Writeback
[15:24:30] [PASSED] SPI
[15:24:30] [PASSED] USB
[15:24:30] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[15:24:30] ============ [PASSED] drmm_connector_hdmi_init =============
[15:24:30] ============= drmm_connector_init (3 subtests) =============
[15:24:30] [PASSED] drm_test_drmm_connector_init
[15:24:30] [PASSED] drm_test_drmm_connector_init_null_ddc
[15:24:30] ========= drm_test_drmm_connector_init_type_valid =========
[15:24:30] [PASSED] Unknown
[15:24:30] [PASSED] VGA
[15:24:30] [PASSED] DVI-I
[15:24:30] [PASSED] DVI-D
[15:24:30] [PASSED] DVI-A
[15:24:30] [PASSED] Composite
[15:24:30] [PASSED] SVIDEO
[15:24:30] [PASSED] LVDS
[15:24:30] [PASSED] Component
[15:24:30] [PASSED] DIN
[15:24:30] [PASSED] DP
[15:24:30] [PASSED] HDMI-A
[15:24:30] [PASSED] HDMI-B
[15:24:30] [PASSED] TV
[15:24:30] [PASSED] eDP
[15:24:30] [PASSED] Virtual
[15:24:30] [PASSED] DSI
[15:24:30] [PASSED] DPI
[15:24:30] [PASSED] Writeback
[15:24:30] [PASSED] SPI
[15:24:30] [PASSED] USB
[15:24:30] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[15:24:30] =============== [PASSED] drmm_connector_init ===============
[15:24:30] ========= drm_connector_dynamic_init (6 subtests) ==========
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_init
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_init_properties
[15:24:30] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[15:24:30] [PASSED] Unknown
[15:24:30] [PASSED] VGA
[15:24:30] [PASSED] DVI-I
[15:24:30] [PASSED] DVI-D
[15:24:30] [PASSED] DVI-A
[15:24:30] [PASSED] Composite
[15:24:30] [PASSED] SVIDEO
[15:24:30] [PASSED] LVDS
[15:24:30] [PASSED] Component
[15:24:30] [PASSED] DIN
[15:24:30] [PASSED] DP
[15:24:30] [PASSED] HDMI-A
[15:24:30] [PASSED] HDMI-B
[15:24:30] [PASSED] TV
[15:24:30] [PASSED] eDP
[15:24:30] [PASSED] Virtual
[15:24:30] [PASSED] DSI
[15:24:30] [PASSED] DPI
[15:24:30] [PASSED] Writeback
[15:24:30] [PASSED] SPI
[15:24:30] [PASSED] USB
[15:24:30] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[15:24:30] ======== drm_test_drm_connector_dynamic_init_name =========
[15:24:30] [PASSED] Unknown
[15:24:30] [PASSED] VGA
[15:24:30] [PASSED] DVI-I
[15:24:30] [PASSED] DVI-D
[15:24:30] [PASSED] DVI-A
[15:24:30] [PASSED] Composite
[15:24:30] [PASSED] SVIDEO
[15:24:30] [PASSED] LVDS
[15:24:30] [PASSED] Component
[15:24:30] [PASSED] DIN
[15:24:30] [PASSED] DP
[15:24:30] [PASSED] HDMI-A
[15:24:30] [PASSED] HDMI-B
[15:24:30] [PASSED] TV
[15:24:30] [PASSED] eDP
[15:24:30] [PASSED] Virtual
[15:24:30] [PASSED] DSI
[15:24:30] [PASSED] DPI
[15:24:30] [PASSED] Writeback
[15:24:30] [PASSED] SPI
[15:24:30] [PASSED] USB
[15:24:30] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[15:24:30] =========== [PASSED] drm_connector_dynamic_init ============
[15:24:30] ==== drm_connector_dynamic_register_early (4 subtests) =====
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[15:24:30] ====== [PASSED] drm_connector_dynamic_register_early =======
[15:24:30] ======= drm_connector_dynamic_register (7 subtests) ========
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[15:24:30] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[15:24:30] ========= [PASSED] drm_connector_dynamic_register ==========
[15:24:30] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[15:24:30] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[15:24:30] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[15:24:30] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[15:24:30] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[15:24:30] ========== drm_test_get_tv_mode_from_name_valid ===========
[15:24:30] [PASSED] NTSC
[15:24:30] [PASSED] NTSC-443
[15:24:30] [PASSED] NTSC-J
[15:24:30] [PASSED] PAL
[15:24:30] [PASSED] PAL-M
[15:24:30] [PASSED] PAL-N
[15:24:30] [PASSED] SECAM
[15:24:30] [PASSED] Mono
[15:24:30] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[15:24:30] [PASSED] drm_test_get_tv_mode_from_name_truncated
[15:24:30] ============ [PASSED] drm_get_tv_mode_from_name ============
[15:24:30] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[15:24:30] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[15:24:30] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[15:24:30] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[15:24:30] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[15:24:30] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[15:24:30] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[15:24:30] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[15:24:30] [PASSED] VIC 96
[15:24:30] [PASSED] VIC 97
[15:24:30] [PASSED] VIC 101
[15:24:30] [PASSED] VIC 102
[15:24:30] [PASSED] VIC 106
[15:24:30] [PASSED] VIC 107
[15:24:30] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[15:24:30] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[15:24:30] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[15:24:30] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[15:24:30] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[15:24:30] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[15:24:30] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[15:24:30] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[15:24:30] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[15:24:30] [PASSED] Automatic
[15:24:30] [PASSED] Full
[15:24:30] [PASSED] Limited 16:235
[15:24:30] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[15:24:30] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[15:24:30] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[15:24:30] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[15:24:30] === drm_test_drm_hdmi_connector_get_output_format_name ====
[15:24:30] [PASSED] RGB
[15:24:30] [PASSED] YUV 4:2:0
[15:24:30] [PASSED] YUV 4:2:2
[15:24:30] [PASSED] YUV 4:4:4
[15:24:30] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[15:24:30] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[15:24:30] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[15:24:30] ============= drm_damage_helper (21 subtests) ==============
[15:24:30] [PASSED] drm_test_damage_iter_no_damage
[15:24:30] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[15:24:30] [PASSED] drm_test_damage_iter_no_damage_src_moved
[15:24:30] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[15:24:30] [PASSED] drm_test_damage_iter_no_damage_not_visible
[15:24:30] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[15:24:30] [PASSED] drm_test_damage_iter_no_damage_no_fb
[15:24:30] [PASSED] drm_test_damage_iter_simple_damage
[15:24:30] [PASSED] drm_test_damage_iter_single_damage
[15:24:30] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[15:24:30] [PASSED] drm_test_damage_iter_single_damage_outside_src
[15:24:30] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[15:24:30] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[15:24:30] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[15:24:30] [PASSED] drm_test_damage_iter_single_damage_src_moved
[15:24:30] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[15:24:30] [PASSED] drm_test_damage_iter_damage
[15:24:30] [PASSED] drm_test_damage_iter_damage_one_intersect
[15:24:30] [PASSED] drm_test_damage_iter_damage_one_outside
[15:24:30] [PASSED] drm_test_damage_iter_damage_src_moved
[15:24:30] [PASSED] drm_test_damage_iter_damage_not_visible
[15:24:30] ================ [PASSED] drm_damage_helper ================
[15:24:30] ============== drm_dp_mst_helper (3 subtests) ==============
[15:24:30] ============== drm_test_dp_mst_calc_pbn_mode ==============
[15:24:30] [PASSED] Clock 154000 BPP 30 DSC disabled
[15:24:30] [PASSED] Clock 234000 BPP 30 DSC disabled
[15:24:30] [PASSED] Clock 297000 BPP 24 DSC disabled
[15:24:30] [PASSED] Clock 332880 BPP 24 DSC enabled
[15:24:30] [PASSED] Clock 324540 BPP 24 DSC enabled
[15:24:30] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[15:24:30] ============== drm_test_dp_mst_calc_pbn_div ===============
[15:24:30] [PASSED] Link rate 2000000 lane count 4
[15:24:30] [PASSED] Link rate 2000000 lane count 2
[15:24:30] [PASSED] Link rate 2000000 lane count 1
[15:24:30] [PASSED] Link rate 1350000 lane count 4
[15:24:30] [PASSED] Link rate 1350000 lane count 2
[15:24:30] [PASSED] Link rate 1350000 lane count 1
[15:24:30] [PASSED] Link rate 1000000 lane count 4
[15:24:30] [PASSED] Link rate 1000000 lane count 2
[15:24:30] [PASSED] Link rate 1000000 lane count 1
[15:24:30] [PASSED] Link rate 810000 lane count 4
[15:24:30] [PASSED] Link rate 810000 lane count 2
[15:24:30] [PASSED] Link rate 810000 lane count 1
[15:24:30] [PASSED] Link rate 540000 lane count 4
[15:24:30] [PASSED] Link rate 540000 lane count 2
[15:24:30] [PASSED] Link rate 540000 lane count 1
[15:24:30] [PASSED] Link rate 270000 lane count 4
[15:24:30] [PASSED] Link rate 270000 lane count 2
[15:24:30] [PASSED] Link rate 270000 lane count 1
[15:24:30] [PASSED] Link rate 162000 lane count 4
[15:24:30] [PASSED] Link rate 162000 lane count 2
[15:24:30] [PASSED] Link rate 162000 lane count 1
[15:24:30] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[15:24:30] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[15:24:30] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[15:24:30] [PASSED] DP_POWER_UP_PHY with port number
[15:24:30] [PASSED] DP_POWER_DOWN_PHY with port number
[15:24:30] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[15:24:30] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[15:24:30] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[15:24:30] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[15:24:30] [PASSED] DP_QUERY_PAYLOAD with port number
[15:24:30] [PASSED] DP_QUERY_PAYLOAD with VCPI
[15:24:30] [PASSED] DP_REMOTE_DPCD_READ with port number
[15:24:30] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[15:24:30] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[15:24:30] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[15:24:30] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[15:24:30] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[15:24:30] [PASSED] DP_REMOTE_I2C_READ with port number
[15:24:30] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[15:24:30] [PASSED] DP_REMOTE_I2C_READ with transactions array
[15:24:30] [PASSED] DP_REMOTE_I2C_WRITE with port number
[15:24:30] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[15:24:30] [PASSED] DP_REMOTE_I2C_WRITE with data array
[15:24:30] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[15:24:30] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[15:24:30] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[15:24:30] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[15:24:30] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[15:24:30] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[15:24:30] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[15:24:30] ================ [PASSED] drm_dp_mst_helper ================
[15:24:30] ================== drm_exec (7 subtests) ===================
[15:24:30] [PASSED] sanitycheck
[15:24:30] [PASSED] test_lock
[15:24:30] [PASSED] test_lock_unlock
[15:24:30] [PASSED] test_duplicates
[15:24:30] [PASSED] test_prepare
[15:24:30] [PASSED] test_prepare_array
[15:24:30] [PASSED] test_multiple_loops
[15:24:30] ==================== [PASSED] drm_exec =====================
[15:24:30] =========== drm_format_helper_test (17 subtests) ===========
[15:24:30] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[15:24:30] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[15:24:30] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[15:24:30] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[15:24:30] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[15:24:30] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[15:24:30] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[15:24:30] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[15:24:30] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[15:24:30] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[15:24:30] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[15:24:30] ============== drm_test_fb_xrgb8888_to_mono ===============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[15:24:30] ==================== drm_test_fb_swab =====================
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ================ [PASSED] drm_test_fb_swab =================
[15:24:30] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[15:24:30] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[15:24:30] [PASSED] single_pixel_source_buffer
[15:24:30] [PASSED] single_pixel_clip_rectangle
[15:24:30] [PASSED] well_known_colors
[15:24:30] [PASSED] destination_pitch
[15:24:30] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[15:24:30] ================= drm_test_fb_clip_offset =================
[15:24:30] [PASSED] pass through
[15:24:30] [PASSED] horizontal offset
[15:24:30] [PASSED] vertical offset
[15:24:30] [PASSED] horizontal and vertical offset
[15:24:30] [PASSED] horizontal offset (custom pitch)
[15:24:30] [PASSED] vertical offset (custom pitch)
[15:24:30] [PASSED] horizontal and vertical offset (custom pitch)
[15:24:30] ============= [PASSED] drm_test_fb_clip_offset =============
[15:24:30] =================== drm_test_fb_memcpy ====================
[15:24:30] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[15:24:30] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[15:24:30] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[15:24:30] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[15:24:30] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[15:24:30] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[15:24:30] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[15:24:30] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[15:24:30] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[15:24:30] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[15:24:30] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[15:24:30] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[15:24:30] =============== [PASSED] drm_test_fb_memcpy ================
[15:24:30] ============= [PASSED] drm_format_helper_test ==============
[15:24:30] ================= drm_format (18 subtests) =================
[15:24:30] [PASSED] drm_test_format_block_width_invalid
[15:24:30] [PASSED] drm_test_format_block_width_one_plane
[15:24:30] [PASSED] drm_test_format_block_width_two_plane
[15:24:30] [PASSED] drm_test_format_block_width_three_plane
[15:24:30] [PASSED] drm_test_format_block_width_tiled
[15:24:30] [PASSED] drm_test_format_block_height_invalid
[15:24:30] [PASSED] drm_test_format_block_height_one_plane
[15:24:30] [PASSED] drm_test_format_block_height_two_plane
[15:24:30] [PASSED] drm_test_format_block_height_three_plane
[15:24:30] [PASSED] drm_test_format_block_height_tiled
[15:24:30] [PASSED] drm_test_format_min_pitch_invalid
[15:24:30] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[15:24:30] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[15:24:30] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[15:24:30] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[15:24:30] [PASSED] drm_test_format_min_pitch_two_plane
[15:24:30] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[15:24:30] [PASSED] drm_test_format_min_pitch_tiled
[15:24:30] =================== [PASSED] drm_format ====================
[15:24:30] ============== drm_framebuffer (10 subtests) ===============
[15:24:30] ========== drm_test_framebuffer_check_src_coords ==========
[15:24:30] [PASSED] Success: source fits into fb
[15:24:30] [PASSED] Fail: overflowing fb with x-axis coordinate
[15:24:30] [PASSED] Fail: overflowing fb with y-axis coordinate
[15:24:30] [PASSED] Fail: overflowing fb with source width
[15:24:30] [PASSED] Fail: overflowing fb with source height
[15:24:30] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[15:24:30] [PASSED] drm_test_framebuffer_cleanup
[15:24:30] =============== drm_test_framebuffer_create ===============
[15:24:30] [PASSED] ABGR8888 normal sizes
[15:24:30] [PASSED] ABGR8888 max sizes
[15:24:30] [PASSED] ABGR8888 pitch greater than min required
[15:24:30] [PASSED] ABGR8888 pitch less than min required
[15:24:30] [PASSED] ABGR8888 Invalid width
[15:24:30] [PASSED] ABGR8888 Invalid buffer handle
[15:24:30] [PASSED] No pixel format
[15:24:30] [PASSED] ABGR8888 Width 0
[15:24:30] [PASSED] ABGR8888 Height 0
[15:24:30] [PASSED] ABGR8888 Out of bound height * pitch combination
[15:24:30] [PASSED] ABGR8888 Large buffer offset
[15:24:30] [PASSED] ABGR8888 Buffer offset for inexistent plane
[15:24:30] [PASSED] ABGR8888 Invalid flag
[15:24:30] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[15:24:30] [PASSED] ABGR8888 Valid buffer modifier
[15:24:30] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[15:24:30] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[15:24:30] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[15:24:30] [PASSED] NV12 Normal sizes
[15:24:30] [PASSED] NV12 Max sizes
[15:24:30] [PASSED] NV12 Invalid pitch
[15:24:30] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[15:24:30] [PASSED] NV12 different modifier per-plane
[15:24:30] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[15:24:30] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[15:24:30] [PASSED] NV12 Modifier for inexistent plane
[15:24:30] [PASSED] NV12 Handle for inexistent plane
[15:24:30] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[15:24:30] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[15:24:30] [PASSED] YVU420 Normal sizes
[15:24:30] [PASSED] YVU420 Max sizes
[15:24:30] [PASSED] YVU420 Invalid pitch
[15:24:30] [PASSED] YVU420 Different pitches
[15:24:30] [PASSED] YVU420 Different buffer offsets/pitches
[15:24:30] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[15:24:30] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[15:24:30] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[15:24:30] [PASSED] YVU420 Valid modifier
[15:24:30] [PASSED] YVU420 Different modifiers per plane
[15:24:30] [PASSED] YVU420 Modifier for inexistent plane
[15:24:30] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[15:24:30] [PASSED] X0L2 Normal sizes
[15:24:30] [PASSED] X0L2 Max sizes
[15:24:30] [PASSED] X0L2 Invalid pitch
[15:24:30] [PASSED] X0L2 Pitch greater than minimum required
[15:24:30] [PASSED] X0L2 Handle for inexistent plane
[15:24:30] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[15:24:30] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[15:24:30] [PASSED] X0L2 Valid modifier
[15:24:30] [PASSED] X0L2 Modifier for inexistent plane
[15:24:30] =========== [PASSED] drm_test_framebuffer_create ===========
[15:24:30] [PASSED] drm_test_framebuffer_free
[15:24:30] [PASSED] drm_test_framebuffer_init
[15:24:30] [PASSED] drm_test_framebuffer_init_bad_format
[15:24:30] [PASSED] drm_test_framebuffer_init_dev_mismatch
[15:24:30] [PASSED] drm_test_framebuffer_lookup
[15:24:30] [PASSED] drm_test_framebuffer_lookup_inexistent
[15:24:30] [PASSED] drm_test_framebuffer_modifiers_not_supported
[15:24:30] ================= [PASSED] drm_framebuffer =================
[15:24:30] ================ drm_gem_shmem (8 subtests) ================
[15:24:30] [PASSED] drm_gem_shmem_test_obj_create
[15:24:30] [PASSED] drm_gem_shmem_test_obj_create_private
[15:24:30] [PASSED] drm_gem_shmem_test_pin_pages
[15:24:30] [PASSED] drm_gem_shmem_test_vmap
[15:24:30] [PASSED] drm_gem_shmem_test_get_sg_table
[15:24:30] [PASSED] drm_gem_shmem_test_get_pages_sgt
[15:24:30] [PASSED] drm_gem_shmem_test_madvise
[15:24:30] [PASSED] drm_gem_shmem_test_purge
[15:24:30] ================== [PASSED] drm_gem_shmem ==================
[15:24:30] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[15:24:30] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[15:24:30] [PASSED] Automatic
[15:24:30] [PASSED] Full
[15:24:30] [PASSED] Limited 16:235
[15:24:30] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[15:24:30] [PASSED] drm_test_check_disable_connector
[15:24:30] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[15:24:30] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[15:24:30] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[15:24:30] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[15:24:30] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[15:24:30] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[15:24:30] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[15:24:30] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[15:24:30] [PASSED] drm_test_check_output_bpc_dvi
[15:24:30] [PASSED] drm_test_check_output_bpc_format_vic_1
[15:24:30] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[15:24:30] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[15:24:30] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[15:24:30] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[15:24:30] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[15:24:30] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[15:24:30] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[15:24:30] ============ drm_test_check_hdmi_color_format =============
[15:24:30] [PASSED] AUTO -> RGB
[15:24:30] [PASSED] YCBCR422 -> YUV422
[15:24:30] [PASSED] YCBCR420 -> YUV420
[15:24:30] [PASSED] YCBCR444 -> YUV444
[15:24:30] [PASSED] RGB -> RGB
[15:24:30] ======== [PASSED] drm_test_check_hdmi_color_format =========
[15:24:30] ======== drm_test_check_hdmi_color_format_420_only ========
[15:24:30] [PASSED] RGB should fail
[15:24:30] [PASSED] YUV444 should fail
[15:24:30] [PASSED] YUV422 should fail
[15:24:30] [PASSED] YUV420 should work
[15:24:30] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[15:24:30] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[15:24:30] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[15:24:30] [PASSED] drm_test_check_broadcast_rgb_value
[15:24:30] [PASSED] drm_test_check_bpc_8_value
[15:24:30] [PASSED] drm_test_check_bpc_10_value
[15:24:30] [PASSED] drm_test_check_bpc_12_value
[15:24:30] [PASSED] drm_test_check_format_value
[15:24:30] [PASSED] drm_test_check_tmds_char_value
[15:24:30] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[15:24:30] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[15:24:30] [PASSED] drm_test_check_mode_valid
[15:24:30] [PASSED] drm_test_check_mode_valid_reject
[15:24:30] [PASSED] drm_test_check_mode_valid_reject_rate
[15:24:30] [PASSED] drm_test_check_mode_valid_reject_max_clock
[15:24:30] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[15:24:30] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[15:24:30] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[15:24:30] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[15:24:30] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[15:24:30] [PASSED] drm_test_check_infoframes
[15:24:30] [PASSED] drm_test_check_reject_avi_infoframe
[15:24:30] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[15:24:30] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[15:24:30] [PASSED] drm_test_check_reject_audio_infoframe
[15:24:30] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[15:24:30] ================= drm_managed (2 subtests) =================
[15:24:30] [PASSED] drm_test_managed_release_action
[15:24:30] [PASSED] drm_test_managed_run_action
[15:24:30] =================== [PASSED] drm_managed ===================
[15:24:30] =================== drm_mm (6 subtests) ====================
[15:24:30] [PASSED] drm_test_mm_init
[15:24:30] [PASSED] drm_test_mm_debug
[15:24:30] [PASSED] drm_test_mm_align32
[15:24:30] [PASSED] drm_test_mm_align64
[15:24:30] [PASSED] drm_test_mm_lowest
[15:24:30] [PASSED] drm_test_mm_highest
[15:24:30] ===================== [PASSED] drm_mm ======================
[15:24:30] ============= drm_modes_analog_tv (5 subtests) =============
[15:24:30] [PASSED] drm_test_modes_analog_tv_mono_576i
[15:24:30] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[15:24:30] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[15:24:30] [PASSED] drm_test_modes_analog_tv_pal_576i
[15:24:30] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[15:24:30] =============== [PASSED] drm_modes_analog_tv ===============
[15:24:30] ============== drm_plane_helper (2 subtests) ===============
[15:24:30] =============== drm_test_check_plane_state ================
[15:24:30] [PASSED] clipping_simple
[15:24:30] [PASSED] clipping_rotate_reflect
[15:24:30] [PASSED] positioning_simple
[15:24:30] [PASSED] upscaling
[15:24:30] [PASSED] downscaling
[15:24:30] [PASSED] rounding1
[15:24:30] [PASSED] rounding2
[15:24:30] [PASSED] rounding3
[15:24:30] [PASSED] rounding4
[15:24:30] =========== [PASSED] drm_test_check_plane_state ============
[15:24:30] =========== drm_test_check_invalid_plane_state ============
[15:24:30] [PASSED] positioning_invalid
[15:24:30] [PASSED] upscaling_invalid
[15:24:30] [PASSED] downscaling_invalid
[15:24:30] ======= [PASSED] drm_test_check_invalid_plane_state ========
[15:24:30] ================ [PASSED] drm_plane_helper =================
[15:24:30] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[15:24:30] ====== drm_test_connector_helper_tv_get_modes_check =======
[15:24:30] [PASSED] None
[15:24:30] [PASSED] PAL
[15:24:30] [PASSED] NTSC
[15:24:30] [PASSED] Both, NTSC Default
[15:24:30] [PASSED] Both, PAL Default
[15:24:30] [PASSED] Both, NTSC Default, with PAL on command-line
[15:24:30] [PASSED] Both, PAL Default, with NTSC on command-line
[15:24:30] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[15:24:30] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[15:24:30] ================== drm_rect (9 subtests) ===================
[15:24:30] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[15:24:30] [PASSED] drm_test_rect_clip_scaled_not_clipped
[15:24:30] [PASSED] drm_test_rect_clip_scaled_clipped
[15:24:30] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[15:24:30] ================= drm_test_rect_intersect =================
[15:24:30] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[15:24:30] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[15:24:30] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[15:24:30] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[15:24:30] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[15:24:30] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[15:24:30] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[15:24:30] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[15:24:30] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[15:24:30] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[15:24:30] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[15:24:30] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[15:24:30] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[15:24:30] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[15:24:30] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[15:24:30] ============= [PASSED] drm_test_rect_intersect =============
[15:24:30] ================ drm_test_rect_calc_hscale ================
[15:24:30] [PASSED] normal use
[15:24:30] [PASSED] out of max range
[15:24:30] [PASSED] out of min range
[15:24:30] [PASSED] zero dst
[15:24:30] [PASSED] negative src
[15:24:30] [PASSED] negative dst
[15:24:30] ============ [PASSED] drm_test_rect_calc_hscale ============
[15:24:30] ================ drm_test_rect_calc_vscale ================
[15:24:30] [PASSED] normal use
[15:24:30] [PASSED] out of max range
[15:24:30] [PASSED] out of min range
[15:24:30] [PASSED] zero dst
[15:24:30] [PASSED] negative src
[15:24:30] [PASSED] negative dst
[15:24:30] ============ [PASSED] drm_test_rect_calc_vscale ============
[15:24:30] ================== drm_test_rect_rotate ===================
[15:24:30] [PASSED] reflect-x
[15:24:30] [PASSED] reflect-y
[15:24:30] [PASSED] rotate-0
[15:24:30] [PASSED] rotate-90
[15:24:30] [PASSED] rotate-180
[15:24:30] [PASSED] rotate-270
[15:24:30] ============== [PASSED] drm_test_rect_rotate ===============
[15:24:30] ================ drm_test_rect_rotate_inv =================
[15:24:30] [PASSED] reflect-x
[15:24:30] [PASSED] reflect-y
[15:24:30] [PASSED] rotate-0
[15:24:30] [PASSED] rotate-90
[15:24:30] [PASSED] rotate-180
[15:24:30] [PASSED] rotate-270
[15:24:30] ============ [PASSED] drm_test_rect_rotate_inv =============
[15:24:30] ==================== [PASSED] drm_rect =====================
[15:24:30] ============ drm_sysfb_modeset_test (1 subtest) ============
[15:24:30] ============ drm_test_sysfb_build_fourcc_list =============
[15:24:30] [PASSED] no native formats
[15:24:30] [PASSED] XRGB8888 as native format
[15:24:30] [PASSED] remove duplicates
[15:24:30] [PASSED] convert alpha formats
[15:24:30] [PASSED] random formats
[15:24:30] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[15:24:30] ============= [PASSED] drm_sysfb_modeset_test ==============
[15:24:30] ================== drm_fixp (2 subtests) ===================
[15:24:30] [PASSED] drm_test_int2fixp
[15:24:30] [PASSED] drm_test_sm2fixp
[15:24:30] ==================== [PASSED] drm_fixp =====================
[15:24:30] ============================================================
[15:24:30] Testing complete. Ran 641 tests: passed: 641
[15:24:30] Elapsed time: 27.443s total, 1.819s configuring, 25.407s building, 0.191s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[15:24:30] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:24:32] 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
[15:24:42] Starting KUnit Kernel (1/1)...
[15:24:42] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:24:42] ============= refcount_interrupt (4 subtests) ==============
[15:24:42] [PASSED] test_single_irq_change
[15:24:42] [PASSED] test_nested_irq_change
[15:24:42] [PASSED] test_multiple_irq_change
[15:24:42] [PASSED] test_irq_save
[15:24:42] =============== [PASSED] refcount_interrupt ================
[15:24:42] ================= ttm_device (5 subtests) ==================
[15:24:42] [PASSED] ttm_device_init_basic
[15:24:42] [PASSED] ttm_device_init_multiple
[15:24:42] [PASSED] ttm_device_fini_basic
[15:24:42] [PASSED] ttm_device_init_no_vma_man
[15:24:42] ================== ttm_device_init_pools ==================
[15:24:42] [PASSED] No DMA allocations, no DMA32 required
[15:24:42] [PASSED] DMA allocations, DMA32 required
[15:24:42] [PASSED] No DMA allocations, DMA32 required
[15:24:42] [PASSED] DMA allocations, no DMA32 required
[15:24:42] ============== [PASSED] ttm_device_init_pools ==============
[15:24:42] =================== [PASSED] ttm_device ====================
[15:24:42] ================== ttm_pool (8 subtests) ===================
[15:24:42] ================== ttm_pool_alloc_basic ===================
[15:24:42] [PASSED] One page
[15:24:42] [PASSED] More than one page
[15:24:42] [PASSED] Above the allocation limit
[15:24:42] [PASSED] One page, with coherent DMA mappings enabled
[15:24:42] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[15:24:42] ============== [PASSED] ttm_pool_alloc_basic ===============
[15:24:42] ============== ttm_pool_alloc_basic_dma_addr ==============
[15:24:42] [PASSED] One page
[15:24:42] [PASSED] More than one page
[15:24:42] [PASSED] Above the allocation limit
[15:24:42] [PASSED] One page, with coherent DMA mappings enabled
[15:24:42] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[15:24:42] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[15:24:42] [PASSED] ttm_pool_alloc_order_caching_match
[15:24:42] [PASSED] ttm_pool_alloc_caching_mismatch
[15:24:42] [PASSED] ttm_pool_alloc_order_mismatch
[15:24:42] [PASSED] ttm_pool_free_dma_alloc
[15:24:42] [PASSED] ttm_pool_free_no_dma_alloc
[15:24:42] [PASSED] ttm_pool_fini_basic
[15:24:42] ==================== [PASSED] ttm_pool =====================
[15:24:42] ================ ttm_resource (8 subtests) =================
[15:24:42] ================= ttm_resource_init_basic =================
[15:24:42] [PASSED] Init resource in TTM_PL_SYSTEM
[15:24:42] [PASSED] Init resource in TTM_PL_VRAM
[15:24:42] [PASSED] Init resource in a private placement
[15:24:42] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[15:24:42] ============= [PASSED] ttm_resource_init_basic =============
[15:24:42] [PASSED] ttm_resource_init_pinned
[15:24:42] [PASSED] ttm_resource_fini_basic
[15:24:42] [PASSED] ttm_resource_manager_init_basic
[15:24:42] [PASSED] ttm_resource_manager_usage_basic
[15:24:42] [PASSED] ttm_resource_manager_set_used_basic
[15:24:42] [PASSED] ttm_sys_man_alloc_basic
[15:24:42] [PASSED] ttm_sys_man_free_basic
[15:24:42] ================== [PASSED] ttm_resource ===================
[15:24:42] =================== ttm_tt (15 subtests) ===================
[15:24:42] ==================== ttm_tt_init_basic ====================
[15:24:42] [PASSED] Page-aligned size
[15:24:42] [PASSED] Extra pages requested
[15:24:42] ================ [PASSED] ttm_tt_init_basic ================
[15:24:42] [PASSED] ttm_tt_init_misaligned
[15:24:42] [PASSED] ttm_tt_fini_basic
[15:24:42] [PASSED] ttm_tt_fini_sg
[15:24:42] [PASSED] ttm_tt_fini_shmem
[15:24:42] [PASSED] ttm_tt_create_basic
[15:24:42] [PASSED] ttm_tt_create_invalid_bo_type
[15:24:42] [PASSED] ttm_tt_create_ttm_exists
[15:24:42] [PASSED] ttm_tt_create_failed
[15:24:42] [PASSED] ttm_tt_destroy_basic
[15:24:42] [PASSED] ttm_tt_populate_null_ttm
[15:24:42] [PASSED] ttm_tt_populate_populated_ttm
[15:24:42] [PASSED] ttm_tt_unpopulate_basic
[15:24:42] [PASSED] ttm_tt_unpopulate_empty_ttm
[15:24:42] [PASSED] ttm_tt_swapin_basic
[15:24:42] ===================== [PASSED] ttm_tt ======================
[15:24:42] =================== ttm_bo (14 subtests) ===================
[15:24:42] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[15:24:42] [PASSED] Cannot be interrupted and sleeps
[15:24:42] [PASSED] Cannot be interrupted, locks straight away
[15:24:42] [PASSED] Can be interrupted, sleeps
[15:24:42] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[15:24:42] [PASSED] ttm_bo_reserve_locked_no_sleep
[15:24:42] [PASSED] ttm_bo_reserve_no_wait_ticket
[15:24:42] [PASSED] ttm_bo_reserve_double_resv
[15:24:42] [PASSED] ttm_bo_reserve_interrupted
[15:24:42] [PASSED] ttm_bo_reserve_deadlock
[15:24:42] [PASSED] ttm_bo_unreserve_basic
[15:24:42] [PASSED] ttm_bo_unreserve_pinned
[15:24:42] [PASSED] ttm_bo_unreserve_bulk
[15:24:42] [PASSED] ttm_bo_fini_basic
[15:24:42] [PASSED] ttm_bo_fini_shared_resv
[15:24:42] [PASSED] ttm_bo_pin_basic
[15:24:42] [PASSED] ttm_bo_pin_unpin_resource
[15:24:42] [PASSED] ttm_bo_multiple_pin_one_unpin
[15:24:42] ===================== [PASSED] ttm_bo ======================
[15:24:42] ============== ttm_bo_validate (22 subtests) ===============
[15:24:42] ============== ttm_bo_init_reserved_sys_man ===============
[15:24:42] [PASSED] Buffer object for userspace
[15:24:42] [PASSED] Kernel buffer object
[15:24:42] [PASSED] Shared buffer object
[15:24:42] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[15:24:42] ============== ttm_bo_init_reserved_mock_man ==============
[15:24:42] [PASSED] Buffer object for userspace
[15:24:42] [PASSED] Kernel buffer object
[15:24:42] [PASSED] Shared buffer object
[15:24:42] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[15:24:42] [PASSED] ttm_bo_init_reserved_resv
[15:24:42] ================== ttm_bo_validate_basic ==================
[15:24:42] [PASSED] Buffer object for userspace
[15:24:42] [PASSED] Kernel buffer object
[15:24:42] [PASSED] Shared buffer object
[15:24:42] ============== [PASSED] ttm_bo_validate_basic ==============
[15:24:42] [PASSED] ttm_bo_validate_invalid_placement
[15:24:42] ============= ttm_bo_validate_same_placement ==============
[15:24:42] [PASSED] System manager
[15:24:42] [PASSED] VRAM manager
[15:24:42] ========= [PASSED] ttm_bo_validate_same_placement ==========
[15:24:42] [PASSED] ttm_bo_validate_failed_alloc
[15:24:42] [PASSED] ttm_bo_validate_pinned
[15:24:42] [PASSED] ttm_bo_validate_busy_placement
[15:24:42] ================ ttm_bo_validate_multihop =================
[15:24:42] [PASSED] Buffer object for userspace
[15:24:42] [PASSED] Kernel buffer object
[15:24:42] [PASSED] Shared buffer object
[15:24:42] ============ [PASSED] ttm_bo_validate_multihop =============
[15:24:42] ========== ttm_bo_validate_no_placement_signaled ==========
[15:24:42] [PASSED] Buffer object in system domain, no page vector
[15:24:42] [PASSED] Buffer object in system domain with an existing page vector
[15:24:42] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[15:24:42] ======== ttm_bo_validate_no_placement_not_signaled ========
[15:24:42] [PASSED] Buffer object for userspace
[15:24:42] [PASSED] Kernel buffer object
[15:24:42] [PASSED] Shared buffer object
[15:24:42] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[15:24:42] [PASSED] ttm_bo_validate_move_fence_signaled
[15:24:42] ========= ttm_bo_validate_move_fence_not_signaled =========
[15:24:42] [PASSED] Waits for GPU
[15:24:42] [PASSED] Tries to lock straight away
[15:24:42] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[15:24:42] [PASSED] ttm_bo_validate_swapout
[15:24:42] [PASSED] ttm_bo_validate_happy_evict
[15:24:42] [PASSED] ttm_bo_validate_all_pinned_evict
[15:24:42] [PASSED] ttm_bo_validate_allowed_only_evict
[15:24:42] [PASSED] ttm_bo_validate_deleted_evict
[15:24:42] [PASSED] ttm_bo_validate_busy_domain_evict
[15:24:42] [PASSED] ttm_bo_validate_evict_gutting
[15:24:42] [PASSED] ttm_bo_validate_recrusive_evict
[15:24:42] ================= [PASSED] ttm_bo_validate =================
[15:24:42] ============================================================
[15:24:42] Testing complete. Ran 106 tests: passed: 106
[15:24:42] Elapsed time: 12.008s total, 1.793s configuring, 10.000s building, 0.181s running
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[15:24:42] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:24:44] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[15:24:53] Starting KUnit Kernel (1/1)...
[15:24:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:24:53] ============= refcount_interrupt (4 subtests) ==============
[15:24:53] [PASSED] test_single_irq_change
[15:24:53] [PASSED] test_nested_irq_change
[15:24:53] [PASSED] test_multiple_irq_change
[15:24:53] [PASSED] test_irq_save
[15:24:53] =============== [PASSED] refcount_interrupt ================
[15:24:53] =============== dma-buf-fence (12 subtests) ================
[15:24:53] [PASSED] test_sanitycheck
[15:24:53] [PASSED] test_signaling
[15:24:53] [PASSED] test_add_callback
[15:24:53] [PASSED] test_late_add_callback
[15:24:53] [PASSED] test_rm_callback
[15:24:53] [PASSED] test_late_rm_callback
[15:24:53] [PASSED] test_status
[15:24:53] [PASSED] test_error
[15:24:53] [PASSED] test_wait
[15:24:53] [PASSED] test_wait_timeout
[15:24:53] [PASSED] test_stub
[15:24:53] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[15:24:53] ================== [PASSED] dma-buf-fence ==================
[15:24:53] ============ dma-buf-fence-chain (11 subtests) =============
[15:24:53] [PASSED] test_sanitycheck
[15:24:53] [PASSED] test_find_seqno
[15:24:53] [PASSED] test_find_signaled
[15:24:53] [PASSED] test_find_out_of_order
[15:24:58] [PASSED] test_find_gap
[15:24:58] [PASSED] test_find_race
[15:24:58] [PASSED] test_signal_forward
[15:24:58] [PASSED] test_signal_backward
[15:24:58] [PASSED] test_wait_forward
[15:24:58] [PASSED] test_wait_backward
[15:24:58] [PASSED] test_wait_random
[15:24:58] =============== [PASSED] dma-buf-fence-chain ===============
[15:24:58] ============ dma-buf-fence-unwrap (10 subtests) ============
[15:24:58] [PASSED] test_sanitycheck
[15:24:58] [PASSED] test_unwrap_array
[15:24:58] [PASSED] test_unwrap_chain
[15:24:58] [PASSED] test_unwrap_chain_array
[15:24:58] [PASSED] test_unwrap_merge
[15:24:58] [PASSED] test_unwrap_merge_duplicate
[15:24:58] [PASSED] test_unwrap_merge_seqno
[15:24:58] [PASSED] test_unwrap_merge_order
[15:24:58] [PASSED] test_unwrap_merge_complex
[15:24:58] [PASSED] test_unwrap_merge_complex_seqno
[15:24:58] ============== [PASSED] dma-buf-fence-unwrap ===============
[15:24:58] ================ dma-buf-resv (5 subtests) =================
[15:24:58] [PASSED] test_sanitycheck
[15:24:58] ===================== test_signaling ======================
[15:24:58] [PASSED] kernel
[15:24:58] [PASSED] write
[15:24:58] [PASSED] read
[15:24:58] [PASSED] bookkeep
[15:24:58] ================= [PASSED] test_signaling ==================
[15:24:58] ====================== test_for_each ======================
[15:24:58] [PASSED] kernel
[15:24:58] [PASSED] write
[15:24:58] [PASSED] read
[15:24:58] [PASSED] bookkeep
[15:24:58] ================== [PASSED] test_for_each ==================
[15:24:58] ================= test_for_each_unlocked ==================
[15:24:58] [PASSED] kernel
[15:24:58] [PASSED] write
[15:24:58] [PASSED] read
[15:24:58] [PASSED] bookkeep
[15:24:58] ============= [PASSED] test_for_each_unlocked ==============
[15:24:58] ===================== test_get_fences =====================
[15:24:58] [PASSED] kernel
[15:24:58] [PASSED] write
[15:24:58] [PASSED] read
[15:24:58] [PASSED] bookkeep
[15:24:58] ================= [PASSED] test_get_fences =================
[15:24:58] ================== [PASSED] dma-buf-resv ===================
[15:24:58] ============================================================
[15:24:58] Testing complete. Ran 54 tests: passed: 53, skipped: 1
[15:24:58] Elapsed time: 16.103s total, 1.855s configuring, 8.876s building, 5.353s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v6 12/13] drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL
2026-09-13 14:56 ` [PATCH v6 12/13] drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL Ankit Nautiyal
@ 2026-09-13 15:25 ` sashiko-bot
0 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-13 15:25 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-xe, intel-gfx
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
New issues:
- [Medium] intel_dp_get_lines_for_cmn_sdp_tl() fails to handle DP_SDP_VSC, returning 0 instead of the documented 3 setup lines.
Pre-existing issues:
- [High] intel_dp_sdp_min_guardband() fails to query guardband requirements for DP_SDP_VSC and DP_SDP_VSC_EXT_VESA/CEA.
--
commit 9c43291671903e078a3be3eca84c33bbdb51d4ac
Author: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL
This commit adjusts the SDP guardband requirements when CMN_SDP_TL is enabled.
It introduces intel_dp_get_lines_for_cmn_sdp_tl() to anchor SDPs like GMP, PPS,
VSC, and VSC_EXT relative to CMN_SDP_TL instead of the old per-packet sizing.
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 8c3a324e164ec..02e73ae9e34a0 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
[ ... ]
> @@ -7348,9 +7349,55 @@ int intel_dp_compute_config_late(struct intel_encoder *encoder,
> return 0;
> }
>
> +static
> +int intel_dp_get_lines_for_cmn_sdp_tl(u32 type)
> +{
> + u32 stagger_val;
> +
> + /*
> + * Since we are using default stagger values similar to the case
> + * where CMN SDP TL is not set, the different SDP transmission
> + * lines are:
> + * base : 2nd line of delayed vblank:
> + * GMP : 2 + GMP_STAGGER
> + * VSC_EXT: 2 + VSC_EXT_STAGGER
> + * VSC : 2
> + * PPS : 2 + PPS_STAGGER
> + *
> + * SDP Setup = 1 + MAX(GMP, VSC_EXT, VSC, PPS setup lines)
> + *
> + * For EMP_AS_SDP_TL guardband should be more than vrr.vsync_start.
> + */
> +
> + switch (type) {
> + case DP_SDP_VSC_EXT_VESA:
> + case DP_SDP_VSC_EXT_CEA:
> + stagger_val = VSC_EXT_STAGGER_DEFAULT;
> + break;
> + case HDMI_PACKET_TYPE_GAMUT_METADATA:
> + stagger_val = GMP_STAGGER_DEFAULT;
> + break;
> + case DP_SDP_PPS:
> + stagger_val = PPS_STAGGER_DEFAULT;
> + break;
> + default:
> + return 0;
> + }
[Severity: Medium]
Does this switch statement intentionally omit a case for DP_SDP_VSC?
The comment block above explicitly lists VSC as requiring 2 lines, but
because it is missing from the switch cases, this function falls through to
the default case and returns 0. Returning 0 instead of the documented 3
setup lines (1 + 2 + 0 stagger) for the DP_SDP_VSC guardband requirement
leads to an incorrectly calculated guardband when VSC SDPs are evaluated,
which could potentially cause missing SDPs or display corruption.
> +
> + return 1 + 2 + stagger_val;
> +}
> +
> static
> int intel_dp_get_lines_for_sdp(const struct intel_crtc_state *crtc_state, u32 type)
> {
> + struct intel_display *display = to_intel_display(crtc_state);
> +
> + if (type == DP_SDP_ADAPTIVE_SYNC)
> + return crtc_state->vrr.vsync_start + 1;
> +
> + if (HAS_COMMON_SDP_TL(display))
> + return intel_dp_get_lines_for_cmn_sdp_tl(type);
> +
> switch (type) {
> case DP_SDP_VSC_EXT_VESA:
> case DP_SDP_VSC_EXT_CEA:
> @@ -7359,8 +7406,6 @@ int intel_dp_get_lines_for_sdp(const struct intel_crtc_state *crtc_state, u32 ty
> return 8;
> case DP_SDP_PPS:
> return 7;
[Severity: High]
This is a pre-existing issue, but I noticed that intel_dp_sdp_min_guardband()
never actually queries DP_SDP_VSC or DP_SDP_VSC_EXT_VESA/CEA.
While this patch explicitly adds logic to handle VSC_EXT and VSC sizes (both
in the new CMN mode and legacy paths), intel_dp_sdp_min_guardband() only
queries GMP, PPS, and AS SDPs when calculating the maximum guardband:
drivers/gpu/drm/i915/display/intel_dp.c:intel_dp_sdp_min_guardband() {
...
if (assume_all_enabled ||
crtc_state->infoframes.enable &
intel_hdmi_infoframe_enable(HDMI_PACKET_TYPE_GAMUT_METADATA))
sdp_guardband = max(sdp_guardband,
intel_dp_get_lines_for_sdp(crtc_state,
HDMI_PACKET_TYPE_GAMUT_METADATA));
if (assume_all_enabled ||
crtc_state->dsc.compression_enable)
sdp_guardband = max(sdp_guardband,
intel_dp_get_lines_for_sdp(crtc_state, DP_SDP_PPS));
...
}
Does this leave the VSC_EXT switch cases in intel_dp_get_lines_for_sdp() and
intel_dp_get_lines_for_cmn_sdp_tl() as dead code? Since the guardband
calculation completely ignores the setup line requirements for VSC and
VSC_EXT packets, could programming a guardband smaller than the required
SDP transmission time lead to hardware failures or corrupted VBLANK timing?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260913145649.3240904-1-ankit.k.nautiyal@intel.com?part=12
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v6 06/13] drm/i915/dip: Store and use AS SDP transmission line from crtc state
2026-09-13 14:56 ` [PATCH v6 06/13] drm/i915/dip: Store and use AS SDP transmission line from crtc state Ankit Nautiyal
@ 2026-09-13 15:30 ` sashiko-bot
0 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-13 15:30 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-gfx, intel-xe
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Spurious state mismatch warning due to un-cleared EMP_AS_SDP_TL register for non-VRR and HDMI modesets.
- [Low] AS SDP transmission line is computed unconditionally for DP, contradicting the commit message claim.
--
commit 058f1f7445f91002d16b429b35d8a7cd903b86af
Author: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
drm/i915/dip: Store and use AS SDP transmission line from crtc state
Computes and stores the Adaptive Sync SDP transmission line in the
crtc state rather than computing it at programming time.
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 9b3b526e5e55b..dacb4b7588a02 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
[ ... ]
> @@ -4235,6 +4236,7 @@ static void intel_ddi_get_config(struct intel_encoder *encoder,
> intel_read_dp_sdp(encoder, pipe_config, HDMI_PACKET_TYPE_GAMUT_METADATA);
> intel_read_dp_sdp(encoder, pipe_config, DP_SDP_VSC);
> intel_read_dp_sdp(encoder, pipe_config, DP_SDP_ADAPTIVE_SYNC);
> + intel_dip_sdp_transmission_line_get_config(pipe_config);
[Severity: Medium]
Will this lead to a state mismatch warning on non-VRR or HDMI modesets?
When transitioning from a DP monitor with VRR enabled to an HDMI monitor or DP
with VRR disabled, intel_vrr_possible() returns false. This causes
intel_vrr_set_transcoder_timings() to return early without calling
intel_dip_write_emp_as_sdp_tl():
drivers/gpu/drm/i915/display/intel_vrr.c:intel_vrr_set_transcoder_timings() {
if (!intel_vrr_possible(crtc_state)) {
intel_de_write(display,
TRANS_VRR_CTL(display, cpu_transcoder), 0);
return;
}
...
intel_dip_write_emp_as_sdp_tl(crtc_state);
}
Since intel_dip_write_emp_as_sdp_tl() is skipped, the EMP_AS_SDP_TL hardware
register is left with a stale non-zero value.
Will intel_pipe_config_compare() now throw a state mismatch error because the
software state is computed as 0 for HDMI, but the hardware register retains
the stale VRR value read here?
>
> intel_audio_codec_get_config(encoder, pipe_config);
> }
[ ... ]
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 0cd5e6b5034cf..8c3a324e164ec 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
[ ... ]
> @@ -7324,6 +7325,8 @@ int intel_dp_sdp_compute_config_late(struct intel_crtc_state *crtc_state)
> return -EINVAL;
> }
>
> + intel_dip_sdp_tl_compute_config_late(crtc_state);
[Severity: Low]
Does this execute unconditionally for DP, contradicting the commit message?
The commit message states: "we must configure the AS SDP transmission line at
this point when AS SDP is enabled in crtc_state."
However, this is called without checking if DP_SDP_ADAPTIVE_SYNC is actually
present in crtc_state->infoframes.enable, which populates the software state
variable with vsync_start even when AS SDP is not enabled. Should this have a
conditional check?
> +
> return 0;
> }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260913145649.3240904-1-ankit.k.nautiyal@intel.com?part=6
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v6 11/13] drm/i915/dip: Enable Common SDP Transmission line
2026-09-13 14:56 ` [PATCH v6 11/13] drm/i915/dip: Enable Common " Ankit Nautiyal
@ 2026-09-13 15:33 ` sashiko-bot
0 siblings, 0 replies; 21+ messages in thread
From: sashiko-bot @ 2026-09-13 15:33 UTC (permalink / raw)
To: Ankit Nautiyal; +Cc: intel-xe, intel-gfx
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Common SDP transmission line is incorrectly programmed for MST streams due to missing computation and mismatched transcoder programming scopes.
- [Medium] Integer underflow when computing cmn_sdp_tl for display modes where VRR is disabled or unsupported, leading to spurious warnings and aborted hardware programming.
--
commit 0717b28db12af360a6f11ccd09e4a25272022976
Author: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
drm/i915/dip: Enable Common SDP Transmission line
This commit computes and programs the common base transmission line and
per-SDP stagger values during modesets. It also disables the feature upon
pipe disable.
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index dacb4b7588a02..3cdb06e81130b 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
[ ... ]
> @@ -2737,6 +2737,8 @@ static void mtl_ddi_pre_enable_dp(struct intel_atomic_state *state,
> /* 6.o Configure and enable FEC if needed */
> intel_ddi_enable_fec(encoder, crtc_state);
>
> + intel_dip_cmn_sdp_transmission_line_enable(crtc_state);
> +
> /* 7.a 128b/132b SST. */
[Severity: Medium]
Does hooking this transcoder-specific transmission line programming here
correctly handle MST streams?
Since mtl_ddi_pre_enable_dp() operates at the link level, it appears this
might only be called once for the first active MST stream. This could leave
subsequent transcoders in the MST topology uninitialized, causing their SDP
packets to use incorrect default transmission lines.
Additionally, should the transmission line computation be added to
mst_stream_compute_config_late() in intel_dp_mst.c? It looks like it is
currently omitted during the MST encoder's late compute configuration.
[ ... ]
> @@ -3124,6 +3126,7 @@ static void intel_ddi_buf_disable(struct intel_encoder *encoder,
> DP_TP_CTL_ENABLE, 0);
> }
>
> + intel_dip_cmn_sdp_transmission_line_disable(crtc_state);
> intel_ddi_disable_fec(encoder, crtc_state);
[Severity: Medium]
Similar to the pre-enable hook, does placing the disable sequence in this
link-level function cause it to only apply to the transcoder of the last
active MST stream?
> diff --git a/drivers/gpu/drm/i915/display/intel_dip.c b/drivers/gpu/drm/i915/display/intel_dip.c
> index f8e8577b27558..f447150ff7bc0 100644
> --- a/drivers/gpu/drm/i915/display/intel_dip.c
> +++ b/drivers/gpu/drm/i915/display/intel_dip.c
[ ... ]
> @@ -54,14 +55,109 @@ void intel_dip_write_emp_as_sdp_tl(const struct intel_crtc_state *crtc_state)
[ ... ]
> +static
> +void intel_dip_cmn_sdp_tl_compute_config_late(struct intel_crtc_state *crtc_state)
> +{
[ ... ]
> + if (as_sdp)
> + crtc_state->dip.cmn_sdp_tl = crtc_state->dip.emp_as_sdp_tl;
> + else
> + crtc_state->dip.cmn_sdp_tl = crtc_state->vrr.guardband - 1;
[Severity: Medium]
Can this subtraction underflow if the display mode does not support VRR?
If an interlaced mode is set, for example, intel_vrr_compute_config() can
bail out early and leave vrr.guardband at 0. This would cause the
computation to evaluate to a large unsigned value (or a negative value that
is later evaluated as unsigned).
If this underflow happens, it appears it would cascade into the following
bounds check:
> + if (drm_WARN_ON(display->drm,
> + crtc_state->dip.cmn_sdp_tl >=
> + crtc_state->vrr.guardband + crtc_state->set_context_latency))
> + return;
This could trigger a spurious kernel warning and unexpectedly abort the
rest of the hardware programming sequence for the transmission line.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260913145649.3240904-1-ankit.k.nautiyal@intel.com?part=11
^ permalink raw reply [flat|nested] 21+ messages in thread
* ✓ Xe.CI.BAT: success for Add support for Common SDP Transmission Line (rev6)
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (14 preceding siblings ...)
2026-09-13 15:25 ` ✓ CI.KUnit: success " Patchwork
@ 2026-09-13 16:02 ` Patchwork
2026-09-13 17:04 ` ✓ Xe.CI.FULL: " Patchwork
16 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2026-09-13 16:02 UTC (permalink / raw)
To: Nautiyal, Ankit K; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 3042 bytes --]
== Series Details ==
Series: Add support for Common SDP Transmission Line (rev6)
URL : https://patchwork.freedesktop.org/series/162623/
State : success
== Summary ==
CI Bug Log - changes from xe-5738-d0f49187686a810b5b83216805c07814ad7542dc_BAT -> xe-pw-162623v6_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (15 -> 15)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-162623v6_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@core_hotunplug@unbind-rebind:
- bat-bmg-2: [PASS][1] -> [ABORT][2] ([Intel XE#8007])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/bat-bmg-2/igt@core_hotunplug@unbind-rebind.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/bat-bmg-2/igt@core_hotunplug@unbind-rebind.html
* igt@xe_waitfence@engine:
- bat-ptl-2: [PASS][3] -> [FAIL][4] ([Intel XE#9109])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/bat-ptl-2/igt@xe_waitfence@engine.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/bat-ptl-2/igt@xe_waitfence@engine.html
* igt@xe_waitfence@reltime:
- bat-ptl-2: [PASS][5] -> [FAIL][6] ([Intel XE#9115])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/bat-ptl-2/igt@xe_waitfence@reltime.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/bat-ptl-2/igt@xe_waitfence@reltime.html
- bat-ptl-1: [PASS][7] -> [FAIL][8] ([Intel XE#9115])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/bat-ptl-1/igt@xe_waitfence@reltime.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/bat-ptl-1/igt@xe_waitfence@reltime.html
#### Possible fixes ####
* igt@xe_waitfence@reltime:
- bat-wcl-1: [FAIL][9] ([Intel XE#9115]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/bat-wcl-1/igt@xe_waitfence@reltime.html
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/bat-wcl-1/igt@xe_waitfence@reltime.html
[Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
[Intel XE#9109]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9109
[Intel XE#9115]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9115
Build changes
-------------
* Linux: xe-5738-d0f49187686a810b5b83216805c07814ad7542dc -> xe-pw-162623v6
IGT_9093: 932327f15c92ecb52266ced8c0fbe72931a75880 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5738-d0f49187686a810b5b83216805c07814ad7542dc: d0f49187686a810b5b83216805c07814ad7542dc
xe-pw-162623v6: 162623v6
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/index.html
[-- Attachment #2: Type: text/html, Size: 3839 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* ✓ Xe.CI.FULL: success for Add support for Common SDP Transmission Line (rev6)
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
` (15 preceding siblings ...)
2026-09-13 16:02 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-09-13 17:04 ` Patchwork
16 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2026-09-13 17:04 UTC (permalink / raw)
To: Nautiyal, Ankit K; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 29262 bytes --]
== Series Details ==
Series: Add support for Common SDP Transmission Line (rev6)
URL : https://patchwork.freedesktop.org/series/162623/
State : success
== Summary ==
CI Bug Log - changes from xe-5738-d0f49187686a810b5b83216805c07814ad7542dc_FULL -> xe-pw-162623v6_FULL
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (2 -> 2)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-162623v6_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@alternate-sync-async-flip-atomic:
- shard-bmg: [PASS][1] -> [FAIL][2] ([Intel XE#3718] / [Intel XE#6078])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-8/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-7/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
* igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-d-dp-2:
- shard-bmg: [PASS][3] -> [FAIL][4] ([Intel XE#6078])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-8/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-d-dp-2.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-7/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-d-dp-2.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-270:
- shard-lnl: NOTRUN -> [SKIP][5] ([Intel XE#1407])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-lnl: [PASS][6] -> [FAIL][7] ([Intel XE#1231] / [Intel XE#8628])
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-lnl-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-7/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-0:
- shard-lnl: NOTRUN -> [SKIP][8] ([Intel XE#1124]) +3 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-180:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#1124])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html
* igt@kms_bw@connected-linear-tiling-2-displays-target-1920x1080p:
- shard-lnl: NOTRUN -> [SKIP][10] ([Intel XE#7679])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_bw@connected-linear-tiling-2-displays-target-1920x1080p.html
* igt@kms_bw@linear-tiling-4-displays-target-2160x1440p:
- shard-lnl: NOTRUN -> [SKIP][11] ([Intel XE#8365])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_bw@linear-tiling-4-displays-target-2160x1440p.html
* igt@kms_bw@linear-tiling-4-displays-target-2560x1440p:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#367])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@kms_bw@linear-tiling-4-displays-target-2560x1440p.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs:
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#2887])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-rc-ccs:
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#2887]) +4 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-rc-ccs.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4:
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#7358])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4.html
* igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode:
- shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#373]) +1 other test skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html
* igt@kms_chamelium_sharpness_filter@filter-basic:
- shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#6507])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_chamelium_sharpness_filter@filter-basic.html
* igt@kms_content_protection@uevent-hdcp14:
- shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#7642])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_content_protection@uevent-hdcp14.html
* igt@kms_cursor_crc@cursor-rapid-movement-256x85:
- shard-lnl: NOTRUN -> [SKIP][19] ([Intel XE#1424]) +1 other test skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_cursor_crc@cursor-rapid-movement-256x85.html
* igt@kms_cursor_crc@cursor-sliding-512x512:
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#2321] / [Intel XE#7355])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_cursor_crc@cursor-sliding-512x512.html
* igt@kms_dsc@dsc-with-bpc-ultrajoiner:
- shard-lnl: NOTRUN -> [SKIP][21] ([Intel XE#8265])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_dsc@dsc-with-bpc-ultrajoiner.html
* igt@kms_flip@2x-flip-vs-blocking-wf-vblank@bc-dp2-hdmi-a3:
- shard-bmg: [PASS][22] -> [FAIL][23] ([Intel XE#5408] / [Intel XE#6266]) +1 other test fail
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-5/igt@kms_flip@2x-flip-vs-blocking-wf-vblank@bc-dp2-hdmi-a3.html
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@kms_flip@2x-flip-vs-blocking-wf-vblank@bc-dp2-hdmi-a3.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-bmg: [PASS][24] -> [INCOMPLETE][25] ([Intel XE#2049] / [Intel XE#2597] / [Intel XE#8155]) +1 other test incomplete
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-10/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-6/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip@2x-plain-flip-interruptible:
- shard-lnl: NOTRUN -> [SKIP][26] ([Intel XE#1421]) +2 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_flip@2x-plain-flip-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
- shard-lnl: NOTRUN -> [SKIP][27] ([Intel XE#7178] / [Intel XE#7351])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling:
- shard-lnl: NOTRUN -> [SKIP][28] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385] / [Intel XE#9144])
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][29] ([Intel XE#1397] / [Intel XE#7385] / [Intel XE#9144])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-default-mode.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-blt:
- shard-lnl: NOTRUN -> [SKIP][30] ([Intel XE#6312] / [Intel XE#651]) +1 other test skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][31] ([Intel XE#2311]) +2 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@drrshdr-abgr161616f-draw-render:
- shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#7061])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_frontbuffer_tracking@drrshdr-abgr161616f-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][33] ([Intel XE#656] / [Intel XE#7905]) +11 other tests skip
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#4141])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@fbc-argb161616f-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#7061] / [Intel XE#7356]) +2 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_frontbuffer_tracking@fbc-argb161616f-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrshdr-shrfb-scaledprimary:
- shard-lnl: NOTRUN -> [SKIP][36] ([Intel XE#6312]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrshdr-shrfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbchdr-tiling-y:
- shard-lnl: NOTRUN -> [SKIP][37] ([Intel XE#7399])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_frontbuffer_tracking@fbchdr-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte:
- shard-lnl: NOTRUN -> [SKIP][38] ([Intel XE#7865]) +5 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
- shard-lnl: NOTRUN -> [SKIP][39] ([Intel XE#7905]) +14 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][40] ([Intel XE#2313]) +2 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@kms_frontbuffer_tracking@psrhdr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: [PASS][41] -> [SKIP][42] ([Intel XE#1503])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-6/igt@kms_hdr@invalid-hdr.html
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-4/igt@kms_hdr@invalid-hdr.html
* igt@kms_joiner@invalid-modeset-force-ultra-joiner:
- shard-lnl: NOTRUN -> [SKIP][43] ([Intel XE#6900] / [Intel XE#7362])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html
* igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier:
- shard-lnl: NOTRUN -> [SKIP][44] ([Intel XE#7283]) +1 other test skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_plane@pixel-format-4-tiled-mtl-rc-ccs-modifier.html
* igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a:
- shard-lnl: NOTRUN -> [SKIP][45] ([Intel XE#2763] / [Intel XE#6886]) +3 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_plane_scaling@planes-downscale-factor-0-75@pipe-a.html
* igt@kms_pm_dc@dc5-psr:
- shard-bmg: NOTRUN -> [SKIP][46] ([Intel XE#7794])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_dc@deep-pkgc:
- shard-lnl: NOTRUN -> [FAIL][47] ([Intel XE#2029] / [Intel XE#7395])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_pm_dc@deep-pkgc.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
- shard-lnl: NOTRUN -> [SKIP][48] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][49] ([Intel XE#4608])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][50] ([Intel XE#4608] / [Intel XE#7304])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf@pipe-b-edp-1.html
* igt@kms_psr@fbc-psr2-sprite-render:
- shard-lnl: NOTRUN -> [SKIP][51] ([Intel XE#1406] / [Intel XE#7345])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_psr@fbc-psr2-sprite-render.html
* igt@kms_psr@fbc-psr2-sprite-render@edp-1:
- shard-lnl: NOTRUN -> [SKIP][52] ([Intel XE#1406] / [Intel XE#4609] / [Intel XE#7345])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_psr@fbc-psr2-sprite-render@edp-1.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
- shard-lnl: NOTRUN -> [SKIP][53] ([Intel XE#1127] / [Intel XE#5813])
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
* igt@kms_rotation_crc@sprite-rotation-270:
- shard-lnl: NOTRUN -> [SKIP][54] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@kms_rotation_crc@sprite-rotation-270.html
* igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all:
- shard-lnl: NOTRUN -> [SKIP][55] ([Intel XE#8866])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@sriov_basic@pf-unbind-with-vfs-enabled-numvfs-all.html
* igt@xe_evict@evict-beng-threads-large-multi-vm:
- shard-lnl: NOTRUN -> [SKIP][56] ([Intel XE#6540] / [Intel XE#688]) +3 other tests skip
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_evict@evict-beng-threads-large-multi-vm.html
* igt@xe_exec_balancer@no-exec-cm-virtual-userptr:
- shard-lnl: NOTRUN -> [SKIP][57] ([Intel XE#7482]) +5 other tests skip
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_exec_balancer@no-exec-cm-virtual-userptr.html
* igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap:
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#1392]) +1 other test skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-rebind-prefetch:
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#8374])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-1/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-rebind-prefetch.html
* igt@xe_exec_fault_mode@twice-multi-queue-rebind:
- shard-lnl: NOTRUN -> [SKIP][60] ([Intel XE#8374]) +2 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_exec_fault_mode@twice-multi-queue-rebind.html
* igt@xe_exec_multi_queue@many-queues-userptr-invalidate:
- shard-lnl: NOTRUN -> [SKIP][61] ([Intel XE#8364]) +7 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_exec_multi_queue@many-queues-userptr-invalidate.html
* igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-wt-single-vma:
- shard-lnl: NOTRUN -> [SKIP][62] ([Intel XE#6196])
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-wt-single-vma.html
* igt@xe_exec_threads@threads-multi-queue-hang-basic:
- shard-lnl: NOTRUN -> [SKIP][63] ([Intel XE#8378]) +1 other test skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_exec_threads@threads-multi-queue-hang-basic.html
* igt@xe_live_ktest@xe_eudebug:
- shard-lnl: NOTRUN -> [SKIP][64] ([Intel XE#2833])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_live_ktest@xe_eudebug.html
* igt@xe_multigpu_svm@mgpu-coherency-basic:
- shard-lnl: NOTRUN -> [SKIP][65] ([Intel XE#6964])
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_multigpu_svm@mgpu-coherency-basic.html
* igt@xe_page_reclaim@many-vma-same-bo:
- shard-lnl: NOTRUN -> [SKIP][66] ([Intel XE#7793])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_page_reclaim@many-vma-same-bo.html
* igt@xe_pm_residency@cpg-basic:
- shard-bmg: [PASS][67] -> [INCOMPLETE][68] ([Intel XE#9202])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-1/igt@xe_pm_residency@cpg-basic.html
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-6/igt@xe_pm_residency@cpg-basic.html
* igt@xe_pmu@fn-engine-activity-load:
- shard-lnl: NOTRUN -> [SKIP][69] ([Intel XE#4650] / [Intel XE#7347])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_pmu@fn-engine-activity-load.html
* igt@xe_prefetch_fault@prefetch-fault:
- shard-lnl: NOTRUN -> [SKIP][70] ([Intel XE#7599])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_prefetch_fault@prefetch-fault.html
* igt@xe_sriov_flr@flr-twice:
- shard-lnl: NOTRUN -> [SKIP][71] ([Intel XE#4273])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_sriov_flr@flr-twice.html
* igt@xe_sriov_vfio@bind-unbind-vfs:
- shard-lnl: NOTRUN -> [SKIP][72] ([Intel XE#7724])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_sriov_vfio@bind-unbind-vfs.html
* igt@xe_vm@out-of-memory:
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#5745] / [Intel XE#7892])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-8/igt@xe_vm@out-of-memory.html
#### Possible fixes ####
* igt@xe_pmu@gt-frequency:
- shard-bmg: [WARN][74] ([Intel XE#7992]) -> [PASS][75] +1 other test pass
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-9/igt@xe_pmu@gt-frequency.html
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-2/igt@xe_pmu@gt-frequency.html
#### Warnings ####
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: [SKIP][76] ([Intel XE#2426] / [Intel XE#5848]) -> [FAIL][77] ([Intel XE#1729] / [Intel XE#7424])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-7/igt@kms_tiled_display@basic-test-pattern.html
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-3/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-bmg: [SKIP][78] ([Intel XE#2426] / [Intel XE#5848]) -> [SKIP][79] ([Intel XE#2509] / [Intel XE#7437])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-10/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@xe_exec_reset@gt-reset-fault-injection:
- shard-bmg: [DMESG-WARN][80] ([Intel XE#9130]) -> [ABORT][81] ([Intel XE#9131] / [Intel XE#9145])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-bmg-8/igt@xe_exec_reset@gt-reset-fault-injection.html
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-bmg-7/igt@xe_exec_reset@gt-reset-fault-injection.html
- shard-lnl: [ABORT][82] ([Intel XE#9145]) -> [ABORT][83] ([Intel XE#9140] / [Intel XE#9145])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5738-d0f49187686a810b5b83216805c07814ad7542dc/shard-lnl-8/igt@xe_exec_reset@gt-reset-fault-injection.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/shard-lnl-3/igt@xe_exec_reset@gt-reset-fault-injection.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
[Intel XE#1231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1231
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#2029]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2029
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[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#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
[Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
[Intel XE#5408]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5408
[Intel XE#5745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5745
[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#6078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6078
[Intel XE#6196]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6196
[Intel XE#6266]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6266
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6507]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6507
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
[Intel XE#6900]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6900
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[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#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
[Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
[Intel XE#7345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7345
[Intel XE#7347]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7347
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
[Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
[Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
[Intel XE#7362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7362
[Intel XE#7385]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7385
[Intel XE#7395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7395
[Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
[Intel XE#7424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7424
[Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
[Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
[Intel XE#7599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7599
[Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
[Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
[Intel XE#7724]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7724
[Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
[Intel XE#7794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7794
[Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
[Intel XE#7892]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7892
[Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
[Intel XE#7992]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7992
[Intel XE#8155]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8155
[Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
[Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
[Intel XE#8365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8365
[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#8628]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8628
[Intel XE#8866]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8866
[Intel XE#9130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9130
[Intel XE#9131]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9131
[Intel XE#9140]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9140
[Intel XE#9144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9144
[Intel XE#9145]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9145
[Intel XE#9202]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9202
Build changes
-------------
* Linux: xe-5738-d0f49187686a810b5b83216805c07814ad7542dc -> xe-pw-162623v6
IGT_9093: 932327f15c92ecb52266ced8c0fbe72931a75880 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-5738-d0f49187686a810b5b83216805c07814ad7542dc: d0f49187686a810b5b83216805c07814ad7542dc
xe-pw-162623v6: 162623v6
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162623v6/index.html
[-- Attachment #2: Type: text/html, Size: 32527 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2026-09-13 17:04 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-13 14:56 [PATCH v6 00/13] Add support for Common SDP Transmission Line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 01/13] drm/i915/dip: Add new file to handle Data Island Packet hardware Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 02/13] drm/i915/vrr: Use the helper to write EMP_AS_SDP_TL register Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 03/13] drm/i915/intel_dip: Add check for DP encoder Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 04/13] drm/i915/dip: Add helper to get AS SDP Transmission Line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 05/13] drm/i915/display: Add crtc state for DIP transmission lines Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 06/13] drm/i915/dip: Store and use AS SDP transmission line from crtc state Ankit Nautiyal
2026-09-13 15:30 ` sashiko-bot
2026-09-13 14:56 ` [PATCH v6 07/13] drm/i915/dip_regs: Add register definitions for common SDP Transmission Line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 08/13] drm/i915/dip: Add HAS_COMMON_SDP_TL macro Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 09/13] drm/i915/dip: Store SDP transmission lines in crtc_state Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 10/13] drm/i915/dp: Introduce helpers to enable/disable CMN SDP Transmission line Ankit Nautiyal
2026-09-13 14:56 ` [PATCH v6 11/13] drm/i915/dip: Enable Common " Ankit Nautiyal
2026-09-13 15:33 ` sashiko-bot
2026-09-13 14:56 ` [PATCH v6 12/13] drm/i915/dp: Adjust SDP guardband requirement for CMN_SDP_TL Ankit Nautiyal
2026-09-13 15:25 ` sashiko-bot
2026-09-13 14:56 ` [PATCH v6 13/13] drm/i915/display: Dump DIP Transmission lines Ankit Nautiyal
2026-09-13 15:22 ` ✗ CI.checkpatch: warning for Add support for Common SDP Transmission Line (rev6) Patchwork
2026-09-13 15:25 ` ✓ CI.KUnit: success " Patchwork
2026-09-13 16:02 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-13 17:04 ` ✓ Xe.CI.FULL: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox