* [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit
@ 2026-09-17 5:06 Suraj Kandpal
2026-09-17 5:06 ` [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N ratio for reuse Suraj Kandpal
` (11 more replies)
0 siblings, 12 replies; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
For Platforms that support higher link rates, there is a limitation on
Link M /Link N ratio.
If the CEILING( Link M / Link N ) ratio is greater than 10.0, then
hardware cannot support the given resolution / refresh rate at the given
configuration.
For BMG Wa_14021768792 helps to bypass this limitation and allows it to
support the ratio till 15.0.
This series adds the missing restrictions for earlier platforms and adds
the Wa_14021768792 for BMG as per Bspec:49266
Ankit Nautiyal (8):
drm/i915/display: Add helper to compute link M/N ratio for reuse
drm/i915/dp_mst: Limit M/N ratio for MST
drm/i915/dp: Add M/N ratio check for DP link config
drm/i915/display: Add bits for link_n_extended for DISPLAY >= 14
drm/i915/display_wa: Add support for Wa_14021768792
drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10
drm/i915/display: Implement Wa_14021768792 for BMG DP for link_m/n
ratio > 10
drm/i915/dp: Extend intel_dp_can_support_m_n() for BMG M/N bypass
Suraj Kandpal (2):
drm/i915/dp: Limit M/N ratio for DP SST
drm/i915/dp: Bump the max Link M/N ratio to 22 for DISPLAY_VER >= 35
drivers/gpu/drm/i915/display/intel_display.c | 124 ++++++++++++-
drivers/gpu/drm/i915/display/intel_display.h | 4 +
.../gpu/drm/i915/display/intel_display_regs.h | 12 ++
.../drm/i915/display/intel_display_types.h | 2 +
.../gpu/drm/i915/display/intel_display_wa.c | 9 +
.../gpu/drm/i915/display/intel_display_wa.h | 1 +
drivers/gpu/drm/i915/display/intel_dp.c | 172 +++++++++++++++++-
drivers/gpu/drm/i915/display/intel_dp.h | 6 +
drivers/gpu/drm/i915/display/intel_dp_mst.c | 7 +
9 files changed, 326 insertions(+), 11 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N ratio for reuse
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-09-29 15:13 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 02/10] drm/i915/dp: Limit M/N ratio for DP SST Suraj Kandpal
` (10 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Introduce intel_display_compute_link_m_n() to compute the link M/N ratio
from the pixel clock and the link symbol clock. This logic was
previously embedded within intel_link_compute_m_n().
The new helper allows reuse of link M/N computation in other contexts
without requiring the full data M/N calculation.
No functional changes intended.
v2:
- Rename function (Jani)
- The link symbol clock is passed in rather than derived here, so that the
DP specific conversion from the link rate stays with the caller. (Jani)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 9151ea6c15ab..f04a6f97e05a 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -2641,13 +2641,20 @@ static void compute_m_n(u32 *ret_m, u32 *ret_n,
intel_reduce_m_n_ratio(ret_m, ret_n);
}
+static void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
+ int pixel_clock, int link_symbol_clock)
+{
+ compute_m_n(link_m, link_n,
+ pixel_clock, link_symbol_clock,
+ 0x80000);
+}
+
void
intel_link_compute_m_n(u16 bits_per_pixel_x16, int nlanes,
int pixel_clock, int link_clock,
int bw_overhead,
struct intel_link_m_n *m_n)
{
- u32 link_symbol_clock = intel_dp_link_symbol_clock(link_clock);
u32 data_m = intel_dp_effective_data_rate(pixel_clock, bits_per_pixel_x16,
bw_overhead);
u32 data_n = drm_dp_max_dprx_data_rate(link_clock, nlanes);
@@ -2664,9 +2671,9 @@ intel_link_compute_m_n(u16 bits_per_pixel_x16, int nlanes,
data_m, data_n,
0x8000000);
- compute_m_n(&m_n->link_m, &m_n->link_n,
- pixel_clock, link_symbol_clock,
- 0x80000);
+ intel_display_compute_link_m_n(&m_n->link_m, &m_n->link_n,
+ pixel_clock,
+ intel_dp_link_symbol_clock(link_clock));
}
void intel_panel_sanitize_ssc(struct intel_display *display)
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 02/10] drm/i915/dp: Limit M/N ratio for DP SST
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
2026-09-17 5:06 ` [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N ratio for reuse Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-10-15 15:52 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 03/10] drm/i915/dp_mst: Limit M/N ratio for MST Suraj Kandpal
` (9 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
The hardware cannot support DisplayPort configurations where the
ceiling of the Link M/Link N ratio exceeds the limit the transcoder's
timing generator DDA can track. This limitation has always existed, but
it typically wasn't encountered without the use of joiners and DSC.
With higher resolutions and combinations involving joiners and DSC,
this constraint can now be hit in certain scenarios.
Restrict the link configurations to those satisfying the constraint
while computing the link config limits, so that the SST and the MST
paths both get it, and so that a mode which no link rate can support
fails early rather than deep inside link config selection.
Also prune such modes in mode_valid. Note the ratio is the pixel clock
over the link symbol clock, and the symbol clock is not monotonic in the
link rate: it is the rate divided by 32 for 128b/132b but only by 10 for
8b/10b, so e.g. HBR3 has a higher symbol clock than UHBR20. There is
therefore no single best link rate to evaluate against, and mode_valid
walks the link configurations instead, only rejecting the mode if none
of them can satisfy the ratio.
Note: This change applies the check only for SST. Support for MST will
be added in a subsequent commit.
v2:
-Move the M/N ratio check to the link rate configuration phase instead
of during M/N computation. (Ville)
-Prune modes that cannot be supported even with highest link rate due to
M/N ratio restriction.
v3:
-Rebase on the link caps iterator based link config selection.
-Set the constraint up in intel_dp_compute_config_limits() by narrowing
the link config filter, and fail there if no config qualifies, instead
of skipping configs while iterating them. (Imre)
-Use a limit of 4 on DG2. (Wa_14014191401)
-Walk the link configurations in mode_valid rather than evaluating the
ratio at the highest link rate, which is not the best case for it.
v4:
-Add iterator for all dp configs in intel_dp_mode_valid_m_n() so
that we do not prune any mode that could have been supported (Sashiko)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 4 +-
drivers/gpu/drm/i915/display/intel_display.h | 2 +
drivers/gpu/drm/i915/display/intel_dp.c | 101 +++++++++++++++++++
drivers/gpu/drm/i915/display/intel_dp.h | 2 +
4 files changed, 107 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index f04a6f97e05a..c53163d7c082 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -2641,8 +2641,8 @@ static void compute_m_n(u32 *ret_m, u32 *ret_n,
intel_reduce_m_n_ratio(ret_m, ret_n);
}
-static void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
- int pixel_clock, int link_symbol_clock)
+void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
+ int pixel_clock, int link_symbol_clock)
{
compute_m_n(link_m, link_n,
pixel_clock, link_symbol_clock,
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index eecafff167d3..404168f4213b 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -523,5 +523,7 @@ bool assert_port_valid(struct intel_display *display, enum port port);
bool intel_scanout_needs_vtd_wa(struct intel_display *display);
int intel_crtc_num_joined_pipes(const struct intel_crtc_state *crtc_state);
+void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
+ int pixel_clock, int link_symbol_clock);
#endif
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 0cd5e6b5034c..f6a2152c4432 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -61,6 +61,7 @@
#include "intel_cx0_phy.h"
#include "intel_ddi.h"
#include "intel_de.h"
+#include "intel_display.h"
#include "intel_display_driver.h"
#include "intel_display_jiffies.h"
#include "intel_display_utils.h"
@@ -1265,6 +1266,34 @@ bool intel_dp_has_dsc(const struct intel_connector *connector)
return true;
}
+static int
+intel_dp_get_max_m_n_ratio(struct intel_display *display)
+{
+ if (display->platform.dg2)
+ return 4;
+
+ return 10;
+}
+
+static bool
+intel_dp_can_support_m_n(struct intel_display *display,
+ int pixel_clock, int link_rate)
+{
+ int max_m_n_ratio = intel_dp_get_max_m_n_ratio(display);
+ u32 link_m, link_n;
+ int m_n_ratio;
+
+ intel_display_compute_link_m_n(&link_m, &link_n, pixel_clock,
+ intel_dp_link_symbol_clock(link_rate));
+
+ if (!link_n)
+ return true;
+
+ m_n_ratio = DIV_ROUND_UP(link_m, link_n);
+
+ return m_n_ratio <= max_m_n_ratio;
+}
+
static
bool intel_dp_can_join(struct intel_dp *intel_dp,
int num_joined_pipes)
@@ -1300,6 +1329,31 @@ bool intel_dp_dotclk_valid(struct intel_display *display,
return target_clock <= effective_dotclk_limit;
}
+bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int pixel_clock)
+{
+ struct intel_display *display = to_intel_display(intel_dp);
+ struct intel_dp_link_caps_order order = {
+ .key = INTEL_DP_LINK_CAPS_ORDER_KEY_RATE_LANE,
+ .dir = INTEL_DP_LINK_CAPS_ORDER_DIR_DESC,
+ };
+ struct intel_dp_link_config link_config;
+ struct intel_dp_link_caps_iter iter;
+ bool found = false;
+
+ intel_dp_link_caps_iter_start(&iter, intel_dp->link.caps, order,
+ INTEL_DP_LINK_CAPS_FILTER_ALL);
+ for_each_dp_link_config(&iter, &link_config) {
+ if (intel_dp_can_support_m_n(display, pixel_clock, link_config.rate)) {
+ found = true;
+
+ break;
+ }
+ }
+ intel_dp_link_caps_iter_end(&iter);
+
+ return found;
+}
+
static enum drm_mode_status
intel_dp_mode_valid_format(struct intel_connector *connector,
const struct drm_display_mode *mode,
@@ -1454,6 +1508,9 @@ intel_dp_mode_valid(struct drm_connector *_connector,
return status;
}
+ if (!intel_dp_mode_valid_m_n(intel_dp, target_clock))
+ return MODE_CLOCK_HIGH;
+
/*
* TODO: Even when using a 4:2:0 sink_format intel_dp_output_format()
* will always choose a 4:4:4 output_format if the DFP can do the
@@ -2654,6 +2711,47 @@ intel_dp_dsc_compute_pipe_bpp_limits(struct intel_connector *connector,
return true;
}
+static bool
+intel_dp_compute_m_n_ratio_limits(struct intel_dp *intel_dp,
+ struct drm_connector_state *conn_state,
+ const struct intel_crtc_state *crtc_state,
+ struct link_config_limits *limits)
+{
+ struct intel_display *display = to_intel_display(intel_dp);
+ struct intel_connector *connector = to_intel_connector(conn_state->connector);
+ struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
+ struct intel_dp_link_caps_order order =
+ intel_dp_link_caps_connector_compute_order(connector);
+ struct intel_dp_link_caps_filter new_filter = INTEL_DP_LINK_CAPS_FILTER_NONE;
+ int pixel_clock = intel_dp_mode_clock(crtc_state, conn_state);
+ struct intel_dp_link_config link_config;
+ struct intel_dp_link_caps_iter iter;
+ bool found = false;
+
+ intel_dp_link_caps_iter_start(&iter, link_caps, order, limits->link_config_filter);
+ for_each_dp_link_config(&iter, &link_config) {
+ if (!intel_dp_can_support_m_n(display, pixel_clock, link_config.rate))
+ continue;
+
+ intel_dp_link_caps_filter_add(link_caps, &new_filter, &link_config);
+ found = true;
+ }
+ intel_dp_link_caps_iter_end(&iter);
+
+ if (!found) {
+ drm_dbg_kms(display->drm,
+ "[CONNECTOR:%d:%s] No link config with a Link M/N ratio <= %d\n",
+ connector->base.base.id, connector->base.name,
+ intel_dp_get_max_m_n_ratio(display));
+
+ return false;
+ }
+
+ limits->link_config_filter = new_filter;
+
+ return true;
+}
+
bool
intel_dp_compute_config_limits(struct intel_dp *intel_dp,
struct drm_connector_state *conn_state,
@@ -2770,6 +2868,9 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp,
limits->link_config_filter = new_filter;
}
+ if (!intel_dp_compute_m_n_ratio_limits(intel_dp, conn_state, crtc_state, limits))
+ return false;
+
if (!intel_dp_test_compute_config(connector, crtc_state, limits))
return false;
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index 04fae203bb69..aa58833a405b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -239,6 +239,8 @@ bool intel_dp_joiner_candidate_valid(struct intel_connector *connector,
u8 intel_dp_as_sdp_transmission_time(void);
+bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int pixel_clock);
+
int intel_dp_link_init(struct intel_dp *intel_dp);
void intel_dp_link_cleanup(struct intel_dp *intel_dp);
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 03/10] drm/i915/dp_mst: Limit M/N ratio for MST
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
2026-09-17 5:06 ` [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N ratio for reuse Suraj Kandpal
2026-09-17 5:06 ` [PATCH v4 02/10] drm/i915/dp: Limit M/N ratio for DP SST Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-10-15 17:29 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 04/10] drm/i915/dp: Add M/N ratio check for DP link config Suraj Kandpal
` (8 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
The hardware does not support DisplayPort configurations where the
ceiling of the Link M/Link N ratio exceeds the limit. Enforce this
constraint for MST as well.
The compute config path needs no change: MST goes through
intel_dp_compute_config_limits() too, so the link config filter set up
there already excludes the configurations violating the ratio limit, and
MST fails there if none is left.
What is still missing is pruning such modes, so add the check to
mst_connector_mode_valid_ctx(), reusing the helper the SST mode_valid
uses. It walks the link configurations and only rejects the mode if none
of them can satisfy the ratio, rather than evaluating it at a single
link rate.
v2:
-Drop the checks in the MST link config helpers, redundant now that the
constraint is applied while computing the link config limits. (Imre)
-Share the mode_valid helper with SST instead of evaluating the ratio at
one link rate, since the link symbol clock is not monotonic in the link
rate and there is no single best case configuration.
v3:
-Now that intel_dp_mode_valid_m_n checks for all configs just call
that (Sashiko)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp_mst.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 0c362784afe4..823fe99ca0a1 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -1565,6 +1565,11 @@ mst_connector_mode_valid_ctx(struct drm_connector *_connector,
min_link_bpp_x16,
bw_overhead_flags);
+ if (!intel_dp_mode_valid_m_n(intel_dp, mode->clock)) {
+ *status = MODE_CLOCK_HIGH;
+ return 0;
+ }
+
/*
* TODO:
* - Also check if compression would allow for the mode
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 04/10] drm/i915/dp: Add M/N ratio check for DP link config
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (2 preceding siblings ...)
2026-09-17 5:06 ` [PATCH v4 03/10] drm/i915/dp_mst: Limit M/N ratio for MST Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-10-15 18:57 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 05/10] drm/i915/display: Add bits for link_n_extended for DISPLAY >= 14 Suraj Kandpal
` (7 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Introduce intel_dp_check_m_n_ratio() to validate the computed link M/N
ratio against the maximum allowed value, and log it if the ratio exceeds
the limit.
The link config limits computed in the previous patches only restrict
the configurations that may be selected; this catches anything that
still slips through.
Log it rather than warn about it: the link config filter already
excludes the configurations violating the limit, so the only way to get
here is with link parameters forced through debugfs, which are applied
after that filter. A user triggerable drm_WARN() with its backtrace
would be out of proportion for that.
This check works off the M/N values as actually computed, which exposes
a mismatch with the prediction done while computing the limits: the
pixel clock there is the one before intel_dp_compute_config() divides
adjusted_mode->crtc_clock by the MSO link count. Divide in the
prediction too, so both agree. The joiner needs no such handling, as
intel_joiner_adjust_timings() only rewrites the pipe mode and leaves the
adjusted mode the link M/N is derived from untouched.
For MST the check goes after the bpp loop rather than inside it. The
link M/N is computed from the pixel clock and the link symbol clock, so
it does not depend on the bpp being tried and the result is the same on
every iteration.
v2:
-Use the platform specific ratio limit. (Wa_14014191401)
-Use the MSO adjusted pixel clock when predicting the ratio, matching
what the link M/N is actually computed from. (Imre)
-Drop the check from ilk_fdi_compute_config(): it was passing dp_m_n
rather than the fdi_m_n it had just computed, and an FDI link cannot get
anywhere near the ratio limit anyway.
v3:
-Check the ratio once after the MST bpp loop instead of on every
iteration, the result does not depend on the bpp. (Sashiko)
-Log instead of warning, since the link config filter already excludes
these configurations and only forced link parameters can reach it.
(Sashiko)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 37 +++++++++++++++++++--
drivers/gpu/drm/i915/display/intel_dp.h | 4 +++
drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 ++
3 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index f6a2152c4432..fbfc00101886 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1294,6 +1294,14 @@ intel_dp_can_support_m_n(struct intel_display *display,
return m_n_ratio <= max_m_n_ratio;
}
+static int intel_dp_mso_pixel_clock(struct intel_dp *intel_dp, int pixel_clock)
+{
+ if (!intel_dp->mso_link_count)
+ return pixel_clock;
+
+ return pixel_clock / intel_dp->mso_link_count;
+}
+
static
bool intel_dp_can_join(struct intel_dp *intel_dp,
int num_joined_pipes)
@@ -1332,6 +1340,7 @@ bool intel_dp_dotclk_valid(struct intel_display *display,
bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int pixel_clock)
{
struct intel_display *display = to_intel_display(intel_dp);
+ int m_n_pixel_clock = intel_dp_mso_pixel_clock(intel_dp, pixel_clock);
struct intel_dp_link_caps_order order = {
.key = INTEL_DP_LINK_CAPS_ORDER_KEY_RATE_LANE,
.dir = INTEL_DP_LINK_CAPS_ORDER_DIR_DESC,
@@ -1343,7 +1352,8 @@ bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int pixel_clock)
intel_dp_link_caps_iter_start(&iter, intel_dp->link.caps, order,
INTEL_DP_LINK_CAPS_FILTER_ALL);
for_each_dp_link_config(&iter, &link_config) {
- if (intel_dp_can_support_m_n(display, pixel_clock, link_config.rate)) {
+ if (intel_dp_can_support_m_n(display, m_n_pixel_clock,
+ link_config.rate)) {
found = true;
break;
@@ -2723,7 +2733,8 @@ intel_dp_compute_m_n_ratio_limits(struct intel_dp *intel_dp,
struct intel_dp_link_caps_order order =
intel_dp_link_caps_connector_compute_order(connector);
struct intel_dp_link_caps_filter new_filter = INTEL_DP_LINK_CAPS_FILTER_NONE;
- int pixel_clock = intel_dp_mode_clock(crtc_state, conn_state);
+ int pixel_clock = intel_dp_mso_pixel_clock(intel_dp,
+ intel_dp_mode_clock(crtc_state, conn_state));
struct intel_dp_link_config link_config;
struct intel_dp_link_caps_iter iter;
bool found = false;
@@ -3382,6 +3393,24 @@ static bool can_enable_drrs(struct intel_connector *connector,
intel_panel_drrs_type(connector) == DRRS_TYPE_SEAMLESS;
}
+void intel_dp_check_m_n_ratio(struct intel_crtc_state *crtc_state,
+ struct intel_link_m_n *m_n)
+{
+ struct intel_display *display = to_intel_display(crtc_state);
+ int max_m_n_ratio = intel_dp_get_max_m_n_ratio(display);
+ int m_n_ratio;
+
+ if (!m_n || !m_n->link_n)
+ return;
+
+ m_n_ratio = DIV_ROUND_UP(m_n->link_m, m_n->link_n);
+
+ if (m_n_ratio > max_m_n_ratio)
+ drm_dbg_kms(display->drm,
+ "Link M/N ratio (%d) exceeds max allowed (%d)\n",
+ m_n_ratio, max_m_n_ratio);
+}
+
static void
intel_dp_drrs_compute_config(struct intel_connector *connector,
struct intel_crtc_state *pipe_config,
@@ -3420,6 +3449,8 @@ intel_dp_drrs_compute_config(struct intel_connector *connector,
intel_dp_bw_fec_overhead(pipe_config->fec_enable),
&pipe_config->dp_m2_n2);
+ intel_dp_check_m_n_ratio(pipe_config, &pipe_config->dp_m2_n2);
+
/* FIXME: abstract this better */
if (pipe_config->splitter.enable)
pipe_config->dp_m2_n2.data_m *= pipe_config->splitter.link_count;
@@ -3739,6 +3770,8 @@ intel_dp_compute_config(struct intel_atomic_state *state,
pipe_config->port_clock,
intel_dp_bw_fec_overhead(pipe_config->fec_enable),
&pipe_config->dp_m_n);
+
+ intel_dp_check_m_n_ratio(pipe_config, &pipe_config->dp_m_n);
}
ret = intel_dp_compute_min_hblank(pipe_config, conn_state);
diff --git a/drivers/gpu/drm/i915/display/intel_dp.h b/drivers/gpu/drm/i915/display/intel_dp.h
index aa58833a405b..4c975358ab96 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.h
+++ b/drivers/gpu/drm/i915/display/intel_dp.h
@@ -26,6 +26,7 @@ struct intel_display;
struct intel_dp;
struct intel_dp_link_config;
struct intel_encoder;
+struct intel_link_m_n;
struct link_config_limits {
struct intel_dp_link_caps_filter link_config_filter;
@@ -244,4 +245,7 @@ bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int pixel_clock);
int intel_dp_link_init(struct intel_dp *intel_dp);
void intel_dp_link_cleanup(struct intel_dp *intel_dp);
+void intel_dp_check_m_n_ratio(struct intel_crtc_state *crtc_state,
+ struct intel_link_m_n *m_n);
+
#endif /* __INTEL_DP_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
index 823fe99ca0a1..6d2e234a9e9b 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
@@ -429,6 +429,8 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
return slots;
}
+ intel_dp_check_m_n_ratio(crtc_state, &crtc_state->dp_m_n);
+
if (!dsc)
crtc_state->pipe_bpp = fxp_q4_to_int(bpp_x16);
else
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 05/10] drm/i915/display: Add bits for link_n_extended for DISPLAY >= 14
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (3 preceding siblings ...)
2026-09-17 5:06 ` [PATCH v4 04/10] drm/i915/dp: Add M/N ratio check for DP link config Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-10-15 19:23 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 06/10] drm/i915/display_wa: Add support for Wa_14021768792 Suraj Kandpal
` (6 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
LINK_N register has bits 31:24 for extended link N value used for
HDMI2.1 and for an alternate mode of operation of DP TG DDA.
Add support for these extra bits.
For displays with version 14 or higher, PIPE_LINK_N1_EXTENDED_MASK
(bits 31:24) is used to handle the extended link N bits. For older
platforms, DATA_LINK_M_N_MASK (bits 23:0) is used to handle the
standard link N bits. This distinction ensures clarity and maintains
the semantics for platforms that support the extended bits. In
subsequent changes the logic is updated to conditionally apply the
extended link N bits.
v2: Drop extra link_n_ext member. (Jani)
v3: Avoid link_n_ext in set_m_n helper. (Jani)
v4: Rebase, and update commit message.
v5: Drop a stale changelog entry, the DISPLAY_VER split here is
intentional. (Sashiko)
Bspec:50488
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 18 ++++++++++++++++--
.../gpu/drm/i915/display/intel_display_regs.h | 2 ++
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index c53163d7c082..6d2025e10995 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -2711,14 +2711,22 @@ void intel_set_m_n(struct intel_display *display,
intel_reg_t data_m_reg, intel_reg_t data_n_reg,
intel_reg_t link_m_reg, intel_reg_t link_n_reg)
{
+ u32 link_n = m_n->link_n;
+
intel_de_write(display, data_m_reg, TU_SIZE(m_n->tu) | m_n->data_m);
intel_de_write(display, data_n_reg, m_n->data_n);
intel_de_write(display, link_m_reg, m_n->link_m);
+
+ if (DISPLAY_VER(display) >= 14)
+ link_n &= ~PIPE_LINK_N1_EXTENDED_MASK;
+ else
+ link_n &= DATA_LINK_M_N_MASK;
+
/*
* On BDW+ writing LINK_N arms the double buffered update
* of all the M/N registers, so it must be written last.
*/
- intel_de_write(display, link_n_reg, m_n->link_n);
+ intel_de_write(display, link_n_reg, link_n);
}
bool intel_cpu_transcoder_has_m2_n2(struct intel_display *display,
@@ -3475,7 +3483,13 @@ void intel_get_m_n(struct intel_display *display,
intel_reg_t link_m_reg, intel_reg_t link_n_reg)
{
m_n->link_m = intel_de_read(display, link_m_reg) & DATA_LINK_M_N_MASK;
- m_n->link_n = intel_de_read(display, link_n_reg) & DATA_LINK_M_N_MASK;
+ m_n->link_n = intel_de_read(display, link_n_reg);
+
+ if (DISPLAY_VER(display) >= 14)
+ m_n->link_n &= ~PIPE_LINK_N1_EXTENDED_MASK;
+ else
+ m_n->link_n &= DATA_LINK_M_N_MASK;
+
m_n->data_m = intel_de_read(display, data_m_reg) & DATA_LINK_M_N_MASK;
m_n->data_n = intel_de_read(display, data_n_reg) & DATA_LINK_M_N_MASK;
m_n->tu = REG_FIELD_GET(TU_SIZE_MASK, intel_de_read(display, data_m_reg)) + 1;
diff --git a/drivers/gpu/drm/i915/display/intel_display_regs.h b/drivers/gpu/drm/i915/display/intel_display_regs.h
index 8251ec15190b..57f388c958b4 100644
--- a/drivers/gpu/drm/i915/display/intel_display_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_display_regs.h
@@ -1190,6 +1190,8 @@
#define _PIPEA_LINK_N1 0x60044
#define _PIPEB_LINK_N1 0x61044
+#define PIPE_LINK_N1_EXTENDED_MASK REG_GENMASK(31, 24)
+#define PIPE_LINK_N1_EXTENDED(val) REG_FIELD_PREP(PIPE_LINK_N1_EXTENDED_MASK, (val))
#define PIPE_LINK_N1(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran, _PIPEA_LINK_N1)
#define _PIPEA_LINK_M2 0x60048
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 06/10] drm/i915/display_wa: Add support for Wa_14021768792
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (4 preceding siblings ...)
2026-09-17 5:06 ` [PATCH v4 05/10] drm/i915/display: Add bits for link_n_extended for DISPLAY >= 14 Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-10-15 19:40 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10 Suraj Kandpal
` (5 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Some BMG ultrajoiner configurations require support for Link M/N ratios
between 10.0 and 15.0. This range is not natively supported and requires
a workaround.
Wa_14021768792 enables this support by utilizing HDMI_EMP_DATA,
CHICKEN_TRANS and the extended bits in the LINK_N register.
Add the necessary logic to enable the workaround on applicable platforms.
The underlying mechanism comes from the display C0,
so it is gated on display stepping C0 and later.
v2:
-Don't include i915_drv.h and don't use struct drm_i915_private under
display/. Use display->platform.battlemage, which names the affected
platform directly, instead of IS_DGFX() combined with a display version
check. (Jani)
-Rebase on the reworked display WA framework, where the condition goes
directly into the __intel_display_wa() switch.
Bspec: 49266
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_wa.c | 9 +++++++++
drivers/gpu/drm/i915/display/intel_display_wa.h | 1 +
2 files changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
index 888676693f5e..7456194216be 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
@@ -111,6 +111,15 @@ bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa,
return DISPLAY_VERx100(display) == 3000 ||
DISPLAY_VERx100(display) == 2000 ||
DISPLAY_VERx100(display) == 1401;
+ /*
+ * Wa_14021768792:
+ * Fixes: Limitation of Link M/N ratio > 10 for specific Xe2HPD platforms.
+ * Workaround: Use HDMI_EMP_DATA, CHICKEN_BITs and extended bits in LINK_N
+ * registers to support LINK M/N ratios from > 10 but < 15.
+ */
+ case INTEL_DISPLAY_WA_14021768792:
+ return display->platform.battlemage &&
+ IS_DISPLAY_STEP(display, STEP_C0, STEP_FOREVER);
case INTEL_DISPLAY_WA_14025769978:
return DISPLAY_VER(display) == 35;
case INTEL_DISPLAY_WA_14026643300:
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
index 425a300840aa..b8f2f9363498 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
@@ -33,6 +33,7 @@ enum intel_display_wa {
INTEL_DISPLAY_WA_14014143976,
INTEL_DISPLAY_WA_14016740474,
INTEL_DISPLAY_WA_14020863754,
+ INTEL_DISPLAY_WA_14021768792,
INTEL_DISPLAY_WA_14025769978,
INTEL_DISPLAY_WA_14026643300,
INTEL_DISPLAY_WA_15013987218,
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (5 preceding siblings ...)
2026-09-17 5:06 ` [PATCH v4 06/10] drm/i915/display_wa: Add support for Wa_14021768792 Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-09-17 5:19 ` sashiko-bot
2026-10-15 20:37 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 08/10] drm/i915/display: Implement Wa_14021768792 for BMG DP for link_m/n " Suraj Kandpal
` (4 subsequent siblings)
11 siblings, 2 replies; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
To support a Link M/N ratio between 10.0 and 15.0, for some BMG
ultrajoiner cases we need Wa_14021768792.
To bypass the hardware limitation within the Timing Generator DDA
(TGDDA), we need to program the LINKM and LINKN registers as defined in
the WA. Along with this we also need the relevant bits in HDMI_EMP_DATA
and CHICKEN_TRANS.
Add the bits for the WA and a new member 'bypass_m_n_ratio_limit' to
track if we need to bypass the Link M/N ratio limit in the
intel_link_m_n structure.
Per Bspec the extended LINK_N field is two nibbles: bits 27:24 hold
INT(Link M / Link N) and bits 31:28 hold CEIL(Link M / Link N).
CHICKEN_TRANS and HDMI_EMP_DATA are programmed before LINK_N, since
writing LINK_N arms the double buffered update of the M/N registers, and
all of the programming has to be done before the transcoder is enabled.
Both are also explicitly cleared when the mechanism is not in use, so
that state cannot leak from a previous modeset.
Only bypass_m_n_ratio_limit is compared by the state checker, not the
ratio integer and fraction themselves. That is deliberate: both are
derived from Link M and Link N, which are compared already, so the thing
worth verifying is whether the workaround ended up being applied or not.
Unlike the rest of the M/N registers, CHICKEN_TRANS and HDMI_EMP_DATA
are not double buffered, so the flag has to be compared outside the
fastset exemption that PIPE_CONF_CHECK_M_N() has for update_m_n.
Otherwise a seamless M/N update could switch the DDA out of the
workaround on a live transcoder, with the Link M/N values only following
at the next MSA.
v2:
-Drop the drm_WARN_ON() on the extended LINK_N field in intel_get_m_n():
it is derived from Link M and Link N, so the state checker comparison of
those and of bypass_m_n_ratio_limit already covers it. (Sashiko)
-Compare bypass_m_n_ratio_limit unconditionally, so that a change to it
forces a full modeset instead of being applied during a seamless M/N
fastset. (Sashiko)
Bspec: 49266
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 93 ++++++++++++++++++-
drivers/gpu/drm/i915/display/intel_display.h | 2 +
.../gpu/drm/i915/display/intel_display_regs.h | 10 ++
.../drm/i915/display/intel_display_types.h | 2 +
4 files changed, 102 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 6d2025e10995..1e9d8943626a 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -2706,6 +2706,15 @@ void intel_zero_m_n(struct intel_link_m_n *m_n)
m_n->tu = 1;
}
+static u8 bmg_get_link_n_ext(const struct intel_link_m_n *m_n)
+{
+ if (!m_n->link_n)
+ return 0;
+
+ return PIPE_LINK_N1_EXT_INT(m_n->link_m / m_n->link_n) |
+ PIPE_LINK_N1_EXT_CEIL(DIV_ROUND_UP(m_n->link_m, m_n->link_n));
+}
+
void intel_set_m_n(struct intel_display *display,
const struct intel_link_m_n *m_n,
intel_reg_t data_m_reg, intel_reg_t data_n_reg,
@@ -2717,7 +2726,9 @@ void intel_set_m_n(struct intel_display *display,
intel_de_write(display, data_n_reg, m_n->data_n);
intel_de_write(display, link_m_reg, m_n->link_m);
- if (DISPLAY_VER(display) >= 14)
+ if (DISPLAY_VER(display) >= 14 && m_n->bypass_m_n_ratio_limit)
+ link_n |= PIPE_LINK_N1_EXTENDED(bmg_get_link_n_ext(m_n));
+ else if (DISPLAY_VER(display) >= 14)
link_n &= ~PIPE_LINK_N1_EXTENDED_MASK;
else
link_n &= DATA_LINK_M_N_MASK;
@@ -2738,6 +2749,26 @@ bool intel_cpu_transcoder_has_m2_n2(struct intel_display *display,
return IS_DISPLAY_VER(display, 5, 7) || display->platform.cherryview;
}
+static void bmg_enhanced_tgdda_write(struct intel_crtc *crtc,
+ enum transcoder transcoder,
+ const struct intel_link_m_n *m_n)
+{
+ struct intel_display *display = to_intel_display(crtc);
+ bool enable = m_n->bypass_m_n_ratio_limit && m_n->link_n;
+ u32 link_m_frac = enable ? m_n->link_m % m_n->link_n : 0;
+
+ if (!intel_display_wa(display, INTEL_DISPLAY_WA_14021768792))
+ return;
+
+ intel_de_rmw(display, HDMI_EMP_DATA(display, transcoder),
+ HDMI_EMP_DATA_LINK_M_FRAC_MASK,
+ REG_FIELD_PREP(HDMI_EMP_DATA_LINK_M_FRAC_MASK, link_m_frac));
+
+ intel_de_rmw(display, CHICKEN_TRANS(display, transcoder),
+ DP_ENHANCED_TGDDA_ENABLE,
+ enable ? DP_ENHANCED_TGDDA_ENABLE : 0);
+}
+
void intel_cpu_transcoder_set_m1_n1(struct intel_crtc *crtc,
enum transcoder transcoder,
const struct intel_link_m_n *m_n)
@@ -2745,6 +2776,8 @@ void intel_cpu_transcoder_set_m1_n1(struct intel_crtc *crtc,
struct intel_display *display = to_intel_display(crtc);
enum pipe pipe = crtc->pipe;
+ bmg_enhanced_tgdda_write(crtc, transcoder, m_n);
+
if (DISPLAY_VER(display) >= 5)
intel_set_m_n(display, m_n,
PIPE_DATA_M1(display, transcoder),
@@ -3495,6 +3528,49 @@ void intel_get_m_n(struct intel_display *display,
m_n->tu = REG_FIELD_GET(TU_SIZE_MASK, intel_de_read(display, data_m_reg)) + 1;
}
+bool intel_display_can_bypass_m_n_limit(struct intel_display *display,
+ int m_n_ratio,
+ enum pipe pipe)
+{
+ if (!intel_display_wa(display, INTEL_DISPLAY_WA_14021768792))
+ return false;
+
+ if (m_n_ratio > 15)
+ return false;
+
+ if (pipe != PIPE_A)
+ return false;
+
+ return true;
+}
+
+static void bmg_enhanced_tgdda_read(struct intel_crtc *crtc,
+ enum transcoder transcoder,
+ struct intel_link_m_n *m_n)
+{
+ struct intel_display *display = to_intel_display(crtc);
+ u32 link_m_frac;
+ int m_n_ratio;
+
+ if (!m_n->link_n)
+ return;
+
+ m_n_ratio = DIV_ROUND_UP(m_n->link_m, m_n->link_n);
+
+ if (!intel_display_can_bypass_m_n_limit(display, m_n_ratio, crtc->pipe))
+ return;
+
+ if (!(intel_de_read(display, CHICKEN_TRANS(display, transcoder)) &
+ DP_ENHANCED_TGDDA_ENABLE))
+ return;
+
+ link_m_frac = REG_FIELD_GET(HDMI_EMP_DATA_LINK_M_FRAC_MASK,
+ intel_de_read(display, HDMI_EMP_DATA(display, transcoder)));
+
+ if (link_m_frac == m_n->link_m % m_n->link_n)
+ m_n->bypass_m_n_ratio_limit = true;
+}
+
void intel_cpu_transcoder_get_m1_n1(struct intel_crtc *crtc,
enum transcoder transcoder,
struct intel_link_m_n *m_n)
@@ -3512,6 +3588,8 @@ void intel_cpu_transcoder_get_m1_n1(struct intel_crtc *crtc,
intel_get_m_n(display, m_n,
PIPE_DATA_M_G4X(pipe), PIPE_DATA_N_G4X(pipe),
PIPE_LINK_M_G4X(pipe), PIPE_LINK_N_G4X(pipe));
+
+ bmg_enhanced_tgdda_read(crtc, transcoder, m_n);
}
void intel_cpu_transcoder_get_m2_n2(struct intel_crtc *crtc,
@@ -5002,7 +5080,8 @@ intel_compare_link_m_n(const struct intel_link_m_n *m_n,
m_n->data_m == m2_n2->data_m &&
m_n->data_n == m2_n2->data_n &&
m_n->link_m == m2_n2->link_m &&
- m_n->link_n == m2_n2->link_n;
+ m_n->link_n == m2_n2->link_n &&
+ m_n->bypass_m_n_ratio_limit == m2_n2->bypass_m_n_ratio_limit;
}
static bool
@@ -5277,18 +5356,20 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
if (!intel_compare_link_m_n(¤t_config->name, \
&pipe_config->name)) { \
pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
- "(expected tu %i data %i/%i link %i/%i, " \
- "found tu %i, data %i/%i link %i/%i)", \
+ "(expected tu %i data %i/%i link %i/%i m_n_bypass %s, " \
+ "found tu %i, data %i/%i link %i/%i m_n_bypass %s)", \
current_config->name.tu, \
current_config->name.data_m, \
current_config->name.data_n, \
current_config->name.link_m, \
current_config->name.link_n, \
+ str_yes_no(current_config->name.bypass_m_n_ratio_limit), \
pipe_config->name.tu, \
pipe_config->name.data_m, \
pipe_config->name.data_n, \
pipe_config->name.link_m, \
- pipe_config->name.link_n); \
+ pipe_config->name.link_n, \
+ str_yes_no(pipe_config->name.bypass_m_n_ratio_limit)); \
ret = false; \
} \
} while (0)
@@ -5436,6 +5517,8 @@ intel_pipe_config_compare(const struct intel_crtc_state *current_config,
PIPE_CONF_CHECK_M_N(dp_m2_n2);
}
+ PIPE_CONF_CHECK_BOOL(dp_m_n.bypass_m_n_ratio_limit);
+
PIPE_CONF_CHECK_X(output_types);
PIPE_CONF_CHECK_I(framestart_delay);
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index 404168f4213b..55e676655120 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -525,5 +525,7 @@ bool intel_scanout_needs_vtd_wa(struct intel_display *display);
int intel_crtc_num_joined_pipes(const struct intel_crtc_state *crtc_state);
void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
int pixel_clock, int link_symbol_clock);
+bool intel_display_can_bypass_m_n_limit(struct intel_display *display,
+ int m_n_ratio, enum pipe pipe);
#endif
diff --git a/drivers/gpu/drm/i915/display/intel_display_regs.h b/drivers/gpu/drm/i915/display/intel_display_regs.h
index 57f388c958b4..81f9661357b6 100644
--- a/drivers/gpu/drm/i915/display/intel_display_regs.h
+++ b/drivers/gpu/drm/i915/display/intel_display_regs.h
@@ -550,6 +550,11 @@
#define _TRANS_MULT_B 0x6102c
#define TRANS_MULT(dev_priv, trans) _MMIO_TRANS2(dev_priv, (trans), _TRANS_MULT_A)
+#define _HDMI_EMP_DATA_A 0x600d8
+#define _HDMI_EMP_DATA_B 0x610d8
+#define HDMI_EMP_DATA_LINK_M_FRAC_MASK REG_GENMASK(23, 0)
+#define HDMI_EMP_DATA(display, trans) _MMIO_TRANS2((display), (trans), _HDMI_EMP_DATA_A)
+
/* Hotplug control (945+ only) */
#define PORT_HOTPLUG_EN(dev_priv) _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61110)
#define PORTB_HOTPLUG_INT_EN (1 << 29)
@@ -1192,6 +1197,10 @@
#define _PIPEB_LINK_N1 0x61044
#define PIPE_LINK_N1_EXTENDED_MASK REG_GENMASK(31, 24)
#define PIPE_LINK_N1_EXTENDED(val) REG_FIELD_PREP(PIPE_LINK_N1_EXTENDED_MASK, (val))
+#define PIPE_LINK_N1_EXT_CEIL_MASK REG_GENMASK(7, 4)
+#define PIPE_LINK_N1_EXT_CEIL(val) REG_FIELD_PREP(PIPE_LINK_N1_EXT_CEIL_MASK, (val))
+#define PIPE_LINK_N1_EXT_INT_MASK REG_GENMASK(3, 0)
+#define PIPE_LINK_N1_EXT_INT(val) REG_FIELD_PREP(PIPE_LINK_N1_EXT_INT_MASK, (val))
#define PIPE_LINK_N1(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran, _PIPEA_LINK_N1)
#define _PIPEA_LINK_M2 0x60048
@@ -1710,6 +1719,7 @@
#define PSR2_ADD_VERTICAL_LINE_COUNT REG_BIT(15)
#define DP_FEC_BS_JITTER_WA REG_BIT(15)
#define PSR2_VSC_ENABLE_PROG_HEADER REG_BIT(12)
+#define DP_ENHANCED_TGDDA_ENABLE REG_BIT(11)
#define DP_DSC_INSERT_SF_AT_EOL_WA REG_BIT(4)
#define HDCP_LINE_REKEY_DISABLE REG_BIT(0)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index a5f18ac8a7d0..7a5286db977e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -985,6 +985,8 @@ struct intel_link_m_n {
u32 data_n;
u32 link_m;
u32 link_n;
+ /* Wa_14021768792 for linkm/n ratio > 10 */
+ bool bypass_m_n_ratio_limit;
};
struct intel_csc_matrix {
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 08/10] drm/i915/display: Implement Wa_14021768792 for BMG DP for link_m/n ratio > 10
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (6 preceding siblings ...)
2026-09-17 5:06 ` [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10 Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-10-15 20:24 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 09/10] drm/i915/dp: Extend intel_dp_can_support_m_n() for BMG M/N bypass Suraj Kandpal
` (3 subsequent siblings)
11 siblings, 1 reply; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Handle the bypass logic for the M/N ratio limit for DP.
Calculate the M/N ratio, check if it can bypass the limit, and set the
appropriate flags for the workaround.
v2:
-Restrict the workaround to 128b/132b links.
-Clear bypass_m_n_ratio_limit on entry, so a rejected link rate cannot
leave it set for the rate that gets used. (Sashiko)
Bspec: 49266
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 31 +++++++++++++++++++++----
1 file changed, 26 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index fbfc00101886..9c327008b733 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -3373,6 +3373,9 @@ static bool can_enable_drrs(struct intel_connector *connector,
if (pipe_config->vrr.enable)
return false;
+ if (pipe_config->dp_m_n.bypass_m_n_ratio_limit)
+ return false;
+
/*
* DRRS and PSR can't be enable together, so giving preference to PSR
* as it allows more power-savings by complete shutting down display,
@@ -3397,18 +3400,35 @@ void intel_dp_check_m_n_ratio(struct intel_crtc_state *crtc_state,
struct intel_link_m_n *m_n)
{
struct intel_display *display = to_intel_display(crtc_state);
+ struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
int max_m_n_ratio = intel_dp_get_max_m_n_ratio(display);
int m_n_ratio;
- if (!m_n || !m_n->link_n)
+ if (!m_n)
+ return;
+
+ m_n->bypass_m_n_ratio_limit = false;
+
+ if (!m_n->link_n)
return;
m_n_ratio = DIV_ROUND_UP(m_n->link_m, m_n->link_n);
- if (m_n_ratio > max_m_n_ratio)
+ if (m_n_ratio <= max_m_n_ratio)
+ return;
+
+ if (intel_dp_is_uhbr(crtc_state) &&
+ intel_display_can_bypass_m_n_limit(display, m_n_ratio, crtc->pipe)) {
+ m_n->bypass_m_n_ratio_limit = true;
drm_dbg_kms(display->drm,
- "Link M/N ratio (%d) exceeds max allowed (%d)\n",
- m_n_ratio, max_m_n_ratio);
+ "Bypassing Link_m/Link_n ratio limit (ratio %d)\n",
+ m_n_ratio);
+ return;
+ }
+
+ drm_dbg_kms(display->drm,
+ "Link M/N ratio (%d) exceeds max allowed (%d)\n",
+ m_n_ratio, max_m_n_ratio);
}
static void
@@ -3425,7 +3445,8 @@ intel_dp_drrs_compute_config(struct intel_connector *connector,
* FIXME all joined pipes share the same transcoder.
* Need to account for that when updating M/N live.
*/
- if (has_seamless_m_n(connector) && !pipe_config->joiner_pipes)
+ if (has_seamless_m_n(connector) && !pipe_config->joiner_pipes &&
+ !pipe_config->dp_m_n.bypass_m_n_ratio_limit)
pipe_config->update_m_n = true;
if (!can_enable_drrs(connector, pipe_config, downclock_mode)) {
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 09/10] drm/i915/dp: Extend intel_dp_can_support_m_n() for BMG M/N bypass
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (7 preceding siblings ...)
2026-09-17 5:06 ` [PATCH v4 08/10] drm/i915/display: Implement Wa_14021768792 for BMG DP for link_m/n " Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-09-17 5:06 ` [PATCH v4 10/10] drm/i915/dp: Bump the max Link M/N ratio to 22 for DISPLAY_VER >= 35 Suraj Kandpal
` (2 subsequent siblings)
11 siblings, 0 replies; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
On BMG platforms, the standard M/N ratio limit of 10 can be bypassed
under specific conditions, as permitted by hardware capabilities.
Modify the helper intel_dp_can_support_m_n() to account for this by
checking whether the platform supports bypassing the limit. The
workaround is only intended for 128b/132b links, so restrict it to
those.
During the mode_valid phase, the check assumes that PIPE_A will be used,
to allow the mode where the M/N ratio is within the limits for the
workaround.
v2:
-Keep the helper static: the MST mode_valid now goes through the shared
intel_dp_mode_valid_m_n() rather than calling it directly, so it no
longer needs to be exported.
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 9c327008b733..9af525e9b58d 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1277,9 +1277,11 @@ intel_dp_get_max_m_n_ratio(struct intel_display *display)
static bool
intel_dp_can_support_m_n(struct intel_display *display,
+ const struct intel_crtc_state *crtc_state,
int pixel_clock, int link_rate)
{
int max_m_n_ratio = intel_dp_get_max_m_n_ratio(display);
+ enum pipe pipe = PIPE_A;
u32 link_m, link_n;
int m_n_ratio;
@@ -1291,7 +1293,16 @@ intel_dp_can_support_m_n(struct intel_display *display,
m_n_ratio = DIV_ROUND_UP(link_m, link_n);
- return m_n_ratio <= max_m_n_ratio;
+ if (m_n_ratio <= max_m_n_ratio)
+ return true;
+
+ if (!drm_dp_is_uhbr_rate(link_rate))
+ return false;
+
+ if (crtc_state)
+ pipe = to_intel_crtc(crtc_state->uapi.crtc)->pipe;
+
+ return intel_display_can_bypass_m_n_limit(display, m_n_ratio, pipe);
}
static int intel_dp_mso_pixel_clock(struct intel_dp *intel_dp, int pixel_clock)
@@ -1352,7 +1363,7 @@ bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int pixel_clock)
intel_dp_link_caps_iter_start(&iter, intel_dp->link.caps, order,
INTEL_DP_LINK_CAPS_FILTER_ALL);
for_each_dp_link_config(&iter, &link_config) {
- if (intel_dp_can_support_m_n(display, m_n_pixel_clock,
+ if (intel_dp_can_support_m_n(display, NULL, m_n_pixel_clock,
link_config.rate)) {
found = true;
@@ -2741,7 +2752,8 @@ intel_dp_compute_m_n_ratio_limits(struct intel_dp *intel_dp,
intel_dp_link_caps_iter_start(&iter, link_caps, order, limits->link_config_filter);
for_each_dp_link_config(&iter, &link_config) {
- if (!intel_dp_can_support_m_n(display, pixel_clock, link_config.rate))
+ if (!intel_dp_can_support_m_n(display, crtc_state, pixel_clock,
+ link_config.rate))
continue;
intel_dp_link_caps_filter_add(link_caps, &new_filter, &link_config);
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [PATCH v4 10/10] drm/i915/dp: Bump the max Link M/N ratio to 22 for DISPLAY_VER >= 35
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (8 preceding siblings ...)
2026-09-17 5:06 ` [PATCH v4 09/10] drm/i915/dp: Extend intel_dp_can_support_m_n() for BMG M/N bypass Suraj Kandpal
@ 2026-09-17 5:06 ` Suraj Kandpal
2026-09-17 5:57 ` ✓ i915.CI.BAT: success for Implement Wa_14021768792 to bypass m_n ratio limit (rev9) Patchwork
2026-09-17 9:09 ` ✓ i915.CI.Full: " Patchwork
11 siblings, 0 replies; 24+ messages in thread
From: Suraj Kandpal @ 2026-09-17 5:06 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: ankit.k.nautiyal, arun.r.murthy, Suraj Kandpal
Starting Xe3p max M/N ratio has been increased to 22.
Bspec: 68922
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
---
drivers/gpu/drm/i915/display/intel_dp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 9af525e9b58d..2f1b7e481d31 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1269,6 +1269,9 @@ bool intel_dp_has_dsc(const struct intel_connector *connector)
static int
intel_dp_get_max_m_n_ratio(struct intel_display *display)
{
+ if (DISPLAY_VER(display) >= 35)
+ return 22;
+
if (display->platform.dg2)
return 4;
--
2.34.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10
2026-09-17 5:06 ` [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10 Suraj Kandpal
@ 2026-09-17 5:19 ` sashiko-bot
2026-09-17 5:57 ` Kandpal, Suraj
2026-10-15 20:37 ` Golani, Mitulkumar Ajitkumar
1 sibling, 1 reply; 24+ messages in thread
From: sashiko-bot @ 2026-09-17 5:19 UTC (permalink / raw)
To: Suraj Kandpal; +Cc: intel-gfx, intel-xe
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] drm/i915/display: TGDDA workaround state leaks to HDMI modesets
--
commit 7ca764c5b58c7f2901c9b7de8005ba2561ae1426
Author: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10
To support a Link M/N ratio between 10.0 and 15.0, for some BMG
ultrajoiner cases we need Wa_14021768792.
To bypass the hardware limitation within the Timing Generator DDA
(TGDDA), we need to program the LINKM and LINKN registers as defined in
the WA. Along with this we also need the relevant bits in HDMI_EMP_DATA
and CHICKEN_TRANS.
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 6d2025e109956..1e9d8943626a7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
[ ... ]
> @@ -2738,6 +2749,26 @@ bool intel_cpu_transcoder_has_m2_n2(struct intel_display *display,
> return IS_DISPLAY_VER(display, 5, 7) || display->platform.cherryview;
> }
>
> +static void bmg_enhanced_tgdda_write(struct intel_crtc *crtc,
> + enum transcoder transcoder,
> + const struct intel_link_m_n *m_n)
> +{
> + struct intel_display *display = to_intel_display(crtc);
> + bool enable = m_n->bypass_m_n_ratio_limit && m_n->link_n;
> + u32 link_m_frac = enable ? m_n->link_m % m_n->link_n : 0;
> +
> + if (!intel_display_wa(display, INTEL_DISPLAY_WA_14021768792))
> + return;
> +
> + intel_de_rmw(display, HDMI_EMP_DATA(display, transcoder),
> + HDMI_EMP_DATA_LINK_M_FRAC_MASK,
> + REG_FIELD_PREP(HDMI_EMP_DATA_LINK_M_FRAC_MASK, link_m_frac));
> +
> + intel_de_rmw(display, CHICKEN_TRANS(display, transcoder),
> + DP_ENHANCED_TGDDA_ENABLE,
> + enable ? DP_ENHANCED_TGDDA_ENABLE : 0);
> +}
> +
> void intel_cpu_transcoder_set_m1_n1(struct intel_crtc *crtc,
> enum transcoder transcoder,
> const struct intel_link_m_n *m_n)
> @@ -2745,6 +2776,8 @@ void intel_cpu_transcoder_set_m1_n1(struct intel_crtc *crtc,
> struct intel_display *display = to_intel_display(crtc);
> enum pipe pipe = crtc->pipe;
>
> + bmg_enhanced_tgdda_write(crtc, transcoder, m_n);
> +
> if (DISPLAY_VER(display) >= 5)
[Severity: Medium]
The commit message states that CHICKEN_TRANS and HDMI_EMP_DATA "are explicitly
cleared when the mechanism is not in use, so that state cannot leak from a
previous modeset." Does this clearing logic work if the transcoder is repurposed
for HDMI?
The clearing logic is placed in bmg_enhanced_tgdda_write(), which is called
exclusively from intel_cpu_transcoder_set_m1_n1().
Looking at hsw_configure_cpu_transcoder(), intel_cpu_transcoder_set_m1_n1() is
only called for DP and FDI encoders:
} else if (intel_crtc_has_dp_encoder(crtc_state)) {
intel_cpu_transcoder_set_m1_n1(crtc, cpu_transcoder,
&crtc_state->dp_m_n);
intel_cpu_transcoder_set_m2_n2(crtc, cpu_transcoder,
&crtc_state->dp_m2_n2);
}
If a transcoder is first used for DisplayPort (triggering the workaround and
setting DP_ENHANCED_TGDDA_ENABLE) and subsequently repurposed for HDMI,
intel_cpu_transcoder_set_m1_n1() is completely skipped.
Will the Transcoder's Timing Generator DDA remain in the enhanced DP workaround
mode and potentially corrupt HDMI timings?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260917050649.871960-1-suraj.kandpal@intel.com?part=7
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10
2026-09-17 5:19 ` sashiko-bot
@ 2026-09-17 5:57 ` Kandpal, Suraj
0 siblings, 0 replies; 24+ messages in thread
From: Kandpal, Suraj @ 2026-09-17 5:57 UTC (permalink / raw)
To: sashiko-reviews@lists.linux.dev
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index 6d2025e109956..1e9d8943626a7 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> [ ... ]
> > @@ -2738,6 +2749,26 @@ bool intel_cpu_transcoder_has_m2_n2(struct
> intel_display *display,
> > return IS_DISPLAY_VER(display, 5, 7) ||
> > display->platform.cherryview; }
> >
> > +static void bmg_enhanced_tgdda_write(struct intel_crtc *crtc,
> > + enum transcoder transcoder,
> > + const struct intel_link_m_n *m_n) {
> > + struct intel_display *display = to_intel_display(crtc);
> > + bool enable = m_n->bypass_m_n_ratio_limit && m_n->link_n;
> > + u32 link_m_frac = enable ? m_n->link_m % m_n->link_n : 0;
> > +
> > + if (!intel_display_wa(display, INTEL_DISPLAY_WA_14021768792))
> > + return;
> > +
> > + intel_de_rmw(display, HDMI_EMP_DATA(display, transcoder),
> > + HDMI_EMP_DATA_LINK_M_FRAC_MASK,
> > + REG_FIELD_PREP(HDMI_EMP_DATA_LINK_M_FRAC_MASK,
> link_m_frac));
> > +
> > + intel_de_rmw(display, CHICKEN_TRANS(display, transcoder),
> > + DP_ENHANCED_TGDDA_ENABLE,
> > + enable ? DP_ENHANCED_TGDDA_ENABLE : 0); }
> > +
> > void intel_cpu_transcoder_set_m1_n1(struct intel_crtc *crtc,
> > enum transcoder transcoder,
> > const struct intel_link_m_n *m_n) @@ -
> 2745,6 +2776,8 @@ void
> > intel_cpu_transcoder_set_m1_n1(struct intel_crtc *crtc,
> > struct intel_display *display = to_intel_display(crtc);
> > enum pipe pipe = crtc->pipe;
> >
> > + bmg_enhanced_tgdda_write(crtc, transcoder, m_n);
> > +
> > if (DISPLAY_VER(display) >= 5)
>
> [Severity: Medium]
> The commit message states that CHICKEN_TRANS and HDMI_EMP_DATA "are
> explicitly cleared when the mechanism is not in use, so that state cannot leak
> from a previous modeset." Does this clearing logic work if the transcoder is
> repurposed for HDMI?
>
> The clearing logic is placed in bmg_enhanced_tgdda_write(), which is called
> exclusively from intel_cpu_transcoder_set_m1_n1().
>
> Looking at hsw_configure_cpu_transcoder(),
> intel_cpu_transcoder_set_m1_n1() is only called for DP and FDI encoders:
>
> } else if (intel_crtc_has_dp_encoder(crtc_state)) {
> intel_cpu_transcoder_set_m1_n1(crtc, cpu_transcoder,
> &crtc_state->dp_m_n);
> intel_cpu_transcoder_set_m2_n2(crtc, cpu_transcoder,
> &crtc_state->dp_m2_n2);
> }
>
> If a transcoder is first used for DisplayPort (triggering the workaround and
> setting DP_ENHANCED_TGDDA_ENABLE) and subsequently repurposed for
> HDMI,
> intel_cpu_transcoder_set_m1_n1() is completely skipped.
>
> Will the Transcoder's Timing Generator DDA remain in the enhanced DP
> workaround mode and potentially corrupt HDMI timings?
>
Nothing to corrupt though. Bit 11 is only applicable to the DP transcoder, and
HDMI_EMP_DATA only matters when EMP transmission is enabled via HDMI_EMP_CTL,
which we never do - there's no FRL/EMP support in the driver.
It isn't observable in software either, intel_cpu_transcoder_get_m1_n1() is only
called from the DP and DP MST readout paths, so a stale bit never reaches the
crtc state. And the next DP modeset on that transcoder clears it anyway.
Regards,
Suraj Kandpal
> --
> Sashiko AI review · https://sashiko.dev/#/patchset/20260917050649.871960-1-
> suraj.kandpal@intel.com?part=7
^ permalink raw reply [flat|nested] 24+ messages in thread
* ✓ i915.CI.BAT: success for Implement Wa_14021768792 to bypass m_n ratio limit (rev9)
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (9 preceding siblings ...)
2026-09-17 5:06 ` [PATCH v4 10/10] drm/i915/dp: Bump the max Link M/N ratio to 22 for DISPLAY_VER >= 35 Suraj Kandpal
@ 2026-09-17 5:57 ` Patchwork
2026-09-17 9:09 ` ✓ i915.CI.Full: " Patchwork
11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-09-17 5:57 UTC (permalink / raw)
To: Nautiyal, Ankit K; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 1387 bytes --]
== Series Details ==
Series: Implement Wa_14021768792 to bypass m_n ratio limit (rev9)
URL : https://patchwork.freedesktop.org/series/138257/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_19156 -> Patchwork_138257v9
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/index.html
Participating hosts (38 -> 37)
------------------------------
Missing (1): bat-dg2-13
Known issues
------------
Here are the changes found in Patchwork_138257v9 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@runner@aborted:
- bat-mtlp-8: NOTRUN -> [FAIL][1] ([i915#16945])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/bat-mtlp-8/igt@runner@aborted.html
[i915#16945]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16945
Build changes
-------------
* Linux: CI_DRM_19156 -> Patchwork_138257v9
CI-20190529: 20190529
CI_DRM_19156: bb38af66c2f21340a7c081afbb7ace249357fbb5 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_9099: 9099
Patchwork_138257v9: bb38af66c2f21340a7c081afbb7ace249357fbb5 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/index.html
[-- Attachment #2: Type: text/html, Size: 1971 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* ✓ i915.CI.Full: success for Implement Wa_14021768792 to bypass m_n ratio limit (rev9)
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
` (10 preceding siblings ...)
2026-09-17 5:57 ` ✓ i915.CI.BAT: success for Implement Wa_14021768792 to bypass m_n ratio limit (rev9) Patchwork
@ 2026-09-17 9:09 ` Patchwork
11 siblings, 0 replies; 24+ messages in thread
From: Patchwork @ 2026-09-17 9:09 UTC (permalink / raw)
To: Nautiyal, Ankit K; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 126003 bytes --]
== Series Details ==
Series: Implement Wa_14021768792 to bypass m_n ratio limit (rev9)
URL : https://patchwork.freedesktop.org/series/138257/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_19156_full -> Patchwork_138257v9_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (11 -> 10)
------------------------------
Missing (1): pig-kbl-iris
New tests
---------
New tests have been introduced between CI_DRM_19156_full and Patchwork_138257v9_full:
### New IGT tests (1) ###
* igt@kms_properties@connector-properties-legacy@pipe-a-vga-1:
- Statuses : 1 pass(s)
- Exec time: [0.23] s
Known issues
------------
Here are the changes found in Patchwork_138257v9_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@blit-reloc-keep-cache:
- shard-rkl: NOTRUN -> [SKIP][1] ([i915#8411])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@api_intel_bb@blit-reloc-keep-cache.html
* igt@api_intel_bb@crc32:
- shard-rkl: NOTRUN -> [SKIP][2] ([i915#6230])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@api_intel_bb@crc32.html
* igt@api_intel_bb@object-reloc-purge-cache:
- shard-dg1: NOTRUN -> [SKIP][3] ([i915#8411])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@api_intel_bb@object-reloc-purge-cache.html
* igt@device_reset@cold-reset-bound:
- shard-dg1: NOTRUN -> [SKIP][4] ([i915#11078])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@device_reset@cold-reset-bound.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-tglu: NOTRUN -> [SKIP][5] ([i915#3555] / [i915#9323])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_ccs@large-ctrl-surf-copy:
- shard-dg1: NOTRUN -> [SKIP][6] ([i915#13008])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@gem_ccs@large-ctrl-surf-copy.html
* igt@gem_ccs@suspend-resume:
- shard-dg2: [PASS][7] -> [INCOMPLETE][8] ([i915#13356] / [i915#16348]) +1 other test incomplete
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg2-1/igt@gem_ccs@suspend-resume.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-1/igt@gem_ccs@suspend-resume.html
- shard-tglu: NOTRUN -> [SKIP][9] ([i915#9323])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@gem_ccs@suspend-resume.html
- shard-mtlp: NOTRUN -> [SKIP][10] ([i915#9323])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@gem_ccs@suspend-resume.html
* igt@gem_create@create-ext-cpu-access-big:
- shard-tglu-1: NOTRUN -> [SKIP][11] ([i915#6335])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@gem_create@create-ext-cpu-access-big.html
* igt@gem_ctx_persistence@engines-persistence:
- shard-snb: NOTRUN -> [SKIP][12] ([i915#1099]) +4 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-snb1/igt@gem_ctx_persistence@engines-persistence.html
* igt@gem_ctx_persistence@heartbeat-many:
- shard-dg1: NOTRUN -> [SKIP][13] ([i915#8555]) +1 other test skip
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@gem_ctx_persistence@heartbeat-many.html
* igt@gem_ctx_persistence@saturated-hostile-nopreempt@vcs1:
- shard-mtlp: NOTRUN -> [SKIP][14] ([i915#5882]) +6 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@gem_ctx_persistence@saturated-hostile-nopreempt@vcs1.html
* igt@gem_ctx_sseu@engines:
- shard-rkl: NOTRUN -> [SKIP][15] ([i915#280])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@gem_ctx_sseu@engines.html
* igt@gem_eio@unwedge-stress@blt:
- shard-mtlp: NOTRUN -> [SKIP][16] ([i915#15314]) +1 other test skip
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@gem_eio@unwedge-stress@blt.html
* igt@gem_exec_balancer@invalid-bonds:
- shard-dg1: NOTRUN -> [SKIP][17] ([i915#4036])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@gem_exec_balancer@invalid-bonds.html
* igt@gem_exec_balancer@noheartbeat:
- shard-dg2: NOTRUN -> [SKIP][18] ([i915#8555])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@gem_exec_balancer@noheartbeat.html
* igt@gem_exec_balancer@parallel-balancer:
- shard-rkl: NOTRUN -> [SKIP][19] ([i915#4525])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@gem_exec_balancer@parallel-balancer.html
* igt@gem_exec_capture@capture-invisible@lmem0:
- shard-dg2: NOTRUN -> [SKIP][20] ([i915#6334]) +2 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@gem_exec_capture@capture-invisible@lmem0.html
* igt@gem_exec_fence@submit:
- shard-dg1: NOTRUN -> [SKIP][21] ([i915#4812])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@gem_exec_fence@submit.html
* igt@gem_exec_flush@basic-batch-kernel-default-wb:
- shard-dg1: NOTRUN -> [SKIP][22] ([i915#3539] / [i915#4852])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@gem_exec_flush@basic-batch-kernel-default-wb.html
* igt@gem_exec_reloc@basic-cpu-active:
- shard-mtlp: NOTRUN -> [SKIP][23] ([i915#3281]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@gem_exec_reloc@basic-cpu-active.html
* igt@gem_exec_reloc@basic-range-active:
- shard-dg2: NOTRUN -> [SKIP][24] ([i915#3281]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@gem_exec_reloc@basic-range-active.html
* igt@gem_exec_reloc@basic-wc-cpu-noreloc:
- shard-dg1: NOTRUN -> [SKIP][25] ([i915#3281]) +6 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@gem_exec_reloc@basic-wc-cpu-noreloc.html
* igt@gem_exec_reloc@basic-write-read:
- shard-rkl: NOTRUN -> [SKIP][26] ([i915#3281]) +6 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@gem_exec_reloc@basic-write-read.html
* igt@gem_fenced_exec_thrash@too-many-fences:
- shard-dg1: NOTRUN -> [SKIP][27] ([i915#4860])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@gem_fenced_exec_thrash@too-many-fences.html
* igt@gem_huc_copy@huc-copy:
- shard-rkl: NOTRUN -> [SKIP][28] ([i915#2190])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@massive-random:
- shard-glk: NOTRUN -> [SKIP][29] ([i915#4613]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk2/igt@gem_lmem_swapping@massive-random.html
* igt@gem_lmem_swapping@parallel-multi:
- shard-tglu-1: NOTRUN -> [SKIP][30] ([i915#4613]) +2 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@gem_lmem_swapping@parallel-multi.html
* igt@gem_lmem_swapping@parallel-random-verify-ccs:
- shard-rkl: NOTRUN -> [SKIP][31] ([i915#4613]) +2 other tests skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-8/igt@gem_lmem_swapping@parallel-random-verify-ccs.html
* igt@gem_lmem_swapping@verify-random-ccs:
- shard-dg1: NOTRUN -> [SKIP][32] ([i915#12193])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@gem_lmem_swapping@verify-random-ccs.html
* igt@gem_lmem_swapping@verify-random-ccs@lmem0:
- shard-dg1: NOTRUN -> [SKIP][33] ([i915#4565])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@gem_lmem_swapping@verify-random-ccs@lmem0.html
* igt@gem_media_vme:
- shard-tglu: NOTRUN -> [SKIP][34] ([i915#284])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@gem_media_vme.html
* igt@gem_mmap_gtt@cpuset-basic-small-copy-odd:
- shard-mtlp: NOTRUN -> [SKIP][35] ([i915#4077]) +1 other test skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@gem_mmap_gtt@cpuset-basic-small-copy-odd.html
* igt@gem_mmap_gtt@fault-concurrent-y:
- shard-dg1: NOTRUN -> [SKIP][36] ([i915#4077]) +5 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@gem_mmap_gtt@fault-concurrent-y.html
* igt@gem_mmap_wc@bad-offset:
- shard-dg2: NOTRUN -> [SKIP][37] ([i915#4083]) +1 other test skip
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@gem_mmap_wc@bad-offset.html
* igt@gem_mmap_wc@write-wc-read-gtt:
- shard-dg1: NOTRUN -> [SKIP][38] ([i915#4083])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@gem_mmap_wc@write-wc-read-gtt.html
* igt@gem_pread@exhaustion:
- shard-tglu: NOTRUN -> [WARN][39] ([i915#2658])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@gem_pread@exhaustion.html
* igt@gem_pread@self:
- shard-rkl: NOTRUN -> [SKIP][40] ([i915#3282])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@gem_pread@self.html
* igt@gem_pwrite@basic-exhaustion:
- shard-glk: NOTRUN -> [WARN][41] ([i915#14702] / [i915#2658])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk6/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@reject-modify-context-protection-off-3:
- shard-dg1: NOTRUN -> [SKIP][42] ([i915#4270]) +2 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@gem_pxp@reject-modify-context-protection-off-3.html
* igt@gem_pxp@verify-pxp-stale-ctx-execution:
- shard-glk11: NOTRUN -> [SKIP][43] +76 other tests skip
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk11/igt@gem_pxp@verify-pxp-stale-ctx-execution.html
* igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
- shard-mtlp: NOTRUN -> [SKIP][44] ([i915#8428])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled.html
* igt@gem_softpin@evict-snoop:
- shard-dg2: NOTRUN -> [SKIP][45] ([i915#4885])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@gem_softpin@evict-snoop.html
* igt@gem_tiled_pread_basic@basic:
- shard-mtlp: NOTRUN -> [SKIP][46] ([i915#15657])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@gem_tiled_pread_basic@basic.html
* igt@gem_userptr_blits@access-control:
- shard-dg2: NOTRUN -> [SKIP][47] ([i915#3297])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@gem_userptr_blits@access-control.html
* igt@gem_userptr_blits@readonly-pwrite-unsync:
- shard-tglu-1: NOTRUN -> [SKIP][48] ([i915#3297]) +1 other test skip
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@gem_userptr_blits@readonly-pwrite-unsync.html
* igt@gem_userptr_blits@unsync-overlap:
- shard-rkl: NOTRUN -> [SKIP][49] ([i915#3297])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@gem_userptr_blits@unsync-overlap.html
* igt@gem_workarounds@suspend-resume:
- shard-glk: NOTRUN -> [INCOMPLETE][50] ([i915#13356] / [i915#14586])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk1/igt@gem_workarounds@suspend-resume.html
* igt@gen9_exec_parse@allowed-all:
- shard-rkl: NOTRUN -> [SKIP][51] ([i915#2527]) +1 other test skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@basic-rejected-ctx-param:
- shard-snb: NOTRUN -> [SKIP][52] +414 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-snb7/igt@gen9_exec_parse@basic-rejected-ctx-param.html
* igt@gen9_exec_parse@batch-without-end:
- shard-tglu: NOTRUN -> [SKIP][53] ([i915#2527] / [i915#2856]) +1 other test skip
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@gen9_exec_parse@batch-without-end.html
* igt@gen9_exec_parse@bb-start-out:
- shard-dg1: NOTRUN -> [SKIP][54] ([i915#2527])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@gen9_exec_parse@bb-start-out.html
* igt@gen9_exec_parse@shadow-peek:
- shard-tglu-1: NOTRUN -> [SKIP][55] ([i915#2527] / [i915#2856]) +1 other test skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@gen9_exec_parse@shadow-peek.html
* igt@gpu_buddy@gpu_buddy:
- shard-dg1: NOTRUN -> [SKIP][56] ([i915#15678])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@gpu_buddy@gpu_buddy.html
* igt@i915_drm_fdinfo@all-busy-check-all:
- shard-dg1: NOTRUN -> [SKIP][57] ([i915#14123])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@i915_drm_fdinfo@all-busy-check-all.html
* igt@i915_drm_fdinfo@virtual-busy:
- shard-mtlp: NOTRUN -> [SKIP][58] ([i915#14118])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@i915_drm_fdinfo@virtual-busy.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-rkl: NOTRUN -> [SKIP][59] ([i915#14498])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@i915_power@sanity:
- shard-mtlp: [PASS][60] -> [SKIP][61] ([i915#7984])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-mtlp-4/igt@i915_power@sanity.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-8/igt@i915_power@sanity.html
* igt@i915_query@query-topology-known-pci-ids:
- shard-tglu: NOTRUN -> [SKIP][62] ([i915#16109])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@i915_query@query-topology-known-pci-ids.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-tglu-1: NOTRUN -> [INCOMPLETE][63] ([i915#4817] / [i915#7443])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@i915_suspend@basic-s3-without-i915.html
* igt@i915_suspend@forcewake:
- shard-rkl: NOTRUN -> [INCOMPLETE][64] ([i915#4817])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@i915_suspend@forcewake.html
* igt@kms_async_flips@alternate-sync-async-flip-atomic:
- shard-dg2: [PASS][65] -> [FAIL][66] ([i915#14888]) +1 other test fail
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg2-3/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-6/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
- shard-dg1: [PASS][67] -> [FAIL][68] ([i915#14888]) +1 other test fail
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg1-15/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
* igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-hdmi-a-2:
- shard-glk: [PASS][69] -> [FAIL][70] ([i915#14888])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-glk3/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-hdmi-a-2.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk1/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-c-hdmi-a-2.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-tglu: NOTRUN -> [SKIP][71] ([i915#1769] / [i915#3555])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-16bpp-rotate-180:
- shard-tglu-1: NOTRUN -> [SKIP][72] ([i915#5286])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_big_fb@4-tiled-16bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-270:
- shard-dg2: NOTRUN -> [SKIP][73]
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-0:
- shard-rkl: NOTRUN -> [SKIP][74] ([i915#5286]) +2 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0:
- shard-dg1: NOTRUN -> [SKIP][75] ([i915#4538] / [i915#5286]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-tglu: NOTRUN -> [SKIP][76] ([i915#5286]) +3 other tests skip
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-mtlp: [PASS][77] -> [FAIL][78] ([i915#15733] / [i915#5138])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@linear-16bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][79] ([i915#3638]) +1 other test skip
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_big_fb@linear-16bpp-rotate-90.html
* igt@kms_big_fb@linear-64bpp-rotate-270:
- shard-mtlp: NOTRUN -> [SKIP][80] +4 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_big_fb@linear-64bpp-rotate-270.html
* igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip:
- shard-rkl: NOTRUN -> [SKIP][81] ([i915#3828])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-8/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][82] ([i915#3638]) +2 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_big_fb@y-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-270:
- shard-dg2: NOTRUN -> [SKIP][83] ([i915#4538] / [i915#5190])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_big_fb@yf-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-90:
- shard-dg1: NOTRUN -> [SKIP][84] ([i915#4538]) +1 other test skip
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
- shard-rkl: NOTRUN -> [SKIP][85] +44 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-8/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][86] ([i915#14544] / [i915#6095]) +7 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][87] ([i915#6095]) +170 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-17/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-4.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][88] ([i915#6095]) +24 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][89] ([i915#14098] / [i915#6095]) +34 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_ccs@bad-rotation-90-y-tiled-gen12-mc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-mtlp: NOTRUN -> [SKIP][90] ([i915#12313])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][91] ([i915#12313])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
- shard-rkl: NOTRUN -> [SKIP][92] ([i915#12313])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-1:
- shard-glk10: NOTRUN -> [SKIP][93] +114 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk10/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][94] ([i915#6095]) +55 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs:
- shard-dg1: NOTRUN -> [SKIP][95] ([i915#12805])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][96] ([i915#6095]) +49 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1:
- shard-glk11: NOTRUN -> [INCOMPLETE][97] ([i915#15582]) +1 other test incomplete
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk11/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][98] ([i915#14098] / [i915#14544] / [i915#6095]) +4 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][99] ([i915#10307] / [i915#6095]) +51 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][100] ([i915#10307] / [i915#10434] / [i915#6095])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][101] ([i915#6095]) +19 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-edp-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
- shard-dg1: NOTRUN -> [SKIP][102] ([i915#12313])
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
- shard-tglu: NOTRUN -> [SKIP][103] ([i915#12313]) +2 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
* igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][104] ([i915#17016]) +3 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-7/igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3.html
* igt@kms_chamelium_audio@dp-audio-after-suspend:
- shard-tglu-1: NOTRUN -> [SKIP][105] ([i915#11151])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_chamelium_audio@dp-audio-after-suspend.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d:
- shard-tglu: NOTRUN -> [SKIP][106] ([i915#16471])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html
- shard-mtlp: NOTRUN -> [SKIP][107] ([i915#16464] / [i915#16471])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-lut1d:
- shard-rkl: NOTRUN -> [SKIP][108] ([i915#16471])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_chamelium_color_pipeline@plane-lut1d-lut1d.html
* igt@kms_chamelium_color_pipeline@plane-lut3d-green-only:
- shard-tglu-1: NOTRUN -> [SKIP][109] ([i915#16471])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_chamelium_color_pipeline@plane-lut3d-green-only.html
* igt@kms_chamelium_frames@dp-crc-single:
- shard-tglu-1: NOTRUN -> [SKIP][110] ([i915#11151] / [i915#7828]) +3 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_chamelium_frames@dp-crc-single.html
* igt@kms_chamelium_frames@dp-frame-dump:
- shard-rkl: NOTRUN -> [SKIP][111] ([i915#11151] / [i915#14544] / [i915#7828])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_chamelium_frames@dp-frame-dump.html
- shard-dg1: NOTRUN -> [SKIP][112] ([i915#11151] / [i915#7828]) +2 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_chamelium_frames@dp-frame-dump.html
* igt@kms_chamelium_frames@hdmi-crc-fast:
- shard-rkl: NOTRUN -> [SKIP][113] ([i915#11151] / [i915#7828]) +3 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_chamelium_frames@hdmi-crc-fast.html
* igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode:
- shard-tglu: NOTRUN -> [SKIP][114] ([i915#11151] / [i915#7828]) +4 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html
* igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode:
- shard-mtlp: NOTRUN -> [SKIP][115] ([i915#11151] / [i915#7828])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html
* igt@kms_chamelium_hpd@hdmi-hpd-fast:
- shard-dg2: NOTRUN -> [SKIP][116] ([i915#11151] / [i915#7828]) +1 other test skip
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
* igt@kms_color_pipeline@plane-ctm3x4@pipe-a-plane-4:
- shard-rkl: NOTRUN -> [SKIP][117] ([i915#16990]) +5 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_color_pipeline@plane-ctm3x4@pipe-a-plane-4.html
* igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-b-plane-3:
- shard-tglu: NOTRUN -> [SKIP][118] ([i915#16990]) +15 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_color_pipeline@plane-lut1d-lut1d@pipe-b-plane-3.html
* igt@kms_color_pipeline@plane-lut1d-pre-ctm3x4@pipe-d-plane-4:
- shard-dg1: NOTRUN -> [SKIP][119] ([i915#16990]) +15 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_color_pipeline@plane-lut1d-pre-ctm3x4@pipe-d-plane-4.html
* igt@kms_content_protection@atomic:
- shard-dg1: NOTRUN -> [SKIP][120] ([i915#15865])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@content-type-change:
- shard-rkl: NOTRUN -> [SKIP][121] ([i915#15865]) +2 other tests skip
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_content_protection@content-type-change.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-tglu: NOTRUN -> [SKIP][122] ([i915#15330] / [i915#3116] / [i915#3299])
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_content_protection@dp-mst-lic-type-0.html
- shard-mtlp: NOTRUN -> [SKIP][123] ([i915#15330] / [i915#3299])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@dp-mst-lic-type-0-hdcp14:
- shard-rkl: NOTRUN -> [SKIP][124] ([i915#15330])
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_content_protection@dp-mst-lic-type-0-hdcp14.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-tglu-1: NOTRUN -> [SKIP][125] ([i915#15330] / [i915#3116] / [i915#3299])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_content_protection@lic-type-0:
- shard-tglu: NOTRUN -> [SKIP][126] ([i915#15865]) +2 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_content_protection@lic-type-0.html
* igt@kms_content_protection@mei-interface:
- shard-mtlp: NOTRUN -> [SKIP][127] ([i915#8063] / [i915#9433])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_content_protection@mei-interface.html
* igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [FAIL][128] ([i915#13566]) +1 other test fail
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-8/igt@kms_cursor_crc@cursor-onscreen-256x85@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- shard-tglu-1: NOTRUN -> [SKIP][129] ([i915#3555]) +2 other tests skip
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-32x32.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-tglu: NOTRUN -> [SKIP][130] ([i915#13049])
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-dg2: NOTRUN -> [SKIP][131] ([i915#13049])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-dg1: NOTRUN -> [SKIP][132] ([i915#13049])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-random-64x21:
- shard-rkl: [PASS][133] -> [FAIL][134] ([i915#13566])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-8/igt@kms_cursor_crc@cursor-random-64x21.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_cursor_crc@cursor-random-64x21.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x32:
- shard-rkl: NOTRUN -> [SKIP][135] ([i915#3555]) +2 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
* igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [FAIL][136] ([i915#13566]) +1 other test fail
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html
* igt@kms_cursor_crc@cursor-sliding-32x32:
- shard-tglu: NOTRUN -> [SKIP][137] ([i915#3555]) +4 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_cursor_crc@cursor-sliding-32x32.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][138] ([i915#12358] / [i915#14152] / [i915#7882])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk2/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [INCOMPLETE][139] ([i915#12358] / [i915#14152])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk2/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic:
- shard-dg2: NOTRUN -> [SKIP][140] ([i915#13046] / [i915#5354])
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_cursor_legacy@2x-flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-tglu-1: NOTRUN -> [SKIP][141] ([i915#4103])
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dirtyfb@psr-dirtyfb-ioctl:
- shard-tglu: NOTRUN -> [SKIP][142] ([i915#9723])
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
* igt@kms_draw_crc@draw-method-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][143] ([i915#8812])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_draw_crc@draw-method-mmap-gtt.html
* igt@kms_dsc@dsc-with-bpc-bigjoiner:
- shard-tglu: NOTRUN -> [SKIP][144] ([i915#16361]) +2 other tests skip
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_dsc@dsc-with-bpc-bigjoiner.html
* igt@kms_dsc@dsc-with-formats-bigjoiner:
- shard-mtlp: NOTRUN -> [SKIP][145] ([i915#16361])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_dsc@dsc-with-formats-bigjoiner.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc-bigjoiner:
- shard-rkl: NOTRUN -> [SKIP][146] ([i915#16361])
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_dsc@dsc-with-output-formats-with-bpc-bigjoiner.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc-ultrajoiner:
- shard-dg1: NOTRUN -> [SKIP][147] ([i915#16361])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_dsc@dsc-with-output-formats-with-bpc-ultrajoiner.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-glk10: NOTRUN -> [INCOMPLETE][148] ([i915#9878])
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk10/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_fbcon_fbt@psr:
- shard-tglu-1: NOTRUN -> [SKIP][149] ([i915#16680])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_fbcon_fbt@psr.html
* igt@kms_feature_discovery@dsc:
- shard-rkl: NOTRUN -> [SKIP][150] ([i915#16600])
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_feature_discovery@dsc.html
* igt@kms_feature_discovery@hdr:
- shard-dg1: NOTRUN -> [SKIP][151] ([i915#16600])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_feature_discovery@hdr.html
- shard-tglu: NOTRUN -> [SKIP][152] ([i915#16600])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_feature_discovery@hdr.html
* igt@kms_feature_discovery@psr1:
- shard-dg1: NOTRUN -> [SKIP][153] ([i915#658])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-absolute-wf_vblank-interruptible:
- shard-dg2: NOTRUN -> [SKIP][154] ([i915#9934])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_flip@2x-absolute-wf_vblank-interruptible.html
* igt@kms_flip@2x-busy-flip:
- shard-tglu-1: NOTRUN -> [SKIP][155] ([i915#3637] / [i915#9934]) +1 other test skip
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_flip@2x-busy-flip.html
* igt@kms_flip@2x-flip-vs-fences:
- shard-mtlp: NOTRUN -> [SKIP][156] ([i915#8381])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_flip@2x-flip-vs-fences.html
* igt@kms_flip@2x-flip-vs-panning:
- shard-rkl: NOTRUN -> [SKIP][157] ([i915#9934]) +4 other tests skip
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_flip@2x-flip-vs-panning.html
* igt@kms_flip@2x-flip-vs-rmfb:
- shard-mtlp: NOTRUN -> [SKIP][158] ([i915#3637] / [i915#9934]) +1 other test skip
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_flip@2x-flip-vs-rmfb.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-glk: NOTRUN -> [INCOMPLETE][159] ([i915#12745] / [i915#4839]) +1 other test incomplete
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk6/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2:
- shard-glk: NOTRUN -> [INCOMPLETE][160] ([i915#12745]) +1 other test incomplete
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk6/igt@kms_flip@2x-flip-vs-suspend-interruptible@ac-hdmi-a1-hdmi-a2.html
* igt@kms_flip@2x-nonexisting-fb:
- shard-tglu: NOTRUN -> [SKIP][161] ([i915#3637] / [i915#9934]) +5 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_flip@2x-nonexisting-fb.html
* igt@kms_flip@2x-wf_vblank-ts-check:
- shard-dg1: NOTRUN -> [SKIP][162] ([i915#9934]) +3 other tests skip
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_flip@2x-wf_vblank-ts-check.html
* igt@kms_flip@flip-vs-expired-vblank:
- shard-glk: [PASS][163] -> [FAIL][164] ([i915#13027]) +1 other test fail
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-glk5/igt@kms_flip@flip-vs-expired-vblank.html
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk4/igt@kms_flip@flip-vs-expired-vblank.html
- shard-tglu: [PASS][165] -> [FAIL][166] ([i915#13027]) +1 other test fail
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-tglu-4/igt@kms_flip@flip-vs-expired-vblank.html
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-9/igt@kms_flip@flip-vs-expired-vblank.html
* igt@kms_flip@flip-vs-fences:
- shard-dg1: NOTRUN -> [SKIP][167] ([i915#8381])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_flip@flip-vs-fences.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-tglu: NOTRUN -> [SKIP][168] ([i915#15643]) +2 other tests skip
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-tglu-1: NOTRUN -> [SKIP][169] ([i915#15643])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
- shard-rkl: NOTRUN -> [SKIP][170] ([i915#15643]) +3 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
- shard-dg1: NOTRUN -> [SKIP][171] ([i915#15643]) +1 other test skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
- shard-mtlp: NOTRUN -> [SKIP][172] ([i915#15643])
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][173] ([i915#1825]) +4 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-rkl: NOTRUN -> [SKIP][174] ([i915#5439])
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
* igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-pwrite:
- shard-dg1: NOTRUN -> [SKIP][175] +32 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_frontbuffer_tracking@fbchdr-2p-primscrn-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-plflip-blt:
- shard-tglu: NOTRUN -> [SKIP][176] +72 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][177] ([i915#15989]) +1 other test skip
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-blt.html
* igt@kms_frontbuffer_tracking@fbchdr-suspend:
- shard-glk10: NOTRUN -> [INCOMPLETE][178] ([i915#16056] / [i915#16593])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk10/igt@kms_frontbuffer_tracking@fbchdr-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-wc:
- shard-dg1: NOTRUN -> [SKIP][179] ([i915#15104] / [i915#15990])
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt:
- shard-tglu: NOTRUN -> [SKIP][180] ([i915#15102]) +32 other tests skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][181] ([i915#15990] / [i915#8708])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff:
- shard-mtlp: NOTRUN -> [SKIP][182] ([i915#15991] / [i915#1825]) +6 other tests skip
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-tglu-1: NOTRUN -> [SKIP][183] ([i915#15102]) +16 other tests skip
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][184] ([i915#15990]) +1 other test skip
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-rkl: NOTRUN -> [SKIP][185] ([i915#14544] / [i915#15102]) +2 other tests skip
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-cpu.html
- shard-dg1: NOTRUN -> [SKIP][186] ([i915#15102]) +20 other tests skip
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-spr-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte:
- shard-mtlp: NOTRUN -> [SKIP][187] ([i915#15989]) +8 other tests skip
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][188] ([i915#15990]) +10 other tests skip
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-shrfb-plflip-blt:
- shard-tglu-1: NOTRUN -> [SKIP][189] +46 other tests skip
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-spr-indfb-draw-render:
- shard-rkl: NOTRUN -> [SKIP][190] ([i915#14544]) +1 other test skip
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-rgb101010-draw-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][191] ([i915#15102]) +3 other tests skip
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_frontbuffer_tracking@fbcpsrhdr-rgb101010-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-indfb-draw-blt:
- shard-tglu-1: NOTRUN -> [SKIP][192] ([i915#15989]) +9 other tests skip
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-blt:
- shard-glk: [PASS][193] -> [SKIP][194] +1 other test skip
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-glk8/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-blt.html
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk4/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-gtt:
- shard-tglu: NOTRUN -> [SKIP][195] ([i915#15989]) +15 other tests skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-cpu:
- shard-rkl: [PASS][196] -> [SKIP][197] ([i915#15989]) +5 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-draw-pwrite:
- shard-dg1: NOTRUN -> [SKIP][198] ([i915#15989]) +9 other tests skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-wc:
- shard-glk: NOTRUN -> [SKIP][199] +328 other tests skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk2/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-spr-indfb-draw-blt:
- shard-mtlp: NOTRUN -> [SKIP][200] ([i915#15991]) +11 other tests skip
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-pwrite:
- shard-rkl: NOTRUN -> [SKIP][201] ([i915#15989]) +19 other tests skip
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-pwrite.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
- shard-rkl: NOTRUN -> [SKIP][202] ([i915#15102]) +27 other tests skip
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-dg1: NOTRUN -> [SKIP][203] ([i915#15990] / [i915#8708]) +5 other tests skip
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][204] ([i915#15990] / [i915#8708]) +1 other test skip
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-indfb-plflip-blt:
- shard-dg2: NOTRUN -> [SKIP][205] ([i915#15991]) +6 other tests skip
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psrhdr-farfromfence-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][206] ([i915#15990]) +1 other test skip
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_frontbuffer_tracking@psrhdr-farfromfence-mmap-gtt.html
* igt@kms_hdr@invalid-hdr:
- shard-rkl: NOTRUN -> [SKIP][207] ([i915#16644] / [i915#3555] / [i915#8228])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_hdr@invalid-hdr.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-rkl: [PASS][208] -> [SKIP][209] ([i915#16644] / [i915#3555] / [i915#8228])
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_hdr@invalid-metadata-sizes.html
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-toggle:
- shard-tglu: NOTRUN -> [SKIP][210] ([i915#3555] / [i915#8228]) +1 other test skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_hdr@static-toggle.html
* igt@kms_hdr@static-toggle-suspend:
- shard-dg1: NOTRUN -> [SKIP][211] ([i915#3555] / [i915#8228])
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_joiner@basic-big-joiner:
- shard-tglu: NOTRUN -> [SKIP][212] ([i915#15460]) +1 other test skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_joiner@basic-big-joiner.html
- shard-mtlp: NOTRUN -> [SKIP][213] ([i915#15460])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_joiner@basic-big-joiner.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][214] ([i915#15459])
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-dg1: NOTRUN -> [SKIP][215] ([i915#15458])
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-dg1: NOTRUN -> [SKIP][216] ([i915#15460])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][217] ([i915#15458])
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_mst@mst-suspend-read-crc:
- shard-dg2: NOTRUN -> [SKIP][218] ([i915#16451])
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_mst@mst-suspend-read-crc.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: NOTRUN -> [SKIP][219] ([i915#15815])
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-dg2: NOTRUN -> [SKIP][220] ([i915#6301])
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_panel_fitting@legacy:
- shard-tglu: NOTRUN -> [SKIP][221] ([i915#6301])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_panel_fitting@legacy.html
- shard-dg1: NOTRUN -> [SKIP][222] ([i915#6301])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_panel_fitting@legacy.html
* igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1:
- shard-glk11: NOTRUN -> [INCOMPLETE][223] ([i915#12756] / [i915#13409] / [i915#13476]) +1 other test incomplete
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html
* igt@kms_pipe_stress@stress-xrgb8888-ytiled:
- shard-mtlp: NOTRUN -> [SKIP][224] ([i915#13705])
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_pipe_stress@stress-xrgb8888-ytiled.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping:
- shard-mtlp: NOTRUN -> [SKIP][225] ([i915#15709])
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping:
- shard-tglu: NOTRUN -> [SKIP][226] ([i915#15709]) +2 other tests skip
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_plane@pixel-format-4-tiled-lnl-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-4-tiled-modifier:
- shard-tglu-1: NOTRUN -> [SKIP][227] ([i915#15709])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-modifier.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping:
- shard-dg1: NOTRUN -> [SKIP][228] ([i915#15709]) +3 other tests skip
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-7:
- shard-dg1: NOTRUN -> [SKIP][229] ([i915#16386]) +1 other test skip
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-cc-modifier@pipe-b-plane-7.html
* igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier@pipe-a-plane-7:
- shard-tglu: NOTRUN -> [SKIP][230] ([i915#16386]) +3 other tests skip
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_plane@pixel-format-y-tiled-gen12-rc-ccs-modifier@pipe-a-plane-7.html
* igt@kms_plane@pixel-format-yf-tiled-ccs-modifier:
- shard-dg2: NOTRUN -> [SKIP][231] ([i915#15709])
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier.html
* igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping:
- shard-rkl: NOTRUN -> [SKIP][232] ([i915#15709])
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_plane@pixel-format-yf-tiled-modifier-source-clamping.html
* igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b:
- shard-rkl: [PASS][233] -> [INCOMPLETE][234] ([i915#14412]) +1 other test incomplete
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-7/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-3/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html
* igt@kms_plane_alpha_blend@alpha-transparent-fb:
- shard-glk11: NOTRUN -> [FAIL][235] ([i915#10647] / [i915#12177])
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk11/igt@kms_plane_alpha_blend@alpha-transparent-fb.html
* igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1:
- shard-glk11: NOTRUN -> [FAIL][236] ([i915#10647]) +1 other test fail
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk11/igt@kms_plane_alpha_blend@alpha-transparent-fb@pipe-a-hdmi-a-1.html
* igt@kms_plane_lowres@tiling-x:
- shard-mtlp: NOTRUN -> [SKIP][237] ([i915#11614] / [i915#3582]) +1 other test skip
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_plane_lowres@tiling-x.html
* igt@kms_plane_lowres@tiling-x@pipe-c-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][238] ([i915#10226] / [i915#11614] / [i915#3582]) +2 other tests skip
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_plane_lowres@tiling-x@pipe-c-edp-1.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-mtlp: NOTRUN -> [SKIP][239] ([i915#15887] / [i915#9809])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a:
- shard-tglu: NOTRUN -> [SKIP][240] ([i915#15329]) +4 other tests skip
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
* igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a:
- shard-rkl: NOTRUN -> [SKIP][241] ([i915#15329]) +7 other tests skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html
* igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d:
- shard-tglu-1: NOTRUN -> [SKIP][242] ([i915#15329]) +4 other tests skip
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-tglu-1: NOTRUN -> [SKIP][243] ([i915#12343] / [i915#9812])
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc5-pageflip-negative:
- shard-rkl: NOTRUN -> [SKIP][244] ([i915#9685])
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_pm_dc@dc5-pageflip-negative.html
* igt@kms_pm_dc@dc6-psr:
- shard-tglu: NOTRUN -> [SKIP][245] ([i915#15948])
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_dc@dc9-dpms:
- shard-tglu: NOTRUN -> [SKIP][246] ([i915#15739])
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-rkl: NOTRUN -> [SKIP][247] ([i915#8430])
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-dg1: [PASS][248] -> [SKIP][249] ([i915#15073]) +1 other test skip
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg1-14/igt@kms_pm_rpm@dpms-lpsp.html
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-17/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-tglu: NOTRUN -> [SKIP][250] ([i915#15073])
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-rkl: [PASS][251] -> [SKIP][252] ([i915#15073]) +2 other tests skip
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_pm_rpm@modeset-non-lpsp.html
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-8/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_pm_rpm@package-g7:
- shard-tglu-1: NOTRUN -> [SKIP][253] ([i915#15403])
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_pm_rpm@package-g7.html
* igt@kms_pm_rpm@system-suspend-modeset:
- shard-rkl: [PASS][254] -> [INCOMPLETE][255] ([i915#14419])
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-2/igt@kms_pm_rpm@system-suspend-modeset.html
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-3/igt@kms_pm_rpm@system-suspend-modeset.html
* igt@kms_prime@basic-crc-hybrid:
- shard-tglu-1: NOTRUN -> [SKIP][256] ([i915#6524])
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_prime@basic-crc-hybrid.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-dg1: NOTRUN -> [SKIP][257] ([i915#6524])
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-sf:
- shard-rkl: NOTRUN -> [SKIP][258] ([i915#11520]) +1 other test skip
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
- shard-tglu-1: NOTRUN -> [SKIP][259] ([i915#11520]) +2 other tests skip
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-tglu: NOTRUN -> [SKIP][260] ([i915#11520]) +2 other tests skip
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][261] ([i915#9808])
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][262] ([i915#12316]) +1 other test skip
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf@pipe-b-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
- shard-dg2: NOTRUN -> [SKIP][263] ([i915#11520])
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
- shard-glk: NOTRUN -> [SKIP][264] ([i915#11520]) +6 other tests skip
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk2/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
- shard-snb: NOTRUN -> [SKIP][265] ([i915#11520]) +8 other tests skip
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-snb1/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area:
- shard-glk11: NOTRUN -> [SKIP][266] ([i915#11520]) +2 other tests skip
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk11/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf:
- shard-glk10: NOTRUN -> [SKIP][267] ([i915#11520]) +2 other tests skip
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk10/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area:
- shard-dg1: NOTRUN -> [SKIP][268] ([i915#11520]) +2 other tests skip
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_su@page_flip-p010:
- shard-rkl: NOTRUN -> [SKIP][269] ([i915#9683])
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr@fbc-psr-basic:
- shard-dg2: NOTRUN -> [SKIP][270] ([i915#1072] / [i915#9732])
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-3/igt@kms_psr@fbc-psr-basic.html
* igt@kms_psr@fbc-psr2-basic:
- shard-dg1: NOTRUN -> [SKIP][271] ([i915#1072] / [i915#9732]) +9 other tests skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_psr@fbc-psr2-basic.html
* igt@kms_psr@fbc-psr2-primary-blt:
- shard-tglu-1: NOTRUN -> [SKIP][272] ([i915#9732]) +6 other tests skip
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_psr@fbc-psr2-primary-blt.html
* igt@kms_psr@pr-primary-page-flip:
- shard-mtlp: NOTRUN -> [SKIP][273] ([i915#9688]) +4 other tests skip
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_psr@pr-primary-page-flip.html
* igt@kms_psr@pr-sprite-plane-move:
- shard-tglu: NOTRUN -> [SKIP][274] ([i915#9732]) +16 other tests skip
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-8/igt@kms_psr@pr-sprite-plane-move.html
* igt@kms_psr@psr-sprite-plane-move:
- shard-rkl: NOTRUN -> [SKIP][275] ([i915#1072] / [i915#9732]) +12 other tests skip
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_psr@psr-sprite-plane-move.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-dg1: NOTRUN -> [SKIP][276] ([i915#15949])
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@exhaust-fences:
- shard-dg1: NOTRUN -> [SKIP][277] ([i915#4884])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_rotation_crc@exhaust-fences.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
- shard-rkl: NOTRUN -> [SKIP][278] ([i915#5289])
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
* igt@kms_selftest@drm_framebuffer:
- shard-tglu-1: NOTRUN -> [ABORT][279] ([i915#13179]) +1 other test abort
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-1/igt@kms_selftest@drm_framebuffer.html
- shard-dg1: NOTRUN -> [ABORT][280] ([i915#13179]) +1 other test abort
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_selftest@drm_framebuffer.html
- shard-snb: NOTRUN -> [ABORT][281] ([i915#13179]) +1 other test abort
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-snb7/igt@kms_selftest@drm_framebuffer.html
* igt@kms_setmode@basic:
- shard-mtlp: [PASS][282] -> [FAIL][283] ([i915#15106]) +1 other test fail
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-mtlp-8/igt@kms_setmode@basic.html
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-3/igt@kms_setmode@basic.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-dg1: NOTRUN -> [SKIP][284] ([i915#3555]) +2 other tests skip
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg1: NOTRUN -> [SKIP][285] ([i915#8623])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_tiled_display@basic-test-pattern.html
- shard-tglu: NOTRUN -> [SKIP][286] ([i915#8623]) +1 other test skip
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-mtlp: NOTRUN -> [SKIP][287] ([i915#8623])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2:
- shard-rkl: [PASS][288] -> [INCOMPLETE][289] ([i915#12276])
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-1/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html
* igt@kms_vrr@negative-basic:
- shard-dg1: NOTRUN -> [SKIP][290] ([i915#3555] / [i915#9906])
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-12/igt@kms_vrr@negative-basic.html
- shard-tglu: NOTRUN -> [SKIP][291] ([i915#3555] / [i915#9906])
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-5/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-vrr:
- shard-rkl: NOTRUN -> [SKIP][292] ([i915#9906]) +1 other test skip
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_vrr@seamless-rr-switch-vrr.html
* igt@perf@mi-rpc:
- shard-rkl: NOTRUN -> [SKIP][293] ([i915#2434])
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@perf@mi-rpc.html
* igt@perf_pmu@busy-start@vecs0:
- shard-tglu: [PASS][294] -> [FAIL][295] ([i915#17084])
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-tglu-7/igt@perf_pmu@busy-start@vecs0.html
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-7/igt@perf_pmu@busy-start@vecs0.html
* igt@perf_pmu@rc6-suspend:
- shard-glk: [PASS][296] -> [INCOMPLETE][297] ([i915#13356] / [i915#16236])
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-glk5/igt@perf_pmu@rc6-suspend.html
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk6/igt@perf_pmu@rc6-suspend.html
* igt@prime_udl@share-import:
- shard-rkl: NOTRUN -> [SKIP][298] ([i915#16420])
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@prime_udl@share-import.html
* igt@prime_vgem@coherency-gtt:
- shard-mtlp: NOTRUN -> [SKIP][299] ([i915#3708] / [i915#4077])
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-7/igt@prime_vgem@coherency-gtt.html
#### Possible fixes ####
* igt@gem_workarounds@suspend-resume-fd:
- shard-rkl: [INCOMPLETE][300] ([i915#13356]) -> [PASS][301]
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-4/igt@gem_workarounds@suspend-resume-fd.html
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-2/igt@gem_workarounds@suspend-resume-fd.html
* igt@i915_suspend@sysfs-reader:
- shard-glk: [INCOMPLETE][302] ([i915#16182] / [i915#4817]) -> [PASS][303]
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-glk8/igt@i915_suspend@sysfs-reader.html
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk4/igt@i915_suspend@sysfs-reader.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-180:
- shard-mtlp: [FAIL][304] ([i915#15733] / [i915#5138]) -> [PASS][305]
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-mtlp-3/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-8/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc:
- shard-rkl: [INCOMPLETE][306] ([i915#14694] / [i915#15582]) -> [PASS][307]
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-rkl: [INCOMPLETE][308] ([i915#9878]) -> [PASS][309]
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-7/igt@kms_fbcon_fbt@fbc-suspend.html
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-rkl: [INCOMPLETE][310] ([i915#16276] / [i915#6113]) -> [PASS][311]
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_flip@flip-vs-suspend-interruptible.html
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_force_connector_basic@force-edid:
- shard-mtlp: [SKIP][312] ([i915#15672]) -> [PASS][313]
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-mtlp-1/igt@kms_force_connector_basic@force-edid.html
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-6/igt@kms_force_connector_basic@force-edid.html
* igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite:
- shard-dg1: [DMESG-WARN][314] ([i915#4423]) -> [PASS][315] +1 other test pass
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg1-15/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite.html
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-15/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbchdr-tiling-linear:
- shard-rkl: [SKIP][316] ([i915#15989]) -> [PASS][317] +8 other tests pass
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-tiling-linear.html
* igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-onoff:
- shard-glk: [SKIP][318] -> [PASS][319] +10 other tests pass
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-glk9/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-onoff.html
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-glk8/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-onoff.html
* igt@kms_hdmi_inject@inject-4k:
- shard-mtlp: [SKIP][320] ([i915#15725]) -> [PASS][321]
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-mtlp-1/igt@kms_hdmi_inject@inject-4k.html
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-6/igt@kms_hdmi_inject@inject-4k.html
* igt@kms_pm_rpm@dpms-non-lpsp:
- shard-dg2: [SKIP][322] ([i915#15073]) -> [PASS][323]
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg2-4/igt@kms_pm_rpm@dpms-non-lpsp.html
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg2-7/igt@kms_pm_rpm@dpms-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-rkl: [SKIP][324] ([i915#15073]) -> [PASS][325] +1 other test pass
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-8/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
- shard-dg1: [SKIP][326] ([i915#15073]) -> [PASS][327] +1 other test pass
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg1-14/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-17/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@perf_pmu@busy-double-start:
- shard-mtlp: [FAIL][328] ([i915#4349]) -> [PASS][329] +2 other tests pass
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-mtlp-8/igt@perf_pmu@busy-double-start.html
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-mtlp-1/igt@perf_pmu@busy-double-start.html
* igt@perf_pmu@busy-start@bcs0:
- shard-tglu: [FAIL][330] ([i915#17084]) -> [PASS][331] +2 other tests pass
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-tglu-7/igt@perf_pmu@busy-start@bcs0.html
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-tglu-7/igt@perf_pmu@busy-start@bcs0.html
#### Warnings ####
* igt@api_intel_bb@blit-reloc-purge-cache:
- shard-rkl: [SKIP][332] ([i915#14544] / [i915#8411]) -> [SKIP][333] ([i915#8411])
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@api_intel_bb@blit-reloc-purge-cache.html
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@api_intel_bb@blit-reloc-purge-cache.html
* igt@gem_ccs@block-copy-compressed:
- shard-rkl: [SKIP][334] ([i915#3555] / [i915#9323]) -> [SKIP][335] ([i915#14544] / [i915#3555] / [i915#9323])
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@gem_ccs@block-copy-compressed.html
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@block-multicopy-compressed:
- shard-rkl: [SKIP][336] ([i915#14544] / [i915#9323]) -> [SKIP][337] ([i915#9323])
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@gem_ccs@block-multicopy-compressed.html
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@gem_ccs@block-multicopy-compressed.html
* igt@gem_ccs@suspend-resume:
- shard-rkl: [SKIP][338] ([i915#9323]) -> [SKIP][339] ([i915#14544] / [i915#9323])
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@gem_ccs@suspend-resume.html
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@gem_ccs@suspend-resume.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-rkl: [SKIP][340] ([i915#14544] / [i915#4525]) -> [SKIP][341] ([i915#4525])
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@gem_exec_balancer@parallel-contexts.html
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_reloc@basic-active:
- shard-rkl: [SKIP][342] ([i915#3281]) -> [SKIP][343] ([i915#14544] / [i915#3281]) +4 other tests skip
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@gem_exec_reloc@basic-active.html
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@gem_exec_reloc@basic-active.html
* igt@gem_exec_reloc@basic-gtt-read-noreloc:
- shard-rkl: [SKIP][344] ([i915#14544] / [i915#3281]) -> [SKIP][345] ([i915#3281])
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-read-noreloc.html
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@gem_exec_reloc@basic-gtt-read-noreloc.html
* igt@gem_lmem_swapping@heavy-verify-random:
- shard-rkl: [SKIP][346] ([i915#4613]) -> [SKIP][347] ([i915#14544] / [i915#4613]) +1 other test skip
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@gem_lmem_swapping@heavy-verify-random.html
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random.html
* igt@gem_partial_pwrite_pread@writes-after-reads:
- shard-rkl: [SKIP][348] ([i915#3282]) -> [SKIP][349] ([i915#14544] / [i915#3282]) +1 other test skip
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@gem_partial_pwrite_pread@writes-after-reads.html
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@gem_partial_pwrite_pread@writes-after-reads.html
* igt@gem_tiled_pread_basic@basic:
- shard-rkl: [SKIP][350] ([i915#15656]) -> [SKIP][351] ([i915#14544] / [i915#15656])
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@gem_tiled_pread_basic@basic.html
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@gem_tiled_pread_basic@basic.html
* igt@gem_userptr_blits@forbidden-operations:
- shard-rkl: [SKIP][352] ([i915#3282] / [i915#3297]) -> [SKIP][353] ([i915#14544] / [i915#3282] / [i915#3297])
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@gem_userptr_blits@forbidden-operations.html
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@gem_userptr_blits@forbidden-operations.html
* igt@gen9_exec_parse@batch-zero-length:
- shard-rkl: [SKIP][354] ([i915#14544] / [i915#2527]) -> [SKIP][355] ([i915#2527])
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@gen9_exec_parse@batch-zero-length.html
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@gen9_exec_parse@batch-zero-length.html
* igt@gen9_exec_parse@bb-chained:
- shard-rkl: [SKIP][356] ([i915#2527]) -> [SKIP][357] ([i915#14544] / [i915#2527])
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@gen9_exec_parse@bb-chained.html
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@gen9_exec_parse@bb-chained.html
* igt@i915_pm_sseu@full-enable:
- shard-rkl: [SKIP][358] ([i915#4387]) -> [SKIP][359] ([i915#14544] / [i915#4387])
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@i915_pm_sseu@full-enable.html
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@i915_pm_sseu@full-enable.html
* igt@intel_hwmon@hwmon-read:
- shard-rkl: [SKIP][360] ([i915#14544] / [i915#7707]) -> [SKIP][361] ([i915#7707])
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@intel_hwmon@hwmon-read.html
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@intel_hwmon@hwmon-read.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-rkl: [SKIP][362] ([i915#1769] / [i915#3555]) -> [SKIP][363] ([i915#14544] / [i915#1769] / [i915#3555])
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-rkl: [SKIP][364] ([i915#14544] / [i915#5286]) -> [SKIP][365] ([i915#5286])
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip:
- shard-rkl: [SKIP][366] ([i915#5286]) -> [SKIP][367] ([i915#14544] / [i915#5286]) +2 other tests skip
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-270:
- shard-rkl: [SKIP][368] ([i915#3638]) -> [SKIP][369] ([i915#14544] / [i915#3638]) +2 other tests skip
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_big_fb@x-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-90:
- shard-rkl: [SKIP][370] ([i915#14544] / [i915#3638]) -> [SKIP][371] ([i915#3638])
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][372] ([i915#14544] / [i915#6095]) -> [SKIP][373] ([i915#6095]) +5 other tests skip
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-2.html
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
- shard-rkl: [SKIP][374] ([i915#14098] / [i915#6095]) -> [SKIP][375] ([i915#14098] / [i915#14544] / [i915#6095]) +12 other tests skip
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2:
- shard-rkl: [SKIP][376] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][377] ([i915#14098] / [i915#6095]) +5 other tests skip
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2.html
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-rkl: [SKIP][378] ([i915#12313]) -> [SKIP][379] ([i915#12313] / [i915#14544]) +1 other test skip
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-a-hdmi-a-2:
- shard-rkl: [SKIP][380] ([i915#6095]) -> [SKIP][381] ([i915#14544] / [i915#6095]) +7 other tests skip
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-a-hdmi-a-2.html
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-a-hdmi-a-2.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-rkl: [SKIP][382] ([i915#14544] / [i915#3742]) -> [SKIP][383] ([i915#3742])
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_cdclk@mode-transition-all-outputs.html
[383]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d:
- shard-rkl: [SKIP][384] ([i915#16471]) -> [SKIP][385] ([i915#14544] / [i915#16471])
[384]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html
[385]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html
* igt@kms_chamelium_hpd@dp-hpd-storm:
- shard-rkl: [SKIP][386] ([i915#11151] / [i915#7828]) -> [SKIP][387] ([i915#11151] / [i915#14544] / [i915#7828]) +2 other tests skip
[386]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_chamelium_hpd@dp-hpd-storm.html
[387]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-storm.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-rkl: [SKIP][388] ([i915#15330] / [i915#3116]) -> [SKIP][389] ([i915#14544] / [i915#15330] / [i915#3116])
[388]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_content_protection@dp-mst-lic-type-0.html
[389]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@dp-mst-type-0-hdcp14:
- shard-rkl: [SKIP][390] ([i915#15330]) -> [SKIP][391] ([i915#14544] / [i915#15330])
[390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_content_protection@dp-mst-type-0-hdcp14.html
[391]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_content_protection@dp-mst-type-0-hdcp14.html
* igt@kms_content_protection@mei-interface:
- shard-rkl: [SKIP][392] ([i915#15865]) -> [SKIP][393] ([i915#14544] / [i915#15865]) +1 other test skip
[392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_content_protection@mei-interface.html
[393]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@srm:
- shard-rkl: [SKIP][394] ([i915#14544] / [i915#15865]) -> [SKIP][395] ([i915#15865])
[394]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_content_protection@srm.html
[395]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-random-max-size:
- shard-rkl: [SKIP][396] ([i915#3555]) -> [SKIP][397] ([i915#14544] / [i915#3555])
[396]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_cursor_crc@cursor-random-max-size.html
[397]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_cursor_crc@cursor-random-max-size.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- shard-rkl: [SKIP][398] ([i915#14544] / [i915#3555]) -> [SKIP][399] ([i915#3555])
[398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
[399]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-rkl: [SKIP][400] ([i915#14544] / [i915#9723]) -> [SKIP][401] ([i915#9723])
[400]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
[401]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-5/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dsc@dsc-with-formats-bigjoiner:
- shard-rkl: [SKIP][402] ([i915#16361]) -> [SKIP][403] ([i915#14544] / [i915#16361])
[402]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_dsc@dsc-with-formats-bigjoiner.html
[403]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_dsc@dsc-with-formats-bigjoiner.html
* igt@kms_dsc@dsc-with-output-formats-with-bpc:
- shard-rkl: [SKIP][404] ([i915#14544] / [i915#16361]) -> [SKIP][405] ([i915#16361])
[404]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
[405]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_dsc@dsc-with-output-formats-with-bpc.html
* igt@kms_feature_discovery@chamelium:
- shard-rkl: [SKIP][406] ([i915#16084]) -> [SKIP][407] ([i915#14544] / [i915#16084])
[406]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_feature_discovery@chamelium.html
[407]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_feature_discovery@chamelium.html
* igt@kms_flip@2x-flip-vs-fences:
- shard-rkl: [SKIP][408] ([i915#9934]) -> [SKIP][409] ([i915#14544] / [i915#9934]) +3 other tests skip
[408]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_flip@2x-flip-vs-fences.html
[409]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_flip@2x-flip-vs-fences.html
* igt@kms_flip@2x-plain-flip:
- shard-rkl: [SKIP][410] ([i915#14544] / [i915#9934]) -> [SKIP][411] ([i915#9934]) +3 other tests skip
[410]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_flip@2x-plain-flip.html
[411]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling:
- shard-rkl: [SKIP][412] ([i915#14544] / [i915#15643]) -> [SKIP][413] ([i915#15643])
[412]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html
[413]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-rkl: [SKIP][414] ([i915#1825]) -> [SKIP][415] ([i915#14544] / [i915#1825]) +1 other test skip
[414]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[415]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-spr-indfb-draw-mmap-wc:
- shard-rkl: [SKIP][416] -> [SKIP][417] ([i915#14544]) +45 other tests skip
[416]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
[417]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-spr-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-shrfb-pgflip-blt:
- shard-rkl: [SKIP][418] ([i915#14544] / [i915#15102]) -> [SKIP][419] ([i915#15102]) +9 other tests skip
[418]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-shrfb-pgflip-blt.html
[419]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte:
- shard-rkl: [SKIP][420] ([i915#15102]) -> [SKIP][421] ([i915#14544] / [i915#15102]) +20 other tests skip
[420]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html
[421]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-spr-indfb-fullscreen:
- shard-dg1: [SKIP][422] ([i915#4423]) -> [SKIP][423]
[422]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg1-19/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-spr-indfb-fullscreen.html
[423]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-18/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@hdr-2p-primscrn-spr-indfb-draw-mmap-cpu:
- shard-dg1: [SKIP][424] -> [SKIP][425] ([i915#4423])
[424]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg1-19/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-spr-indfb-draw-mmap-cpu.html
[425]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-19/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-spr-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render:
- shard-rkl: [SKIP][426] ([i915#14544]) -> [SKIP][427] +29 other tests skip
[426]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render.html
[427]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-gtt:
- shard-rkl: [SKIP][428] ([i915#14544] / [i915#1825]) -> [SKIP][429] ([i915#1825])
[428]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-gtt.html
[429]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_joiner@basic-big-joiner:
- shard-rkl: [SKIP][430] ([i915#15460]) -> [SKIP][431] ([i915#14544] / [i915#15460])
[430]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_joiner@basic-big-joiner.html
[431]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_joiner@basic-big-joiner.html
* igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping:
- shard-rkl: [SKIP][432] ([i915#15709]) -> [SKIP][433] ([i915#14544] / [i915#15709]) +1 other test skip
[432]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html
[433]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html
* igt@kms_plane@pixel-format-yf-tiled-modifier:
- shard-rkl: [SKIP][434] ([i915#14544] / [i915#15709]) -> [SKIP][435] ([i915#15709]) +1 other test skip
[434]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_plane@pixel-format-yf-tiled-modifier.html
[435]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_plane@pixel-format-yf-tiled-modifier.html
* igt@kms_plane_multiple@2x-tiling-yf:
- shard-rkl: [SKIP][436] ([i915#13958] / [i915#14544]) -> [SKIP][437] ([i915#13958])
[436]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_plane_multiple@2x-tiling-yf.html
[437]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_plane_multiple@2x-tiling-yf.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a:
- shard-rkl: [SKIP][438] ([i915#15329]) -> [SKIP][439] ([i915#14544] / [i915#15329]) +3 other tests skip
[438]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
[439]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
* igt@kms_pm_dc@dc5-psr-suspend-resume:
- shard-rkl: [SKIP][440] ([i915#14544] / [i915#16914]) -> [SKIP][441] ([i915#16914])
[440]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_pm_dc@dc5-psr-suspend-resume.html
[441]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_pm_dc@dc5-psr-suspend-resume.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-rkl: [SKIP][442] ([i915#3828]) -> [SKIP][443] ([i915#14544] / [i915#3828])
[442]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_pm_dc@dc5-retention-flops.html
[443]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_dc@dc9-dpms:
- shard-rkl: [SKIP][444] ([i915#15739]) -> [SKIP][445] ([i915#14544] / [i915#15739])
[444]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_pm_dc@dc9-dpms.html
[445]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-rkl: [SKIP][446] ([i915#3828]) -> [SKIP][447] ([i915#9340])
[446]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-8/igt@kms_pm_lpsp@kms-lpsp.html
[447]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_pm_lpsp@kms-lpsp.html
- shard-dg1: [SKIP][448] ([i915#3828]) -> [SKIP][449] ([i915#9340])
[448]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-dg1-14/igt@kms_pm_lpsp@kms-lpsp.html
[449]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-dg1-17/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-rkl: [SKIP][450] ([i915#14544] / [i915#15073]) -> [SKIP][451] ([i915#15073])
[450]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_pm_rpm@dpms-lpsp.html
[451]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-rkl: [SKIP][452] ([i915#11520]) -> [SKIP][453] ([i915#11520] / [i915#14544]) +3 other tests skip
[452]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
[453]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf:
- shard-rkl: [SKIP][454] ([i915#11520] / [i915#14544]) -> [SKIP][455] ([i915#11520]) +2 other tests skip
[454]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html
[455]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-rkl: [SKIP][456] ([i915#14544] / [i915#9683]) -> [SKIP][457] ([i915#9683])
[456]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_psr2_su@page_flip-nv12.html
[457]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@pr-sprite-blt:
- shard-rkl: [SKIP][458] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][459] ([i915#1072] / [i915#9732]) +3 other tests skip
[458]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_psr@pr-sprite-blt.html
[459]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_psr@pr-sprite-blt.html
* igt@kms_psr@psr2-cursor-blt:
- shard-rkl: [SKIP][460] ([i915#1072] / [i915#9732]) -> [SKIP][461] ([i915#1072] / [i915#14544] / [i915#9732]) +9 other tests skip
[460]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_psr@psr2-cursor-blt.html
[461]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_psr@psr2-cursor-blt.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-rkl: [SKIP][462] ([i915#14544] / [i915#5289]) -> [SKIP][463] ([i915#5289])
[462]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
[463]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-rkl: [SKIP][464] ([i915#5289]) -> [SKIP][465] ([i915#14544] / [i915#5289])
[464]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
[465]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-rkl: [SKIP][466] ([i915#8623]) -> [SKIP][467] ([i915#14544] / [i915#8623])
[466]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[467]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vblank@ts-continuation-suspend:
- shard-rkl: [ABORT][468] ([i915#15132]) -> [INCOMPLETE][469] ([i915#12276])
[468]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-1/igt@kms_vblank@ts-continuation-suspend.html
[469]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-4/igt@kms_vblank@ts-continuation-suspend.html
* igt@kms_vrr@flip-suspend:
- shard-rkl: [SKIP][470] ([i915#15243] / [i915#3555]) -> [SKIP][471] ([i915#14544] / [i915#15243] / [i915#3555])
[470]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-3/igt@kms_vrr@flip-suspend.html
[471]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@kms_vrr@flip-suspend.html
* igt@kms_vrr@lobf:
- shard-rkl: [SKIP][472] ([i915#11920] / [i915#14544]) -> [SKIP][473] ([i915#11920])
[472]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@kms_vrr@lobf.html
[473]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@kms_vrr@lobf.html
* igt@prime_vgem@basic-read:
- shard-rkl: [SKIP][474] ([i915#14544] / [i915#3291] / [i915#3708]) -> [SKIP][475] ([i915#3291] / [i915#3708])
[474]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-6/igt@prime_vgem@basic-read.html
[475]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-7/igt@prime_vgem@basic-read.html
* igt@prime_vgem@coherency-gtt:
- shard-rkl: [SKIP][476] ([i915#3708]) -> [SKIP][477] ([i915#14544] / [i915#3708])
[476]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19156/shard-rkl-5/igt@prime_vgem@coherency-gtt.html
[477]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/shard-rkl-6/igt@prime_vgem@coherency-gtt.html
[i915#10226]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10226
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11614]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11614
[i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920
[i915#12177]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12177
[i915#12193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12193
[i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
[i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
[i915#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358
[i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
[i915#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756
[i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
[i915#13008]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13008
[i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027
[i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13409]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13409
[i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13705]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13705
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14118
[i915#14123]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14123
[i915#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
[i915#14412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14412
[i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
[i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14586
[i915#14694]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14694
[i915#14702]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14702
[i915#14888]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14888
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#15104]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15104
[i915#15106]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15106
[i915#15132]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15132
[i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
[i915#15314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15314
[i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
[i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330
[i915#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403
[i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458
[i915#15459]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15459
[i915#15460]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15460
[i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582
[i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643
[i915#15656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15656
[i915#15657]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15657
[i915#15672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15672
[i915#15678]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15678
[i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709
[i915#15725]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15725
[i915#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733
[i915#15739]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15739
[i915#15815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15815
[i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865
[i915#15887]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15887
[i915#15948]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15948
[i915#15949]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15949
[i915#15989]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15989
[i915#15990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15990
[i915#15991]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15991
[i915#16056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16056
[i915#16084]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16084
[i915#16109]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16109
[i915#16182]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16182
[i915#16236]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16236
[i915#16276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16276
[i915#16348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16348
[i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361
[i915#16386]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16386
[i915#16420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16420
[i915#16451]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16451
[i915#16464]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16464
[i915#16471]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16471
[i915#16593]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16593
[i915#16600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16600
[i915#16644]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16644
[i915#16680]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16680
[i915#16914]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16914
[i915#16990]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16990
[i915#17016]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17016
[i915#17084]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/17084
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3582
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
[i915#4036]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4036
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
[i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4565
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
[i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#4884]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4884
[i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5882
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
[i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443
[i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7882
[i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
[i915#8063]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8063
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
[i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9808
[i915#9809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9809
[i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
[i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* Linux: CI_DRM_19156 -> Patchwork_138257v9
CI-20190529: 20190529
CI_DRM_19156: bb38af66c2f21340a7c081afbb7ace249357fbb5 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_9099: 9099
Patchwork_138257v9: bb38af66c2f21340a7c081afbb7ace249357fbb5 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_138257v9/index.html
[-- Attachment #2: Type: text/html, Size: 165150 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N ratio for reuse
2026-09-17 5:06 ` [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N ratio for reuse Suraj Kandpal
@ 2026-09-29 15:13 ` Golani, Mitulkumar Ajitkumar
2026-10-05 3:41 ` Kandpal, Suraj
0 siblings, 1 reply; 24+ messages in thread
From: Golani, Mitulkumar Ajitkumar @ 2026-09-29 15:13 UTC (permalink / raw)
To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R, Kandpal, Suraj
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Suraj
> Kandpal
> Sent: 17 September 2026 10:37
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N
> ratio for reuse
>
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>
> Introduce intel_display_compute_link_m_n() to compute the link M/N ratio from
> the pixel clock and the link symbol clock. This logic was previously embedded
> within intel_link_compute_m_n().
>
> The new helper allows reuse of link M/N computation in other contexts without
> requiring the full data M/N calculation.
The commit says this helper is for reuse, but it remains static with no caller added, please either
explain the intended upcoming user in the commit message or make the helper non-static when
the caller is introduced.
>
> No functional changes intended.
>
> v2:
> - Rename function (Jani)
> - The link symbol clock is passed in rather than derived here, so that the DP
> specific conversion from the link rate stays with the caller. (Jani)
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 9151ea6c15ab..f04a6f97e05a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -2641,13 +2641,20 @@ static void compute_m_n(u32 *ret_m, u32 *ret_n,
> intel_reduce_m_n_ratio(ret_m, ret_n);
> }
>
> +static void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
> + int pixel_clock, int link_symbol_clock)
> {
> + compute_m_n(link_m, link_n,
> + pixel_clock, link_symbol_clock,
> + 0x80000);
Since this helper may be reused elsewhere, please document here that the fixed N is intentional
and follows the Windows/BIOS M/N requirement.
> +}
> +
> void
> intel_link_compute_m_n(u16 bits_per_pixel_x16, int nlanes,
> int pixel_clock, int link_clock,
> int bw_overhead,
> struct intel_link_m_n *m_n)
> {
> - u32 link_symbol_clock = intel_dp_link_symbol_clock(link_clock);
> u32 data_m = intel_dp_effective_data_rate(pixel_clock,
> bits_per_pixel_x16,
> bw_overhead);
> u32 data_n = drm_dp_max_dprx_data_rate(link_clock, nlanes); @@ -
> 2664,9 +2671,9 @@ intel_link_compute_m_n(u16 bits_per_pixel_x16, int nlanes,
> data_m, data_n,
> 0x8000000);
>
> - compute_m_n(&m_n->link_m, &m_n->link_n,
> - pixel_clock, link_symbol_clock,
> - 0x80000);
> + intel_display_compute_link_m_n(&m_n->link_m, &m_n->link_n,
> + pixel_clock,
> + intel_dp_link_symbol_clock(link_clock));
With mentioned changes addressed,
LGTM
Reviewed-by: Mitul Golani<mitulkumar.ajitkumar.golani@intel.com>
> }
>
> void intel_panel_sanitize_ssc(struct intel_display *display)
> --
> 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N ratio for reuse
2026-09-29 15:13 ` Golani, Mitulkumar Ajitkumar
@ 2026-10-05 3:41 ` Kandpal, Suraj
0 siblings, 0 replies; 24+ messages in thread
From: Kandpal, Suraj @ 2026-10-05 3:41 UTC (permalink / raw)
To: Golani, Mitulkumar Ajitkumar, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R
>
>
>
> > -----Original Message-----
> > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> > Suraj Kandpal
> > Sent: 17 September 2026 10:37
> > To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> > Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> > <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> > Subject: [PATCH v4 01/10] drm/i915/display: Add helper to compute link
> > M/N ratio for reuse
> >
> > From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> >
> > Introduce intel_display_compute_link_m_n() to compute the link M/N
> > ratio from the pixel clock and the link symbol clock. This logic was
> > previously embedded within intel_link_compute_m_n().
> >
> > The new helper allows reuse of link M/N computation in other contexts
> > without requiring the full data M/N calculation.
>
> The commit says this helper is for reuse, but it remains static with no caller added,
> please either explain the intended upcoming user in the commit message or make
> the helper non-static when the caller is introduced.
We don't mention in the commit message that this function will be used says in the 4th patch of this patch series.
We have already mentioned that this will be reused later on . I can however add that this function will be used in later commits.
>
> >
> > No functional changes intended.
> >
> > v2:
> > - Rename function (Jani)
> > - The link symbol clock is passed in rather than derived here, so that
> > the DP specific conversion from the link rate stays with the caller.
> > (Jani)
> >
> > Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> > Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_display.c | 15 +++++++++++----
> > 1 file changed, 11 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index 9151ea6c15ab..f04a6f97e05a 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -2641,13 +2641,20 @@ static void compute_m_n(u32 *ret_m, u32 *ret_n,
> > intel_reduce_m_n_ratio(ret_m, ret_n); }
> >
> > +static void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
> > + int pixel_clock, int link_symbol_clock)
> > {
> > + compute_m_n(link_m, link_n,
> > + pixel_clock, link_symbol_clock,
> > + 0x80000);
>
>
> Since this helper may be reused elsewhere, please document here that the fixed
> N is intentional and follows the Windows/BIOS M/N requirement.
We really don't want to document this here in this commit seeing as this was not documented where it was previously called
Either and this commit only moves that call into a helper function. Other wise we will end up with a lot of unnecessary documentation
In code which is not required.
Ankit Nautiyal what do you think ?
Regards,
Suraj Kandpal
>
> > +}
> > +
> > void
> > intel_link_compute_m_n(u16 bits_per_pixel_x16, int nlanes,
> > int pixel_clock, int link_clock,
> > int bw_overhead,
> > struct intel_link_m_n *m_n)
> > {
> > - u32 link_symbol_clock = intel_dp_link_symbol_clock(link_clock);
> > u32 data_m = intel_dp_effective_data_rate(pixel_clock,
> > bits_per_pixel_x16,
> > bw_overhead);
> > u32 data_n = drm_dp_max_dprx_data_rate(link_clock, nlanes); @@ -
> > 2664,9 +2671,9 @@ intel_link_compute_m_n(u16 bits_per_pixel_x16, int
> nlanes,
> > data_m, data_n,
> > 0x8000000);
> >
> > - compute_m_n(&m_n->link_m, &m_n->link_n,
> > - pixel_clock, link_symbol_clock,
> > - 0x80000);
> > + intel_display_compute_link_m_n(&m_n->link_m, &m_n->link_n,
> > + pixel_clock,
> > + intel_dp_link_symbol_clock(link_clock));
>
> With mentioned changes addressed,
> LGTM
> Reviewed-by: Mitul Golani<mitulkumar.ajitkumar.golani@intel.com>
>
> > }
> >
> > void intel_panel_sanitize_ssc(struct intel_display *display)
> > --
> > 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 02/10] drm/i915/dp: Limit M/N ratio for DP SST
2026-09-17 5:06 ` [PATCH v4 02/10] drm/i915/dp: Limit M/N ratio for DP SST Suraj Kandpal
@ 2026-10-15 15:52 ` Golani, Mitulkumar Ajitkumar
0 siblings, 0 replies; 24+ messages in thread
From: Golani, Mitulkumar Ajitkumar @ 2026-10-15 15:52 UTC (permalink / raw)
To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R, Kandpal, Suraj
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Suraj
> Kandpal
> Sent: 17 September 2026 10:37
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v4 02/10] drm/i915/dp: Limit M/N ratio for DP SST
>
> The hardware cannot support DisplayPort configurations where the ceiling of
> the Link M/Link N ratio exceeds the limit the transcoder's timing generator
> DDA can track. This limitation has always existed, but it typically wasn't
> encountered without the use of joiners and DSC.
>
> With higher resolutions and combinations involving joiners and DSC, this
> constraint can now be hit in certain scenarios.
>
> Restrict the link configurations to those satisfying the constraint while
> computing the link config limits, so that the SST and the MST paths both get
> it, and so that a mode which no link rate can support fails early rather than
> deep inside link config selection.
Nit: This check is inside intel_dp_compute_config_limits, which mst_stream_compute_config_limits also calls, so MST compute is already constrained. The subject ("for DP SST") and the "applies only for SST" note contradict that and the "SST and MST paths both get it" sentence. Please say that MST compute is covered and only MST mode_valid is left for the follow-up.
>
> Also prune such modes in mode_valid. Note the ratio is the pixel clock over
> the link symbol clock, and the symbol clock is not monotonic in the link rate: it
> is the rate divided by 32 for 128b/132b but only by 10 for 8b/10b, so e.g.
> HBR3 has a higher symbol clock than UHBR20. There is therefore no single
> best link rate to evaluate against, and mode_valid walks the link
> configurations instead, only rejecting the mode if none of them can satisfy
> the ratio.
>
> Note: This change applies the check only for SST. Support for MST will be
> added in a subsequent commit.
>
> v2:
> -Move the M/N ratio check to the link rate configuration phase instead of
> during M/N computation. (Ville) -Prune modes that cannot be supported
> even with highest link rate due to M/N ratio restriction.
> v3:
> -Rebase on the link caps iterator based link config selection.
> -Set the constraint up in intel_dp_compute_config_limits() by narrowing the
> link config filter, and fail there if no config qualifies, instead of skipping
> configs while iterating them. (Imre) -Use a limit of 4 on DG2.
> (Wa_14014191401) -Walk the link configurations in mode_valid rather than
> evaluating the ratio at the highest link rate, which is not the best case for it.
> v4:
> -Add iterator for all dp configs in intel_dp_mode_valid_m_n() so that we do
> not prune any mode that could have been supported (Sashiko)
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 4 +-
> drivers/gpu/drm/i915/display/intel_display.h | 2 +
> drivers/gpu/drm/i915/display/intel_dp.c | 101 +++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_dp.h | 2 +
> 4 files changed, 107 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index f04a6f97e05a..c53163d7c082 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -2641,8 +2641,8 @@ static void compute_m_n(u32 *ret_m, u32 *ret_n,
> intel_reduce_m_n_ratio(ret_m, ret_n);
> }
>
> -static void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
> - int pixel_clock, int
> link_symbol_clock)
> +void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
> + int pixel_clock, int link_symbol_clock)
> {
> compute_m_n(link_m, link_n,
> pixel_clock, link_symbol_clock,
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h
> b/drivers/gpu/drm/i915/display/intel_display.h
> index eecafff167d3..404168f4213b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -523,5 +523,7 @@ bool assert_port_valid(struct intel_display *display,
> enum port port);
>
> bool intel_scanout_needs_vtd_wa(struct intel_display *display); int
> intel_crtc_num_joined_pipes(const struct intel_crtc_state *crtc_state);
> +void intel_display_compute_link_m_n(u32 *link_m, u32 *link_n,
> + int pixel_clock, int link_symbol_clock);
>
> #endif
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 0cd5e6b5034c..f6a2152c4432 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -61,6 +61,7 @@
> #include "intel_cx0_phy.h"
> #include "intel_ddi.h"
> #include "intel_de.h"
> +#include "intel_display.h"
> #include "intel_display_driver.h"
> #include "intel_display_jiffies.h"
> #include "intel_display_utils.h"
> @@ -1265,6 +1266,34 @@ bool intel_dp_has_dsc(const struct
> intel_connector *connector)
> return true;
> }
>
> +static int
> +intel_dp_get_max_m_n_ratio(struct intel_display *display) {
> + if (display->platform.dg2)
> + return 4;
Please route the DG2 limit through intel_display_wa() (INTEL_DISPLAY_WA_14014191401) instead of a bare platform check. Right now the Wa ID only appears in the changelog.
> +
> + return 10;
Also, what's the BSpec reference for the generic limit of 10 ?
> +}
> +
> +static bool
> +intel_dp_can_support_m_n(struct intel_display *display,
> + int pixel_clock, int link_rate)
> +{
> + int max_m_n_ratio = intel_dp_get_max_m_n_ratio(display);
> + u32 link_m, link_n;
> + int m_n_ratio;
> +
> + intel_display_compute_link_m_n(&link_m, &link_n, pixel_clock,
> + intel_dp_link_symbol_clock(link_rate));
> +
> + if (!link_n)
> + return true;
link_n can't be 0 here: compute_m_n() fixes N at 0x80000 and only halves it while M/N exceed 24 bits. Please drop the check.
> +
> + m_n_ratio = DIV_ROUND_UP(link_m, link_n);
> +
> + return m_n_ratio <= max_m_n_ratio;
> +}
> +
> static
> bool intel_dp_can_join(struct intel_dp *intel_dp,
> int num_joined_pipes)
> @@ -1300,6 +1329,31 @@ bool intel_dp_dotclk_valid(struct intel_display
> *display,
> return target_clock <= effective_dotclk_limit; }
>
> +bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int
> +pixel_clock) {
> + struct intel_display *display = to_intel_display(intel_dp);
> + struct intel_dp_link_caps_order order = {
> + .key = INTEL_DP_LINK_CAPS_ORDER_KEY_RATE_LANE,
> + .dir = INTEL_DP_LINK_CAPS_ORDER_DIR_DESC,
> + };
> + struct intel_dp_link_config link_config;
> + struct intel_dp_link_caps_iter iter;
> + bool found = false;
> +
> + intel_dp_link_caps_iter_start(&iter, intel_dp->link.caps, order,
> + INTEL_DP_LINK_CAPS_FILTER_ALL);
> + for_each_dp_link_config(&iter, &link_config) {
> + if (intel_dp_can_support_m_n(display, pixel_clock,
> link_config.rate)) {
> + found = true;
> +
> + break;
> + }
> + }
> + intel_dp_link_caps_iter_end(&iter);
> +
> + return found;
> +}
> +
> static enum drm_mode_status
> intel_dp_mode_valid_format(struct intel_connector *connector,
> const struct drm_display_mode *mode, @@ -
> 1454,6 +1508,9 @@ intel_dp_mode_valid(struct drm_connector
> *_connector,
> return status;
> }
>
> + if (!intel_dp_mode_valid_m_n(intel_dp, target_clock))
> + return MODE_CLOCK_HIGH;
> +
> /*
> * TODO: Even when using a 4:2:0 sink_format
> intel_dp_output_format()
> * will always choose a 4:4:4 output_format if the DFP can do the @@
> -2654,6 +2711,47 @@ intel_dp_dsc_compute_pipe_bpp_limits(struct
> intel_connector *connector,
> return true;
> }
>
> +static bool
> +intel_dp_compute_m_n_ratio_limits(struct intel_dp *intel_dp,
> + struct drm_connector_state *conn_state,
> + const struct intel_crtc_state *crtc_state,
> + struct link_config_limits *limits) {
> + struct intel_display *display = to_intel_display(intel_dp);
> + struct intel_connector *connector = to_intel_connector(conn_state-
> >connector);
> + struct intel_dp_link_caps *link_caps = intel_dp->link.caps;
> + struct intel_dp_link_caps_order order =
> + intel_dp_link_caps_connector_compute_order(connector);
> + struct intel_dp_link_caps_filter new_filter =
> INTEL_DP_LINK_CAPS_FILTER_NONE;
> + int pixel_clock = intel_dp_mode_clock(crtc_state, conn_state);
> + struct intel_dp_link_config link_config;
> + struct intel_dp_link_caps_iter iter;
> + bool found = false;
> +
> + intel_dp_link_caps_iter_start(&iter, link_caps, order, limits-
> >link_config_filter);
> + for_each_dp_link_config(&iter, &link_config) {
> + if (!intel_dp_can_support_m_n(display, pixel_clock,
> link_config.rate))
> + continue;
> +
> + intel_dp_link_caps_filter_add(link_caps, &new_filter,
> &link_config);
> + found = true;
> + }
> + intel_dp_link_caps_iter_end(&iter);
> +
> + if (!found) {
> + drm_dbg_kms(display->drm,
> + "[CONNECTOR:%d:%s] No link config with a Link
> M/N ratio <= %d\n",
> + connector->base.base.id, connector->base.name,
> + intel_dp_get_max_m_n_ratio(display));
> +
> + return false;
> + }
> +
> + limits->link_config_filter = new_filter;
> +
> + return true;
> +}
> +
> bool
> intel_dp_compute_config_limits(struct intel_dp *intel_dp,
> struct drm_connector_state *conn_state, @@ -
> 2770,6 +2868,9 @@ intel_dp_compute_config_limits(struct intel_dp
> *intel_dp,
> limits->link_config_filter = new_filter;
> }
>
> + if (!intel_dp_compute_m_n_ratio_limits(intel_dp, conn_state,
> crtc_state, limits))
> + return false;
For MSO (eDP splitter) this uses the unsplit clock, while the programmed link M/N uses crtc_clock / mso_link_count (computed later in intel_dp_compute_config()). Does the DDA limit apply to the per-segment clock? If so, the check is too strict by a factor of mso_link_count.
> +
> if (!intel_dp_test_compute_config(connector, crtc_state, limits))
> return false;
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.h
> b/drivers/gpu/drm/i915/display/intel_dp.h
> index 04fae203bb69..aa58833a405b 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
> @@ -239,6 +239,8 @@ bool intel_dp_joiner_candidate_valid(struct
> intel_connector *connector,
>
> u8 intel_dp_as_sdp_transmission_time(void);
>
> +bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int
> +pixel_clock);
nit: This is only used in intel_dp.c. Make it static unless the MST follow-up needs it, and if it does, say so.
> +
> int intel_dp_link_init(struct intel_dp *intel_dp); void
> intel_dp_link_cleanup(struct intel_dp *intel_dp);
>
> --
> 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 03/10] drm/i915/dp_mst: Limit M/N ratio for MST
2026-09-17 5:06 ` [PATCH v4 03/10] drm/i915/dp_mst: Limit M/N ratio for MST Suraj Kandpal
@ 2026-10-15 17:29 ` Golani, Mitulkumar Ajitkumar
0 siblings, 0 replies; 24+ messages in thread
From: Golani, Mitulkumar Ajitkumar @ 2026-10-15 17:29 UTC (permalink / raw)
To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R, Kandpal, Suraj
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Suraj
> Kandpal
> Sent: 17 September 2026 10:37
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v4 03/10] drm/i915/dp_mst: Limit M/N ratio for MST
>
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>
> The hardware does not support DisplayPort configurations where the ceiling
> of the Link M/Link N ratio exceeds the limit. Enforce this constraint for MST as
> well.
>
> The compute config path needs no change: MST goes through
> intel_dp_compute_config_limits() too, so the link config filter set up there
> already excludes the configurations violating the ratio limit, and MST fails
> there if none is left.
>
> What is still missing is pruning such modes, so add the check to
> mst_connector_mode_valid_ctx(), reusing the helper the SST mode_valid
> uses. It walks the link configurations and only rejects the mode if none of
> them can satisfy the ratio, rather than evaluating it at a single link rate.
>
> v2:
> -Drop the checks in the MST link config helpers, redundant now that the
> constraint is applied while computing the link config limits. (Imre) -Share the
> mode_valid helper with SST instead of evaluating the ratio at one link rate,
> since the link symbol clock is not monotonic in the link rate and there is no
> single best case configuration.
> v3:
> -Now that intel_dp_mode_valid_m_n checks for all configs just call that
> (Sashiko)
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 0c362784afe4..823fe99ca0a1 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -1565,6 +1565,11 @@ mst_connector_mode_valid_ctx(struct
> drm_connector *_connector,
> min_link_bpp_x16,
> bw_overhead_flags);
>
> + if (!intel_dp_mode_valid_m_n(intel_dp, mode->clock)) {
> + *status = MODE_CLOCK_HIGH;
> + return 0;
> + }
Since MST appears to use only the max_bw_config for link configuration, should the M/N ratio check in
mode_valid also be performed against that configuration's max_link_clock? Currently, intel_dp_mode_valid_m_n
accepts the mode if any allowed config passes the ratio check.
For example, on DG2 with a UHBR10 MST link, could a ~1.3 GHz stream pass the check using HBR3 but later fail
during config computation because MST uses UHBR10, which does not satisfy the ratio limit? If so, should the
validation use the same link configuration that MST will actually use?
> +
> /*
> * TODO:
> * - Also check if compression would allow for the mode
> --
> 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 04/10] drm/i915/dp: Add M/N ratio check for DP link config
2026-09-17 5:06 ` [PATCH v4 04/10] drm/i915/dp: Add M/N ratio check for DP link config Suraj Kandpal
@ 2026-10-15 18:57 ` Golani, Mitulkumar Ajitkumar
0 siblings, 0 replies; 24+ messages in thread
From: Golani, Mitulkumar Ajitkumar @ 2026-10-15 18:57 UTC (permalink / raw)
To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R, Kandpal, Suraj
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Suraj
> Kandpal
> Sent: 17 September 2026 10:37
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v4 04/10] drm/i915/dp: Add M/N ratio check for DP link
> config
>
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>
> Introduce intel_dp_check_m_n_ratio() to validate the computed link M/N
> ratio against the maximum allowed value, and log it if the ratio exceeds the
> limit.
>
> The link config limits computed in the previous patches only restrict the
> configurations that may be selected; this catches anything that still slips
> through.
>
> Log it rather than warn about it: the link config filter already excludes the
> configurations violating the limit, so the only way to get here is with link
> parameters forced through debugfs, which are applied after that filter. A user
> triggerable drm_WARN() with its backtrace would be out of proportion for
> that.
>
> This check works off the M/N values as actually computed, which exposes a
> mismatch with the prediction done while computing the limits: the pixel clock
> there is the one before intel_dp_compute_config() divides adjusted_mode-
> >crtc_clock by the MSO link count. Divide in the prediction too, so both
> agree. The joiner needs no such handling, as
> intel_joiner_adjust_timings() only rewrites the pipe mode and leaves the
> adjusted mode the link M/N is derived from untouched.
>
> For MST the check goes after the bpp loop rather than inside it. The link M/N
> is computed from the pixel clock and the link symbol clock, so it does not
> depend on the bpp being tried and the result is the same on every iteration.
>
> v2:
> -Use the platform specific ratio limit. (Wa_14014191401) -Use the MSO
> adjusted pixel clock when predicting the ratio, matching what the link M/N is
> actually computed from. (Imre) -Drop the check from
> ilk_fdi_compute_config(): it was passing dp_m_n rather than the fdi_m_n it
> had just computed, and an FDI link cannot get anywhere near the ratio limit
> anyway.
> v3:
> -Check the ratio once after the MST bpp loop instead of on every iteration,
> the result does not depend on the bpp. (Sashiko) -Log instead of warning,
> since the link config filter already excludes these configurations and only
> forced link parameters can reach it.
> (Sashiko)
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 37 +++++++++++++++++++--
> drivers/gpu/drm/i915/display/intel_dp.h | 4 +++
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 ++
> 3 files changed, 41 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index f6a2152c4432..fbfc00101886 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1294,6 +1294,14 @@ intel_dp_can_support_m_n(struct intel_display
> *display,
> return m_n_ratio <= max_m_n_ratio;
> }
>
> +static int intel_dp_mso_pixel_clock(struct intel_dp *intel_dp, int
> +pixel_clock) {
> + if (!intel_dp->mso_link_count)
> + return pixel_clock;
> +
> + return pixel_clock / intel_dp->mso_link_count; }
> +
These hunks fix the prediction added in "drm/i915/dp: Limit M/N ratio for DP SST". On its own that patch over-restricts MSO eDP by mso_link_count . Please squash them, together with the MSO/joiner explanation, into that patch so it is correct on its own, and keep this patch to the debug check.
> static
> bool intel_dp_can_join(struct intel_dp *intel_dp,
> int num_joined_pipes)
> @@ -1332,6 +1340,7 @@ bool intel_dp_dotclk_valid(struct intel_display
> *display, bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int
> pixel_clock) {
> struct intel_display *display = to_intel_display(intel_dp);
> + int m_n_pixel_clock = intel_dp_mso_pixel_clock(intel_dp,
> pixel_clock);
> struct intel_dp_link_caps_order order = {
> .key = INTEL_DP_LINK_CAPS_ORDER_KEY_RATE_LANE,
> .dir = INTEL_DP_LINK_CAPS_ORDER_DIR_DESC,
> @@ -1343,7 +1352,8 @@ bool intel_dp_mode_valid_m_n(struct intel_dp
> *intel_dp, int pixel_clock)
> intel_dp_link_caps_iter_start(&iter, intel_dp->link.caps, order,
> INTEL_DP_LINK_CAPS_FILTER_ALL);
> for_each_dp_link_config(&iter, &link_config) {
> - if (intel_dp_can_support_m_n(display, pixel_clock,
> link_config.rate)) {
> + if (intel_dp_can_support_m_n(display, m_n_pixel_clock,
> + link_config.rate)) {
> found = true;
>
> break;
> @@ -2723,7 +2733,8 @@ intel_dp_compute_m_n_ratio_limits(struct
> intel_dp *intel_dp,
> struct intel_dp_link_caps_order order =
> intel_dp_link_caps_connector_compute_order(connector);
> struct intel_dp_link_caps_filter new_filter =
> INTEL_DP_LINK_CAPS_FILTER_NONE;
> - int pixel_clock = intel_dp_mode_clock(crtc_state, conn_state);
> + int pixel_clock = intel_dp_mso_pixel_clock(intel_dp,
> +
> intel_dp_mode_clock(crtc_state, conn_state));
> struct intel_dp_link_config link_config;
> struct intel_dp_link_caps_iter iter;
> bool found = false;
> @@ -3382,6 +3393,24 @@ static bool can_enable_drrs(struct
> intel_connector *connector,
> intel_panel_drrs_type(connector) == DRRS_TYPE_SEAMLESS;
> }
>
> +void intel_dp_check_m_n_ratio(struct intel_crtc_state *crtc_state,
> + struct intel_link_m_n *m_n)
> +{
> + struct intel_display *display = to_intel_display(crtc_state);
> + int max_m_n_ratio = intel_dp_get_max_m_n_ratio(display);
> + int m_n_ratio;
> +
> + if (!m_n || !m_n->link_n)
> + return;
> +
> + m_n_ratio = DIV_ROUND_UP(m_n->link_m, m_n->link_n);
> +
> + if (m_n_ratio > max_m_n_ratio)
> + drm_dbg_kms(display->drm,
> + "Link M/N ratio (%d) exceeds max allowed (%d)\n",
> + m_n_ratio, max_m_n_ratio);
> +}
Could we reuse a small helper here, since the DIV_ROUND_UP(link_m, link_n) <= max check appears to duplicate intel_dp_can_support_m_n? Also, are the !m_n and !m_n->link_n checks necessary, given that callers pass struct members and link_n is fixed at 0x80000? Could the parameters be const as well? Finally, would it make sense to place this helper next to intel_dp_can_support_m_n ?
> +
> static void
> intel_dp_drrs_compute_config(struct intel_connector *connector,
> struct intel_crtc_state *pipe_config, @@ -3420,6
> +3449,8 @@ intel_dp_drrs_compute_config(struct intel_connector
> *connector,
> intel_dp_bw_fec_overhead(pipe_config-
> >fec_enable),
> &pipe_config->dp_m2_n2);
>
> + intel_dp_check_m_n_ratio(pipe_config, &pipe_config->dp_m2_n2);
Could we drop this check since dp_m2_n2 is computed using the same port_clock and its ratio should already be covered by the dp_m_n check? Or is this intended as a defensive check?
> +
> /* FIXME: abstract this better */
> if (pipe_config->splitter.enable)
> pipe_config->dp_m2_n2.data_m *= pipe_config-
> >splitter.link_count; @@ -3739,6 +3770,8 @@
> intel_dp_compute_config(struct intel_atomic_state *state,
> pipe_config->port_clock,
> intel_dp_bw_fec_overhead(pipe_config-
> >fec_enable),
> &pipe_config->dp_m_n);
> +
> + intel_dp_check_m_n_ratio(pipe_config, &pipe_config-
> >dp_m_n);
> }
>
> ret = intel_dp_compute_min_hblank(pipe_config, conn_state); diff --
> git a/drivers/gpu/drm/i915/display/intel_dp.h
> b/drivers/gpu/drm/i915/display/intel_dp.h
> index aa58833a405b..4c975358ab96 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.h
> +++ b/drivers/gpu/drm/i915/display/intel_dp.h
> @@ -26,6 +26,7 @@ struct intel_display;
> struct intel_dp;
> struct intel_dp_link_config;
> struct intel_encoder;
> +struct intel_link_m_n;
>
> struct link_config_limits {
> struct intel_dp_link_caps_filter link_config_filter; @@ -244,4 +245,7
> @@ bool intel_dp_mode_valid_m_n(struct intel_dp *intel_dp, int
> pixel_clock); int intel_dp_link_init(struct intel_dp *intel_dp); void
> intel_dp_link_cleanup(struct intel_dp *intel_dp);
>
> +void intel_dp_check_m_n_ratio(struct intel_crtc_state *crtc_state,
> + struct intel_link_m_n *m_n);
> +
> #endif /* __INTEL_DP_H__ */
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 823fe99ca0a1..6d2e234a9e9b 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -429,6 +429,8 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp
> *intel_dp,
> return slots;
> }
>
> + intel_dp_check_m_n_ratio(crtc_state, &crtc_state->dp_m_n);
> +
> if (!dsc)
> crtc_state->pipe_bpp = fxp_q4_to_int(bpp_x16);
> else
> --
> 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 05/10] drm/i915/display: Add bits for link_n_extended for DISPLAY >= 14
2026-09-17 5:06 ` [PATCH v4 05/10] drm/i915/display: Add bits for link_n_extended for DISPLAY >= 14 Suraj Kandpal
@ 2026-10-15 19:23 ` Golani, Mitulkumar Ajitkumar
0 siblings, 0 replies; 24+ messages in thread
From: Golani, Mitulkumar Ajitkumar @ 2026-10-15 19:23 UTC (permalink / raw)
To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R, Kandpal, Suraj
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Suraj
> Kandpal
> Sent: 17 September 2026 10:37
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v4 05/10] drm/i915/display: Add bits for link_n_extended for
> DISPLAY >= 14
>
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>
> LINK_N register has bits 31:24 for extended link N value used for
> HDMI2.1 and for an alternate mode of operation of DP TG DDA.
>
> Add support for these extra bits.
>
> For displays with version 14 or higher, PIPE_LINK_N1_EXTENDED_MASK (bits
> 31:24) is used to handle the extended link N bits. For older platforms,
> DATA_LINK_M_N_MASK (bits 23:0) is used to handle the standard link N bits.
> This distinction ensures clarity and maintains the semantics for platforms that
> support the extended bits. In subsequent changes the logic is updated to
> conditionally apply the extended link N bits.
>
> v2: Drop extra link_n_ext member. (Jani)
> v3: Avoid link_n_ext in set_m_n helper. (Jani)
> v4: Rebase, and update commit message.
> v5: Drop a stale changelog entry, the DISPLAY_VER split here is
> intentional. (Sashiko)
>
> Bspec:50488
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 18 ++++++++++++++++--
> .../gpu/drm/i915/display/intel_display_regs.h | 2 ++
> 2 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index c53163d7c082..6d2025e10995 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -2711,14 +2711,22 @@ void intel_set_m_n(struct intel_display *display,
> intel_reg_t data_m_reg, intel_reg_t data_n_reg,
> intel_reg_t link_m_reg, intel_reg_t link_n_reg) {
> + u32 link_n = m_n->link_n;
> +
> intel_de_write(display, data_m_reg, TU_SIZE(m_n->tu) | m_n-
> >data_m);
> intel_de_write(display, data_n_reg, m_n->data_n);
> intel_de_write(display, link_m_reg, m_n->link_m);
> +
> + if (DISPLAY_VER(display) >= 14)
> + link_n &= ~PIPE_LINK_N1_EXTENDED_MASK;
> + else
> + link_n &= DATA_LINK_M_N_MASK;
> +
> /*
> * On BDW+ writing LINK_N arms the double buffered update
> * of all the M/N registers, so it must be written last.
> */
> - intel_de_write(display, link_n_reg, m_n->link_n);
> + intel_de_write(display, link_n_reg, link_n);
> }
>
> bool intel_cpu_transcoder_has_m2_n2(struct intel_display *display, @@ -
> 3475,7 +3483,13 @@ void intel_get_m_n(struct intel_display *display,
> intel_reg_t link_m_reg, intel_reg_t link_n_reg) {
> m_n->link_m = intel_de_read(display, link_m_reg) &
> DATA_LINK_M_N_MASK;
> - m_n->link_n = intel_de_read(display, link_n_reg) &
> DATA_LINK_M_N_MASK;
> + m_n->link_n = intel_de_read(display, link_n_reg);
> +
> + if (DISPLAY_VER(display) >= 14)
> + m_n->link_n &= ~PIPE_LINK_N1_EXTENDED_MASK;
> + else
> + m_n->link_n &= DATA_LINK_M_N_MASK;
> +
> m_n->data_m = intel_de_read(display, data_m_reg) &
> DATA_LINK_M_N_MASK;
> m_n->data_n = intel_de_read(display, data_n_reg) &
> DATA_LINK_M_N_MASK;
> m_n->tu = REG_FIELD_GET(TU_SIZE_MASK, intel_de_read(display,
> data_m_reg)) + 1; diff --git
> a/drivers/gpu/drm/i915/display/intel_display_regs.h
> b/drivers/gpu/drm/i915/display/intel_display_regs.h
> index 8251ec15190b..57f388c958b4 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_regs.h
> @@ -1190,6 +1190,8 @@
>
> #define _PIPEA_LINK_N1 0x60044
> #define _PIPEB_LINK_N1 0x61044
> +#define PIPE_LINK_N1_EXTENDED_MASK REG_GENMASK(31, 24)
> +#define PIPE_LINK_N1_EXTENDED(val)
> REG_FIELD_PREP(PIPE_LINK_N1_EXTENDED_MASK, (val))
LGTM
Reviewed-by: Mitul Golani<mitulkumar.ajitkumar.golani@intel.com>
> #define PIPE_LINK_N1(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran,
> _PIPEA_LINK_N1)
>
> #define _PIPEA_LINK_M2 0x60048
> --
> 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 06/10] drm/i915/display_wa: Add support for Wa_14021768792
2026-09-17 5:06 ` [PATCH v4 06/10] drm/i915/display_wa: Add support for Wa_14021768792 Suraj Kandpal
@ 2026-10-15 19:40 ` Golani, Mitulkumar Ajitkumar
0 siblings, 0 replies; 24+ messages in thread
From: Golani, Mitulkumar Ajitkumar @ 2026-10-15 19:40 UTC (permalink / raw)
To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R, Kandpal, Suraj
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Suraj
> Kandpal
> Sent: 17 September 2026 10:37
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v4 06/10] drm/i915/display_wa: Add support for
> Wa_14021768792
>
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>
> Some BMG ultrajoiner configurations require support for Link M/N ratios
> between 10.0 and 15.0. This range is not natively supported and requires a
> workaround.
>
> Wa_14021768792 enables this support by utilizing HDMI_EMP_DATA,
> CHICKEN_TRANS and the extended bits in the LINK_N register.
>
> Add the necessary logic to enable the workaround on applicable platforms.
> The underlying mechanism comes from the display C0, so it is gated on
> display stepping C0 and later.
>
> v2:
> -Don't include i915_drv.h and don't use struct drm_i915_private under
> display/. Use display->platform.battlemage, which names the affected
> platform directly, instead of IS_DGFX() combined with a display version check.
> (Jani) -Rebase on the reworked display WA framework, where the condition
> goes directly into the __intel_display_wa() switch.
>
> Bspec: 49266
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_wa.c | 9 +++++++++
> drivers/gpu/drm/i915/display/intel_display_wa.h | 1 +
> 2 files changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c
> b/drivers/gpu/drm/i915/display/intel_display_wa.c
> index 888676693f5e..7456194216be 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
> @@ -111,6 +111,15 @@ bool __intel_display_wa(struct intel_display
> *display, enum intel_display_wa wa,
> return DISPLAY_VERx100(display) == 3000 ||
> DISPLAY_VERx100(display) == 2000 ||
> DISPLAY_VERx100(display) == 1401;
> + /*
> + * Wa_14021768792:
> + * Fixes: Limitation of Link M/N ratio > 10 for specific Xe2HPD
> platforms.
> + * Workaround: Use HDMI_EMP_DATA, CHICKEN_BITs and extended
> bits in LINK_N
> + * registers to support LINK M/N ratios from > 10 but < 15.
> + */
> + case INTEL_DISPLAY_WA_14021768792:
> + return display->platform.battlemage &&
> + IS_DISPLAY_STEP(display, STEP_C0, STEP_FOREVER);
> case INTEL_DISPLAY_WA_14025769978:
> return DISPLAY_VER(display) == 35;
> case INTEL_DISPLAY_WA_14026643300:
> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h
> b/drivers/gpu/drm/i915/display/intel_display_wa.h
> index 425a300840aa..b8f2f9363498 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
> @@ -33,6 +33,7 @@ enum intel_display_wa {
> INTEL_DISPLAY_WA_14014143976,
> INTEL_DISPLAY_WA_14016740474,
> INTEL_DISPLAY_WA_14020863754,
> + INTEL_DISPLAY_WA_14021768792,
LGTM
Reviewed-by: Mitul Golani<mitulkumar.ajitkumar.golani@intel.com>
> INTEL_DISPLAY_WA_14025769978,
> INTEL_DISPLAY_WA_14026643300,
> INTEL_DISPLAY_WA_15013987218,
> --
> 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 08/10] drm/i915/display: Implement Wa_14021768792 for BMG DP for link_m/n ratio > 10
2026-09-17 5:06 ` [PATCH v4 08/10] drm/i915/display: Implement Wa_14021768792 for BMG DP for link_m/n " Suraj Kandpal
@ 2026-10-15 20:24 ` Golani, Mitulkumar Ajitkumar
0 siblings, 0 replies; 24+ messages in thread
From: Golani, Mitulkumar Ajitkumar @ 2026-10-15 20:24 UTC (permalink / raw)
To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R, Kandpal, Suraj
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Suraj
> Kandpal
> Sent: 17 September 2026 10:37
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v4 08/10] drm/i915/display: Implement Wa_14021768792 for
> BMG DP for link_m/n ratio > 10
>
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>
> Handle the bypass logic for the M/N ratio limit for DP.
> Calculate the M/N ratio, check if it can bypass the limit, and set the
> appropriate flags for the workaround.
>
> v2:
> -Restrict the workaround to 128b/132b links.
> -Clear bypass_m_n_ratio_limit on entry, so a rejected link rate cannot leave it
> set for the rate that gets used. (Sashiko)
>
> Bspec: 49266
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 31 +++++++++++++++++++++----
> 1 file changed, 26 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index fbfc00101886..9c327008b733 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -3373,6 +3373,9 @@ static bool can_enable_drrs(struct intel_connector
> *connector,
> if (pipe_config->vrr.enable)
> return false;
>
> + if (pipe_config->dp_m_n.bypass_m_n_ratio_limit)
> + return false;
> +
> /*
> * DRRS and PSR can't be enable together, so giving preference to PSR
> * as it allows more power-savings by complete shutting down
> display, @@ -3397,18 +3400,35 @@ void intel_dp_check_m_n_ratio(struct
> intel_crtc_state *crtc_state,
> struct intel_link_m_n *m_n)
> {
> struct intel_display *display = to_intel_display(crtc_state);
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> int max_m_n_ratio = intel_dp_get_max_m_n_ratio(display);
> int m_n_ratio;
>
> - if (!m_n || !m_n->link_n)
> + if (!m_n)
> + return;
> +
> + m_n->bypass_m_n_ratio_limit = false;
> +
> + if (!m_n->link_n)
> return;
Should bypass_m_n_ratio_limit be set where the link M/N and limits are computed,
keeping this function log-only? Also, as noted in the previous patch review, could the
if (!m_n) check be dead code?
>
> m_n_ratio = DIV_ROUND_UP(m_n->link_m, m_n->link_n);
>
> - if (m_n_ratio > max_m_n_ratio)
> + if (m_n_ratio <= max_m_n_ratio)
> + return;
> +
> + if (intel_dp_is_uhbr(crtc_state) &&
> + intel_display_can_bypass_m_n_limit(display, m_n_ratio, crtc-
> >pipe)) {
> + m_n->bypass_m_n_ratio_limit = true;
> drm_dbg_kms(display->drm,
> - "Link M/N ratio (%d) exceeds max allowed (%d)\n",
> - m_n_ratio, max_m_n_ratio);
> + "Bypassing Link_m/Link_n ratio limit (ratio %d)\n",
> + m_n_ratio);
> + return;
> + }
> +
> + drm_dbg_kms(display->drm,
> + "Link M/N ratio (%d) exceeds max allowed (%d)\n",
> + m_n_ratio, max_m_n_ratio);
> }
Could the ratio limit also be adjusted in the prediction and mode validation paths when
Wa_14021768792 applies? Otherwise, won't configurations with ratios above 10 be
rejected before this workaround can take effect?
>
> static void
> @@ -3425,7 +3445,8 @@ intel_dp_drrs_compute_config(struct
> intel_connector *connector,
> * FIXME all joined pipes share the same transcoder.
> * Need to account for that when updating M/N live.
> */
> - if (has_seamless_m_n(connector) && !pipe_config->joiner_pipes)
> + if (has_seamless_m_n(connector) && !pipe_config->joiner_pipes &&
> + !pipe_config->dp_m_n.bypass_m_n_ratio_limit)
> pipe_config->update_m_n = true;
>
> if (!can_enable_drrs(connector, pipe_config, downclock_mode)) {
> --
> 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
* RE: [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10
2026-09-17 5:06 ` [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10 Suraj Kandpal
2026-09-17 5:19 ` sashiko-bot
@ 2026-10-15 20:37 ` Golani, Mitulkumar Ajitkumar
1 sibling, 0 replies; 24+ messages in thread
From: Golani, Mitulkumar Ajitkumar @ 2026-10-15 20:37 UTC (permalink / raw)
To: Kandpal, Suraj, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Nautiyal, Ankit K, Murthy, Arun R, Kandpal, Suraj
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Suraj
> Kandpal
> Sent: 17 September 2026 10:37
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Nautiyal, Ankit K <ankit.k.nautiyal@intel.com>; Murthy, Arun R
> <arun.r.murthy@intel.com>; Kandpal, Suraj <suraj.kandpal@intel.com>
> Subject: [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792
> for linkm/n ratio > 10
>
> From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>
> To support a Link M/N ratio between 10.0 and 15.0, for some BMG ultrajoiner
> cases we need Wa_14021768792.
>
> To bypass the hardware limitation within the Timing Generator DDA (TGDDA),
> we need to program the LINKM and LINKN registers as defined in the WA.
> Along with this we also need the relevant bits in HDMI_EMP_DATA and
> CHICKEN_TRANS.
>
> Add the bits for the WA and a new member 'bypass_m_n_ratio_limit' to track
> if we need to bypass the Link M/N ratio limit in the intel_link_m_n structure.
>
> Per Bspec the extended LINK_N field is two nibbles: bits 27:24 hold INT(Link
> M / Link N) and bits 31:28 hold CEIL(Link M / Link N).
>
> CHICKEN_TRANS and HDMI_EMP_DATA are programmed before LINK_N,
> since writing LINK_N arms the double buffered update of the M/N registers,
> and all of the programming has to be done before the transcoder is enabled.
> Both are also explicitly cleared when the mechanism is not in use, so that
> state cannot leak from a previous modeset.
>
> Only bypass_m_n_ratio_limit is compared by the state checker, not the ratio
> integer and fraction themselves. That is deliberate: both are derived from Link
> M and Link N, which are compared already, so the thing worth verifying is
> whether the workaround ended up being applied or not.
>
> Unlike the rest of the M/N registers, CHICKEN_TRANS and HDMI_EMP_DATA
> are not double buffered, so the flag has to be compared outside the fastset
> exemption that PIPE_CONF_CHECK_M_N() has for update_m_n.
> Otherwise a seamless M/N update could switch the DDA out of the
> workaround on a live transcoder, with the Link M/N values only following at
> the next MSA.
>
> v2:
> -Drop the drm_WARN_ON() on the extended LINK_N field in intel_get_m_n():
> it is derived from Link M and Link N, so the state checker comparison of those
> and of bypass_m_n_ratio_limit already covers it. (Sashiko) -Compare
> bypass_m_n_ratio_limit unconditionally, so that a change to it forces a full
> modeset instead of being applied during a seamless M/N fastset. (Sashiko)
>
> Bspec: 49266
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 93 ++++++++++++++++++-
> drivers/gpu/drm/i915/display/intel_display.h | 2 +
> .../gpu/drm/i915/display/intel_display_regs.h | 10 ++
> .../drm/i915/display/intel_display_types.h | 2 +
> 4 files changed, 102 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index 6d2025e10995..1e9d8943626a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -2706,6 +2706,15 @@ void intel_zero_m_n(struct intel_link_m_n *m_n)
> m_n->tu = 1;
> }
>
> +static u8 bmg_get_link_n_ext(const struct intel_link_m_n *m_n) {
> + if (!m_n->link_n)
> + return 0;
> +
> + return PIPE_LINK_N1_EXT_INT(m_n->link_m / m_n->link_n) |
> + PIPE_LINK_N1_EXT_CEIL(DIV_ROUND_UP(m_n->link_m,
> m_n->link_n)); }
> +
> void intel_set_m_n(struct intel_display *display,
> const struct intel_link_m_n *m_n,
> intel_reg_t data_m_reg, intel_reg_t data_n_reg, @@ -
> 2717,7 +2726,9 @@ void intel_set_m_n(struct intel_display *display,
> intel_de_write(display, data_n_reg, m_n->data_n);
> intel_de_write(display, link_m_reg, m_n->link_m);
>
> - if (DISPLAY_VER(display) >= 14)
> + if (DISPLAY_VER(display) >= 14 && m_n->bypass_m_n_ratio_limit)
> + link_n |=
> PIPE_LINK_N1_EXTENDED(bmg_get_link_n_ext(m_n));
> + else if (DISPLAY_VER(display) >= 14)
> link_n &= ~PIPE_LINK_N1_EXTENDED_MASK;
> else
> link_n &= DATA_LINK_M_N_MASK;
> @@ -2738,6 +2749,26 @@ bool intel_cpu_transcoder_has_m2_n2(struct
> intel_display *display,
> return IS_DISPLAY_VER(display, 5, 7) || display->platform.cherryview;
> }
>
> +static void bmg_enhanced_tgdda_write(struct intel_crtc *crtc,
> + enum transcoder transcoder,
> + const struct intel_link_m_n *m_n) {
> + struct intel_display *display = to_intel_display(crtc);
> + bool enable = m_n->bypass_m_n_ratio_limit && m_n->link_n;
> + u32 link_m_frac = enable ? m_n->link_m % m_n->link_n : 0;
> +
> + if (!intel_display_wa(display, INTEL_DISPLAY_WA_14021768792))
> + return;
> +
> + intel_de_rmw(display, HDMI_EMP_DATA(display, transcoder),
> + HDMI_EMP_DATA_LINK_M_FRAC_MASK,
> + REG_FIELD_PREP(HDMI_EMP_DATA_LINK_M_FRAC_MASK,
> link_m_frac));
> +
> + intel_de_rmw(display, CHICKEN_TRANS(display, transcoder),
> + DP_ENHANCED_TGDDA_ENABLE,
> + enable ? DP_ENHANCED_TGDDA_ENABLE : 0); }
> +
> void intel_cpu_transcoder_set_m1_n1(struct intel_crtc *crtc,
> enum transcoder transcoder,
> const struct intel_link_m_n *m_n) @@ -
> 2745,6 +2776,8 @@ void intel_cpu_transcoder_set_m1_n1(struct intel_crtc
> *crtc,
> struct intel_display *display = to_intel_display(crtc);
> enum pipe pipe = crtc->pipe;
>
> + bmg_enhanced_tgdda_write(crtc, transcoder, m_n);
> +
> if (DISPLAY_VER(display) >= 5)
> intel_set_m_n(display, m_n,
> PIPE_DATA_M1(display, transcoder), @@ -3495,6
> +3528,49 @@ void intel_get_m_n(struct intel_display *display,
> m_n->tu = REG_FIELD_GET(TU_SIZE_MASK, intel_de_read(display,
> data_m_reg)) + 1; }
>
> +bool intel_display_can_bypass_m_n_limit(struct intel_display *display,
> + int m_n_ratio,
> + enum pipe pipe)
> +{
> + if (!intel_display_wa(display, INTEL_DISPLAY_WA_14021768792))
> + return false;
> +
> + if (m_n_ratio > 15)
> + return false;
> +
> + if (pipe != PIPE_A)
> + return false;
Could we check whether this should use the transcoder (TRANSCODER_A) instead of crtc->pipe ?
For ultrajoiner, could the secondary pipes report bypass=false even though their computed state,
copied from the primary, has bypass=true ?
> +
> + return true;
> +}
> +
> +static void bmg_enhanced_tgdda_read(struct intel_crtc *crtc,
> + enum transcoder transcoder,
> + struct intel_link_m_n *m_n)
> +{
> + struct intel_display *display = to_intel_display(crtc);
> + u32 link_m_frac;
> + int m_n_ratio;
> +
> + if (!m_n->link_n)
> + return;
> +
> + m_n_ratio = DIV_ROUND_UP(m_n->link_m, m_n->link_n);
> +
> + if (!intel_display_can_bypass_m_n_limit(display, m_n_ratio, crtc-
> >pipe))
> + return;
> +
> + if (!(intel_de_read(display, CHICKEN_TRANS(display, transcoder)) &
> + DP_ENHANCED_TGDDA_ENABLE))
> + return;
> +
> + link_m_frac =
> REG_FIELD_GET(HDMI_EMP_DATA_LINK_M_FRAC_MASK,
> + intel_de_read(display,
> HDMI_EMP_DATA(display, transcoder)));
> +
> + if (link_m_frac == m_n->link_m % m_n->link_n)
> + m_n->bypass_m_n_ratio_limit = true;
> +}
> +
> void intel_cpu_transcoder_get_m1_n1(struct intel_crtc *crtc,
> enum transcoder transcoder,
> struct intel_link_m_n *m_n)
> @@ -3512,6 +3588,8 @@ void intel_cpu_transcoder_get_m1_n1(struct
> intel_crtc *crtc,
> intel_get_m_n(display, m_n,
> PIPE_DATA_M_G4X(pipe),
> PIPE_DATA_N_G4X(pipe),
> PIPE_LINK_M_G4X(pipe),
> PIPE_LINK_N_G4X(pipe));
> +
> + bmg_enhanced_tgdda_read(crtc, transcoder, m_n);
> }
>
> void intel_cpu_transcoder_get_m2_n2(struct intel_crtc *crtc, @@ -5002,7
> +5080,8 @@ intel_compare_link_m_n(const struct intel_link_m_n *m_n,
> m_n->data_m == m2_n2->data_m &&
> m_n->data_n == m2_n2->data_n &&
> m_n->link_m == m2_n2->link_m &&
> - m_n->link_n == m2_n2->link_n;
> + m_n->link_n == m2_n2->link_n &&
> + m_n->bypass_m_n_ratio_limit == m2_n2-
> >bypass_m_n_ratio_limit;
> }
>
> static bool
> @@ -5277,18 +5356,20 @@ intel_pipe_config_compare(const struct
> intel_crtc_state *current_config,
> if (!intel_compare_link_m_n(¤t_config->name, \
> &pipe_config->name)) { \
> pipe_config_mismatch(&p, fastset, crtc, __stringify(name), \
> - "(expected tu %i data %i/%i link %i/%i, " \
> - "found tu %i, data %i/%i link %i/%i)", \
> + "(expected tu %i data %i/%i link %i/%i
> m_n_bypass %s, " \
> + "found tu %i, data %i/%i link %i/%i
> m_n_bypass %s)", \
> current_config->name.tu, \
> current_config->name.data_m, \
> current_config->name.data_n, \
> current_config->name.link_m, \
> current_config->name.link_n, \
> + str_yes_no(current_config-
> >name.bypass_m_n_ratio_limit), \
> pipe_config->name.tu, \
> pipe_config->name.data_m, \
> pipe_config->name.data_n, \
> pipe_config->name.link_m, \
> - pipe_config->name.link_n); \
> + pipe_config->name.link_n, \
> + str_yes_no(pipe_config-
> >name.bypass_m_n_ratio_limit)); \
> ret = false; \
> } \
> } while (0)
> @@ -5436,6 +5517,8 @@ intel_pipe_config_compare(const struct
> intel_crtc_state *current_config,
> PIPE_CONF_CHECK_M_N(dp_m2_n2);
> }
>
> + PIPE_CONF_CHECK_BOOL(dp_m_n.bypass_m_n_ratio_limit);
The flag is compared twice. The unconditional BOOL check is enough.
Please also print it in intel_crtc_state_dump().
> +
> PIPE_CONF_CHECK_X(output_types);
>
> PIPE_CONF_CHECK_I(framestart_delay);
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h
> b/drivers/gpu/drm/i915/display/intel_display.h
> index 404168f4213b..55e676655120 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -525,5 +525,7 @@ bool intel_scanout_needs_vtd_wa(struct
> intel_display *display); int intel_crtc_num_joined_pipes(const struct
> intel_crtc_state *crtc_state); void intel_display_compute_link_m_n(u32
> *link_m, u32 *link_n,
> int pixel_clock, int link_symbol_clock);
> +bool intel_display_can_bypass_m_n_limit(struct intel_display *display,
> + int m_n_ratio, enum pipe pipe);
>
> #endif
> diff --git a/drivers/gpu/drm/i915/display/intel_display_regs.h
> b/drivers/gpu/drm/i915/display/intel_display_regs.h
> index 57f388c958b4..81f9661357b6 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_regs.h
> @@ -550,6 +550,11 @@
> #define _TRANS_MULT_B 0x6102c
> #define TRANS_MULT(dev_priv, trans) _MMIO_TRANS2(dev_priv, (trans),
> _TRANS_MULT_A)
>
> +#define _HDMI_EMP_DATA_A 0x600d8
> +#define _HDMI_EMP_DATA_B 0x610d8
> +#define HDMI_EMP_DATA_LINK_M_FRAC_MASK REG_GENMASK(23, 0)
> +#define HDMI_EMP_DATA(display, trans) _MMIO_TRANS2((display),
> (trans), _HDMI_EMP_DATA_A)
> +
> /* Hotplug control (945+ only) */
> #define PORT_HOTPLUG_EN(dev_priv)
> _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61110)
> #define PORTB_HOTPLUG_INT_EN (1 << 29)
> @@ -1192,6 +1197,10 @@
> #define _PIPEB_LINK_N1 0x61044
> #define PIPE_LINK_N1_EXTENDED_MASK REG_GENMASK(31, 24)
> #define PIPE_LINK_N1_EXTENDED(val)
> REG_FIELD_PREP(PIPE_LINK_N1_EXTENDED_MASK, (val))
> +#define PIPE_LINK_N1_EXT_CEIL_MASK REG_GENMASK(7, 4)
> +#define PIPE_LINK_N1_EXT_CEIL(val)
> REG_FIELD_PREP(PIPE_LINK_N1_EXT_CEIL_MASK, (val))
> +#define PIPE_LINK_N1_EXT_INT_MASK REG_GENMASK(3, 0)
> +#define PIPE_LINK_N1_EXT_INT(val)
> REG_FIELD_PREP(PIPE_LINK_N1_EXT_INT_MASK, (val))
> #define PIPE_LINK_N1(dev_priv, tran) _MMIO_TRANS2(dev_priv, tran,
> _PIPEA_LINK_N1)
>
> #define _PIPEA_LINK_M2 0x60048
> @@ -1710,6 +1719,7 @@
> #define PSR2_ADD_VERTICAL_LINE_COUNT REG_BIT(15)
> #define DP_FEC_BS_JITTER_WA REG_BIT(15)
> #define PSR2_VSC_ENABLE_PROG_HEADER REG_BIT(12)
> +#define DP_ENHANCED_TGDDA_ENABLE REG_BIT(11)
> #define DP_DSC_INSERT_SF_AT_EOL_WA REG_BIT(4)
> #define HDCP_LINE_REKEY_DISABLE REG_BIT(0)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h
> b/drivers/gpu/drm/i915/display/intel_display_types.h
> index a5f18ac8a7d0..7a5286db977e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_types.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_types.h
> @@ -985,6 +985,8 @@ struct intel_link_m_n {
> u32 data_n;
> u32 link_m;
> u32 link_n;
> + /* Wa_14021768792 for linkm/n ratio > 10 */
> + bool bypass_m_n_ratio_limit;
> };
>
> struct intel_csc_matrix {
> --
> 2.34.1
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2026-10-15 20:38 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-17 5:06 [PATCH v4 00/10] Implement Wa_14021768792 to bypass m_n ratio limit Suraj Kandpal
2026-09-17 5:06 ` [PATCH v4 01/10] drm/i915/display: Add helper to compute link M/N ratio for reuse Suraj Kandpal
2026-09-29 15:13 ` Golani, Mitulkumar Ajitkumar
2026-10-05 3:41 ` Kandpal, Suraj
2026-09-17 5:06 ` [PATCH v4 02/10] drm/i915/dp: Limit M/N ratio for DP SST Suraj Kandpal
2026-10-15 15:52 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 03/10] drm/i915/dp_mst: Limit M/N ratio for MST Suraj Kandpal
2026-10-15 17:29 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 04/10] drm/i915/dp: Add M/N ratio check for DP link config Suraj Kandpal
2026-10-15 18:57 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 05/10] drm/i915/display: Add bits for link_n_extended for DISPLAY >= 14 Suraj Kandpal
2026-10-15 19:23 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 06/10] drm/i915/display_wa: Add support for Wa_14021768792 Suraj Kandpal
2026-10-15 19:40 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 07/10] drm/i915/display: Add bits for Wa_14021768792 for linkm/n ratio > 10 Suraj Kandpal
2026-09-17 5:19 ` sashiko-bot
2026-09-17 5:57 ` Kandpal, Suraj
2026-10-15 20:37 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 08/10] drm/i915/display: Implement Wa_14021768792 for BMG DP for link_m/n " Suraj Kandpal
2026-10-15 20:24 ` Golani, Mitulkumar Ajitkumar
2026-09-17 5:06 ` [PATCH v4 09/10] drm/i915/dp: Extend intel_dp_can_support_m_n() for BMG M/N bypass Suraj Kandpal
2026-09-17 5:06 ` [PATCH v4 10/10] drm/i915/dp: Bump the max Link M/N ratio to 22 for DISPLAY_VER >= 35 Suraj Kandpal
2026-09-17 5:57 ` ✓ i915.CI.BAT: success for Implement Wa_14021768792 to bypass m_n ratio limit (rev9) Patchwork
2026-09-17 9:09 ` ✓ i915.CI.Full: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox