* [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue
@ 2025-09-24 15:23 Imre Deak
2025-09-24 15:23 ` [PATCH v3 1/6] drm/dp: Add quirk for Synaptics DSC throughput link-bpp limit Imre Deak
` (9 more replies)
0 siblings, 10 replies; 13+ messages in thread
From: Imre Deak @ 2025-09-24 15:23 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Vidya Srinivas, Swati Sharma, Ville Syrjälä, dri-devel
This v3 of [1], addressing Ville's review comments, moving the max
per-slice/overall DSC pixel throughput and overall line-width query
functions to drm_dp_helper.c .
[1] https://lore.kernel.org/all/20250918211223.209674-1-imre.deak@intel.com
Reported-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reported-by: Swati Sharma <swati2.sharma@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: dri-devel@lists.freedesktop.org
Imre Deak (6):
drm/dp: Add quirk for Synaptics DSC throughput link-bpp limit
drm/dp: Add helpers to query the branch DSC max throughput/line-width
drm/i915/dp: Calculate DSC slice count based on per-slice peak
throughput
drm/i915/dp: Pass DPCD device descriptor to
intel_dp_get_dsc_sink_cap()
drm/i915/dp: Verify branch devices' overall pixel throughput/line
width
drm/i915/dp: Handle Synaptics DSC throughput link-bpp quirk
drivers/gpu/drm/display/drm_dp_helper.c | 137 +++++++++++++++++
.../drm/i915/display/intel_display_types.h | 9 ++
drivers/gpu/drm/i915/display/intel_dp.c | 141 ++++++++++++++++--
drivers/gpu/drm/i915/display/intel_dp.h | 5 +-
drivers/gpu/drm/i915/display/intel_dp_mst.c | 9 +-
include/drm/display/drm_dp.h | 1 +
include/drm/display/drm_dp_helper.h | 14 ++
7 files changed, 302 insertions(+), 14 deletions(-)
--
2.49.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v3 1/6] drm/dp: Add quirk for Synaptics DSC throughput link-bpp limit
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
@ 2025-09-24 15:23 ` Imre Deak
2025-09-24 15:23 ` [PATCH v3 2/6] drm/dp: Add helpers to query the branch DSC max throughput/line-width Imre Deak
` (8 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Imre Deak @ 2025-09-24 15:23 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: dri-devel, Vidya Srinivas, Swati Sharma
Some Synaptics MST branch devices have a problem decompressing a stream
with a compressed link-bpp higher than 12, if the pixel clock is higher
than ~50 % of the maximum throughput capability reported by the branch
device. The screen remains blank, or for some - mostly black content -
gets enabled, but may stil have jitter artifacts.
At least the following docking stations are affected, based on testing
both with any Intel devices or the UCD-500 reference device as a source:
- DELL WD19DCS, DELL WD19TB3, DELL WD22TB4
- ThinkPad 40AN
- HP G2
At least the following docking stations are free from this problem,
based on tests with a source/sink/mode etc. configuration matching the
test cases used above:
- DELL Dual Charge HD22Q, DELL WD25TB5
- ThinkPad 40B0
- Anker 565
All the affected devices have an older version of the Synaptics MST
branch device (Panamera), whereas all the non-affected docking stations
have a newer branch device (at least Synaptics Panamera with a higher HW
revision number and Synaptics Cayenne models). Add the required quirk
entries accordingly. The quirk will be handled by the i915/xe drivers in
a follow-up change.
The latest firmware version of the Synaptics branch device for all the
affected devices tested above is 5.7 (as reported at DPCD address
0x50a/0x50b). For the DELL devices this corresponds to the latest
01.00.14.01.A03 firmware package version of the docking station.
v2:
- Document the DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT enum.
- Describe the quirk in more detail in the dpcd_quirk_list.
v3:
- s/Panarema/Panamera in the commit log.
Cc: dri-devel@lists.freedesktop.org
Reported-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reported-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 4 ++++
include/drm/display/drm_dp_helper.h | 9 +++++++++
2 files changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index 5426db21e53f7..1c74fe9459ad9 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2551,6 +2551,10 @@ static const struct dpcd_quirk dpcd_quirk_list[] = {
{ OUI(0x00, 0x0C, 0xE7), DEVICE_ID_ANY, false, BIT(DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC) },
/* Apple MacBookPro 2017 15 inch eDP Retina panel reports too low DP_MAX_LINK_RATE */
{ OUI(0x00, 0x10, 0xfa), DEVICE_ID(101, 68, 21, 101, 98, 97), false, BIT(DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS) },
+ /* Synaptics Panamera supports only a compressed bpp of 12 above 50% of its max DSC pixel throughput */
+ { OUI(0x90, 0xCC, 0x24), DEVICE_ID('S', 'Y', 'N', 'A', 0x53, 0x22), true, BIT(DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT) },
+ { OUI(0x90, 0xCC, 0x24), DEVICE_ID('S', 'Y', 'N', 'A', 0x53, 0x31), true, BIT(DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT) },
+ { OUI(0x90, 0xCC, 0x24), DEVICE_ID('S', 'Y', 'N', 'A', 0x53, 0x33), true, BIT(DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT) },
};
#undef OUI
diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h
index 52ce280970151..e438c44409952 100644
--- a/include/drm/display/drm_dp_helper.h
+++ b/include/drm/display/drm_dp_helper.h
@@ -828,6 +828,15 @@ enum drm_dp_quirk {
* requires enabling DSC.
*/
DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC,
+ /**
+ * @DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT:
+ *
+ * The device doesn't support DSC decompression at the maximum DSC
+ * pixel throughput and compressed bpp it indicates via its DPCD DSC
+ * capabilities. The compressed bpp must be limited above a device
+ * specific DSC pixel throughput.
+ */
+ DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT,
};
/**
--
2.49.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 2/6] drm/dp: Add helpers to query the branch DSC max throughput/line-width
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
2025-09-24 15:23 ` [PATCH v3 1/6] drm/dp: Add quirk for Synaptics DSC throughput link-bpp limit Imre Deak
@ 2025-09-24 15:23 ` Imre Deak
2025-09-26 16:38 ` Ville Syrjälä
2025-09-24 15:23 ` [PATCH v3 3/6] drm/i915/dp: Calculate DSC slice count based on per-slice peak throughput Imre Deak
` (7 subsequent siblings)
9 siblings, 1 reply; 13+ messages in thread
From: Imre Deak @ 2025-09-24 15:23 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: dri-devel, Ville Syrjälä
Add helpers to query the DP branch device's per-slice throughput as well
as overall throughput and line-width capabilities.
Cc: dri-devel@lists.freedesktop.org
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
drivers/gpu/drm/display/drm_dp_helper.c | 133 ++++++++++++++++++++++++
include/drm/display/drm_dp.h | 1 +
include/drm/display/drm_dp_helper.h | 5 +
3 files changed, 139 insertions(+)
diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
index 1c74fe9459ad9..9d9928daaab59 100644
--- a/drivers/gpu/drm/display/drm_dp_helper.c
+++ b/drivers/gpu/drm/display/drm_dp_helper.c
@@ -2844,6 +2844,139 @@ int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_S
}
EXPORT_SYMBOL(drm_dp_dsc_sink_supported_input_bpcs);
+/*
+ * See DP Standard v2.1a 2.8.4 Minimum Slices/Display, Table 2-159 and
+ * Appendix L.1 Derivation of Slice Count Requirements.
+ */
+static int dsc_branch_min_slice_throughput(int pixel_clock)
+{
+ if (pixel_clock >= 4800000)
+ return 600000;
+ else if (pixel_clock >= 2700000)
+ return 400000;
+ else
+ return 340000;
+}
+
+/**
+ * drm_dp_dsc_branch_max_slice_throughput() - Branch device's max DSC pixel throughput per slice
+ * @dsc_dpcd: DSC capabilities from DPCD
+ * @pixel_clock: Pixel clock of mode in kHz
+ * @is_rgb_yuv444: The mode is either RGB or YUV444
+ *
+ * Return the branch device's maximum per slice DSC pixel throughput, based on
+ * the device's DPCD DSC capabilities, @pixel_clock and whether the output
+ * format @is_rgb_yuv444 or yuv422/yuv420.
+ *
+ * Returns:
+ * The maximum DSC pixel throughput per slice supported by the branch device
+ * in kPixels/sec.
+ */
+int drm_dp_dsc_branch_max_slice_throughput(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
+ int pixel_clock, bool is_rgb_yuv444)
+{
+ int throughput;
+
+ throughput = dsc_dpcd[DP_DSC_PEAK_THROUGHPUT - DP_DSC_SUPPORT];
+
+ if (is_rgb_yuv444)
+ throughput = (throughput & DP_DSC_THROUGHPUT_MODE_0_MASK) >>
+ DP_DSC_THROUGHPUT_MODE_0_SHIFT;
+ else
+ throughput = (throughput & DP_DSC_THROUGHPUT_MODE_1_MASK) >>
+ DP_DSC_THROUGHPUT_MODE_1_SHIFT;
+
+ switch (throughput) {
+ case 0:
+ return dsc_branch_min_slice_throughput(pixel_clock);
+ case 1:
+ return 340000;
+ case 2 ... 14:
+ return 400000 + 50000 * (throughput - 2);
+ case 15:
+ return 170000;
+ default:
+ WARN(1, "Missing case %d\n", throughput);
+ return 340000;
+ }
+}
+EXPORT_SYMBOL(drm_dp_dsc_branch_max_slice_throughput);
+
+static u8 dsc_branch_dpcd_cap(const u8 dpcd[DP_DSC_BRANCH_CAP_SIZE], int reg)
+{
+ return dpcd[reg - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0];
+}
+
+/**
+ * drm_dp_dsc_branch_max_overall_throughput() - Branch device's max overall DSC pixel throughput
+ * @dsc_branch_dpcd: DSC branch capabilities from DPCD
+ * @is_rgb_yuv444: The mode is either RGB or YUV444
+ *
+ * Return the branch device's maximum overall DSC pixel throughput, based on
+ * the device's DPCD DSC branch capabilities, and whether the output
+ * format @is_rgb_yuv444 or yuv422/yuv420.
+ *
+ * Returns:
+ * - 0: The maximum overall throughput capability is not indicated by
+ * the device separately and it must be determined from the per-slice
+ * max throughput (see @drm_dp_dsc_branch_slice_max_throughput())
+ * and the maximum slice count supported by the device.
+ * - > 0: The maximum overall DSC pixel throughput supported by the branch
+ * device in kPixels/sec.
+ */
+int drm_dp_dsc_branch_max_overall_throughput(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE],
+ bool is_rgb_yuv444)
+{
+ int throughput;
+
+ if (is_rgb_yuv444)
+ throughput = dsc_branch_dpcd_cap(dsc_branch_dpcd,
+ DP_DSC_BRANCH_OVERALL_THROUGHPUT_0);
+ else
+ throughput = dsc_branch_dpcd_cap(dsc_branch_dpcd,
+ DP_DSC_BRANCH_OVERALL_THROUGHPUT_1);
+
+ switch (throughput) {
+ case 0:
+ return 0;
+ case 1:
+ return 680000;
+ default:
+ return 600000 + 50000 * throughput;
+ }
+}
+EXPORT_SYMBOL(drm_dp_dsc_branch_max_overall_throughput);
+
+/**
+ * drm_dp_dsc_branch_max_line_width() - Branch device's max DSC line width
+ * @dsc_branch_dpcd: DSC branch capabilities from DPCD
+ *
+ * Return the branch device's maximum overall DSC line width, based on
+ * the device's @dsc_branch_dpcd capabilities.
+ *
+ * Returns:
+ * - 0: The maximum line width is not indicated by the device
+ * separately and it must be determined from the maximum
+ * slice count and slice-width supported by the device.
+ * - %-EINVAL: The device indicates an invalid maximum line width
+ * (< 2560 pixels).
+ * - >= 2560: The maximum line width in pixels.
+ */
+int drm_dp_dsc_branch_max_line_width(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE])
+{
+ int line_width = dsc_branch_dpcd_cap(dsc_branch_dpcd, DP_DSC_BRANCH_MAX_LINE_WIDTH);
+
+ switch (line_width) {
+ case 0:
+ return 0;
+ case 1 ... 7:
+ return -EINVAL;
+ default:
+ return line_width * 320;
+ }
+}
+EXPORT_SYMBOL(drm_dp_dsc_branch_max_line_width);
+
static int drm_dp_read_lttpr_regs(struct drm_dp_aux *aux,
const u8 dpcd[DP_RECEIVER_CAP_SIZE], int address,
u8 *buf, int buf_size)
diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
index cf318e3ddb5c5..43978ddd15056 100644
--- a/include/drm/display/drm_dp.h
+++ b/include/drm/display/drm_dp.h
@@ -1686,6 +1686,7 @@ enum drm_dp_phy {
#define DP_BRANCH_OUI_HEADER_SIZE 0xc
#define DP_RECEIVER_CAP_SIZE 0xf
#define DP_DSC_RECEIVER_CAP_SIZE 0x10 /* DSC Capabilities 0x60 through 0x6F */
+#define DP_DSC_BRANCH_CAP_SIZE 3
#define EDP_PSR_RECEIVER_CAP_SIZE 2
#define EDP_DISPLAY_CTL_CAP_SIZE 5
#define DP_LTTPR_COMMON_CAP_SIZE 8
diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h
index e438c44409952..cb0cd13d632d2 100644
--- a/include/drm/display/drm_dp_helper.h
+++ b/include/drm/display/drm_dp_helper.h
@@ -211,6 +211,11 @@ u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
u8 drm_dp_dsc_sink_line_buf_depth(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]);
int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpc[DP_DSC_RECEIVER_CAP_SIZE],
u8 dsc_bpc[3]);
+int drm_dp_dsc_branch_max_slice_throughput(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
+ int mode_clock, bool is_rgb_yuv444);
+int drm_dp_dsc_branch_max_overall_throughput(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE],
+ bool is_rgb_yuv444);
+int drm_dp_dsc_branch_max_line_width(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE]);
static inline bool
drm_dp_sink_supports_dsc(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
--
2.49.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 3/6] drm/i915/dp: Calculate DSC slice count based on per-slice peak throughput
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
2025-09-24 15:23 ` [PATCH v3 1/6] drm/dp: Add quirk for Synaptics DSC throughput link-bpp limit Imre Deak
2025-09-24 15:23 ` [PATCH v3 2/6] drm/dp: Add helpers to query the branch DSC max throughput/line-width Imre Deak
@ 2025-09-24 15:23 ` Imre Deak
2025-09-24 15:23 ` [PATCH v3 4/6] drm/i915/dp: Pass DPCD device descriptor to intel_dp_get_dsc_sink_cap() Imre Deak
` (6 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Imre Deak @ 2025-09-24 15:23 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: Ville Syrjälä
Use the branch device's actual per-slice peak throughput to calculate
the minimum number of required DSC slices, falling back to the
hard-coded throughput values (as suggested by the DP Standard) if the
device's reported throughput value is 0.
For now use the minimum of the two throughput values, which is ok,
potentially resulting in a higher than required minimum slice count.
This doesn't change the current way of using the same minimum throughput
value regardless of the RGB/YUV output format used.
v2: Use drm helpers to query the throughput caps. (Ville)
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 28 +++++++++++++++----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 2eab591a8ef56..f81bc39c26a72 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -96,11 +96,6 @@
#include "intel_vdsc.h"
#include "intel_vrr.h"
-/* DP DSC throughput values used for slice count calculations KPixels/s */
-#define DP_DSC_PEAK_PIXEL_RATE 2720000
-#define DP_DSC_MAX_ENC_THROUGHPUT_0 340000
-#define DP_DSC_MAX_ENC_THROUGHPUT_1 400000
-
/* Max DSC line buffer depth supported by HW. */
#define INTEL_DP_DSC_MAX_LINE_BUF_DEPTH 13
@@ -1018,13 +1013,24 @@ u8 intel_dp_dsc_get_slice_count(const struct intel_connector *connector,
struct intel_display *display = to_intel_display(connector);
u8 min_slice_count, i;
int max_slice_width;
+ int tp_rgb_yuv444;
+ int tp_yuv422_420;
- if (mode_clock <= DP_DSC_PEAK_PIXEL_RATE)
- min_slice_count = DIV_ROUND_UP(mode_clock,
- DP_DSC_MAX_ENC_THROUGHPUT_0);
- else
- min_slice_count = DIV_ROUND_UP(mode_clock,
- DP_DSC_MAX_ENC_THROUGHPUT_1);
+ tp_rgb_yuv444 = drm_dp_dsc_branch_max_slice_throughput(connector->dp.dsc_dpcd,
+ mode_clock, true);
+ tp_yuv422_420 = drm_dp_dsc_branch_max_slice_throughput(connector->dp.dsc_dpcd,
+ mode_clock, false);
+
+ /*
+ * TODO: Use the throughput value specific to the actual RGB/YUV
+ * format of the output.
+ * For now use the smaller of these, which is ok, potentially
+ * resulting in a higher than required minimum slice count.
+ * The RGB/YUV444 throughput value should be always either equal
+ * or smaller than the YUV422/420 value, but let's not depend on
+ * this assumption.
+ */
+ min_slice_count = DIV_ROUND_UP(mode_clock, min(tp_rgb_yuv444, tp_yuv422_420));
/*
* Due to some DSC engine BW limitations, we need to enable second
--
2.49.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 4/6] drm/i915/dp: Pass DPCD device descriptor to intel_dp_get_dsc_sink_cap()
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
` (2 preceding siblings ...)
2025-09-24 15:23 ` [PATCH v3 3/6] drm/i915/dp: Calculate DSC slice count based on per-slice peak throughput Imre Deak
@ 2025-09-24 15:23 ` Imre Deak
2025-09-24 15:23 ` [PATCH v3 5/6] drm/i915/dp: Verify branch devices' overall pixel throughput/line width Imre Deak
` (5 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Imre Deak @ 2025-09-24 15:23 UTC (permalink / raw)
To: intel-gfx, intel-xe
Pass the DPCD sink/branch device descriptor along with the
is_branch/sink flag to intel_dp_get_dsc_sink_cap(). These will be used
by a follow up change to read out the branch device's DSC overall
throughput/line width capabilities and to detect a throughput/link-bpp
quirk.
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 5 ++++-
drivers/gpu/drm/i915/display/intel_dp.h | 5 ++++-
drivers/gpu/drm/i915/display/intel_dp_mst.c | 9 ++++++++-
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index f81bc39c26a72..e925966f4c85d 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -4175,7 +4175,9 @@ static void intel_dp_read_dsc_dpcd(struct drm_dp_aux *aux,
dsc_dpcd);
}
-void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector)
+void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
+ const struct drm_dp_desc *desc, bool is_branch,
+ struct intel_connector *connector)
{
struct intel_display *display = to_intel_display(connector);
@@ -4226,6 +4228,7 @@ intel_dp_detect_dsc_caps(struct intel_dp *intel_dp, struct intel_connector *conn
connector);
else
intel_dp_get_dsc_sink_cap(intel_dp->dpcd[DP_DPCD_REV],
+ &intel_dp->desc, drm_dp_is_branch(intel_dp->dpcd),
connector);
}
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index f90cfd1dbbd05..b379443e0211e 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -12,6 +12,7 @@ enum intel_output_format;
enum pipe;
enum port;
struct drm_connector_state;
+struct drm_dp_desc;
struct drm_dp_vsc_sdp;
struct drm_encoder;
struct drm_modeset_acquire_ctx;
@@ -199,7 +200,9 @@ bool intel_dp_compute_config_limits(struct intel_dp *intel_dp,
bool dsc,
struct link_config_limits *limits);
-void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, struct intel_connector *connector);
+void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
+ const struct drm_dp_desc *desc, bool is_branch,
+ struct intel_connector *connector);
bool intel_dp_has_gamut_metadata_dip(struct intel_encoder *encoder);
bool intel_dp_link_params_valid(struct intel_dp *intel_dp, int link_rate,
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 352f7ef29c281..f2266b2653046 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -1658,6 +1658,7 @@ intel_dp_mst_read_decompression_port_dsc_caps(struct intel_dp *intel_dp,
struct intel_connector *connector)
{
u8 dpcd_caps[DP_RECEIVER_CAP_SIZE];
+ struct drm_dp_desc desc;
if (!connector->dp.dsc_decompression_aux)
return;
@@ -1665,7 +1666,13 @@ intel_dp_mst_read_decompression_port_dsc_caps(struct intel_dp *intel_dp,
if (drm_dp_read_dpcd_caps(connector->dp.dsc_decompression_aux, dpcd_caps) < 0)
return;
- intel_dp_get_dsc_sink_cap(dpcd_caps[DP_DPCD_REV], connector);
+ if (drm_dp_read_desc(connector->dp.dsc_decompression_aux, &desc,
+ drm_dp_is_branch(dpcd_caps)) < 0)
+ return;
+
+ intel_dp_get_dsc_sink_cap(dpcd_caps[DP_DPCD_REV],
+ &desc, drm_dp_is_branch(dpcd_caps),
+ connector);
}
static bool detect_dsc_hblank_expansion_quirk(const struct intel_connector *connector)
--
2.49.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 5/6] drm/i915/dp: Verify branch devices' overall pixel throughput/line width
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
` (3 preceding siblings ...)
2025-09-24 15:23 ` [PATCH v3 4/6] drm/i915/dp: Pass DPCD device descriptor to intel_dp_get_dsc_sink_cap() Imre Deak
@ 2025-09-24 15:23 ` Imre Deak
2025-09-24 15:23 ` [PATCH v3 6/6] drm/i915/dp: Handle Synaptics DSC throughput link-bpp quirk Imre Deak
` (4 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Imre Deak @ 2025-09-24 15:23 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: Ville Syrjälä
Read out the branch devices' maximum overall DSC pixel throughput and
line width and verify the mode's corresponding pixel clock and hactive
period against these.
v2: Use drm helpers to query the throughput/line-width caps. (Ville)
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
.../drm/i915/display/intel_display_types.h | 8 +++
drivers/gpu/drm/i915/display/intel_dp.c | 51 +++++++++++++++++++
2 files changed, 59 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 358ab922d7a76..73bdafae604f8 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -552,6 +552,14 @@ struct intel_connector {
u8 dsc_hblank_expansion_quirk:1;
u8 dsc_decompression_enabled:1;
+
+ struct {
+ struct {
+ int rgb_yuv444;
+ int yuv422_420;
+ } overall_throughput;
+ int max_line_width;
+ } dsc_branch_caps;
} dp;
struct {
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index e925966f4c85d..d7ee17d3f75a6 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1016,6 +1016,20 @@ u8 intel_dp_dsc_get_slice_count(const struct intel_connector *connector,
int tp_rgb_yuv444;
int tp_yuv422_420;
+ /*
+ * TODO: Use the throughput value specific to the actual RGB/YUV
+ * format of the output.
+ * The RGB/YUV444 throughput value should be always either equal
+ * or smaller than the YUV422/420 value, but let's not depend on
+ * this assumption.
+ */
+ if (mode_clock > max(connector->dp.dsc_branch_caps.overall_throughput.rgb_yuv444,
+ connector->dp.dsc_branch_caps.overall_throughput.yuv422_420))
+ return 0;
+
+ if (mode_hdisplay > connector->dp.dsc_branch_caps.max_line_width)
+ return 0;
+
tp_rgb_yuv444 = drm_dp_dsc_branch_max_slice_throughput(connector->dp.dsc_dpcd,
mode_clock, true);
tp_yuv422_420 = drm_dp_dsc_branch_max_slice_throughput(connector->dp.dsc_dpcd,
@@ -4175,6 +4189,33 @@ static void intel_dp_read_dsc_dpcd(struct drm_dp_aux *aux,
dsc_dpcd);
}
+static void init_dsc_overall_throughput_limits(struct intel_connector *connector, bool is_branch)
+{
+ u8 branch_caps[DP_DSC_BRANCH_CAP_SIZE];
+ int line_width;
+
+ connector->dp.dsc_branch_caps.overall_throughput.rgb_yuv444 = INT_MAX;
+ connector->dp.dsc_branch_caps.overall_throughput.yuv422_420 = INT_MAX;
+ connector->dp.dsc_branch_caps.max_line_width = INT_MAX;
+
+ if (!is_branch)
+ return;
+
+ if (drm_dp_dpcd_read_data(connector->dp.dsc_decompression_aux,
+ DP_DSC_BRANCH_OVERALL_THROUGHPUT_0, branch_caps,
+ sizeof(branch_caps)) != 0)
+ return;
+
+ connector->dp.dsc_branch_caps.overall_throughput.rgb_yuv444 =
+ drm_dp_dsc_branch_max_overall_throughput(branch_caps, true) ? : INT_MAX;
+
+ connector->dp.dsc_branch_caps.overall_throughput.yuv422_420 =
+ drm_dp_dsc_branch_max_overall_throughput(branch_caps, false) ? : INT_MAX;
+
+ line_width = drm_dp_dsc_branch_max_line_width(branch_caps);
+ connector->dp.dsc_branch_caps.max_line_width = line_width > 0 ? line_width : INT_MAX;
+}
+
void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
const struct drm_dp_desc *desc, bool is_branch,
struct intel_connector *connector)
@@ -4190,6 +4231,8 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
/* Clear fec_capable to avoid using stale values */
connector->dp.fec_capability = 0;
+ memset(&connector->dp.dsc_branch_caps, 0, sizeof(connector->dp.dsc_branch_caps));
+
if (dpcd_rev < DP_DPCD_REV_14)
return;
@@ -4204,6 +4247,11 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
drm_dbg_kms(display->drm, "FEC CAPABILITY: %x\n",
connector->dp.fec_capability);
+
+ if (!(connector->dp.dsc_dpcd[0] & DP_DSC_DECOMPRESSION_IS_SUPPORTED))
+ return;
+
+ init_dsc_overall_throughput_limits(connector, is_branch);
}
static void intel_edp_get_dsc_sink_cap(u8 edp_dpcd_rev, struct intel_connector *connector)
@@ -4212,6 +4260,9 @@ static void intel_edp_get_dsc_sink_cap(u8 edp_dpcd_rev, struct intel_connector *
return;
intel_dp_read_dsc_dpcd(connector->dp.dsc_decompression_aux, connector->dp.dsc_dpcd);
+
+ if (connector->dp.dsc_dpcd[0] & DP_DSC_DECOMPRESSION_IS_SUPPORTED)
+ init_dsc_overall_throughput_limits(connector, false);
}
static void
--
2.49.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v3 6/6] drm/i915/dp: Handle Synaptics DSC throughput link-bpp quirk
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
` (4 preceding siblings ...)
2025-09-24 15:23 ` [PATCH v3 5/6] drm/i915/dp: Verify branch devices' overall pixel throughput/line width Imre Deak
@ 2025-09-24 15:23 ` Imre Deak
2025-09-24 15:32 ` ✗ CI.checkpatch: warning for drm/i915/dp: Work around a DSC pixel throughput issue (rev4) Patchwork
` (3 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Imre Deak @ 2025-09-24 15:23 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: Ville Syrjälä, Vidya Srinivas, Swati Sharma
Handle the DSC pixel throughput quirk, limiting the compressed link-bpp
value for Synaptics Panamera branch devices, working around a
blank/unstable output issue observed on docking stations containing
these branch devices, when using a mode with a high pixel clock and a
high compressed link-bpp value.
For now use the same mode clock limit for RGB/YUV444 and YUV422/420
output modes. This may result in limiting the link-bpp value for a
YUV422/420 output mode already at a lower than required mode clock.
v2: Apply the quirk only when DSC is enabled.
v3 (Ville):
- Move adjustment of link-bpp within the already existing is_dsc
if branch.
- Add TODO comment to move the HW revision check as well to the
DRM core quirk table.
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reported-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reported-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
.../drm/i915/display/intel_display_types.h | 1 +
drivers/gpu/drm/i915/display/intel_dp.c | 57 +++++++++++++++++++
2 files changed, 58 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 73bdafae604f8..aff63bf0f2294 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -551,6 +551,7 @@ struct intel_connector {
u8 fec_capability;
u8 dsc_hblank_expansion_quirk:1;
+ u8 dsc_throughput_quirk:1;
u8 dsc_decompression_enabled:1;
struct {
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index d7ee17d3f75a6..6b148008505ff 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -2480,6 +2480,40 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
return 0;
}
+static int
+dsc_throughput_quirk_max_bpp_x16(const struct intel_connector *connector,
+ const struct intel_crtc_state *crtc_state)
+{
+ const struct drm_display_mode *adjusted_mode =
+ &crtc_state->hw.adjusted_mode;
+
+ if (!connector->dp.dsc_throughput_quirk)
+ return fxp_q4_from_int(INT_MAX);
+
+ /*
+ * Synaptics Panamera branch devices have a problem decompressing a
+ * stream with a compressed link-bpp higher than 12, if the pixel
+ * clock is higher than ~50 % of the maximum overall throughput
+ * reported by the branch device. Work around this by limiting the
+ * maximum link bpp for such pixel clocks.
+ *
+ * TODO: Use the throughput value specific to the actual RGB/YUV
+ * format of the output, after determining the pixel clock limit for
+ * YUV modes. For now use the smaller of the throughput values, which
+ * may result in limiting the link-bpp value already at a lower than
+ * required mode clock in case of native YUV422/420 output formats.
+ * The RGB/YUV444 throughput value should be always either equal or
+ * smaller than the YUV422/420 value, but let's not depend on this
+ * assumption.
+ */
+ if (adjusted_mode->crtc_clock <
+ min(connector->dp.dsc_branch_caps.overall_throughput.rgb_yuv444,
+ connector->dp.dsc_branch_caps.overall_throughput.yuv422_420) / 2)
+ return fxp_q4_from_int(INT_MAX);
+
+ return fxp_q4_from_int(12);
+}
+
/*
* Calculate the output link min, max bpp values in limits based on the pipe bpp
* range, crtc_state and dsc mode. Return true on success.
@@ -2511,6 +2545,7 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
} else {
int dsc_src_min_bpp, dsc_sink_min_bpp, dsc_min_bpp;
int dsc_src_max_bpp, dsc_sink_max_bpp, dsc_max_bpp;
+ int throughput_max_bpp_x16;
dsc_src_min_bpp = intel_dp_dsc_min_src_compressed_bpp();
dsc_sink_min_bpp = intel_dp_dsc_sink_min_compressed_bpp(crtc_state);
@@ -2525,6 +2560,19 @@ intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
min(dsc_sink_max_bpp, dsc_src_max_bpp) : dsc_src_max_bpp;
max_link_bpp_x16 = min(max_link_bpp_x16, fxp_q4_from_int(dsc_max_bpp));
+
+ throughput_max_bpp_x16 = dsc_throughput_quirk_max_bpp_x16(connector, crtc_state);
+ throughput_max_bpp_x16 = clamp(throughput_max_bpp_x16,
+ limits->link.min_bpp_x16, max_link_bpp_x16);
+ if (throughput_max_bpp_x16 < max_link_bpp_x16) {
+ max_link_bpp_x16 = throughput_max_bpp_x16;
+
+ drm_dbg_kms(display->drm,
+ "[CRTC:%d:%s][CONNECTOR:%d:%s] Decreasing link max bpp to " FXP_Q4_FMT " due to DSC throughput quirk\n",
+ crtc->base.base.id, crtc->base.name,
+ connector->base.base.id, connector->base.name,
+ FXP_Q4_ARGS(max_link_bpp_x16));
+ }
}
limits->link.max_bpp_x16 = max_link_bpp_x16;
@@ -4232,6 +4280,7 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
connector->dp.fec_capability = 0;
memset(&connector->dp.dsc_branch_caps, 0, sizeof(connector->dp.dsc_branch_caps));
+ connector->dp.dsc_throughput_quirk = false;
if (dpcd_rev < DP_DPCD_REV_14)
return;
@@ -4252,6 +4301,14 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
return;
init_dsc_overall_throughput_limits(connector, is_branch);
+
+ /*
+ * TODO: Move the HW rev check as well to the DRM core quirk table if
+ * that's required after clarifying the list of affected devices.
+ */
+ if (drm_dp_has_quirk(desc, DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT) &&
+ desc->ident.hw_rev == 0x10)
+ connector->dp.dsc_throughput_quirk = true;
}
static void intel_edp_get_dsc_sink_cap(u8 edp_dpcd_rev, struct intel_connector *connector)
--
2.49.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* ✗ CI.checkpatch: warning for drm/i915/dp: Work around a DSC pixel throughput issue (rev4)
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
` (5 preceding siblings ...)
2025-09-24 15:23 ` [PATCH v3 6/6] drm/i915/dp: Handle Synaptics DSC throughput link-bpp quirk Imre Deak
@ 2025-09-24 15:32 ` Patchwork
2025-09-24 15:33 ` ✓ CI.KUnit: success " Patchwork
` (2 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2025-09-24 15:32 UTC (permalink / raw)
To: Imre Deak; +Cc: intel-xe
== Series Details ==
Series: drm/i915/dp: Work around a DSC pixel throughput issue (rev4)
URL : https://patchwork.freedesktop.org/series/154737/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
fbd08a78c3a3bb17964db2a326514c69c1dca660
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit b9bc9d8726a9598e245a93608641b7f917f785e5
Author: Imre Deak <imre.deak@intel.com>
Date: Wed Sep 24 18:23:32 2025 +0300
drm/i915/dp: Handle Synaptics DSC throughput link-bpp quirk
Handle the DSC pixel throughput quirk, limiting the compressed link-bpp
value for Synaptics Panamera branch devices, working around a
blank/unstable output issue observed on docking stations containing
these branch devices, when using a mode with a high pixel clock and a
high compressed link-bpp value.
For now use the same mode clock limit for RGB/YUV444 and YUV422/420
output modes. This may result in limiting the link-bpp value for a
YUV422/420 output mode already at a lower than required mode clock.
v2: Apply the quirk only when DSC is enabled.
v3 (Ville):
- Move adjustment of link-bpp within the already existing is_dsc
if branch.
- Add TODO comment to move the HW revision check as well to the
DRM core quirk table.
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reported-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reported-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
+ /mt/dim checkpatch a4d9163251f4832a7d34d4b59449f9a68b9b7adf drm-intel
84a674941f7e drm/dp: Add quirk for Synaptics DSC throughput link-bpp limit
-:46: WARNING:BAD_REPORTED_BY_LINK: Reported-by: should be immediately followed by Closes: with a URL to the report
#46:
Reported-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reported-by: Swati Sharma <swati2.sharma@intel.com>
-:47: WARNING:BAD_REPORTED_BY_LINK: Reported-by: should be immediately followed by Closes: with a URL to the report
#47:
Reported-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
-:58: WARNING:LONG_LINE_COMMENT: line length of 111 exceeds 100 columns
#58: FILE: drivers/gpu/drm/display/drm_dp_helper.c:2554:
+ /* Synaptics Panamera supports only a compressed bpp of 12 above 50% of its max DSC pixel throughput */
-:59: WARNING:LONG_LINE: line length of 128 exceeds 100 columns
#59: FILE: drivers/gpu/drm/display/drm_dp_helper.c:2555:
+ { OUI(0x90, 0xCC, 0x24), DEVICE_ID('S', 'Y', 'N', 'A', 0x53, 0x22), true, BIT(DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT) },
-:60: WARNING:LONG_LINE: line length of 128 exceeds 100 columns
#60: FILE: drivers/gpu/drm/display/drm_dp_helper.c:2556:
+ { OUI(0x90, 0xCC, 0x24), DEVICE_ID('S', 'Y', 'N', 'A', 0x53, 0x31), true, BIT(DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT) },
-:61: WARNING:LONG_LINE: line length of 128 exceeds 100 columns
#61: FILE: drivers/gpu/drm/display/drm_dp_helper.c:2557:
+ { OUI(0x90, 0xCC, 0x24), DEVICE_ID('S', 'Y', 'N', 'A', 0x53, 0x33), true, BIT(DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT) },
total: 0 errors, 6 warnings, 0 checks, 25 lines checked
e468a9579343 drm/dp: Add helpers to query the branch DSC max throughput/line-width
b0fffd341356 drm/i915/dp: Calculate DSC slice count based on per-slice peak throughput
2eae1112f793 drm/i915/dp: Pass DPCD device descriptor to intel_dp_get_dsc_sink_cap()
741e6bccbb76 drm/i915/dp: Verify branch devices' overall pixel throughput/line width
b9bc9d8726a9 drm/i915/dp: Handle Synaptics DSC throughput link-bpp quirk
-:27: WARNING:BAD_REPORTED_BY_LINK: Reported-by: should be immediately followed by Closes: with a URL to the report
#27:
Reported-by: Vidya Srinivas <vidya.srinivas@intel.com>
Reported-by: Swati Sharma <swati2.sharma@intel.com>
-:28: WARNING:BAD_REPORTED_BY_LINK: Reported-by: should be immediately followed by Closes: with a URL to the report
#28:
Reported-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
-:108: WARNING:LONG_LINE: line length of 140 exceeds 100 columns
#108: FILE: drivers/gpu/drm/i915/display/intel_dp.c:2571:
+ "[CRTC:%d:%s][CONNECTOR:%d:%s] Decreasing link max bpp to " FXP_Q4_FMT " due to DSC throughput quirk\n",
total: 0 errors, 3 warnings, 0 checks, 94 lines checked
^ permalink raw reply [flat|nested] 13+ messages in thread
* ✓ CI.KUnit: success for drm/i915/dp: Work around a DSC pixel throughput issue (rev4)
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
` (6 preceding siblings ...)
2025-09-24 15:32 ` ✗ CI.checkpatch: warning for drm/i915/dp: Work around a DSC pixel throughput issue (rev4) Patchwork
@ 2025-09-24 15:33 ` Patchwork
2025-09-24 16:07 ` ✓ Xe.CI.BAT: " Patchwork
2025-09-24 20:12 ` ✗ Xe.CI.Full: failure " Patchwork
9 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2025-09-24 15:33 UTC (permalink / raw)
To: Imre Deak; +Cc: intel-xe
== Series Details ==
Series: drm/i915/dp: Work around a DSC pixel throughput issue (rev4)
URL : https://patchwork.freedesktop.org/series/154737/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[15:32:22] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:32:26] 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:32:55] Starting KUnit Kernel (1/1)...
[15:32:55] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:32:55] ================== guc_buf (11 subtests) ===================
[15:32:55] [PASSED] test_smallest
[15:32:55] [PASSED] test_largest
[15:32:56] [PASSED] test_granular
[15:32:56] [PASSED] test_unique
[15:32:56] [PASSED] test_overlap
[15:32:56] [PASSED] test_reusable
[15:32:56] [PASSED] test_too_big
[15:32:56] [PASSED] test_flush
[15:32:56] [PASSED] test_lookup
[15:32:56] [PASSED] test_data
[15:32:56] [PASSED] test_class
[15:32:56] ===================== [PASSED] guc_buf =====================
[15:32:56] =================== guc_dbm (7 subtests) ===================
[15:32:56] [PASSED] test_empty
[15:32:56] [PASSED] test_default
[15:32:56] ======================== test_size ========================
[15:32:56] [PASSED] 4
[15:32:56] [PASSED] 8
[15:32:56] [PASSED] 32
[15:32:56] [PASSED] 256
[15:32:56] ==================== [PASSED] test_size ====================
[15:32:56] ======================= test_reuse ========================
[15:32:56] [PASSED] 4
[15:32:56] [PASSED] 8
[15:32:56] [PASSED] 32
[15:32:56] [PASSED] 256
[15:32:56] =================== [PASSED] test_reuse ====================
[15:32:56] =================== test_range_overlap ====================
[15:32:56] [PASSED] 4
[15:32:56] [PASSED] 8
[15:32:56] [PASSED] 32
[15:32:56] [PASSED] 256
[15:32:56] =============== [PASSED] test_range_overlap ================
[15:32:56] =================== test_range_compact ====================
[15:32:56] [PASSED] 4
[15:32:56] [PASSED] 8
[15:32:56] [PASSED] 32
[15:32:56] [PASSED] 256
[15:32:56] =============== [PASSED] test_range_compact ================
[15:32:56] ==================== test_range_spare =====================
[15:32:56] [PASSED] 4
[15:32:56] [PASSED] 8
[15:32:56] [PASSED] 32
[15:32:56] [PASSED] 256
[15:32:56] ================ [PASSED] test_range_spare =================
[15:32:56] ===================== [PASSED] guc_dbm =====================
[15:32:56] =================== guc_idm (6 subtests) ===================
[15:32:56] [PASSED] bad_init
[15:32:56] [PASSED] no_init
[15:32:56] [PASSED] init_fini
[15:32:56] [PASSED] check_used
[15:32:56] [PASSED] check_quota
[15:32:56] [PASSED] check_all
[15:32:56] ===================== [PASSED] guc_idm =====================
[15:32:56] ================== no_relay (3 subtests) ===================
[15:32:56] [PASSED] xe_drops_guc2pf_if_not_ready
[15:32:56] [PASSED] xe_drops_guc2vf_if_not_ready
[15:32:56] [PASSED] xe_rejects_send_if_not_ready
[15:32:56] ==================== [PASSED] no_relay =====================
[15:32:56] ================== pf_relay (14 subtests) ==================
[15:32:56] [PASSED] pf_rejects_guc2pf_too_short
[15:32:56] [PASSED] pf_rejects_guc2pf_too_long
[15:32:56] [PASSED] pf_rejects_guc2pf_no_payload
[15:32:56] [PASSED] pf_fails_no_payload
[15:32:56] [PASSED] pf_fails_bad_origin
[15:32:56] [PASSED] pf_fails_bad_type
[15:32:56] [PASSED] pf_txn_reports_error
[15:32:56] [PASSED] pf_txn_sends_pf2guc
[15:32:56] [PASSED] pf_sends_pf2guc
[15:32:56] [SKIPPED] pf_loopback_nop
[15:32:56] [SKIPPED] pf_loopback_echo
[15:32:56] [SKIPPED] pf_loopback_fail
[15:32:56] [SKIPPED] pf_loopback_busy
[15:32:56] [SKIPPED] pf_loopback_retry
[15:32:56] ==================== [PASSED] pf_relay =====================
[15:32:56] ================== vf_relay (3 subtests) ===================
[15:32:56] [PASSED] vf_rejects_guc2vf_too_short
[15:32:56] [PASSED] vf_rejects_guc2vf_too_long
[15:32:56] [PASSED] vf_rejects_guc2vf_no_payload
[15:32:56] ==================== [PASSED] vf_relay =====================
[15:32:56] ===================== lmtt (1 subtest) =====================
[15:32:56] ======================== test_ops =========================
[15:32:56] [PASSED] 2-level
[15:32:56] [PASSED] multi-level
[15:32:56] ==================== [PASSED] test_ops =====================
[15:32:56] ====================== [PASSED] lmtt =======================
[15:32:56] ================= pf_service (11 subtests) =================
[15:32:56] [PASSED] pf_negotiate_any
[15:32:56] [PASSED] pf_negotiate_base_match
[15:32:56] [PASSED] pf_negotiate_base_newer
[15:32:56] [PASSED] pf_negotiate_base_next
[15:32:56] [SKIPPED] pf_negotiate_base_older
[15:32:56] [PASSED] pf_negotiate_base_prev
[15:32:56] [PASSED] pf_negotiate_latest_match
[15:32:56] [PASSED] pf_negotiate_latest_newer
[15:32:56] [PASSED] pf_negotiate_latest_next
[15:32:56] [SKIPPED] pf_negotiate_latest_older
[15:32:56] [SKIPPED] pf_negotiate_latest_prev
[15:32:56] =================== [PASSED] pf_service ====================
[15:32:56] ================= xe_guc_g2g (2 subtests) ==================
[15:32:56] ============== xe_live_guc_g2g_kunit_default ==============
[15:32:56] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[15:32:56] ============== xe_live_guc_g2g_kunit_allmem ===============
[15:32:56] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[15:32:56] =================== [SKIPPED] xe_guc_g2g ===================
[15:32:56] =================== xe_mocs (2 subtests) ===================
[15:32:56] ================ xe_live_mocs_kernel_kunit ================
[15:32:56] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[15:32:56] ================ xe_live_mocs_reset_kunit =================
[15:32:56] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[15:32:56] ==================== [SKIPPED] xe_mocs =====================
[15:32:56] ================= xe_migrate (2 subtests) ==================
[15:32:56] ================= xe_migrate_sanity_kunit =================
[15:32:56] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[15:32:56] ================== xe_validate_ccs_kunit ==================
[15:32:56] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[15:32:56] =================== [SKIPPED] xe_migrate ===================
[15:32:56] ================== xe_dma_buf (1 subtest) ==================
[15:32:56] ==================== xe_dma_buf_kunit =====================
[15:32:56] ================ [SKIPPED] xe_dma_buf_kunit ================
[15:32:56] =================== [SKIPPED] xe_dma_buf ===================
[15:32:56] ================= xe_bo_shrink (1 subtest) =================
[15:32:56] =================== xe_bo_shrink_kunit ====================
[15:32:56] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[15:32:56] ================== [SKIPPED] xe_bo_shrink ==================
[15:32:56] ==================== xe_bo (2 subtests) ====================
[15:32:56] ================== xe_ccs_migrate_kunit ===================
[15:32:56] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[15:32:56] ==================== xe_bo_evict_kunit ====================
[15:32:56] =============== [SKIPPED] xe_bo_evict_kunit ================
[15:32:56] ===================== [SKIPPED] xe_bo ======================
[15:32:56] ==================== args (11 subtests) ====================
[15:32:56] [PASSED] count_args_test
[15:32:56] [PASSED] call_args_example
[15:32:56] [PASSED] call_args_test
[15:32:56] [PASSED] drop_first_arg_example
[15:32:56] [PASSED] drop_first_arg_test
[15:32:56] [PASSED] first_arg_example
[15:32:56] [PASSED] first_arg_test
[15:32:56] [PASSED] last_arg_example
[15:32:56] [PASSED] last_arg_test
[15:32:56] [PASSED] pick_arg_example
[15:32:56] [PASSED] sep_comma_example
[15:32:56] ====================== [PASSED] args =======================
[15:32:56] =================== xe_pci (3 subtests) ====================
[15:32:56] ==================== check_graphics_ip ====================
[15:32:56] [PASSED] 12.00 Xe_LP
[15:32:56] [PASSED] 12.10 Xe_LP+
[15:32:56] [PASSED] 12.55 Xe_HPG
[15:32:56] [PASSED] 12.60 Xe_HPC
[15:32:56] [PASSED] 12.70 Xe_LPG
[15:32:56] [PASSED] 12.71 Xe_LPG
[15:32:56] [PASSED] 12.74 Xe_LPG+
[15:32:56] [PASSED] 20.01 Xe2_HPG
[15:32:56] [PASSED] 20.02 Xe2_HPG
[15:32:56] [PASSED] 20.04 Xe2_LPG
[15:32:56] [PASSED] 30.00 Xe3_LPG
[15:32:56] [PASSED] 30.01 Xe3_LPG
[15:32:56] [PASSED] 30.03 Xe3_LPG
[15:32:56] ================ [PASSED] check_graphics_ip ================
[15:32:56] ===================== check_media_ip ======================
[15:32:56] [PASSED] 12.00 Xe_M
[15:32:56] [PASSED] 12.55 Xe_HPM
[15:32:56] [PASSED] 13.00 Xe_LPM+
[15:32:56] [PASSED] 13.01 Xe2_HPM
[15:32:56] [PASSED] 20.00 Xe2_LPM
[15:32:56] [PASSED] 30.00 Xe3_LPM
[15:32:56] [PASSED] 30.02 Xe3_LPM
[15:32:56] ================= [PASSED] check_media_ip ==================
[15:32:56] ================= check_platform_gt_count =================
[15:32:56] [PASSED] 0x9A60 (TIGERLAKE)
[15:32:56] [PASSED] 0x9A68 (TIGERLAKE)
[15:32:56] [PASSED] 0x9A70 (TIGERLAKE)
[15:32:56] [PASSED] 0x9A40 (TIGERLAKE)
[15:32:56] [PASSED] 0x9A49 (TIGERLAKE)
[15:32:56] [PASSED] 0x9A59 (TIGERLAKE)
[15:32:56] [PASSED] 0x9A78 (TIGERLAKE)
[15:32:56] [PASSED] 0x9AC0 (TIGERLAKE)
[15:32:56] [PASSED] 0x9AC9 (TIGERLAKE)
[15:32:56] [PASSED] 0x9AD9 (TIGERLAKE)
[15:32:56] [PASSED] 0x9AF8 (TIGERLAKE)
[15:32:56] [PASSED] 0x4C80 (ROCKETLAKE)
[15:32:56] [PASSED] 0x4C8A (ROCKETLAKE)
[15:32:56] [PASSED] 0x4C8B (ROCKETLAKE)
[15:32:56] [PASSED] 0x4C8C (ROCKETLAKE)
[15:32:56] [PASSED] 0x4C90 (ROCKETLAKE)
[15:32:56] [PASSED] 0x4C9A (ROCKETLAKE)
[15:32:56] [PASSED] 0x4680 (ALDERLAKE_S)
[15:32:56] [PASSED] 0x4682 (ALDERLAKE_S)
[15:32:56] [PASSED] 0x4688 (ALDERLAKE_S)
[15:32:56] [PASSED] 0x468A (ALDERLAKE_S)
[15:32:56] [PASSED] 0x468B (ALDERLAKE_S)
[15:32:56] [PASSED] 0x4690 (ALDERLAKE_S)
[15:32:56] [PASSED] 0x4692 (ALDERLAKE_S)
[15:32:56] [PASSED] 0x4693 (ALDERLAKE_S)
[15:32:56] [PASSED] 0x46A0 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46A1 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46A2 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46A3 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46A6 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46A8 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46AA (ALDERLAKE_P)
[15:32:56] [PASSED] 0x462A (ALDERLAKE_P)
[15:32:56] [PASSED] 0x4626 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x4628 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46B0 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46B1 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46B2 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46B3 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46C0 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46C1 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46C2 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46C3 (ALDERLAKE_P)
[15:32:56] [PASSED] 0x46D0 (ALDERLAKE_N)
[15:32:56] [PASSED] 0x46D1 (ALDERLAKE_N)
[15:32:56] [PASSED] 0x46D2 (ALDERLAKE_N)
[15:32:56] [PASSED] 0x46D3 (ALDERLAKE_N)
[15:32:56] [PASSED] 0x46D4 (ALDERLAKE_N)
[15:32:56] [PASSED] 0xA721 (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA7A1 (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA7A9 (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA7AC (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA7AD (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA720 (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA7A0 (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA7A8 (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA7AA (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA7AB (ALDERLAKE_P)
[15:32:56] [PASSED] 0xA780 (ALDERLAKE_S)
[15:32:56] [PASSED] 0xA781 (ALDERLAKE_S)
[15:32:56] [PASSED] 0xA782 (ALDERLAKE_S)
[15:32:56] [PASSED] 0xA783 (ALDERLAKE_S)
[15:32:56] [PASSED] 0xA788 (ALDERLAKE_S)
[15:32:56] [PASSED] 0xA789 (ALDERLAKE_S)
[15:32:56] [PASSED] 0xA78A (ALDERLAKE_S)
[15:32:56] [PASSED] 0xA78B (ALDERLAKE_S)
[15:32:56] [PASSED] 0x4905 (DG1)
[15:32:56] [PASSED] 0x4906 (DG1)
[15:32:56] [PASSED] 0x4907 (DG1)
[15:32:56] [PASSED] 0x4908 (DG1)
[15:32:56] [PASSED] 0x4909 (DG1)
[15:32:56] [PASSED] 0x56C0 (DG2)
[15:32:56] [PASSED] 0x56C2 (DG2)
[15:32:56] [PASSED] 0x56C1 (DG2)
[15:32:56] [PASSED] 0x7D51 (METEORLAKE)
[15:32:56] [PASSED] 0x7DD1 (METEORLAKE)
[15:32:56] [PASSED] 0x7D41 (METEORLAKE)
[15:32:56] [PASSED] 0x7D67 (METEORLAKE)
[15:32:56] [PASSED] 0xB640 (METEORLAKE)
[15:32:56] [PASSED] 0x56A0 (DG2)
[15:32:56] [PASSED] 0x56A1 (DG2)
[15:32:56] [PASSED] 0x56A2 (DG2)
[15:32:56] [PASSED] 0x56BE (DG2)
[15:32:56] [PASSED] 0x56BF (DG2)
[15:32:56] [PASSED] 0x5690 (DG2)
[15:32:56] [PASSED] 0x5691 (DG2)
[15:32:56] [PASSED] 0x5692 (DG2)
[15:32:56] [PASSED] 0x56A5 (DG2)
[15:32:56] [PASSED] 0x56A6 (DG2)
[15:32:56] [PASSED] 0x56B0 (DG2)
[15:32:56] [PASSED] 0x56B1 (DG2)
[15:32:56] [PASSED] 0x56BA (DG2)
[15:32:56] [PASSED] 0x56BB (DG2)
[15:32:56] [PASSED] 0x56BC (DG2)
[15:32:56] [PASSED] 0x56BD (DG2)
[15:32:56] [PASSED] 0x5693 (DG2)
[15:32:56] [PASSED] 0x5694 (DG2)
[15:32:56] [PASSED] 0x5695 (DG2)
[15:32:56] [PASSED] 0x56A3 (DG2)
[15:32:56] [PASSED] 0x56A4 (DG2)
[15:32:56] [PASSED] 0x56B2 (DG2)
[15:32:56] [PASSED] 0x56B3 (DG2)
[15:32:56] [PASSED] 0x5696 (DG2)
[15:32:56] [PASSED] 0x5697 (DG2)
[15:32:56] [PASSED] 0xB69 (PVC)
[15:32:56] [PASSED] 0xB6E (PVC)
[15:32:56] [PASSED] 0xBD4 (PVC)
[15:32:56] [PASSED] 0xBD5 (PVC)
[15:32:56] [PASSED] 0xBD6 (PVC)
[15:32:56] [PASSED] 0xBD7 (PVC)
[15:32:56] [PASSED] 0xBD8 (PVC)
[15:32:56] [PASSED] 0xBD9 (PVC)
[15:32:56] [PASSED] 0xBDA (PVC)
[15:32:56] [PASSED] 0xBDB (PVC)
[15:32:56] [PASSED] 0xBE0 (PVC)
[15:32:56] [PASSED] 0xBE1 (PVC)
[15:32:56] [PASSED] 0xBE5 (PVC)
[15:32:56] [PASSED] 0x7D40 (METEORLAKE)
[15:32:56] [PASSED] 0x7D45 (METEORLAKE)
[15:32:56] [PASSED] 0x7D55 (METEORLAKE)
[15:32:56] [PASSED] 0x7D60 (METEORLAKE)
[15:32:56] [PASSED] 0x7DD5 (METEORLAKE)
[15:32:56] [PASSED] 0x6420 (LUNARLAKE)
[15:32:56] [PASSED] 0x64A0 (LUNARLAKE)
[15:32:56] [PASSED] 0x64B0 (LUNARLAKE)
[15:32:56] [PASSED] 0xE202 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE209 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE20B (BATTLEMAGE)
[15:32:56] [PASSED] 0xE20C (BATTLEMAGE)
[15:32:56] [PASSED] 0xE20D (BATTLEMAGE)
[15:32:56] [PASSED] 0xE210 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE211 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE212 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE216 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE220 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE221 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE222 (BATTLEMAGE)
[15:32:56] [PASSED] 0xE223 (BATTLEMAGE)
[15:32:56] [PASSED] 0xB080 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB081 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB082 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB083 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB084 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB085 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB086 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB087 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB08F (PANTHERLAKE)
[15:32:56] [PASSED] 0xB090 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB0A0 (PANTHERLAKE)
[15:32:56] [PASSED] 0xB0B0 (PANTHERLAKE)
[15:32:56] [PASSED] 0xFD80 (PANTHERLAKE)
[15:32:56] [PASSED] 0xFD81 (PANTHERLAKE)
[15:32:56] ============= [PASSED] check_platform_gt_count =============
[15:32:56] ===================== [PASSED] xe_pci ======================
[15:32:56] =================== xe_rtp (2 subtests) ====================
[15:32:56] =============== xe_rtp_process_to_sr_tests ================
[15:32:56] [PASSED] coalesce-same-reg
[15:32:56] [PASSED] no-match-no-add
[15:32:56] [PASSED] match-or
[15:32:56] [PASSED] match-or-xfail
[15:32:56] [PASSED] no-match-no-add-multiple-rules
[15:32:56] [PASSED] two-regs-two-entries
[15:32:56] [PASSED] clr-one-set-other
[15:32:56] [PASSED] set-field
[15:32:56] [PASSED] conflict-duplicate
[15:32:56] [PASSED] conflict-not-disjoint
[15:32:56] [PASSED] conflict-reg-type
[15:32:56] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[15:32:56] ================== xe_rtp_process_tests ===================
[15:32:56] [PASSED] active1
[15:32:56] [PASSED] active2
[15:32:56] [PASSED] active-inactive
[15:32:56] [PASSED] inactive-active
[15:32:56] [PASSED] inactive-1st_or_active-inactive
[15:32:56] [PASSED] inactive-2nd_or_active-inactive
[15:32:56] [PASSED] inactive-last_or_active-inactive
[15:32:56] [PASSED] inactive-no_or_active-inactive
[15:32:56] ============== [PASSED] xe_rtp_process_tests ===============
[15:32:56] ===================== [PASSED] xe_rtp ======================
[15:32:56] ==================== xe_wa (1 subtest) =====================
[15:32:56] ======================== xe_wa_gt =========================
[15:32:56] [PASSED] TIGERLAKE B0
[15:32:56] [PASSED] DG1 A0
[15:32:56] [PASSED] DG1 B0
[15:32:56] [PASSED] ALDERLAKE_S A0
[15:32:56] [PASSED] ALDERLAKE_S B0
stty: 'standard input': Inappropriate ioctl for device
[15:32:56] [PASSED] ALDERLAKE_S C0
[15:32:56] [PASSED] ALDERLAKE_S D0
[15:32:56] [PASSED] ALDERLAKE_P A0
[15:32:56] [PASSED] ALDERLAKE_P B0
[15:32:56] [PASSED] ALDERLAKE_P C0
[15:32:56] [PASSED] ALDERLAKE_S RPLS D0
[15:32:56] [PASSED] ALDERLAKE_P RPLU E0
[15:32:56] [PASSED] DG2 G10 C0
[15:32:56] [PASSED] DG2 G11 B1
[15:32:56] [PASSED] DG2 G12 A1
[15:32:56] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[15:32:56] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[15:32:56] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[15:32:56] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[15:32:56] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[15:32:56] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[15:32:56] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[15:32:56] ==================== [PASSED] xe_wa_gt =====================
[15:32:56] ====================== [PASSED] xe_wa ======================
[15:32:56] ============================================================
[15:32:56] Testing complete. Ran 306 tests: passed: 288, skipped: 18
[15:32:56] Elapsed time: 33.617s total, 4.278s configuring, 28.973s building, 0.319s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[15:32:56] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:32:58] 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:33:21] Starting KUnit Kernel (1/1)...
[15:33:21] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:33:21] ============ drm_test_pick_cmdline (2 subtests) ============
[15:33:21] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[15:33:21] =============== drm_test_pick_cmdline_named ===============
[15:33:21] [PASSED] NTSC
[15:33:21] [PASSED] NTSC-J
[15:33:21] [PASSED] PAL
[15:33:21] [PASSED] PAL-M
[15:33:21] =========== [PASSED] drm_test_pick_cmdline_named ===========
[15:33:21] ============== [PASSED] drm_test_pick_cmdline ==============
[15:33:21] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[15:33:21] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[15:33:21] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[15:33:21] =========== drm_validate_clone_mode (2 subtests) ===========
[15:33:21] ============== drm_test_check_in_clone_mode ===============
[15:33:21] [PASSED] in_clone_mode
[15:33:21] [PASSED] not_in_clone_mode
[15:33:21] ========== [PASSED] drm_test_check_in_clone_mode ===========
[15:33:21] =============== drm_test_check_valid_clones ===============
[15:33:21] [PASSED] not_in_clone_mode
[15:33:21] [PASSED] valid_clone
[15:33:21] [PASSED] invalid_clone
[15:33:21] =========== [PASSED] drm_test_check_valid_clones ===========
[15:33:21] ============= [PASSED] drm_validate_clone_mode =============
[15:33:21] ============= drm_validate_modeset (1 subtest) =============
[15:33:21] [PASSED] drm_test_check_connector_changed_modeset
[15:33:21] ============== [PASSED] drm_validate_modeset ===============
[15:33:21] ====== drm_test_bridge_get_current_state (2 subtests) ======
[15:33:21] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[15:33:21] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[15:33:21] ======== [PASSED] drm_test_bridge_get_current_state ========
[15:33:21] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[15:33:21] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[15:33:21] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[15:33:21] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[15:33:21] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[15:33:21] ============== drm_bridge_alloc (2 subtests) ===============
[15:33:21] [PASSED] drm_test_drm_bridge_alloc_basic
[15:33:21] [PASSED] drm_test_drm_bridge_alloc_get_put
[15:33:21] ================ [PASSED] drm_bridge_alloc =================
[15:33:21] ================== drm_buddy (7 subtests) ==================
[15:33:21] [PASSED] drm_test_buddy_alloc_limit
[15:33:21] [PASSED] drm_test_buddy_alloc_optimistic
[15:33:21] [PASSED] drm_test_buddy_alloc_pessimistic
[15:33:21] [PASSED] drm_test_buddy_alloc_pathological
[15:33:21] [PASSED] drm_test_buddy_alloc_contiguous
[15:33:21] [PASSED] drm_test_buddy_alloc_clear
[15:33:21] [PASSED] drm_test_buddy_alloc_range_bias
[15:33:21] ==================== [PASSED] drm_buddy ====================
[15:33:21] ============= drm_cmdline_parser (40 subtests) =============
[15:33:21] [PASSED] drm_test_cmdline_force_d_only
[15:33:21] [PASSED] drm_test_cmdline_force_D_only_dvi
[15:33:21] [PASSED] drm_test_cmdline_force_D_only_hdmi
[15:33:21] [PASSED] drm_test_cmdline_force_D_only_not_digital
[15:33:21] [PASSED] drm_test_cmdline_force_e_only
[15:33:21] [PASSED] drm_test_cmdline_res
[15:33:21] [PASSED] drm_test_cmdline_res_vesa
[15:33:21] [PASSED] drm_test_cmdline_res_vesa_rblank
[15:33:21] [PASSED] drm_test_cmdline_res_rblank
[15:33:21] [PASSED] drm_test_cmdline_res_bpp
[15:33:21] [PASSED] drm_test_cmdline_res_refresh
[15:33:21] [PASSED] drm_test_cmdline_res_bpp_refresh
[15:33:21] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[15:33:21] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[15:33:21] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[15:33:21] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[15:33:21] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[15:33:21] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[15:33:21] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[15:33:21] [PASSED] drm_test_cmdline_res_margins_force_on
[15:33:21] [PASSED] drm_test_cmdline_res_vesa_margins
[15:33:21] [PASSED] drm_test_cmdline_name
[15:33:21] [PASSED] drm_test_cmdline_name_bpp
[15:33:21] [PASSED] drm_test_cmdline_name_option
[15:33:21] [PASSED] drm_test_cmdline_name_bpp_option
[15:33:21] [PASSED] drm_test_cmdline_rotate_0
[15:33:21] [PASSED] drm_test_cmdline_rotate_90
[15:33:21] [PASSED] drm_test_cmdline_rotate_180
[15:33:21] [PASSED] drm_test_cmdline_rotate_270
[15:33:21] [PASSED] drm_test_cmdline_hmirror
[15:33:21] [PASSED] drm_test_cmdline_vmirror
[15:33:21] [PASSED] drm_test_cmdline_margin_options
[15:33:21] [PASSED] drm_test_cmdline_multiple_options
[15:33:21] [PASSED] drm_test_cmdline_bpp_extra_and_option
[15:33:21] [PASSED] drm_test_cmdline_extra_and_option
[15:33:21] [PASSED] drm_test_cmdline_freestanding_options
[15:33:21] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[15:33:21] [PASSED] drm_test_cmdline_panel_orientation
[15:33:21] ================ drm_test_cmdline_invalid =================
[15:33:21] [PASSED] margin_only
[15:33:21] [PASSED] interlace_only
[15:33:21] [PASSED] res_missing_x
[15:33:21] [PASSED] res_missing_y
[15:33:21] [PASSED] res_bad_y
[15:33:21] [PASSED] res_missing_y_bpp
[15:33:21] [PASSED] res_bad_bpp
[15:33:21] [PASSED] res_bad_refresh
[15:33:21] [PASSED] res_bpp_refresh_force_on_off
[15:33:21] [PASSED] res_invalid_mode
[15:33:21] [PASSED] res_bpp_wrong_place_mode
[15:33:21] [PASSED] name_bpp_refresh
[15:33:21] [PASSED] name_refresh
[15:33:21] [PASSED] name_refresh_wrong_mode
[15:33:21] [PASSED] name_refresh_invalid_mode
[15:33:21] [PASSED] rotate_multiple
[15:33:21] [PASSED] rotate_invalid_val
[15:33:21] [PASSED] rotate_truncated
[15:33:21] [PASSED] invalid_option
[15:33:21] [PASSED] invalid_tv_option
[15:33:21] [PASSED] truncated_tv_option
[15:33:21] ============ [PASSED] drm_test_cmdline_invalid =============
[15:33:21] =============== drm_test_cmdline_tv_options ===============
[15:33:21] [PASSED] NTSC
[15:33:21] [PASSED] NTSC_443
[15:33:21] [PASSED] NTSC_J
[15:33:21] [PASSED] PAL
[15:33:21] [PASSED] PAL_M
[15:33:21] [PASSED] PAL_N
[15:33:21] [PASSED] SECAM
[15:33:21] [PASSED] MONO_525
[15:33:21] [PASSED] MONO_625
[15:33:21] =========== [PASSED] drm_test_cmdline_tv_options ===========
[15:33:21] =============== [PASSED] drm_cmdline_parser ================
[15:33:21] ========== drmm_connector_hdmi_init (20 subtests) ==========
[15:33:21] [PASSED] drm_test_connector_hdmi_init_valid
[15:33:21] [PASSED] drm_test_connector_hdmi_init_bpc_8
[15:33:21] [PASSED] drm_test_connector_hdmi_init_bpc_10
[15:33:21] [PASSED] drm_test_connector_hdmi_init_bpc_12
[15:33:21] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[15:33:21] [PASSED] drm_test_connector_hdmi_init_bpc_null
[15:33:21] [PASSED] drm_test_connector_hdmi_init_formats_empty
[15:33:21] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[15:33:21] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[15:33:21] [PASSED] supported_formats=0x9 yuv420_allowed=1
[15:33:21] [PASSED] supported_formats=0x9 yuv420_allowed=0
[15:33:21] [PASSED] supported_formats=0x3 yuv420_allowed=1
[15:33:21] [PASSED] supported_formats=0x3 yuv420_allowed=0
[15:33:21] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[15:33:21] [PASSED] drm_test_connector_hdmi_init_null_ddc
[15:33:21] [PASSED] drm_test_connector_hdmi_init_null_product
[15:33:21] [PASSED] drm_test_connector_hdmi_init_null_vendor
[15:33:21] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[15:33:21] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[15:33:21] [PASSED] drm_test_connector_hdmi_init_product_valid
[15:33:21] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[15:33:21] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[15:33:21] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[15:33:21] ========= drm_test_connector_hdmi_init_type_valid =========
[15:33:21] [PASSED] HDMI-A
[15:33:21] [PASSED] HDMI-B
[15:33:21] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[15:33:21] ======== drm_test_connector_hdmi_init_type_invalid ========
[15:33:21] [PASSED] Unknown
[15:33:21] [PASSED] VGA
[15:33:21] [PASSED] DVI-I
[15:33:21] [PASSED] DVI-D
[15:33:21] [PASSED] DVI-A
[15:33:21] [PASSED] Composite
[15:33:21] [PASSED] SVIDEO
[15:33:21] [PASSED] LVDS
[15:33:21] [PASSED] Component
[15:33:21] [PASSED] DIN
[15:33:21] [PASSED] DP
[15:33:21] [PASSED] TV
[15:33:21] [PASSED] eDP
[15:33:21] [PASSED] Virtual
[15:33:21] [PASSED] DSI
[15:33:21] [PASSED] DPI
[15:33:21] [PASSED] Writeback
[15:33:21] [PASSED] SPI
[15:33:21] [PASSED] USB
[15:33:21] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[15:33:21] ============ [PASSED] drmm_connector_hdmi_init =============
[15:33:21] ============= drmm_connector_init (3 subtests) =============
[15:33:21] [PASSED] drm_test_drmm_connector_init
[15:33:21] [PASSED] drm_test_drmm_connector_init_null_ddc
[15:33:21] ========= drm_test_drmm_connector_init_type_valid =========
[15:33:21] [PASSED] Unknown
[15:33:21] [PASSED] VGA
[15:33:21] [PASSED] DVI-I
[15:33:21] [PASSED] DVI-D
[15:33:21] [PASSED] DVI-A
[15:33:21] [PASSED] Composite
[15:33:21] [PASSED] SVIDEO
[15:33:21] [PASSED] LVDS
[15:33:21] [PASSED] Component
[15:33:21] [PASSED] DIN
[15:33:21] [PASSED] DP
[15:33:21] [PASSED] HDMI-A
[15:33:21] [PASSED] HDMI-B
[15:33:21] [PASSED] TV
[15:33:21] [PASSED] eDP
[15:33:21] [PASSED] Virtual
[15:33:21] [PASSED] DSI
[15:33:21] [PASSED] DPI
[15:33:21] [PASSED] Writeback
[15:33:21] [PASSED] SPI
[15:33:21] [PASSED] USB
[15:33:21] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[15:33:21] =============== [PASSED] drmm_connector_init ===============
[15:33:21] ========= drm_connector_dynamic_init (6 subtests) ==========
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_init
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_init_properties
[15:33:21] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[15:33:21] [PASSED] Unknown
[15:33:21] [PASSED] VGA
[15:33:21] [PASSED] DVI-I
[15:33:21] [PASSED] DVI-D
[15:33:21] [PASSED] DVI-A
[15:33:21] [PASSED] Composite
[15:33:21] [PASSED] SVIDEO
[15:33:21] [PASSED] LVDS
[15:33:21] [PASSED] Component
[15:33:21] [PASSED] DIN
[15:33:21] [PASSED] DP
[15:33:21] [PASSED] HDMI-A
[15:33:21] [PASSED] HDMI-B
[15:33:21] [PASSED] TV
[15:33:21] [PASSED] eDP
[15:33:21] [PASSED] Virtual
[15:33:21] [PASSED] DSI
[15:33:21] [PASSED] DPI
[15:33:21] [PASSED] Writeback
[15:33:21] [PASSED] SPI
[15:33:21] [PASSED] USB
[15:33:21] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[15:33:21] ======== drm_test_drm_connector_dynamic_init_name =========
[15:33:21] [PASSED] Unknown
[15:33:21] [PASSED] VGA
[15:33:21] [PASSED] DVI-I
[15:33:21] [PASSED] DVI-D
[15:33:21] [PASSED] DVI-A
[15:33:21] [PASSED] Composite
[15:33:21] [PASSED] SVIDEO
[15:33:21] [PASSED] LVDS
[15:33:21] [PASSED] Component
[15:33:21] [PASSED] DIN
[15:33:21] [PASSED] DP
[15:33:21] [PASSED] HDMI-A
[15:33:21] [PASSED] HDMI-B
[15:33:21] [PASSED] TV
[15:33:21] [PASSED] eDP
[15:33:21] [PASSED] Virtual
[15:33:21] [PASSED] DSI
[15:33:21] [PASSED] DPI
[15:33:21] [PASSED] Writeback
[15:33:21] [PASSED] SPI
[15:33:21] [PASSED] USB
[15:33:21] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[15:33:21] =========== [PASSED] drm_connector_dynamic_init ============
[15:33:21] ==== drm_connector_dynamic_register_early (4 subtests) =====
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[15:33:21] ====== [PASSED] drm_connector_dynamic_register_early =======
[15:33:21] ======= drm_connector_dynamic_register (7 subtests) ========
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[15:33:21] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[15:33:21] ========= [PASSED] drm_connector_dynamic_register ==========
[15:33:21] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[15:33:21] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[15:33:21] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[15:33:21] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[15:33:21] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[15:33:21] ========== drm_test_get_tv_mode_from_name_valid ===========
[15:33:21] [PASSED] NTSC
[15:33:21] [PASSED] NTSC-443
[15:33:21] [PASSED] NTSC-J
[15:33:21] [PASSED] PAL
[15:33:21] [PASSED] PAL-M
[15:33:21] [PASSED] PAL-N
[15:33:21] [PASSED] SECAM
[15:33:21] [PASSED] Mono
[15:33:21] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[15:33:21] [PASSED] drm_test_get_tv_mode_from_name_truncated
[15:33:21] ============ [PASSED] drm_get_tv_mode_from_name ============
[15:33:21] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[15:33:21] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[15:33:21] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[15:33:21] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[15:33:21] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[15:33:21] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[15:33:21] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[15:33:21] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[15:33:21] [PASSED] VIC 96
[15:33:21] [PASSED] VIC 97
[15:33:21] [PASSED] VIC 101
[15:33:21] [PASSED] VIC 102
[15:33:21] [PASSED] VIC 106
[15:33:21] [PASSED] VIC 107
[15:33:21] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[15:33:21] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[15:33:21] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[15:33:21] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[15:33:21] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[15:33:21] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[15:33:21] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[15:33:21] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[15:33:21] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[15:33:21] [PASSED] Automatic
[15:33:21] [PASSED] Full
[15:33:21] [PASSED] Limited 16:235
[15:33:21] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[15:33:21] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[15:33:21] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[15:33:21] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[15:33:21] === drm_test_drm_hdmi_connector_get_output_format_name ====
[15:33:21] [PASSED] RGB
[15:33:21] [PASSED] YUV 4:2:0
[15:33:21] [PASSED] YUV 4:2:2
[15:33:21] [PASSED] YUV 4:4:4
[15:33:21] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[15:33:21] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[15:33:21] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[15:33:21] ============= drm_damage_helper (21 subtests) ==============
[15:33:21] [PASSED] drm_test_damage_iter_no_damage
[15:33:21] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[15:33:21] [PASSED] drm_test_damage_iter_no_damage_src_moved
[15:33:21] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[15:33:21] [PASSED] drm_test_damage_iter_no_damage_not_visible
[15:33:21] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[15:33:21] [PASSED] drm_test_damage_iter_no_damage_no_fb
[15:33:21] [PASSED] drm_test_damage_iter_simple_damage
[15:33:21] [PASSED] drm_test_damage_iter_single_damage
[15:33:21] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[15:33:21] [PASSED] drm_test_damage_iter_single_damage_outside_src
[15:33:21] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[15:33:21] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[15:33:21] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[15:33:21] [PASSED] drm_test_damage_iter_single_damage_src_moved
[15:33:21] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[15:33:21] [PASSED] drm_test_damage_iter_damage
[15:33:21] [PASSED] drm_test_damage_iter_damage_one_intersect
[15:33:21] [PASSED] drm_test_damage_iter_damage_one_outside
[15:33:21] [PASSED] drm_test_damage_iter_damage_src_moved
[15:33:21] [PASSED] drm_test_damage_iter_damage_not_visible
[15:33:21] ================ [PASSED] drm_damage_helper ================
[15:33:21] ============== drm_dp_mst_helper (3 subtests) ==============
[15:33:21] ============== drm_test_dp_mst_calc_pbn_mode ==============
[15:33:21] [PASSED] Clock 154000 BPP 30 DSC disabled
[15:33:21] [PASSED] Clock 234000 BPP 30 DSC disabled
[15:33:21] [PASSED] Clock 297000 BPP 24 DSC disabled
[15:33:21] [PASSED] Clock 332880 BPP 24 DSC enabled
[15:33:21] [PASSED] Clock 324540 BPP 24 DSC enabled
[15:33:21] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[15:33:21] ============== drm_test_dp_mst_calc_pbn_div ===============
[15:33:21] [PASSED] Link rate 2000000 lane count 4
[15:33:21] [PASSED] Link rate 2000000 lane count 2
[15:33:21] [PASSED] Link rate 2000000 lane count 1
[15:33:21] [PASSED] Link rate 1350000 lane count 4
[15:33:21] [PASSED] Link rate 1350000 lane count 2
[15:33:21] [PASSED] Link rate 1350000 lane count 1
[15:33:21] [PASSED] Link rate 1000000 lane count 4
[15:33:21] [PASSED] Link rate 1000000 lane count 2
[15:33:21] [PASSED] Link rate 1000000 lane count 1
[15:33:21] [PASSED] Link rate 810000 lane count 4
[15:33:21] [PASSED] Link rate 810000 lane count 2
[15:33:21] [PASSED] Link rate 810000 lane count 1
[15:33:21] [PASSED] Link rate 540000 lane count 4
[15:33:21] [PASSED] Link rate 540000 lane count 2
[15:33:21] [PASSED] Link rate 540000 lane count 1
[15:33:21] [PASSED] Link rate 270000 lane count 4
[15:33:21] [PASSED] Link rate 270000 lane count 2
[15:33:21] [PASSED] Link rate 270000 lane count 1
[15:33:21] [PASSED] Link rate 162000 lane count 4
[15:33:21] [PASSED] Link rate 162000 lane count 2
[15:33:21] [PASSED] Link rate 162000 lane count 1
[15:33:21] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[15:33:21] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[15:33:21] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[15:33:21] [PASSED] DP_POWER_UP_PHY with port number
[15:33:21] [PASSED] DP_POWER_DOWN_PHY with port number
[15:33:21] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[15:33:21] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[15:33:21] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[15:33:21] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[15:33:21] [PASSED] DP_QUERY_PAYLOAD with port number
[15:33:21] [PASSED] DP_QUERY_PAYLOAD with VCPI
[15:33:21] [PASSED] DP_REMOTE_DPCD_READ with port number
[15:33:21] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[15:33:21] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[15:33:21] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[15:33:21] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[15:33:21] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[15:33:21] [PASSED] DP_REMOTE_I2C_READ with port number
[15:33:21] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[15:33:21] [PASSED] DP_REMOTE_I2C_READ with transactions array
[15:33:21] [PASSED] DP_REMOTE_I2C_WRITE with port number
[15:33:21] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[15:33:21] [PASSED] DP_REMOTE_I2C_WRITE with data array
[15:33:21] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[15:33:21] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[15:33:21] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[15:33:21] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[15:33:21] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[15:33:21] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[15:33:21] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[15:33:21] ================ [PASSED] drm_dp_mst_helper ================
[15:33:21] ================== drm_exec (7 subtests) ===================
[15:33:21] [PASSED] sanitycheck
[15:33:21] [PASSED] test_lock
[15:33:21] [PASSED] test_lock_unlock
[15:33:21] [PASSED] test_duplicates
[15:33:21] [PASSED] test_prepare
[15:33:21] [PASSED] test_prepare_array
[15:33:21] [PASSED] test_multiple_loops
[15:33:21] ==================== [PASSED] drm_exec =====================
[15:33:21] =========== drm_format_helper_test (17 subtests) ===========
[15:33:21] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[15:33:21] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[15:33:21] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[15:33:21] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[15:33:21] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[15:33:21] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[15:33:21] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[15:33:21] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[15:33:21] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[15:33:21] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[15:33:21] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[15:33:21] ============== drm_test_fb_xrgb8888_to_mono ===============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[15:33:21] ==================== drm_test_fb_swab =====================
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ================ [PASSED] drm_test_fb_swab =================
[15:33:21] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[15:33:21] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[15:33:21] [PASSED] single_pixel_source_buffer
[15:33:21] [PASSED] single_pixel_clip_rectangle
[15:33:21] [PASSED] well_known_colors
[15:33:21] [PASSED] destination_pitch
[15:33:21] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[15:33:21] ================= drm_test_fb_clip_offset =================
[15:33:21] [PASSED] pass through
[15:33:21] [PASSED] horizontal offset
[15:33:21] [PASSED] vertical offset
[15:33:21] [PASSED] horizontal and vertical offset
[15:33:21] [PASSED] horizontal offset (custom pitch)
[15:33:21] [PASSED] vertical offset (custom pitch)
[15:33:21] [PASSED] horizontal and vertical offset (custom pitch)
[15:33:21] ============= [PASSED] drm_test_fb_clip_offset =============
[15:33:21] =================== drm_test_fb_memcpy ====================
[15:33:21] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[15:33:21] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[15:33:21] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[15:33:21] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[15:33:21] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[15:33:21] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[15:33:21] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[15:33:21] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[15:33:21] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[15:33:21] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[15:33:21] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[15:33:21] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[15:33:21] =============== [PASSED] drm_test_fb_memcpy ================
[15:33:21] ============= [PASSED] drm_format_helper_test ==============
[15:33:21] ================= drm_format (18 subtests) =================
[15:33:21] [PASSED] drm_test_format_block_width_invalid
[15:33:21] [PASSED] drm_test_format_block_width_one_plane
[15:33:21] [PASSED] drm_test_format_block_width_two_plane
[15:33:21] [PASSED] drm_test_format_block_width_three_plane
[15:33:21] [PASSED] drm_test_format_block_width_tiled
[15:33:21] [PASSED] drm_test_format_block_height_invalid
[15:33:21] [PASSED] drm_test_format_block_height_one_plane
[15:33:21] [PASSED] drm_test_format_block_height_two_plane
[15:33:21] [PASSED] drm_test_format_block_height_three_plane
[15:33:21] [PASSED] drm_test_format_block_height_tiled
[15:33:21] [PASSED] drm_test_format_min_pitch_invalid
[15:33:21] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[15:33:21] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[15:33:21] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[15:33:21] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[15:33:21] [PASSED] drm_test_format_min_pitch_two_plane
[15:33:21] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[15:33:21] [PASSED] drm_test_format_min_pitch_tiled
[15:33:21] =================== [PASSED] drm_format ====================
[15:33:21] ============== drm_framebuffer (10 subtests) ===============
[15:33:21] ========== drm_test_framebuffer_check_src_coords ==========
[15:33:21] [PASSED] Success: source fits into fb
[15:33:21] [PASSED] Fail: overflowing fb with x-axis coordinate
[15:33:21] [PASSED] Fail: overflowing fb with y-axis coordinate
[15:33:21] [PASSED] Fail: overflowing fb with source width
[15:33:21] [PASSED] Fail: overflowing fb with source height
[15:33:21] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[15:33:21] [PASSED] drm_test_framebuffer_cleanup
[15:33:21] =============== drm_test_framebuffer_create ===============
[15:33:21] [PASSED] ABGR8888 normal sizes
[15:33:21] [PASSED] ABGR8888 max sizes
[15:33:21] [PASSED] ABGR8888 pitch greater than min required
[15:33:21] [PASSED] ABGR8888 pitch less than min required
[15:33:21] [PASSED] ABGR8888 Invalid width
[15:33:21] [PASSED] ABGR8888 Invalid buffer handle
[15:33:21] [PASSED] No pixel format
[15:33:21] [PASSED] ABGR8888 Width 0
[15:33:21] [PASSED] ABGR8888 Height 0
[15:33:21] [PASSED] ABGR8888 Out of bound height * pitch combination
[15:33:21] [PASSED] ABGR8888 Large buffer offset
[15:33:21] [PASSED] ABGR8888 Buffer offset for inexistent plane
[15:33:21] [PASSED] ABGR8888 Invalid flag
[15:33:21] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[15:33:21] [PASSED] ABGR8888 Valid buffer modifier
[15:33:21] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[15:33:21] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[15:33:21] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[15:33:21] [PASSED] NV12 Normal sizes
[15:33:21] [PASSED] NV12 Max sizes
[15:33:21] [PASSED] NV12 Invalid pitch
[15:33:21] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[15:33:21] [PASSED] NV12 different modifier per-plane
[15:33:21] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[15:33:21] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[15:33:21] [PASSED] NV12 Modifier for inexistent plane
[15:33:21] [PASSED] NV12 Handle for inexistent plane
[15:33:21] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[15:33:21] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[15:33:21] [PASSED] YVU420 Normal sizes
[15:33:21] [PASSED] YVU420 Max sizes
[15:33:21] [PASSED] YVU420 Invalid pitch
[15:33:21] [PASSED] YVU420 Different pitches
[15:33:21] [PASSED] YVU420 Different buffer offsets/pitches
[15:33:21] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[15:33:21] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[15:33:21] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[15:33:21] [PASSED] YVU420 Valid modifier
[15:33:21] [PASSED] YVU420 Different modifiers per plane
[15:33:21] [PASSED] YVU420 Modifier for inexistent plane
[15:33:21] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[15:33:21] [PASSED] X0L2 Normal sizes
[15:33:21] [PASSED] X0L2 Max sizes
[15:33:21] [PASSED] X0L2 Invalid pitch
[15:33:21] [PASSED] X0L2 Pitch greater than minimum required
[15:33:21] [PASSED] X0L2 Handle for inexistent plane
[15:33:21] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[15:33:21] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[15:33:21] [PASSED] X0L2 Valid modifier
[15:33:21] [PASSED] X0L2 Modifier for inexistent plane
[15:33:21] =========== [PASSED] drm_test_framebuffer_create ===========
[15:33:21] [PASSED] drm_test_framebuffer_free
[15:33:21] [PASSED] drm_test_framebuffer_init
[15:33:21] [PASSED] drm_test_framebuffer_init_bad_format
[15:33:21] [PASSED] drm_test_framebuffer_init_dev_mismatch
[15:33:21] [PASSED] drm_test_framebuffer_lookup
[15:33:21] [PASSED] drm_test_framebuffer_lookup_inexistent
[15:33:21] [PASSED] drm_test_framebuffer_modifiers_not_supported
[15:33:21] ================= [PASSED] drm_framebuffer =================
[15:33:21] ================ drm_gem_shmem (8 subtests) ================
[15:33:21] [PASSED] drm_gem_shmem_test_obj_create
[15:33:21] [PASSED] drm_gem_shmem_test_obj_create_private
[15:33:21] [PASSED] drm_gem_shmem_test_pin_pages
[15:33:21] [PASSED] drm_gem_shmem_test_vmap
[15:33:21] [PASSED] drm_gem_shmem_test_get_pages_sgt
[15:33:21] [PASSED] drm_gem_shmem_test_get_sg_table
[15:33:21] [PASSED] drm_gem_shmem_test_madvise
[15:33:21] [PASSED] drm_gem_shmem_test_purge
[15:33:21] ================== [PASSED] drm_gem_shmem ==================
[15:33:21] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[15:33:21] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[15:33:21] [PASSED] Automatic
[15:33:21] [PASSED] Full
[15:33:21] [PASSED] Limited 16:235
[15:33:21] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[15:33:21] [PASSED] drm_test_check_disable_connector
[15:33:21] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[15:33:21] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[15:33:21] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[15:33:21] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[15:33:21] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[15:33:21] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[15:33:21] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[15:33:21] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[15:33:21] [PASSED] drm_test_check_output_bpc_dvi
[15:33:21] [PASSED] drm_test_check_output_bpc_format_vic_1
[15:33:21] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[15:33:21] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[15:33:21] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[15:33:21] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[15:33:21] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[15:33:21] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[15:33:21] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[15:33:21] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[15:33:21] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[15:33:21] [PASSED] drm_test_check_broadcast_rgb_value
[15:33:21] [PASSED] drm_test_check_bpc_8_value
[15:33:21] [PASSED] drm_test_check_bpc_10_value
[15:33:21] [PASSED] drm_test_check_bpc_12_value
[15:33:21] [PASSED] drm_test_check_format_value
[15:33:21] [PASSED] drm_test_check_tmds_char_value
[15:33:21] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[15:33:21] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[15:33:21] [PASSED] drm_test_check_mode_valid
[15:33:21] [PASSED] drm_test_check_mode_valid_reject
[15:33:21] [PASSED] drm_test_check_mode_valid_reject_rate
[15:33:21] [PASSED] drm_test_check_mode_valid_reject_max_clock
[15:33:21] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[15:33:21] ================= drm_managed (2 subtests) =================
[15:33:21] [PASSED] drm_test_managed_release_action
[15:33:21] [PASSED] drm_test_managed_run_action
[15:33:21] =================== [PASSED] drm_managed ===================
[15:33:21] =================== drm_mm (6 subtests) ====================
[15:33:21] [PASSED] drm_test_mm_init
[15:33:21] [PASSED] drm_test_mm_debug
[15:33:21] [PASSED] drm_test_mm_align32
[15:33:21] [PASSED] drm_test_mm_align64
[15:33:21] [PASSED] drm_test_mm_lowest
[15:33:21] [PASSED] drm_test_mm_highest
[15:33:21] ===================== [PASSED] drm_mm ======================
[15:33:21] ============= drm_modes_analog_tv (5 subtests) =============
[15:33:21] [PASSED] drm_test_modes_analog_tv_mono_576i
[15:33:21] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[15:33:21] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[15:33:21] [PASSED] drm_test_modes_analog_tv_pal_576i
[15:33:21] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[15:33:21] =============== [PASSED] drm_modes_analog_tv ===============
[15:33:21] ============== drm_plane_helper (2 subtests) ===============
[15:33:21] =============== drm_test_check_plane_state ================
[15:33:21] [PASSED] clipping_simple
[15:33:21] [PASSED] clipping_rotate_reflect
[15:33:21] [PASSED] positioning_simple
[15:33:21] [PASSED] upscaling
[15:33:21] [PASSED] downscaling
[15:33:21] [PASSED] rounding1
[15:33:21] [PASSED] rounding2
[15:33:21] [PASSED] rounding3
[15:33:21] [PASSED] rounding4
[15:33:21] =========== [PASSED] drm_test_check_plane_state ============
[15:33:21] =========== drm_test_check_invalid_plane_state ============
[15:33:21] [PASSED] positioning_invalid
[15:33:21] [PASSED] upscaling_invalid
[15:33:21] [PASSED] downscaling_invalid
[15:33:21] ======= [PASSED] drm_test_check_invalid_plane_state ========
[15:33:21] ================ [PASSED] drm_plane_helper =================
[15:33:21] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[15:33:21] ====== drm_test_connector_helper_tv_get_modes_check =======
[15:33:21] [PASSED] None
[15:33:21] [PASSED] PAL
[15:33:21] [PASSED] NTSC
[15:33:21] [PASSED] Both, NTSC Default
[15:33:21] [PASSED] Both, PAL Default
[15:33:21] [PASSED] Both, NTSC Default, with PAL on command-line
[15:33:21] [PASSED] Both, PAL Default, with NTSC on command-line
[15:33:21] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[15:33:21] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[15:33:21] ================== drm_rect (9 subtests) ===================
[15:33:21] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[15:33:21] [PASSED] drm_test_rect_clip_scaled_not_clipped
[15:33:21] [PASSED] drm_test_rect_clip_scaled_clipped
[15:33:21] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[15:33:21] ================= drm_test_rect_intersect =================
[15:33:21] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[15:33:21] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[15:33:21] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[15:33:21] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[15:33:21] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[15:33:21] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[15:33:21] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[15:33:21] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[15:33:21] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[15:33:21] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[15:33:21] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[15:33:21] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[15:33:21] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[15:33:21] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[15:33:21] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[15:33:21] ============= [PASSED] drm_test_rect_intersect =============
[15:33:21] ================ drm_test_rect_calc_hscale ================
[15:33:21] [PASSED] normal use
[15:33:21] [PASSED] out of max range
[15:33:21] [PASSED] out of min range
[15:33:21] [PASSED] zero dst
[15:33:21] [PASSED] negative src
[15:33:21] [PASSED] negative dst
[15:33:21] ============ [PASSED] drm_test_rect_calc_hscale ============
[15:33:21] ================ drm_test_rect_calc_vscale ================
[15:33:21] [PASSED] normal use
[15:33:21] [PASSED] out of max range
[15:33:21] [PASSED] out of min range
[15:33:21] [PASSED] zero dst
[15:33:21] [PASSED] negative src
stty: 'standard input': Inappropriate ioctl for device
[15:33:21] [PASSED] negative dst
[15:33:21] ============ [PASSED] drm_test_rect_calc_vscale ============
[15:33:21] ================== drm_test_rect_rotate ===================
[15:33:21] [PASSED] reflect-x
[15:33:21] [PASSED] reflect-y
[15:33:21] [PASSED] rotate-0
[15:33:21] [PASSED] rotate-90
[15:33:21] [PASSED] rotate-180
[15:33:21] [PASSED] rotate-270
[15:33:21] ============== [PASSED] drm_test_rect_rotate ===============
[15:33:21] ================ drm_test_rect_rotate_inv =================
[15:33:21] [PASSED] reflect-x
[15:33:21] [PASSED] reflect-y
[15:33:21] [PASSED] rotate-0
[15:33:21] [PASSED] rotate-90
[15:33:21] [PASSED] rotate-180
[15:33:21] [PASSED] rotate-270
[15:33:21] ============ [PASSED] drm_test_rect_rotate_inv =============
[15:33:21] ==================== [PASSED] drm_rect =====================
[15:33:21] ============ drm_sysfb_modeset_test (1 subtest) ============
[15:33:21] ============ drm_test_sysfb_build_fourcc_list =============
[15:33:21] [PASSED] no native formats
[15:33:21] [PASSED] XRGB8888 as native format
[15:33:21] [PASSED] remove duplicates
[15:33:21] [PASSED] convert alpha formats
[15:33:21] [PASSED] random formats
[15:33:21] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[15:33:21] ============= [PASSED] drm_sysfb_modeset_test ==============
[15:33:21] ============================================================
[15:33:21] Testing complete. Ran 621 tests: passed: 621
[15:33:21] Elapsed time: 25.403s total, 1.734s configuring, 23.447s building, 0.191s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[15:33:21] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[15:33:23] 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:33:32] Starting KUnit Kernel (1/1)...
[15:33:32] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[15:33:32] ================= ttm_device (5 subtests) ==================
[15:33:32] [PASSED] ttm_device_init_basic
[15:33:32] [PASSED] ttm_device_init_multiple
[15:33:32] [PASSED] ttm_device_fini_basic
[15:33:32] [PASSED] ttm_device_init_no_vma_man
[15:33:32] ================== ttm_device_init_pools ==================
[15:33:32] [PASSED] No DMA allocations, no DMA32 required
[15:33:32] [PASSED] DMA allocations, DMA32 required
[15:33:32] [PASSED] No DMA allocations, DMA32 required
[15:33:32] [PASSED] DMA allocations, no DMA32 required
[15:33:32] ============== [PASSED] ttm_device_init_pools ==============
[15:33:32] =================== [PASSED] ttm_device ====================
[15:33:32] ================== ttm_pool (8 subtests) ===================
[15:33:32] ================== ttm_pool_alloc_basic ===================
[15:33:32] [PASSED] One page
[15:33:32] [PASSED] More than one page
[15:33:32] [PASSED] Above the allocation limit
[15:33:32] [PASSED] One page, with coherent DMA mappings enabled
[15:33:32] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[15:33:32] ============== [PASSED] ttm_pool_alloc_basic ===============
[15:33:32] ============== ttm_pool_alloc_basic_dma_addr ==============
[15:33:32] [PASSED] One page
[15:33:32] [PASSED] More than one page
[15:33:32] [PASSED] Above the allocation limit
[15:33:32] [PASSED] One page, with coherent DMA mappings enabled
[15:33:32] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[15:33:32] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[15:33:32] [PASSED] ttm_pool_alloc_order_caching_match
[15:33:32] [PASSED] ttm_pool_alloc_caching_mismatch
[15:33:32] [PASSED] ttm_pool_alloc_order_mismatch
[15:33:32] [PASSED] ttm_pool_free_dma_alloc
[15:33:32] [PASSED] ttm_pool_free_no_dma_alloc
[15:33:32] [PASSED] ttm_pool_fini_basic
[15:33:32] ==================== [PASSED] ttm_pool =====================
[15:33:32] ================ ttm_resource (8 subtests) =================
[15:33:32] ================= ttm_resource_init_basic =================
[15:33:32] [PASSED] Init resource in TTM_PL_SYSTEM
[15:33:32] [PASSED] Init resource in TTM_PL_VRAM
[15:33:32] [PASSED] Init resource in a private placement
[15:33:32] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[15:33:32] ============= [PASSED] ttm_resource_init_basic =============
[15:33:32] [PASSED] ttm_resource_init_pinned
[15:33:32] [PASSED] ttm_resource_fini_basic
[15:33:32] [PASSED] ttm_resource_manager_init_basic
[15:33:32] [PASSED] ttm_resource_manager_usage_basic
[15:33:32] [PASSED] ttm_resource_manager_set_used_basic
[15:33:32] [PASSED] ttm_sys_man_alloc_basic
[15:33:32] [PASSED] ttm_sys_man_free_basic
[15:33:32] ================== [PASSED] ttm_resource ===================
[15:33:32] =================== ttm_tt (15 subtests) ===================
[15:33:32] ==================== ttm_tt_init_basic ====================
[15:33:32] [PASSED] Page-aligned size
[15:33:32] [PASSED] Extra pages requested
[15:33:32] ================ [PASSED] ttm_tt_init_basic ================
[15:33:32] [PASSED] ttm_tt_init_misaligned
[15:33:32] [PASSED] ttm_tt_fini_basic
[15:33:32] [PASSED] ttm_tt_fini_sg
[15:33:32] [PASSED] ttm_tt_fini_shmem
[15:33:32] [PASSED] ttm_tt_create_basic
[15:33:32] [PASSED] ttm_tt_create_invalid_bo_type
[15:33:32] [PASSED] ttm_tt_create_ttm_exists
[15:33:32] [PASSED] ttm_tt_create_failed
[15:33:32] [PASSED] ttm_tt_destroy_basic
[15:33:32] [PASSED] ttm_tt_populate_null_ttm
[15:33:32] [PASSED] ttm_tt_populate_populated_ttm
[15:33:32] [PASSED] ttm_tt_unpopulate_basic
[15:33:32] [PASSED] ttm_tt_unpopulate_empty_ttm
[15:33:32] [PASSED] ttm_tt_swapin_basic
[15:33:32] ===================== [PASSED] ttm_tt ======================
[15:33:32] =================== ttm_bo (14 subtests) ===================
[15:33:32] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[15:33:32] [PASSED] Cannot be interrupted and sleeps
[15:33:32] [PASSED] Cannot be interrupted, locks straight away
[15:33:32] [PASSED] Can be interrupted, sleeps
[15:33:32] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[15:33:32] [PASSED] ttm_bo_reserve_locked_no_sleep
[15:33:32] [PASSED] ttm_bo_reserve_no_wait_ticket
[15:33:32] [PASSED] ttm_bo_reserve_double_resv
[15:33:32] [PASSED] ttm_bo_reserve_interrupted
[15:33:32] [PASSED] ttm_bo_reserve_deadlock
[15:33:32] [PASSED] ttm_bo_unreserve_basic
[15:33:32] [PASSED] ttm_bo_unreserve_pinned
[15:33:32] [PASSED] ttm_bo_unreserve_bulk
[15:33:32] [PASSED] ttm_bo_fini_basic
[15:33:32] [PASSED] ttm_bo_fini_shared_resv
[15:33:32] [PASSED] ttm_bo_pin_basic
[15:33:32] [PASSED] ttm_bo_pin_unpin_resource
[15:33:32] [PASSED] ttm_bo_multiple_pin_one_unpin
[15:33:32] ===================== [PASSED] ttm_bo ======================
[15:33:32] ============== ttm_bo_validate (21 subtests) ===============
[15:33:32] ============== ttm_bo_init_reserved_sys_man ===============
[15:33:32] [PASSED] Buffer object for userspace
[15:33:32] [PASSED] Kernel buffer object
[15:33:32] [PASSED] Shared buffer object
[15:33:32] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[15:33:32] ============== ttm_bo_init_reserved_mock_man ==============
[15:33:32] [PASSED] Buffer object for userspace
[15:33:32] [PASSED] Kernel buffer object
[15:33:32] [PASSED] Shared buffer object
[15:33:32] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[15:33:32] [PASSED] ttm_bo_init_reserved_resv
[15:33:32] ================== ttm_bo_validate_basic ==================
[15:33:32] [PASSED] Buffer object for userspace
[15:33:32] [PASSED] Kernel buffer object
[15:33:32] [PASSED] Shared buffer object
[15:33:32] ============== [PASSED] ttm_bo_validate_basic ==============
[15:33:32] [PASSED] ttm_bo_validate_invalid_placement
[15:33:32] ============= ttm_bo_validate_same_placement ==============
[15:33:32] [PASSED] System manager
[15:33:32] [PASSED] VRAM manager
[15:33:32] ========= [PASSED] ttm_bo_validate_same_placement ==========
[15:33:32] [PASSED] ttm_bo_validate_failed_alloc
[15:33:32] [PASSED] ttm_bo_validate_pinned
[15:33:32] [PASSED] ttm_bo_validate_busy_placement
[15:33:32] ================ ttm_bo_validate_multihop =================
[15:33:32] [PASSED] Buffer object for userspace
[15:33:32] [PASSED] Kernel buffer object
[15:33:32] [PASSED] Shared buffer object
[15:33:32] ============ [PASSED] ttm_bo_validate_multihop =============
[15:33:32] ========== ttm_bo_validate_no_placement_signaled ==========
[15:33:32] [PASSED] Buffer object in system domain, no page vector
[15:33:32] [PASSED] Buffer object in system domain with an existing page vector
[15:33:32] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[15:33:32] ======== ttm_bo_validate_no_placement_not_signaled ========
[15:33:32] [PASSED] Buffer object for userspace
[15:33:32] [PASSED] Kernel buffer object
[15:33:32] [PASSED] Shared buffer object
[15:33:32] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[15:33:32] [PASSED] ttm_bo_validate_move_fence_signaled
[15:33:32] ========= ttm_bo_validate_move_fence_not_signaled =========
[15:33:32] [PASSED] Waits for GPU
[15:33:32] [PASSED] Tries to lock straight away
[15:33:32] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[15:33:32] [PASSED] ttm_bo_validate_happy_evict
[15:33:32] [PASSED] ttm_bo_validate_all_pinned_evict
[15:33:32] [PASSED] ttm_bo_validate_allowed_only_evict
[15:33:32] [PASSED] ttm_bo_validate_deleted_evict
[15:33:32] [PASSED] ttm_bo_validate_busy_domain_evict
[15:33:32] [PASSED] ttm_bo_validate_evict_gutting
[15:33:32] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[15:33:32] ================= [PASSED] ttm_bo_validate =================
[15:33:32] ============================================================
[15:33:32] Testing complete. Ran 101 tests: passed: 101
[15:33:32] Elapsed time: 11.032s total, 1.718s configuring, 9.098s building, 0.177s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* ✓ Xe.CI.BAT: success for drm/i915/dp: Work around a DSC pixel throughput issue (rev4)
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
` (7 preceding siblings ...)
2025-09-24 15:33 ` ✓ CI.KUnit: success " Patchwork
@ 2025-09-24 16:07 ` Patchwork
2025-09-24 20:12 ` ✗ Xe.CI.Full: failure " Patchwork
9 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2025-09-24 16:07 UTC (permalink / raw)
To: Imre Deak; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 979 bytes --]
== Series Details ==
Series: drm/i915/dp: Work around a DSC pixel throughput issue (rev4)
URL : https://patchwork.freedesktop.org/series/154737/
State : success
== Summary ==
CI Bug Log - changes from xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf_BAT -> xe-pw-154737v4_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (11 -> 9)
------------------------------
Missing (2): bat-adlp-vm bat-ptl-vm
Changes
-------
No changes found
Build changes
-------------
* Linux: xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf -> xe-pw-154737v4
IGT_8550: 4f8c7886ad02e116804ec08714f17bce1755c6e4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf: a4d9163251f4832a7d34d4b59449f9a68b9b7adf
xe-pw-154737v4: 154737v4
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/index.html
[-- Attachment #2: Type: text/html, Size: 1527 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* ✗ Xe.CI.Full: failure for drm/i915/dp: Work around a DSC pixel throughput issue (rev4)
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
` (8 preceding siblings ...)
2025-09-24 16:07 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-09-24 20:12 ` Patchwork
9 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2025-09-24 20:12 UTC (permalink / raw)
To: Imre Deak; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 62420 bytes --]
== Series Details ==
Series: drm/i915/dp: Work around a DSC pixel throughput issue (rev4)
URL : https://patchwork.freedesktop.org/series/154737/
State : failure
== Summary ==
CI Bug Log - changes from xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf_FULL -> xe-pw-154737v4_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-154737v4_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-154737v4_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-154737v4_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_plane_multiple@tiling-none:
- shard-bmg: [PASS][1] -> [TIMEOUT][2] +1 other test timeout
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-3/igt@kms_plane_multiple@tiling-none.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-3/igt@kms_plane_multiple@tiling-none.html
* igt@xe_exec_compute_mode@many-execqueues-userptr-free:
- shard-bmg: [PASS][3] -> [FAIL][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-3/igt@xe_exec_compute_mode@many-execqueues-userptr-free.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-3/igt@xe_exec_compute_mode@many-execqueues-userptr-free.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@kms_pipe_stress@stress-xrgb8888-4tiled}:
- shard-bmg: NOTRUN -> [TIMEOUT][5]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
Known issues
------------
Here are the changes found in xe-pw-154737v4_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_addfb_basic@addfb25-y-tiled-legacy:
- shard-adlp: [PASS][6] -> [DMESG-WARN][7] ([Intel XE#2953] / [Intel XE#4173]) +4 other tests dmesg-warn
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-9/igt@kms_addfb_basic@addfb25-y-tiled-legacy.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-8/igt@kms_addfb_basic@addfb25-y-tiled-legacy.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-90:
- shard-adlp: NOTRUN -> [SKIP][8] ([Intel XE#1124]) +2 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][9] ([Intel XE#316]) +3 other tests skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-270:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#2327])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-1/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-adlp: NOTRUN -> [DMESG-FAIL][11] ([Intel XE#4543])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_big_fb@y-tiled-16bpp-rotate-0:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#1124]) +5 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_big_fb@y-tiled-16bpp-rotate-0.html
* igt@kms_big_fb@y-tiled-addfb:
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#2328])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_big_fb@y-tiled-addfb.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
- shard-dg2-set2: NOTRUN -> [SKIP][14] ([Intel XE#1124]) +5 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-bmg: NOTRUN -> [SKIP][15] ([Intel XE#610])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
- shard-dg2-set2: NOTRUN -> [SKIP][16] ([Intel XE#610])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#2314] / [Intel XE#2894])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
* igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p:
- shard-adlp: NOTRUN -> [SKIP][18] ([Intel XE#2191])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_bw@connected-linear-tiling-4-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-3-displays-3840x2160p:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#367])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-1/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html
* igt@kms_bw@linear-tiling-4-displays-1920x1080p:
- shard-dg2-set2: NOTRUN -> [SKIP][20] ([Intel XE#367])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@kms_bw@linear-tiling-4-displays-1920x1080p.html
* igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][21] ([Intel XE#2907])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs:
- shard-adlp: NOTRUN -> [SKIP][22] ([Intel XE#455] / [Intel XE#787]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][23] ([Intel XE#787]) +2 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc@pipe-d-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][24] ([Intel XE#455] / [Intel XE#787]) +37 other tests skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-432/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc@pipe-d-dp-2.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][25] ([Intel XE#787]) +202 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#2887]) +10 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-bmg: NOTRUN -> [INCOMPLETE][27] ([Intel XE#3862]) +1 other test incomplete
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
- shard-dg2-set2: NOTRUN -> [SKIP][28] ([Intel XE#3442]) +1 other test skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#3432])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [SKIP][30] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-2/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][31] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][32] ([i915#14968])
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [DMESG-WARN][33] ([Intel XE#1727] / [Intel XE#3113])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-dg2-set2: [PASS][34] -> [INCOMPLETE][35] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) +1 other test incomplete
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4:
- shard-dg2-set2: [PASS][36] -> [INCOMPLETE][37] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) +1 other test incomplete
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-4.html
* igt@kms_cdclk@mode-transition@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][38] ([Intel XE#4417]) +3 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-432/igt@kms_cdclk@mode-transition@pipe-a-dp-2.html
* igt@kms_chamelium_audio@hdmi-audio-edid:
- shard-adlp: NOTRUN -> [SKIP][39] ([Intel XE#373]) +2 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_chamelium_audio@hdmi-audio-edid.html
* igt@kms_chamelium_color@ctm-green-to-red:
- shard-dg2-set2: NOTRUN -> [SKIP][40] ([Intel XE#306])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_chamelium_color@ctm-green-to-red.html
* igt@kms_chamelium_color@ctm-red-to-blue:
- shard-bmg: NOTRUN -> [SKIP][41] ([Intel XE#2325]) +1 other test skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-1/igt@kms_chamelium_color@ctm-red-to-blue.html
* igt@kms_chamelium_edid@dp-edid-resolution-list:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#2252]) +6 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-1/igt@kms_chamelium_edid@dp-edid-resolution-list.html
* igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats:
- shard-dg2-set2: NOTRUN -> [SKIP][43] ([Intel XE#373]) +7 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_chamelium_frames@hdmi-crc-nonplanar-formats.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-bmg: NOTRUN -> [SKIP][44] ([Intel XE#2390])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@legacy@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][45] ([Intel XE#1178])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_content_protection@legacy@pipe-a-dp-2.html
* igt@kms_content_protection@type1:
- shard-bmg: NOTRUN -> [SKIP][46] ([Intel XE#2341])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_content_protection@type1.html
* igt@kms_content_protection@uevent:
- shard-dg2-set2: NOTRUN -> [FAIL][47] ([Intel XE#1188]) +1 other test fail
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@kms_content_protection@uevent.html
* igt@kms_content_protection@uevent@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][48] ([Intel XE#1188])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-2/igt@kms_content_protection@uevent@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-offscreen-256x85:
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#2320]) +1 other test skip
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-1/igt@kms_cursor_crc@cursor-offscreen-256x85.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-dg2-set2: NOTRUN -> [SKIP][50] ([Intel XE#308]) +1 other test skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#2321])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-bmg: [PASS][52] -> [SKIP][53] ([Intel XE#2291]) +6 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-4/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#2286])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-dg2-set2: NOTRUN -> [SKIP][55] ([Intel XE#323])
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#5428])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@kms_dirtyfb@fbc-dirtyfb-ioctl.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][57] ([Intel XE#4494] / [i915#3804])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-434/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-6.html
* igt@kms_dp_aux_dev:
- shard-bmg: [PASS][58] -> [SKIP][59] ([Intel XE#3009])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-1/igt@kms_dp_aux_dev.html
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@kms_dp_aux_dev.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-bmg: [PASS][60] -> [SKIP][61] ([Intel XE#4354])
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-7/igt@kms_dp_link_training@non-uhbr-sst.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dsc@dsc-fractional-bpp-with-bpc:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#2244]) +1 other test skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_dsc@dsc-fractional-bpp-with-bpc.html
* igt@kms_fbcon_fbt@psr:
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#776])
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@kms_fbcon_fbt@psr.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-lnl: [PASS][64] -> [FAIL][65] ([Intel XE#4164])
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-lnl-5/igt@kms_fbcon_fbt@psr-suspend.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-lnl-5/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_feature_discovery@dp-mst:
- shard-adlp: NOTRUN -> [SKIP][66] ([Intel XE#1137])
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_feature_discovery@dp-mst.html
* igt@kms_feature_discovery@psr1:
- shard-dg2-set2: NOTRUN -> [SKIP][67] ([Intel XE#1135])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@bc-hdmi-a6-dp4:
- shard-dg2-set2: [PASS][68] -> [INCOMPLETE][69] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-dg2-464/igt@kms_flip@2x-flip-vs-suspend-interruptible@bc-hdmi-a6-dp4.html
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-463/igt@kms_flip@2x-flip-vs-suspend-interruptible@bc-hdmi-a6-dp4.html
* igt@kms_flip@2x-plain-flip:
- shard-adlp: NOTRUN -> [SKIP][70] ([Intel XE#310]) +1 other test skip
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible:
- shard-bmg: [PASS][71] -> [SKIP][72] ([Intel XE#2316]) +2 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-1/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@a-edp1:
- shard-lnl: [PASS][73] -> [FAIL][74] ([Intel XE#301]) +1 other test fail
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
* igt@kms_flip@flip-vs-suspend@b-hdmi-a1:
- shard-adlp: [PASS][75] -> [DMESG-WARN][76] ([Intel XE#4543]) +2 other tests dmesg-warn
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-2/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-8/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][77] ([Intel XE#2293] / [Intel XE#2380])
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#2293])
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#2311]) +20 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@drrs-slowdraw:
- shard-dg2-set2: NOTRUN -> [SKIP][80] ([Intel XE#651]) +24 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-463/igt@kms_frontbuffer_tracking@drrs-slowdraw.html
* igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary:
- shard-bmg: NOTRUN -> [SKIP][81] ([Intel XE#5390]) +7 other tests skip
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbc-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][82] ([Intel XE#2352])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcdrrs-shrfb-scaledprimary:
- shard-adlp: NOTRUN -> [SKIP][83] ([Intel XE#651])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_frontbuffer_tracking@fbcdrrs-shrfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt:
- shard-adlp: NOTRUN -> [SKIP][84] ([Intel XE#656]) +3 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
- shard-bmg: NOTRUN -> [SKIP][85] ([Intel XE#2313]) +16 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][86] ([Intel XE#653]) +17 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: [PASS][87] -> [SKIP][88] ([Intel XE#1503])
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-2/igt@kms_hdr@invalid-hdr.html
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_hdr@invalid-hdr.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][89] ([Intel XE#2925]) +1 other test skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64:
- shard-dg2-set2: NOTRUN -> [FAIL][90] ([Intel XE#616])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-434/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-dg2-set2: NOTRUN -> [SKIP][91] ([Intel XE#5021])
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_pm_backlight@bad-brightness:
- shard-bmg: NOTRUN -> [SKIP][92] ([Intel XE#870])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_pm_backlight@bad-brightness.html
* igt@kms_pm_dc@dc5-psr:
- shard-dg2-set2: NOTRUN -> [SKIP][93] ([Intel XE#1129]) +1 other test skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-bmg: NOTRUN -> [SKIP][94] ([Intel XE#2499])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
- shard-bmg: NOTRUN -> [SKIP][95] ([Intel XE#1406] / [Intel XE#1489]) +7 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf:
- shard-adlp: NOTRUN -> [SKIP][96] ([Intel XE#1406] / [Intel XE#1489]) +1 other test skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@pr-cursor-plane-update-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][97] ([Intel XE#1406] / [Intel XE#1489]) +5 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_psr2_sf@pr-cursor-plane-update-sf.html
* igt@kms_psr@fbc-psr2-cursor-plane-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][98] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +9 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html
* igt@kms_psr@fbc-psr2-suspend:
- shard-bmg: NOTRUN -> [SKIP][99] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +6 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_psr@fbc-psr2-suspend.html
* igt@kms_psr@pr-sprite-blt:
- shard-adlp: NOTRUN -> [SKIP][100] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_psr@pr-sprite-blt.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-bmg: NOTRUN -> [SKIP][101] ([Intel XE#1406] / [Intel XE#2414])
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-0:
- shard-dg2-set2: NOTRUN -> [SKIP][102] ([Intel XE#1127])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
- shard-dg2-set2: NOTRUN -> [SKIP][103] ([Intel XE#3414]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-bmg: NOTRUN -> [SKIP][104] ([Intel XE#2330])
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-dg2-set2: NOTRUN -> [SKIP][105] ([Intel XE#455]) +11 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-bmg: NOTRUN -> [SKIP][106] ([Intel XE#1435])
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_vrr@flip-suspend:
- shard-adlp: NOTRUN -> [SKIP][107] ([Intel XE#455]) +2 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@kms_vrr@flip-suspend.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-bmg: NOTRUN -> [TIMEOUT][108] ([Intel XE#6190])
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
* igt@xe_copy_basic@mem-copy-linear-0xfd:
- shard-dg2-set2: NOTRUN -> [SKIP][109] ([Intel XE#1123])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_copy_basic@mem-copy-linear-0xfd.html
* igt@xe_copy_basic@mem-set-linear-0xfd:
- shard-adlp: NOTRUN -> [SKIP][110] ([Intel XE#1126])
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_copy_basic@mem-set-linear-0xfd.html
* igt@xe_copy_basic@mem-set-linear-0xfffe:
- shard-dg2-set2: NOTRUN -> [SKIP][111] ([Intel XE#1126])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-463/igt@xe_copy_basic@mem-set-linear-0xfffe.html
* igt@xe_eu_stall@non-blocking-re-enable:
- shard-dg2-set2: NOTRUN -> [SKIP][112] ([Intel XE#5626])
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_eu_stall@non-blocking-re-enable.html
* igt@xe_eudebug_online@debugger-reopen:
- shard-adlp: NOTRUN -> [SKIP][113] ([Intel XE#4837] / [Intel XE#5565])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_eudebug_online@debugger-reopen.html
* igt@xe_eudebug_online@interrupt-all-set-breakpoint:
- shard-dg2-set2: NOTRUN -> [SKIP][114] ([Intel XE#4837]) +7 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_eudebug_online@interrupt-all-set-breakpoint.html
* igt@xe_eudebug_online@stopped-thread:
- shard-bmg: NOTRUN -> [SKIP][115] ([Intel XE#4837]) +8 other tests skip
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-1/igt@xe_eudebug_online@stopped-thread.html
* igt@xe_eudebug_sriov@deny-sriov:
- shard-dg2-set2: NOTRUN -> [SKIP][116] ([Intel XE#4518])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_eudebug_sriov@deny-sriov.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
- shard-dg2-set2: [PASS][117] -> [SKIP][118] ([Intel XE#1392]) +4 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-dg2-466/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-bind:
- shard-bmg: NOTRUN -> [SKIP][119] ([Intel XE#2322]) +7 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-bind.html
* igt@xe_exec_fault_mode@many-execqueues-userptr-imm:
- shard-bmg: [PASS][120] -> [FAIL][121] ([Intel XE#6050])
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-3/igt@xe_exec_fault_mode@many-execqueues-userptr-imm.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-3/igt@xe_exec_fault_mode@many-execqueues-userptr-imm.html
* igt@xe_exec_fault_mode@many-userptr-prefetch:
- shard-adlp: NOTRUN -> [SKIP][122] ([Intel XE#288] / [Intel XE#5561]) +1 other test skip
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_exec_fault_mode@many-userptr-prefetch.html
* igt@xe_exec_fault_mode@twice-invalid-fault:
- shard-dg2-set2: NOTRUN -> [SKIP][123] ([Intel XE#288]) +18 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_exec_fault_mode@twice-invalid-fault.html
* igt@xe_exec_system_allocator@process-many-execqueues-mmap-free-huge:
- shard-bmg: NOTRUN -> [SKIP][124] ([Intel XE#4943]) +21 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@xe_exec_system_allocator@process-many-execqueues-mmap-free-huge.html
* igt@xe_exec_system_allocator@process-many-stride-mmap-remap-dontunmap-eocheck:
- shard-bmg: [PASS][125] -> [ABORT][126] ([Intel XE#5790])
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-3/igt@xe_exec_system_allocator@process-many-stride-mmap-remap-dontunmap-eocheck.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-3/igt@xe_exec_system_allocator@process-many-stride-mmap-remap-dontunmap-eocheck.html
* igt@xe_exec_system_allocator@threads-many-large-execqueues-malloc-mlock-nomemset:
- shard-dg2-set2: NOTRUN -> [SKIP][127] ([Intel XE#4915]) +196 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_exec_system_allocator@threads-many-large-execqueues-malloc-mlock-nomemset.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-malloc-race:
- shard-adlp: NOTRUN -> [SKIP][128] ([Intel XE#4915]) +29 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-malloc-race.html
* igt@xe_exec_threads@threads-shared-vm-userptr-invalidate:
- shard-bmg: [PASS][129] -> [DMESG-FAIL][130] ([Intel XE#3876])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-3/igt@xe_exec_threads@threads-shared-vm-userptr-invalidate.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-3/igt@xe_exec_threads@threads-shared-vm-userptr-invalidate.html
* igt@xe_media_fill@media-fill:
- shard-dg2-set2: NOTRUN -> [SKIP][131] ([Intel XE#560])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-433/igt@xe_media_fill@media-fill.html
* igt@xe_oa@oa-unit-exclusive-stream-sample-oa:
- shard-dg2-set2: NOTRUN -> [SKIP][132] ([Intel XE#3573]) +4 other tests skip
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_oa@oa-unit-exclusive-stream-sample-oa.html
* igt@xe_pat@display-vs-wb-transient:
- shard-dg2-set2: NOTRUN -> [SKIP][133] ([Intel XE#1337])
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_pat@display-vs-wb-transient.html
* igt@xe_pat@pat-index-xe2:
- shard-bmg: NOTRUN -> [FAIL][134] ([Intel XE#6208]) +1 other test fail
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@xe_pat@pat-index-xe2.html
* igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p:
- shard-dg2-set2: NOTRUN -> [FAIL][135] ([Intel XE#1173])
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-434/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html
* igt@xe_pm@d3cold-multiple-execs:
- shard-dg2-set2: NOTRUN -> [SKIP][136] ([Intel XE#2284] / [Intel XE#366])
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_pm@d3cold-multiple-execs.html
* igt@xe_pm@s2idle-vm-bind-unbind-all:
- shard-bmg: [PASS][137] -> [DMESG-FAIL][138] ([Intel XE#5545])
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-3/igt@xe_pm@s2idle-vm-bind-unbind-all.html
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-3/igt@xe_pm@s2idle-vm-bind-unbind-all.html
* igt@xe_pm@s4-d3cold-basic-exec:
- shard-bmg: NOTRUN -> [SKIP][139] ([Intel XE#2284])
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@xe_pm@s4-d3cold-basic-exec.html
* igt@xe_pxp@display-pxp-fb:
- shard-bmg: NOTRUN -> [SKIP][140] ([Intel XE#4733]) +2 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-7/igt@xe_pxp@display-pxp-fb.html
- shard-dg2-set2: NOTRUN -> [SKIP][141] ([Intel XE#4733]) +1 other test skip
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-463/igt@xe_pxp@display-pxp-fb.html
* igt@xe_query@multigpu-query-invalid-cs-cycles:
- shard-bmg: NOTRUN -> [SKIP][142] ([Intel XE#944]) +1 other test skip
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-5/igt@xe_query@multigpu-query-invalid-cs-cycles.html
* igt@xe_query@multigpu-query-topology:
- shard-dg2-set2: NOTRUN -> [SKIP][143] ([Intel XE#944]) +2 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_query@multigpu-query-topology.html
* igt@xe_sriov_auto_provisioning@selfconfig-reprovision-increase-numvfs:
- shard-dg2-set2: NOTRUN -> [SKIP][144] ([Intel XE#4130])
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-increase-numvfs.html
* igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs:
- shard-bmg: NOTRUN -> [DMESG-WARN][145] ([Intel XE#6190]) +8 other tests dmesg-warn
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
* igt@xe_sriov_flr@flr-twice:
- shard-dg2-set2: NOTRUN -> [SKIP][146] ([Intel XE#4273])
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-466/igt@xe_sriov_flr@flr-twice.html
#### Possible fixes ####
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-bmg: [SKIP][147] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][148]
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-2/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_cursor_legacy@cursora-vs-flipa-varying-size:
- shard-bmg: [DMESG-WARN][149] ([Intel XE#5354]) -> [PASS][150]
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-7/igt@kms_cursor_legacy@cursora-vs-flipa-varying-size.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-7/igt@kms_cursor_legacy@cursora-vs-flipa-varying-size.html
* igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
- shard-bmg: [SKIP][151] ([Intel XE#2291]) -> [PASS][152] +3 other tests pass
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-2/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
* igt@kms_flip@2x-flip-vs-suspend@cd-hdmi-a6-dp4:
- shard-dg2-set2: [INCOMPLETE][153] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][154] +1 other test pass
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-dg2-463/igt@kms_flip@2x-flip-vs-suspend@cd-hdmi-a6-dp4.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-463/igt@kms_flip@2x-flip-vs-suspend@cd-hdmi-a6-dp4.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-bmg: [SKIP][155] ([Intel XE#2316]) -> [PASS][156] +5 other tests pass
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-2/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@flip-vs-suspend@d-hdmi-a1:
- shard-adlp: [DMESG-WARN][157] ([Intel XE#4543]) -> [PASS][158] +3 other tests pass
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-2/igt@kms_flip@flip-vs-suspend@d-hdmi-a1.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-8/igt@kms_flip@flip-vs-suspend@d-hdmi-a1.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-bmg: [SKIP][159] ([Intel XE#2571]) -> [PASS][160]
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-2/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_setmode@basic@pipe-b-edp-1:
- shard-lnl: [FAIL][161] ([Intel XE#2883]) -> [PASS][162] +2 other tests pass
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-lnl-4/igt@kms_setmode@basic@pipe-b-edp-1.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-lnl-3/igt@kms_setmode@basic@pipe-b-edp-1.html
* igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap:
- shard-dg2-set2: [SKIP][163] ([Intel XE#1392]) -> [PASS][164] +6 other tests pass
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-434/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
* igt@xe_exec_basic@once-userptr-rebind:
- shard-adlp: [INCOMPLETE][165] -> [PASS][166]
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-6/igt@xe_exec_basic@once-userptr-rebind.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_exec_basic@once-userptr-rebind.html
* igt@xe_exec_compute_mode@many-execqueues-userptr-free:
- shard-adlp: [FAIL][167] -> [PASS][168]
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-6/igt@xe_exec_compute_mode@many-execqueues-userptr-free.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_exec_compute_mode@many-execqueues-userptr-free.html
* igt@xe_exec_reset@parallel-gt-reset:
- shard-adlp: [DMESG-WARN][169] ([Intel XE#3876]) -> [PASS][170]
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-6/igt@xe_exec_reset@parallel-gt-reset.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_exec_reset@parallel-gt-reset.html
* {igt@xe_exec_system_allocator@once-large-malloc-prefetch}:
- shard-bmg: [CRASH][171] ([Intel XE#6192]) -> [PASS][172] +6 other tests pass
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-1/igt@xe_exec_system_allocator@once-large-malloc-prefetch.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@xe_exec_system_allocator@once-large-malloc-prefetch.html
* {igt@xe_exec_system_allocator@threads-many-execqueues-free-madvise}:
- shard-bmg: [INCOMPLETE][173] ([Intel XE#2594]) -> [PASS][174]
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-4/igt@xe_exec_system_allocator@threads-many-execqueues-free-madvise.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-4/igt@xe_exec_system_allocator@threads-many-execqueues-free-madvise.html
* {igt@xe_exec_system_allocator@twice-large-new-prefetch}:
- shard-lnl: [CRASH][175] ([Intel XE#6192]) -> [PASS][176] +5 other tests pass
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-lnl-4/igt@xe_exec_system_allocator@twice-large-new-prefetch.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-lnl-3/igt@xe_exec_system_allocator@twice-large-new-prefetch.html
* igt@xe_exec_threads@threads-shared-vm-userptr-invalidate:
- shard-adlp: [DMESG-FAIL][177] ([Intel XE#3876]) -> [PASS][178]
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-6/igt@xe_exec_threads@threads-shared-vm-userptr-invalidate.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_exec_threads@threads-shared-vm-userptr-invalidate.html
* igt@xe_pm@s2idle-vm-bind-unbind-all:
- shard-adlp: [DMESG-FAIL][179] ([Intel XE#5545]) -> [PASS][180]
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-6/igt@xe_pm@s2idle-vm-bind-unbind-all.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-4/igt@xe_pm@s2idle-vm-bind-unbind-all.html
#### Warnings ####
* igt@kms_content_protection@atomic-dpms:
- shard-bmg: [FAIL][181] ([Intel XE#1178]) -> [SKIP][182] ([Intel XE#2341])
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-7/igt@kms_content_protection@atomic-dpms.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@legacy:
- shard-bmg: [SKIP][183] ([Intel XE#2341]) -> [FAIL][184] ([Intel XE#1178])
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_content_protection@legacy.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@uevent:
- shard-bmg: [SKIP][185] ([Intel XE#2341]) -> [FAIL][186] ([Intel XE#1188])
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_content_protection@uevent.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-2/igt@kms_content_protection@uevent.html
* igt@kms_flip@flip-vs-rmfb-interruptible:
- shard-adlp: [DMESG-WARN][187] ([Intel XE#4543] / [Intel XE#5208]) -> [DMESG-WARN][188] ([Intel XE#5208])
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-2/igt@kms_flip@flip-vs-rmfb-interruptible.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-8/igt@kms_flip@flip-vs-rmfb-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-adlp: [DMESG-WARN][189] ([Intel XE#4543]) -> [DMESG-WARN][190] ([Intel XE#2953] / [Intel XE#4173]) +1 other test dmesg-warn
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-6/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][191] ([Intel XE#2311]) -> [SKIP][192] ([Intel XE#2312]) +10 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render:
- shard-bmg: [SKIP][193] ([Intel XE#2312]) -> [SKIP][194] ([Intel XE#5390]) +1 other test skip
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][195] ([Intel XE#5390]) -> [SKIP][196] ([Intel XE#2312]) +2 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary:
- shard-adlp: [DMESG-FAIL][197] ([Intel XE#4543]) -> [DMESG-FAIL][198] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543])
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-2/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-6/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][199] ([Intel XE#2312]) -> [SKIP][200] ([Intel XE#2311]) +8 other tests skip
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move:
- shard-bmg: [SKIP][201] ([Intel XE#2313]) -> [SKIP][202] ([Intel XE#2312]) +11 other tests skip
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt:
- shard-bmg: [SKIP][203] ([Intel XE#2312]) -> [SKIP][204] ([Intel XE#2313]) +5 other tests skip
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-set2: [SKIP][205] ([Intel XE#1500]) -> [SKIP][206] ([Intel XE#362])
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@xe_peer2peer@write:
- shard-dg2-set2: [SKIP][207] ([Intel XE#1061]) -> [FAIL][208] ([Intel XE#1173])
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-dg2-432/igt@xe_peer2peer@write.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-dg2-434/igt@xe_peer2peer@write.html
* igt@xe_sriov_scheduling@equal-throughput:
- shard-adlp: [DMESG-FAIL][209] ([Intel XE#5213] / [Intel XE#5545]) -> [DMESG-FAIL][210] ([Intel XE#5213]) +1 other test dmesg-fail
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf/shard-adlp-2/igt@xe_sriov_scheduling@equal-throughput.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/shard-adlp-9/igt@xe_sriov_scheduling@equal-throughput.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
[Intel XE#1123]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1123
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
[Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
[Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
[Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
[Intel XE#1137]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1137
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188
[Intel XE#1337]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1337
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
[Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
[Intel XE#2414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2414
[Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
[Intel XE#2571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2571
[Intel XE#2594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2594
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2883]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2883
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3442
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4164]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4164
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[Intel XE#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
[Intel XE#4494]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4494
[Intel XE#4518]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4518
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
[Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
[Intel XE#5213]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5213
[Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354
[Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
[Intel XE#5428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5428
[Intel XE#5503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5503
[Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
[Intel XE#5561]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5561
[Intel XE#5565]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5565
[Intel XE#560]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/560
[Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
[Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
[Intel XE#5790]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5790
[Intel XE#5890]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5890
[Intel XE#6050]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6050
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#6190]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6190
[Intel XE#6192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6192
[Intel XE#6208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6208
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
[i915#14968]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14968
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
Build changes
-------------
* Linux: xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf -> xe-pw-154737v4
IGT_8550: 4f8c7886ad02e116804ec08714f17bce1755c6e4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-3825-a4d9163251f4832a7d34d4b59449f9a68b9b7adf: a4d9163251f4832a7d34d4b59449f9a68b9b7adf
xe-pw-154737v4: 154737v4
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-154737v4/index.html
[-- Attachment #2: Type: text/html, Size: 72175 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 2/6] drm/dp: Add helpers to query the branch DSC max throughput/line-width
2025-09-24 15:23 ` [PATCH v3 2/6] drm/dp: Add helpers to query the branch DSC max throughput/line-width Imre Deak
@ 2025-09-26 16:38 ` Ville Syrjälä
2025-09-26 18:37 ` Imre Deak
0 siblings, 1 reply; 13+ messages in thread
From: Ville Syrjälä @ 2025-09-26 16:38 UTC (permalink / raw)
To: Imre Deak; +Cc: intel-gfx, intel-xe, dri-devel
On Wed, Sep 24, 2025 at 06:23:28PM +0300, Imre Deak wrote:
> Add helpers to query the DP branch device's per-slice throughput as well
> as overall throughput and line-width capabilities.
>
> Cc: dri-devel@lists.freedesktop.org
> Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
> drivers/gpu/drm/display/drm_dp_helper.c | 133 ++++++++++++++++++++++++
> include/drm/display/drm_dp.h | 1 +
> include/drm/display/drm_dp_helper.h | 5 +
> 3 files changed, 139 insertions(+)
>
> diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
> index 1c74fe9459ad9..9d9928daaab59 100644
> --- a/drivers/gpu/drm/display/drm_dp_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> @@ -2844,6 +2844,139 @@ int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_S
> }
> EXPORT_SYMBOL(drm_dp_dsc_sink_supported_input_bpcs);
>
> +/*
> + * See DP Standard v2.1a 2.8.4 Minimum Slices/Display, Table 2-159 and
> + * Appendix L.1 Derivation of Slice Count Requirements.
> + */
> +static int dsc_branch_min_slice_throughput(int pixel_clock)
> +{
> + if (pixel_clock >= 4800000)
> + return 600000;
> + else if (pixel_clock >= 2700000)
> + return 400000;
> + else
> + return 340000;
One slightly worrying thing in the spec says the ppr is the cumulative
rate for all streams feeding a single display. Then elsewhere it seems
to be saying this only applies to MST streams. So I guess multiple
links with SST doesn't count. And it's anyone's guess which way multiple
links with MST should be interpreted...
Anyways, that's not really something this helper needs to deal with.
But perhaps the "pixel_clock" needs to be changed to something else.
So just "peak_pixel_rate"? Or maybe even "cumulative_peak_pixel_rate"
for extra clarity?
> +}
> +
> +/**
> + * drm_dp_dsc_branch_max_slice_throughput() - Branch device's max DSC pixel throughput per slice
> + * @dsc_dpcd: DSC capabilities from DPCD
> + * @pixel_clock: Pixel clock of mode in kHz
> + * @is_rgb_yuv444: The mode is either RGB or YUV444
> + *
> + * Return the branch device's maximum per slice DSC pixel throughput, based on
> + * the device's DPCD DSC capabilities, @pixel_clock and whether the output
> + * format @is_rgb_yuv444 or yuv422/yuv420.
> + *
> + * Returns:
> + * The maximum DSC pixel throughput per slice supported by the branch device
> + * in kPixels/sec.
> + */
> +int drm_dp_dsc_branch_max_slice_throughput(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
The "branch" in the name doesn't seem correct. Isn't this
some kind of "DSC sink" limit?
> + int pixel_clock, bool is_rgb_yuv444)
> +{
> + int throughput;
> +
> + throughput = dsc_dpcd[DP_DSC_PEAK_THROUGHPUT - DP_DSC_SUPPORT];
> +
> + if (is_rgb_yuv444)
> + throughput = (throughput & DP_DSC_THROUGHPUT_MODE_0_MASK) >>
> + DP_DSC_THROUGHPUT_MODE_0_SHIFT;
> + else
> + throughput = (throughput & DP_DSC_THROUGHPUT_MODE_1_MASK) >>
> + DP_DSC_THROUGHPUT_MODE_1_SHIFT;
> +
> + switch (throughput) {
> + case 0:
> + return dsc_branch_min_slice_throughput(pixel_clock);
> + case 1:
> + return 340000;
> + case 2 ... 14:
> + return 400000 + 50000 * (throughput - 2);
> + case 15:
> + return 170000;
> + default:
> + WARN(1, "Missing case %d\n", throughput);
> + return 340000;
> + }
> +}
> +EXPORT_SYMBOL(drm_dp_dsc_branch_max_slice_throughput);
> +
> +static u8 dsc_branch_dpcd_cap(const u8 dpcd[DP_DSC_BRANCH_CAP_SIZE], int reg)
> +{
> + return dpcd[reg - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0];
> +}
> +
> +/**
> + * drm_dp_dsc_branch_max_overall_throughput() - Branch device's max overall DSC pixel throughput
> + * @dsc_branch_dpcd: DSC branch capabilities from DPCD
> + * @is_rgb_yuv444: The mode is either RGB or YUV444
> + *
> + * Return the branch device's maximum overall DSC pixel throughput, based on
> + * the device's DPCD DSC branch capabilities, and whether the output
> + * format @is_rgb_yuv444 or yuv422/yuv420.
> + *
> + * Returns:
> + * - 0: The maximum overall throughput capability is not indicated by
> + * the device separately and it must be determined from the per-slice
> + * max throughput (see @drm_dp_dsc_branch_slice_max_throughput())
> + * and the maximum slice count supported by the device.
> + * - > 0: The maximum overall DSC pixel throughput supported by the branch
> + * device in kPixels/sec.
> + */
> +int drm_dp_dsc_branch_max_overall_throughput(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE],
> + bool is_rgb_yuv444)
> +{
> + int throughput;
> +
> + if (is_rgb_yuv444)
> + throughput = dsc_branch_dpcd_cap(dsc_branch_dpcd,
> + DP_DSC_BRANCH_OVERALL_THROUGHPUT_0);
> + else
> + throughput = dsc_branch_dpcd_cap(dsc_branch_dpcd,
> + DP_DSC_BRANCH_OVERALL_THROUGHPUT_1);
> +
> + switch (throughput) {
> + case 0:
> + return 0;
> + case 1:
> + return 680000;
> + default:
> + return 600000 + 50000 * throughput;
> + }
> +}
> +EXPORT_SYMBOL(drm_dp_dsc_branch_max_overall_throughput);
> +
> +/**
> + * drm_dp_dsc_branch_max_line_width() - Branch device's max DSC line width
> + * @dsc_branch_dpcd: DSC branch capabilities from DPCD
> + *
> + * Return the branch device's maximum overall DSC line width, based on
> + * the device's @dsc_branch_dpcd capabilities.
> + *
> + * Returns:
> + * - 0: The maximum line width is not indicated by the device
> + * separately and it must be determined from the maximum
> + * slice count and slice-width supported by the device.
> + * - %-EINVAL: The device indicates an invalid maximum line width
> + * (< 2560 pixels).
> + * - >= 2560: The maximum line width in pixels.
> + */
> +int drm_dp_dsc_branch_max_line_width(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE])
> +{
> + int line_width = dsc_branch_dpcd_cap(dsc_branch_dpcd, DP_DSC_BRANCH_MAX_LINE_WIDTH);
> +
> + switch (line_width) {
> + case 0:
> + return 0;
> + case 1 ... 7:
> + return -EINVAL;
> + default:
> + return line_width * 320;
> + }
> +}
> +EXPORT_SYMBOL(drm_dp_dsc_branch_max_line_width);
> +
> static int drm_dp_read_lttpr_regs(struct drm_dp_aux *aux,
> const u8 dpcd[DP_RECEIVER_CAP_SIZE], int address,
> u8 *buf, int buf_size)
> diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
> index cf318e3ddb5c5..43978ddd15056 100644
> --- a/include/drm/display/drm_dp.h
> +++ b/include/drm/display/drm_dp.h
> @@ -1686,6 +1686,7 @@ enum drm_dp_phy {
> #define DP_BRANCH_OUI_HEADER_SIZE 0xc
> #define DP_RECEIVER_CAP_SIZE 0xf
> #define DP_DSC_RECEIVER_CAP_SIZE 0x10 /* DSC Capabilities 0x60 through 0x6F */
> +#define DP_DSC_BRANCH_CAP_SIZE 3
> #define EDP_PSR_RECEIVER_CAP_SIZE 2
> #define EDP_DISPLAY_CTL_CAP_SIZE 5
> #define DP_LTTPR_COMMON_CAP_SIZE 8
> diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h
> index e438c44409952..cb0cd13d632d2 100644
> --- a/include/drm/display/drm_dp_helper.h
> +++ b/include/drm/display/drm_dp_helper.h
> @@ -211,6 +211,11 @@ u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
> u8 drm_dp_dsc_sink_line_buf_depth(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]);
> int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpc[DP_DSC_RECEIVER_CAP_SIZE],
> u8 dsc_bpc[3]);
> +int drm_dp_dsc_branch_max_slice_throughput(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
> + int mode_clock, bool is_rgb_yuv444);
> +int drm_dp_dsc_branch_max_overall_throughput(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE],
> + bool is_rgb_yuv444);
> +int drm_dp_dsc_branch_max_line_width(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE]);
>
> static inline bool
> drm_dp_sink_supports_dsc(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
> --
> 2.49.1
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v3 2/6] drm/dp: Add helpers to query the branch DSC max throughput/line-width
2025-09-26 16:38 ` Ville Syrjälä
@ 2025-09-26 18:37 ` Imre Deak
0 siblings, 0 replies; 13+ messages in thread
From: Imre Deak @ 2025-09-26 18:37 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx, intel-xe, dri-devel
On Fri, Sep 26, 2025 at 07:38:19PM +0300, Ville Syrjälä wrote:
> On Wed, Sep 24, 2025 at 06:23:28PM +0300, Imre Deak wrote:
> > Add helpers to query the DP branch device's per-slice throughput as well
> > as overall throughput and line-width capabilities.
> >
> > Cc: dri-devel@lists.freedesktop.org
> > Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > ---
> > drivers/gpu/drm/display/drm_dp_helper.c | 133 ++++++++++++++++++++++++
> > include/drm/display/drm_dp.h | 1 +
> > include/drm/display/drm_dp_helper.h | 5 +
> > 3 files changed, 139 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
> > index 1c74fe9459ad9..9d9928daaab59 100644
> > --- a/drivers/gpu/drm/display/drm_dp_helper.c
> > +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> > @@ -2844,6 +2844,139 @@ int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_S
> > }
> > EXPORT_SYMBOL(drm_dp_dsc_sink_supported_input_bpcs);
> >
> > +/*
> > + * See DP Standard v2.1a 2.8.4 Minimum Slices/Display, Table 2-159 and
> > + * Appendix L.1 Derivation of Slice Count Requirements.
> > + */
> > +static int dsc_branch_min_slice_throughput(int pixel_clock)
Based on the comment later I'll rename this to
dsc_sink_min_slice_throughput().
> > +{
> > + if (pixel_clock >= 4800000)
> > + return 600000;
> > + else if (pixel_clock >= 2700000)
> > + return 400000;
> > + else
> > + return 340000;
>
> One slightly worrying thing in the spec says the ppr is the cumulative
> rate for all streams feeding a single display. Then elsewhere it seems
> to be saying this only applies to MST streams. So I guess multiple
> links with SST doesn't count. And it's anyone's guess which way multiple
> links with MST should be interpreted...
>
> Anyways, that's not really something this helper needs to deal with.
> But perhaps the "pixel_clock" needs to be changed to something else.
> So just "peak_pixel_rate"? Or maybe even "cumulative_peak_pixel_rate"
> for extra clarity?
Ok, I didn't consider this. As we discussed off-line, this may matter
for a multi-tile MST display. For those the total pixel rate of all the
tiles should be considered here and then calculate from that first the
total count of slices spanning all the tiles. I.e. stg like:
peak_pixel_rate = tile_pixel_rate * tile_count
total_slice_count = peak_pixel_rate / dsc_sink_min_slice_throughput(peak_pixel_rate)
tile_slice_count = total_slice_count / tile_count
(not considering the required slice alignment).
To clarify the above I'd rename pixel_clock to peak_pixel_rate and
describe in the param's documentation what it means in case of tiled
displays.
> > +}
> > +
> > +/**
> > + * drm_dp_dsc_branch_max_slice_throughput() - Branch device's max DSC pixel throughput per slice
> > + * @dsc_dpcd: DSC capabilities from DPCD
> > + * @pixel_clock: Pixel clock of mode in kHz
> > + * @is_rgb_yuv444: The mode is either RGB or YUV444
> > + *
> > + * Return the branch device's maximum per slice DSC pixel throughput, based on
> > + * the device's DPCD DSC capabilities, @pixel_clock and whether the output
> > + * format @is_rgb_yuv444 or yuv422/yuv420.
> > + *
> > + * Returns:
> > + * The maximum DSC pixel throughput per slice supported by the branch device
> > + * in kPixels/sec.
> > + */
> > +int drm_dp_dsc_branch_max_slice_throughput(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
>
> The "branch" in the name doesn't seem correct. Isn't this
> some kind of "DSC sink" limit?
Yes, I mixed this up somehow with the term for the overall branch caps.
I'll rename this to drm_dp_dsc_sink_max_slice_throughput().
> > + int pixel_clock, bool is_rgb_yuv444)
> > +{
> > + int throughput;
> > +
> > + throughput = dsc_dpcd[DP_DSC_PEAK_THROUGHPUT - DP_DSC_SUPPORT];
> > +
> > + if (is_rgb_yuv444)
> > + throughput = (throughput & DP_DSC_THROUGHPUT_MODE_0_MASK) >>
> > + DP_DSC_THROUGHPUT_MODE_0_SHIFT;
> > + else
> > + throughput = (throughput & DP_DSC_THROUGHPUT_MODE_1_MASK) >>
> > + DP_DSC_THROUGHPUT_MODE_1_SHIFT;
> > +
> > + switch (throughput) {
> > + case 0:
> > + return dsc_branch_min_slice_throughput(pixel_clock);
> > + case 1:
> > + return 340000;
> > + case 2 ... 14:
> > + return 400000 + 50000 * (throughput - 2);
> > + case 15:
> > + return 170000;
> > + default:
> > + WARN(1, "Missing case %d\n", throughput);
> > + return 340000;
> > + }
> > +}
> > +EXPORT_SYMBOL(drm_dp_dsc_branch_max_slice_throughput);
> > +
> > +static u8 dsc_branch_dpcd_cap(const u8 dpcd[DP_DSC_BRANCH_CAP_SIZE], int reg)
> > +{
> > + return dpcd[reg - DP_DSC_BRANCH_OVERALL_THROUGHPUT_0];
> > +}
> > +
> > +/**
> > + * drm_dp_dsc_branch_max_overall_throughput() - Branch device's max overall DSC pixel throughput
> > + * @dsc_branch_dpcd: DSC branch capabilities from DPCD
> > + * @is_rgb_yuv444: The mode is either RGB or YUV444
> > + *
> > + * Return the branch device's maximum overall DSC pixel throughput, based on
> > + * the device's DPCD DSC branch capabilities, and whether the output
> > + * format @is_rgb_yuv444 or yuv422/yuv420.
> > + *
> > + * Returns:
> > + * - 0: The maximum overall throughput capability is not indicated by
> > + * the device separately and it must be determined from the per-slice
> > + * max throughput (see @drm_dp_dsc_branch_slice_max_throughput())
> > + * and the maximum slice count supported by the device.
> > + * - > 0: The maximum overall DSC pixel throughput supported by the branch
> > + * device in kPixels/sec.
> > + */
> > +int drm_dp_dsc_branch_max_overall_throughput(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE],
> > + bool is_rgb_yuv444)
> > +{
> > + int throughput;
> > +
> > + if (is_rgb_yuv444)
> > + throughput = dsc_branch_dpcd_cap(dsc_branch_dpcd,
> > + DP_DSC_BRANCH_OVERALL_THROUGHPUT_0);
> > + else
> > + throughput = dsc_branch_dpcd_cap(dsc_branch_dpcd,
> > + DP_DSC_BRANCH_OVERALL_THROUGHPUT_1);
> > +
> > + switch (throughput) {
> > + case 0:
> > + return 0;
> > + case 1:
> > + return 680000;
> > + default:
> > + return 600000 + 50000 * throughput;
> > + }
> > +}
> > +EXPORT_SYMBOL(drm_dp_dsc_branch_max_overall_throughput);
> > +
> > +/**
> > + * drm_dp_dsc_branch_max_line_width() - Branch device's max DSC line width
> > + * @dsc_branch_dpcd: DSC branch capabilities from DPCD
> > + *
> > + * Return the branch device's maximum overall DSC line width, based on
> > + * the device's @dsc_branch_dpcd capabilities.
> > + *
> > + * Returns:
> > + * - 0: The maximum line width is not indicated by the device
> > + * separately and it must be determined from the maximum
> > + * slice count and slice-width supported by the device.
> > + * - %-EINVAL: The device indicates an invalid maximum line width
> > + * (< 2560 pixels).
> > + * - >= 2560: The maximum line width in pixels.
> > + */
> > +int drm_dp_dsc_branch_max_line_width(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE])
> > +{
> > + int line_width = dsc_branch_dpcd_cap(dsc_branch_dpcd, DP_DSC_BRANCH_MAX_LINE_WIDTH);
> > +
> > + switch (line_width) {
> > + case 0:
> > + return 0;
> > + case 1 ... 7:
> > + return -EINVAL;
> > + default:
> > + return line_width * 320;
> > + }
> > +}
> > +EXPORT_SYMBOL(drm_dp_dsc_branch_max_line_width);
> > +
> > static int drm_dp_read_lttpr_regs(struct drm_dp_aux *aux,
> > const u8 dpcd[DP_RECEIVER_CAP_SIZE], int address,
> > u8 *buf, int buf_size)
> > diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h
> > index cf318e3ddb5c5..43978ddd15056 100644
> > --- a/include/drm/display/drm_dp.h
> > +++ b/include/drm/display/drm_dp.h
> > @@ -1686,6 +1686,7 @@ enum drm_dp_phy {
> > #define DP_BRANCH_OUI_HEADER_SIZE 0xc
> > #define DP_RECEIVER_CAP_SIZE 0xf
> > #define DP_DSC_RECEIVER_CAP_SIZE 0x10 /* DSC Capabilities 0x60 through 0x6F */
> > +#define DP_DSC_BRANCH_CAP_SIZE 3
> > #define EDP_PSR_RECEIVER_CAP_SIZE 2
> > #define EDP_DISPLAY_CTL_CAP_SIZE 5
> > #define DP_LTTPR_COMMON_CAP_SIZE 8
> > diff --git a/include/drm/display/drm_dp_helper.h b/include/drm/display/drm_dp_helper.h
> > index e438c44409952..cb0cd13d632d2 100644
> > --- a/include/drm/display/drm_dp_helper.h
> > +++ b/include/drm/display/drm_dp_helper.h
> > @@ -211,6 +211,11 @@ u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
> > u8 drm_dp_dsc_sink_line_buf_depth(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]);
> > int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpc[DP_DSC_RECEIVER_CAP_SIZE],
> > u8 dsc_bpc[3]);
> > +int drm_dp_dsc_branch_max_slice_throughput(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
> > + int mode_clock, bool is_rgb_yuv444);
> > +int drm_dp_dsc_branch_max_overall_throughput(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE],
> > + bool is_rgb_yuv444);
> > +int drm_dp_dsc_branch_max_line_width(const u8 dsc_branch_dpcd[DP_DSC_BRANCH_CAP_SIZE]);
> >
> > static inline bool
> > drm_dp_sink_supports_dsc(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE])
> > --
> > 2.49.1
>
> --
> Ville Syrjälä
> Intel
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-09-26 18:39 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-24 15:23 [PATCH v3 0/6] drm/i915/dp: Work around a DSC pixel throughput issue Imre Deak
2025-09-24 15:23 ` [PATCH v3 1/6] drm/dp: Add quirk for Synaptics DSC throughput link-bpp limit Imre Deak
2025-09-24 15:23 ` [PATCH v3 2/6] drm/dp: Add helpers to query the branch DSC max throughput/line-width Imre Deak
2025-09-26 16:38 ` Ville Syrjälä
2025-09-26 18:37 ` Imre Deak
2025-09-24 15:23 ` [PATCH v3 3/6] drm/i915/dp: Calculate DSC slice count based on per-slice peak throughput Imre Deak
2025-09-24 15:23 ` [PATCH v3 4/6] drm/i915/dp: Pass DPCD device descriptor to intel_dp_get_dsc_sink_cap() Imre Deak
2025-09-24 15:23 ` [PATCH v3 5/6] drm/i915/dp: Verify branch devices' overall pixel throughput/line width Imre Deak
2025-09-24 15:23 ` [PATCH v3 6/6] drm/i915/dp: Handle Synaptics DSC throughput link-bpp quirk Imre Deak
2025-09-24 15:32 ` ✗ CI.checkpatch: warning for drm/i915/dp: Work around a DSC pixel throughput issue (rev4) Patchwork
2025-09-24 15:33 ` ✓ CI.KUnit: success " Patchwork
2025-09-24 16:07 ` ✓ Xe.CI.BAT: " Patchwork
2025-09-24 20:12 ` ✗ Xe.CI.Full: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox