* [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology
@ 2026-09-07 4:39 Xiao Lu
2026-09-07 4:39 ` [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Xiao Lu @ 2026-09-07 4:39 UTC (permalink / raw)
To: intel-gfx
Cc: jani.nikula, ville.syrjala, imre.deak, ankit.k.nautiyal, Xiao Lu
drm_dp_mst_is_virtual_dpcd() checks if a branch port qualifies as a
virtual DPCD device by looking for a downstream port with
Peer_Device_Type=3 (DP_PEER_DEVICE_SST_SINK).
Some PCON devices advertise their downstream HDMI sink port using
Peer_Device_Type=4 (DP_PEER_DEVICE_DP_LEGACY_CONV) with a non-zero
DPCD_Revision in the link address reply, indicating a virtual DPCD is
present (VESA SCR Option 2). The current check misses this case, so
passthrough_aux is never set and DSC passthrough modes are rejected.
Accept DP_PEER_DEVICE_DP_LEGACY_CONV as a valid downstream peer type
in the DP-to-DP branch so these PCON topologies are correctly
identified.
Signed-off-by: Xiao Lu <xiaolu.xie@intel.com>
---
drivers/gpu/drm/display/drm_dp_mst_topology.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 4de36fda0..7d1128bcd 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -6045,7 +6045,8 @@ static bool drm_dp_mst_is_virtual_dpcd(struct drm_dp_mst_port *port)
port->mstb &&
port->mstb->num_ports == 2) {
list_for_each_entry(downstream_port, &port->mstb->ports, next) {
- if (downstream_port->pdt == DP_PEER_DEVICE_SST_SINK &&
+ if ((downstream_port->pdt == DP_PEER_DEVICE_SST_SINK ||
+ downstream_port->pdt == DP_PEER_DEVICE_DP_LEGACY_CONV) &&
!downstream_port->input) {
mutex_unlock(&port->mgr->lock);
return true;
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices 2026-09-07 4:39 [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu @ 2026-09-07 4:39 ` Xiao Lu 2026-09-07 5:03 ` sashiko-bot 2026-09-07 5:28 ` [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu ` (2 subsequent siblings) 3 siblings, 1 reply; 12+ messages in thread From: Xiao Lu @ 2026-09-07 4:39 UTC (permalink / raw) To: intel-gfx Cc: jani.nikula, ville.syrjala, imre.deak, ankit.k.nautiyal, Xiao Lu HDMI 2.1 PCON devices (e.g. Parade PS196) that do not have an internal DSC encoder can still forward a DSC-compressed stream from the DP source to the downstream HDMI 2.1 sink unchanged (passthrough mode). The HDMI sink (e.g. Lenovo ThinkVision Pro 27UD-10) then decompresses the stream itself. This mode is signalled by DP_DSC_PASSTHROUGH_IS_SUPPORTED (DPCD 0x060 bit1) on the PCON. Previously the driver had no awareness of this path: the PCON would fall back to its autonomous passthrough mode and write 0x160=0x02 by itself, leaving the source with no control over DSC parameters or DPCD 0x160. This patch adds explicit driver control of PCON DSC passthrough: - Detect passthrough capability at connect time from DPCD 0x060 bit1 combined with the downstream HDMI 2.1 sink's DSC 1.2 support from EDID HF-VSDB. Cache the result in connector->dp.pcon_dsc_passthrough (same lifecycle as fec_capability and dsc_dpcd). - Treat the PCON as DSC-capable in intel_dp_has_dsc() when passthrough is supported, allowing the normal DSC compute_config path to proceed. - Derive DSC parameters (slice count, bpc limits) from the downstream HDMI sink's EDID DSC capabilities rather than from the PCON encoder DPCD (all-zero for passthrough-only PCONs). - Add PCON passthrough branch in intel_dp_dsc_compute_params() to use DSC 1.2 defaults (version 1.2, convert_rgb per output format, line_buf_depth=13, block_pred=true) instead of the PCON dsc_dpcd fields which reflect passthrough device constraints, not the actual HDMI sink decompressor. - Skip align_max_sink_dsc_input_bpp() for PCON passthrough to prevent the PCON dsc_dpcd color_depth_cap from zeroing pipe.max_bpp. - Write DP_DSC_PASSTHROUGH_EN (0x160 bit1) to the PCON via intel_dp_sink_set_dsc_passthrough() on enable, and clear it on disable. The existing MST hub passthrough path is preserved; the PCON case is handled by redirecting aux to intel_dp->aux (SST) or connector->mst.port->aux (MST via REMOTE_DPCD_WRITE) when pcon_dsc_passthrough is set. - Short-circuit intel_dp_sink_set_dsc_decompression() for PCON passthrough since the PCON itself does not decompress. - Add passthrough branch in intel_dp_mode_valid_with_dsc() to use EDID max_slices capped by PCON dsc_dpcd slice capability. Tested with Parade PS196G (HW 0.2, SW 241.62) connected directly (SST) and via PS8650 MST hub to a Lenovo ThinkVision Pro 27UD-10 (HDMI 2.1, DSC 1.2, max 16 slices, 400 MHz/slice). At 4K@240Hz DSC compression is required; driver now writes 0x160=0x02 explicitly and DSC parameters are correctly derived from the HDMI sink EDID. Depends on the preceding drm/dp/mst patch for MST topology support. Signed-off-by: Xiao Lu <xiaolu.xie@intel.com> --- v5: Split into two patches: the drm/dp/mst fix for recognizing DP-to-HDMI PCON as virtual DPCD is now patch 1/2. Inline PCON passthrough DSC parameter overrides into intel_dp_dsc_compute_params() instead of a separate function; fix convert_rgb to depend on output_format instead of being unconditionally true. Remove intel_dp_pcon_set_dsc_passthrough_cap() call from intel_dp_get_dsc_sink_cap() - keep only the intel_dp_set_edid() call so MST streams do not incorrectly update the root connector. Pass INT_MAX as src_max_slice_width to intel_hdmi_dsc_get_num_slices() so only the HDMI spec 2720px limit applies. Add hdisplay divisibility check for the computed slice count. Add PCON passthrough branch in intel_dp_mode_valid_with_dsc() using EDID max_slices capped by PCON dsc_dpcd slice capability. v4: Rebase onto drm-intel-next-2026-09-03 to fix compilation failures. Fix intel_hdmi_dsc_get_num_slices() call to pass output_format as the 2nd argument matching the updated 6-parameter signature. Add intel_dp_pcon_passthrough_dsc_compute_params() to compute DSC parameters from HDMI sink EDID rather than PCON dsc_dpcd fields (version, color format, line_buf_depth, block_pred are not valid for a passthrough-only PCON that does no decoding). Skip align_max_sink_dsc_input_bpp() for PCON passthrough to prevent the PCON dsc_dpcd color_depth_cap (0x00) from zeroing pipe.max_bpp. Fix intel_dp_dsc_compute_config() to use the correct connector context instead of intel_dp->attached_connector for MST streams. v3: Restrict PCON DSC passthrough to SST direct connections only. In MST topologies the PCON is connected through an intermediate hub; passthrough is already handled separately via the MST hub path in intel_dp_sink_set_dsc_passthrough(), so skip it here by returning early when connector->mst.port is set. Fix intel_hdmi_dsc_get_num_slices() call to use drm_display_mode * instead of intel_crtc_state * to match the updated function signature. v2: Fix build failure on drm-tip - replace non-existent dsc.slice_count field with dsc.slice_config. Introduce intel_dp_pcon_passthrough_dsc_slice_config() which calls intel_hdmi_dsc_get_num_slices() for the target slice count then finds a matching intel_dsc_slice_config via intel_dsc_get_slice_config() to satisfy Intel VDSC HW constraints. Fix pcon_dsc_passthrough caching order: move intel_dp_pcon_set_dsc_passthrough_cap() from intel_dp_get_dsc_sink_cap() to intel_dp_set_edid() so it runs after EDID is parsed and display_info.hdmi.dsc_cap is populated. Also clear pcon_dsc_passthrough in intel_dp_unset_edid() to keep lifecycle consistent. --- .../drm/i915/display/intel_display_types.h | 1 + drivers/gpu/drm/i915/display/intel_dp.c | 275 +++++++++++++++--- 2 files changed, 242 insertions(+), 34 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index 5f0fe18c0..90d77aa4d 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -564,6 +564,7 @@ struct intel_connector { u8 dsc_hblank_expansion_quirk:1; u8 dsc_throughput_quirk:1; u8 dsc_decompression_enabled:1; + u8 pcon_dsc_passthrough:1; /* PCON DSC PT supported and HDMI sink DSC 1.2 */ struct { struct { diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index c46397edf..a54d4373a 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1259,8 +1259,14 @@ bool intel_dp_has_dsc(const struct intel_connector *connector) connector->panel.vbt.edp.dsc_disable) return false; - if (!drm_dp_sink_supports_dsc(connector->dp.dsc_dpcd)) - return false; + if (!drm_dp_sink_supports_dsc(connector->dp.dsc_dpcd)) { + /* + * PCON passthrough: PCON has no DSC decoder so dsc_dpcd is + * zero, but if pcon_dsc_passthrough is set (cached at connect + * time) the downstream HDMI 2.1 sink will decompress instead. + */ + return connector->dp.pcon_dsc_passthrough; + } return true; } @@ -1866,28 +1872,45 @@ static int intel_dp_dsc_compute_params(const struct intel_connector *connector, if (ret) return ret; - vdsc_cfg->dsc_version_major = - (connector->dp.dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] & - DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT; - vdsc_cfg->dsc_version_minor = - min(intel_dp_source_dsc_version_minor(display), - intel_dp_sink_dsc_version_minor(connector->dp.dsc_dpcd)); - if (vdsc_cfg->convert_rgb) - vdsc_cfg->convert_rgb = - connector->dp.dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] & - DP_DSC_RGB; - - vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, - drm_dp_dsc_sink_line_buf_depth(connector->dp.dsc_dpcd)); - if (!vdsc_cfg->line_buf_depth) { - drm_dbg_kms(display->drm, - "DSC Sink Line Buffer Depth invalid\n"); - return -EINVAL; - } + if (connector->dp.pcon_dsc_passthrough) { + /* + * For PCON passthrough the HDMI 2.1 sink decompresses, not the + * PCON. The PCON dsc_dpcd fields reflect passthrough device + * constraints and are not valid for configuring the source VDSC + * engine. Use DSC 1.2 sink defaults instead. + */ + vdsc_cfg->dsc_version_major = 1; + vdsc_cfg->dsc_version_minor = min(intel_dp_source_dsc_version_minor(display), 2); + /* convert_rgb only applies for RGB output; leave false for YCbCr */ + if (vdsc_cfg->convert_rgb) + vdsc_cfg->convert_rgb = + (crtc_state->output_format == INTEL_OUTPUT_FORMAT_RGB); + vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, 13); + vdsc_cfg->block_pred_enable = true; + } else { + vdsc_cfg->dsc_version_major = + (connector->dp.dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] & + DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT; + vdsc_cfg->dsc_version_minor = + min(intel_dp_source_dsc_version_minor(display), + intel_dp_sink_dsc_version_minor(connector->dp.dsc_dpcd)); + if (vdsc_cfg->convert_rgb) + vdsc_cfg->convert_rgb = + connector->dp.dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] & + DP_DSC_RGB; + + vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, + drm_dp_dsc_sink_line_buf_depth(connector->dp.dsc_dpcd)); + if (!vdsc_cfg->line_buf_depth) { + drm_dbg_kms(display->drm, + "DSC Sink Line Buffer Depth invalid\n"); + return -EINVAL; + } - vdsc_cfg->block_pred_enable = - connector->dp.dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] & - DP_DSC_BLK_PREDICTION_IS_SUPPORTED; + vdsc_cfg->block_pred_enable = + connector->dp.dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] & + DP_DSC_BLK_PREDICTION_IS_SUPPORTED; + } return drm_dsc_compute_rc_parameters(vdsc_cfg); } @@ -2316,6 +2339,10 @@ void intel_dp_dsc_reset_config(struct intel_crtc_state *crtc_state) memset(&crtc_state->dsc.config, 0, sizeof(crtc_state->dsc.config)); } +static bool intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp, + const struct intel_crtc_state *crtc_state, + struct intel_dsc_slice_config *config_ret); + int intel_dp_dsc_compute_config(struct intel_dp *intel_dp, struct intel_crtc_state *pipe_config, struct drm_connector_state *conn_state, @@ -2354,7 +2381,19 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp, } } - if (!intel_dp_dsc_get_slice_config(connector, adjusted_mode->crtc_clock, + if (connector->dp.pcon_dsc_passthrough) { + /* + * PCON passthrough: no PCON encoder DPCD, derive slice config + * from the downstream HDMI 2.1 sink DSC capabilities in EDID. + */ + if (!intel_dp_pcon_passthrough_dsc_slice_config(intel_dp, + pipe_config, + &pipe_config->dsc.slice_config)) { + drm_dbg_kms(display->drm, + "PCON DSC passthrough: no valid slice config\n"); + return -EINVAL; + } + } else if (!intel_dp_dsc_get_slice_config(connector, adjusted_mode->crtc_clock, adjusted_mode->crtc_hdisplay, num_joined_pipes, &pipe_config->dsc.slice_config)) return -EINVAL; @@ -2485,10 +2524,20 @@ bool intel_dp_mode_valid_with_dsc(struct intel_connector *connector, num_joined_pipes, output_format, pipe_bpp, INT_MAX); - int dsc_slice_count = intel_dp_dsc_get_slice_count(connector, - mode_clock, - mode_hdisplay, - num_joined_pipes); + int dsc_slice_count; + + if (connector->dp.pcon_dsc_passthrough) { + const struct drm_display_info *info = &connector->base.display_info; + + dsc_slice_count = min_t(int, info->hdmi.dsc_cap.max_slices, + drm_dp_dsc_sink_max_slice_count(connector->dp.dsc_dpcd, + false)); + } else { + dsc_slice_count = intel_dp_dsc_get_slice_count(connector, + mode_clock, + mode_hdisplay, + num_joined_pipes); + } if (min_bpp_x16 <= 0 || min_bpp_x16 > max_bpp_x16) return false; @@ -2683,8 +2732,33 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp, return false; } - if (dsc && !intel_dp_dsc_compute_pipe_bpp_limits(connector, limits)) - return false; + if (dsc) { + if (connector->dp.pcon_dsc_passthrough) { + /* + * PCON passthrough: PCON has no DSC encoder DPCD so + * intel_dp_dsc_compute_pipe_bpp_limits() would see + * all-zero dsc_dpcd and fail. Use the downstream HDMI + * sink DSC bpc cap to constrain the pipe bpp instead. + */ + const struct drm_display_info *info = + &connector->base.display_info; + u8 hdmi_max_bpc = info->hdmi.dsc_cap.bpc_supported ?: 8; + int dsc_min_bpc = intel_dp_dsc_min_src_input_bpc(); + int dsc_max_bpc = min_t(int, + intel_dp_dsc_max_src_input_bpc(display), + hdmi_max_bpc); + + limits->pipe.min_bpp = max(limits->pipe.min_bpp, + dsc_min_bpc * 3); + limits->pipe.max_bpp = min(limits->pipe.max_bpp, + dsc_max_bpc * 3); + + if (limits->pipe.min_bpp > limits->pipe.max_bpp) + return false; + } else if (!intel_dp_dsc_compute_pipe_bpp_limits(connector, limits)) { + return false; + } + } /* * crtc_state->pipe_bpp is the non-DP specific baseline (platform / @@ -2697,7 +2771,7 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp, */ limits->pipe.max_bpp = clamp(crtc_state->pipe_bpp, limits->pipe.min_bpp, limits->pipe.max_bpp); - if (dsc) + if (dsc && !connector->dp.pcon_dsc_passthrough) limits->pipe.max_bpp = align_max_sink_dsc_input_bpp(connector, limits->pipe.max_bpp); @@ -3716,6 +3790,10 @@ intel_dp_sink_set_dsc_decompression(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); + /* PCON passthrough: PCON forwards the stream, sink decompresses. */ + if (!connector->mst.dp && connector->dp.pcon_dsc_passthrough) + return; + if (write_dsc_decompression_flag(connector->dp.dsc_decompression_aux, DP_DECOMPRESSION_EN, enable) < 0) drm_dbg_kms(display->drm, @@ -3728,8 +3806,19 @@ intel_dp_sink_set_dsc_passthrough(const struct intel_connector *connector, bool enable) { struct intel_display *display = to_intel_display(connector); - struct drm_dp_aux *aux = connector->mst.port ? - connector->mst.port->passthrough_aux : NULL; + struct drm_dp_aux *aux = NULL; + + if (!connector->mst.port) { + /* + * HDMI 2.1 PCON passthrough: write DP_DSC_PASSTHROUGH_EN on + * the PCON's own aux channel so it forwards the compressed + * stream to the HDMI sink instead of decoding it. + */ + if (connector->dp.pcon_dsc_passthrough) + aux = &intel_attached_dp((struct intel_connector *)connector)->aux; + } else { + aux = connector->mst.port->passthrough_aux; + } if (!aux) return; @@ -3737,7 +3826,7 @@ intel_dp_sink_set_dsc_passthrough(const struct intel_connector *connector, if (write_dsc_decompression_flag(aux, DP_DSC_PASSTHROUGH_EN, enable) < 0) drm_dbg_kms(display->drm, - "Failed to %s sink compression passthrough state\n", + "Failed to %s DSC passthrough\n", str_enable_disable(enable)); } @@ -4259,6 +4348,116 @@ void intel_dp_check_frl_training(struct intel_dp *intel_dp) } } +/* + * intel_dp_pcon_set_dsc_passthrough_cap - cache PCON DSC passthrough capability + * + * Called once at connect time (from intel_dp_get_dsc_sink_cap()) after + * dsc_dpcd and the HDMI sink EDID have been read. Caches the result in + * connector->dp.pcon_dsc_passthrough so modeset paths can read it cheaply + * without repeating the DPCD and EDID lookups. + * + * A PCON supports DSC passthrough when it explicitly advertises + * DP_DSC_PASSTHROUGH_IS_SUPPORTED (DPCD 0x060 bit1) and the downstream + * HDMI 2.1 sink supports DSC 1.2. The compressed stream produced by the + * source VDSC engine is forwarded unchanged through the PCON to the HDMI + * sink for decompression (DP_DSC_ENABLE bit1 on the PCON). + */ +static void +intel_dp_pcon_set_dsc_passthrough_cap(struct intel_dp *intel_dp) +{ + struct intel_connector *connector = intel_dp->attached_connector; + const struct drm_display_info *info; + + if (!connector) + return; + + connector->dp.pcon_dsc_passthrough = false; + + /* + * PCON DSC passthrough is only supported for SST direct connections. + * In MST topologies the intermediate hub may report incorrect virtual + * DPCD for the downstream PCON port, leading to mismatched DSC + * parameters. Skip passthrough for MST until hub firmware correctly + * reflects the PCON's capabilities. + */ + if (connector->mst.port) + return; + + if (!intel_dp_is_hdmi_2_1_sink(intel_dp)) + return; + + if (!(connector->dp.dsc_dpcd[0] & DP_DSC_PASSTHROUGH_IS_SUPPORTED)) + return; + + info = &connector->base.display_info; + connector->dp.pcon_dsc_passthrough = info->hdmi.dsc_cap.v_1p2; +} + +static bool +intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp, + const struct intel_crtc_state *crtc_state, + struct intel_dsc_slice_config *config_ret) +{ + struct intel_display *display = to_intel_display(intel_dp); + struct intel_connector *connector = intel_dp->attached_connector; + const struct drm_display_info *info = &connector->base.display_info; + int num_joined_pipes = intel_crtc_num_joined_pipes(crtc_state); + int hdmi_throughput = info->hdmi.dsc_cap.clk_per_slice; + int hdmi_max_slices = info->hdmi.dsc_cap.max_slices; + int target_slices; + int slices_per_pipe; + + /* + * Derive the required slice count from the downstream HDMI 2.1 sink + * DSC capabilities in EDID (not from the PCON encoder DPCD which is + * all-zero for passthrough-only devices). + */ + /* + * src_max_slice_width: pass INT_MAX so the HDMI spec limit of 2720px + * applies; the source VDSC HW limit (5120px) is higher so it is not + * the binding constraint here. + * src_max_slices: use hdmi_max_slices as the binding upper limit since + * the PCON passthrough capability bit (already checked) is the gate; + * the for-loop below further constrains to what the Intel VDSC HW can + * actually produce. + */ + target_slices = intel_hdmi_dsc_get_num_slices(&crtc_state->hw.adjusted_mode, + crtc_state->output_format, + hdmi_max_slices, INT_MAX, + hdmi_max_slices, + hdmi_throughput); + if (!target_slices) + return false; + + drm_dbg_kms(display->drm, + "PCON DSC passthrough: target %d slices from HDMI sink EDID cap" + " (max_slices=%d clk_per_slice=%d MHz)\n", + target_slices, hdmi_max_slices, hdmi_throughput); + + for (slices_per_pipe = 1; slices_per_pipe <= 4; slices_per_pipe++) { + struct intel_dsc_slice_config config; + int line_slices; + + if (!intel_dsc_get_slice_config(display, + num_joined_pipes, slices_per_pipe, + &config)) + continue; + + line_slices = intel_dsc_line_slice_count(&config); + if (line_slices != target_slices) + continue; + + /* Slice count must evenly divide the horizontal display width */ + if (crtc_state->hw.adjusted_mode.hdisplay % line_slices) + continue; + + *config_ret = config; + return true; + } + + return false; +} + static int intel_dp_pcon_dsc_enc_slice_height(const struct intel_crtc_state *crtc_state) { @@ -4510,6 +4709,7 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, memset(&connector->dp.dsc_branch_caps, 0, sizeof(connector->dp.dsc_branch_caps)); connector->dp.dsc_throughput_quirk = false; + connector->dp.pcon_dsc_passthrough = false; if (dpcd_rev < DP_DPCD_REV_14) return; @@ -6148,6 +6348,12 @@ intel_dp_set_edid(struct intel_dp *intel_dp) intel_dp_update_dfp(intel_dp, drm_edid); intel_dp_update_420(intel_dp); + /* + * Re-evaluate PCON DSC passthrough capability now that the EDID has + * been parsed and display_info.hdmi.dsc_cap is up to date. + */ + intel_dp_pcon_set_dsc_passthrough_cap(intel_dp); + drm_dp_cec_attach(&intel_dp->aux, connector->base.display_info.source_physical_address); } @@ -6170,6 +6376,7 @@ intel_dp_unset_edid(struct intel_dp *intel_dp) intel_dp->dfp.ycbcr_444_to_420 = false; connector->base.ycbcr_420_allowed = false; + connector->dp.pcon_dsc_passthrough = false; drm_connector_set_vrr_capable_property(&connector->base, false); -- 2.43.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices 2026-09-07 4:39 ` [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu @ 2026-09-07 5:03 ` sashiko-bot 0 siblings, 0 replies; 12+ messages in thread From: sashiko-bot @ 2026-09-07 5:03 UTC (permalink / raw) To: Xiao Lu; +Cc: intel-gfx Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider: - [High] PCON DSC passthrough is enabled without verifying the Intel display source supports DSC 1.2, forcing an incompatible bitstream on older platforms. - [High] DSC modes are incorrectly rejected for passthrough PCONs during mode validation due to reliance on zeroed DPCD capabilities. - [High] Data race on bitfield resulting in lost updates for connector->dp.dsc_decompression_enabled and pcon_dsc_passthrough. -- commit f0cec5b3c63643b719cd4fdc47fea560e78d2d25 Author: Xiao Lu <xiaolu.xie@intel.com> drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices HDMI 2.1 PCON devices (e.g. Parade PS196) that do not have an internal DSC encoder can still forward a DSC-compressed stream from the DP source to the downstream HDMI 2.1 sink unchanged (passthrough mode). The HDMI sink (e.g. Lenovo ThinkVision Pro 27UD-10) then decompresses the stream itself. > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > index 5f0fe18c0614e..90d77aa4d2346 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -564,6 +564,7 @@ struct intel_connector { > u8 dsc_hblank_expansion_quirk:1; > u8 dsc_throughput_quirk:1; > u8 dsc_decompression_enabled:1; > + u8 pcon_dsc_passthrough:1; /* PCON DSC PT supported and HDMI sink DSC 1.2 */ [Severity: High] Could this introduce a data race on the bitfield, resulting in lost updates for connector->dp.dsc_decompression_enabled and pcon_dsc_passthrough? Concurrent read-modify-write operations can occur when hotplug/probe (where intel_dp_pcon_set_dsc_passthrough_cap() executes) races with asynchronous modeset commit tail operations that modify adjacent bits like dsc_decompression_enabled. > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 0cd5e6b5034cf..fb81cbfcdff6d 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c [ ... ] > @@ -2524,10 +2563,20 @@ bool intel_dp_mode_valid_with_dsc(struct intel_connector *connector, > num_joined_pipes, > output_format, > pipe_bpp, INT_MAX); > - int dsc_slice_count = intel_dp_dsc_get_slice_count(connector, > - mode_clock, > - mode_hdisplay, > - num_joined_pipes); > + int dsc_slice_count; > + > + if (connector->dp.pcon_dsc_passthrough) { > + const struct drm_display_info *info = &connector->base.display_info; > + > + dsc_slice_count = min_t(int, info->hdmi.dsc_cap.max_slices, > + drm_dp_dsc_sink_max_slice_count(connector->dp.dsc_dpcd, > + false)); [Severity: High] Will this evaluate to 0 because the PCON's dsc_dpcd is zeroed? For a passthrough-only PCON, its decoder dsc_dpcd is zeroed. As a result, drm_dp_dsc_sink_max_slice_count() will return 0, which makes dsc_slice_count 0 and guarantees the mode will be rejected downstream. Additionally, during mode validation, intel_dp_mode_valid_format() calls intel_dp_dsc_compute_max_bpp(), which relies on align_max_sink_dsc_input_bpp(). Since the DPCD capabilities are zeroed, this also returns 0, causing modes requiring DSC to be incorrectly rejected. [ ... ] > @@ -4298,6 +4387,116 @@ void intel_dp_check_frl_training(struct intel_dp *intel_dp) > } > } > > +/* > + * intel_dp_pcon_set_dsc_passthrough_cap - cache PCON DSC passthrough capability [ ... ] > +static void > +intel_dp_pcon_set_dsc_passthrough_cap(struct intel_dp *intel_dp) > +{ > + struct intel_connector *connector = intel_dp->attached_connector; > + const struct drm_display_info *info; > + > + if (!connector) > + return; > + > + connector->dp.pcon_dsc_passthrough = false; > + > + /* > + * PCON DSC passthrough is only supported for SST direct connections. > + * In MST topologies the intermediate hub may report incorrect virtual > + * DPCD for the downstream PCON port, leading to mismatched DSC > + * parameters. Skip passthrough for MST until hub firmware correctly > + * reflects the PCON's capabilities. > + */ > + if (connector->mst.port) > + return; > + > + if (!intel_dp_is_hdmi_2_1_sink(intel_dp)) > + return; > + > + if (!(connector->dp.dsc_dpcd[0] & DP_DSC_PASSTHROUGH_IS_SUPPORTED)) > + return; > + > + info = &connector->base.display_info; > + connector->dp.pcon_dsc_passthrough = info->hdmi.dsc_cap.v_1p2; [Severity: High] Does this enable passthrough without verifying the Intel display source supports DSC 1.2? If the source is older (e.g., pre-DISPLAY_VER 14 like Tiger Lake), it only supports DSC 1.1. Later in intel_dp_dsc_compute_params(), the VDSC engine will be configured for DSC 1.1: vdsc_cfg->dsc_version_minor = min(intel_dp_source_dsc_version_minor(display), 2); Could this result in sending a DSC 1.1 bitstream to an HDMI 2.1 sink that mandates DSC 1.2a, leading to corrupted output or display failures? -- Sashiko AI review · https://sashiko.dev/#/patchset/20260907043922.1367673-1-xiaolu.xie@intel.com?part=2 ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology 2026-09-07 4:39 [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu 2026-09-07 4:39 ` [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu @ 2026-09-07 5:28 ` Xiao Lu 2026-09-07 17:04 ` Jani Nikula 2026-09-07 6:01 ` ✓ i915.CI.BAT: success for series starting with [v5,1/2] " Patchwork 2026-09-07 10:23 ` ✗ i915.CI.Full: failure " Patchwork 3 siblings, 1 reply; 12+ messages in thread From: Xiao Lu @ 2026-09-07 5:28 UTC (permalink / raw) To: intel-gfx Superseded by v5 series: <20260907044410.1368008-1-xiaolu.xie@intel.com> ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology 2026-09-07 5:28 ` [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu @ 2026-09-07 17:04 ` Jani Nikula 2026-09-08 1:35 ` Xie, Xiaolu 0 siblings, 1 reply; 12+ messages in thread From: Jani Nikula @ 2026-09-07 17:04 UTC (permalink / raw) To: Xiao Lu, intel-gfx On Mon, 07 Sep 2026, Xiao Lu <xiaolu.xie@intel.com> wrote: > Superseded by v5 series: > <20260907044410.1368008-1-xiaolu.xie@intel.com> Wait what. That thread has versions 4 and 5, and this thread has version 5, and all of them have been sent today. Please slow down. These are involved patches, and nobody's had the time to look into them properly. BR, Jani. -- Jani Nikula, Intel ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology 2026-09-07 17:04 ` Jani Nikula @ 2026-09-08 1:35 ` Xie, Xiaolu 0 siblings, 0 replies; 12+ messages in thread From: Xie, Xiaolu @ 2026-09-08 1:35 UTC (permalink / raw) To: Jani Nikula, intel-gfx@lists.freedesktop.org [-- Attachment #1: Type: text/plain, Size: 1070 bytes --] Hi Jani, Sorry for the confusion. Due to a git send-email mistake on my side, an incomplete v5 was sent without the proper In-Reply-To threading (series 173470). Please ignore that one. The correct thread is series 173452 、 https://patchwork.freedesktop.org/series/173452/ I'll slow down. Best regards ________________________________ From: Jani Nikula <jani.nikula@linux.intel.com> Sent: Tuesday, September 8, 2026 1:04 AM To: Xie, Xiaolu <xiaolu.xie@intel.com>; intel-gfx@lists.freedesktop.org <intel-gfx@lists.freedesktop.org> Subject: Re: [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology On Mon, 07 Sep 2026, Xiao Lu <xiaolu.xie@intel.com> wrote: > Superseded by v5 series: > <20260907044410.1368008-1-xiaolu.xie@intel.com> Wait what. That thread has versions 4 and 5, and this thread has version 5, and all of them have been sent today. Please slow down. These are involved patches, and nobody's had the time to look into them properly. BR, Jani. -- Jani Nikula, Intel [-- Attachment #2: Type: text/html, Size: 3344 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✓ i915.CI.BAT: success for series starting with [v5,1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology 2026-09-07 4:39 [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu 2026-09-07 4:39 ` [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu 2026-09-07 5:28 ` [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu @ 2026-09-07 6:01 ` Patchwork 2026-09-07 10:23 ` ✗ i915.CI.Full: failure " Patchwork 3 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2026-09-07 6:01 UTC (permalink / raw) To: Xiao Lu; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 4793 bytes --] == Series Details == Series: series starting with [v5,1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology URL : https://patchwork.freedesktop.org/series/173470/ State : success == Summary == CI Bug Log - changes from CI_DRM_19094 -> Patchwork_173470v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/index.html Participating hosts (38 -> 38) ------------------------------ Additional (1): bat-adls-6 Missing (1): bat-dg2-13 Known issues ------------ Here are the changes found in Patchwork_173470v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_lmem_swapping@parallel-random-engines: - bat-adls-6: NOTRUN -> [SKIP][1] ([i915#4613]) +3 other tests skip [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@gem_lmem_swapping@parallel-random-engines.html * igt@gem_tiled_pread_basic@basic: - bat-adls-6: NOTRUN -> [SKIP][2] ([i915#15656]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@gem_tiled_pread_basic@basic.html * igt@intel_hwmon@hwmon-read: - bat-adls-6: NOTRUN -> [SKIP][3] ([i915#7707]) +1 other test skip [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@intel_hwmon@hwmon-read.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - bat-adls-6: NOTRUN -> [SKIP][4] ([i915#4103]) +1 other test skip [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_dsc@dsc-basic: - bat-adls-6: NOTRUN -> [SKIP][5] ([i915#16361]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@kms_dsc@dsc-basic.html * igt@kms_flip@basic-flip-vs-modeset@d-hdmi-a1: - fi-tgl-1115g4: [PASS][6] -> [ABORT][7] ([i915#16876]) +1 other test abort [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/fi-tgl-1115g4/igt@kms_flip@basic-flip-vs-modeset@d-hdmi-a1.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/fi-tgl-1115g4/igt@kms_flip@basic-flip-vs-modeset@d-hdmi-a1.html * igt@kms_force_connector_basic@force-load-detect: - bat-adls-6: NOTRUN -> [SKIP][8] [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_pm_backlight@basic-brightness: - bat-adls-6: NOTRUN -> [SKIP][9] ([i915#5354]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@kms_pm_backlight@basic-brightness.html * igt@kms_psr@psr-primary-mmap-gtt: - bat-adls-6: NOTRUN -> [SKIP][10] ([i915#1072] / [i915#9732]) +3 other tests skip [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@kms_psr@psr-primary-mmap-gtt.html * igt@kms_setmode@basic-clone-single-crtc: - bat-adls-6: NOTRUN -> [SKIP][11] ([i915#3555]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@kms_setmode@basic-clone-single-crtc.html * igt@prime_vgem@basic-fence-read: - bat-adls-6: NOTRUN -> [SKIP][12] ([i915#3291]) +2 other tests skip [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/bat-adls-6/igt@prime_vgem@basic-fence-read.html [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072 [i915#15656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15656 [i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361 [i915#16876]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16876 [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291 [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555 [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103 [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613 [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354 [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707 [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732 Build changes ------------- * Linux: CI_DRM_19094 -> Patchwork_173470v1 CI-20190529: 20190529 CI_DRM_19094: 496ff8213a2d2e1e5b1c8efe8b55e1dcdc3e3f8f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_9084: 9084 Patchwork_173470v1: 496ff8213a2d2e1e5b1c8efe8b55e1dcdc3e3f8f @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/index.html [-- Attachment #2: Type: text/html, Size: 5665 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✗ i915.CI.Full: failure for series starting with [v5,1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology 2026-09-07 4:39 [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu ` (2 preceding siblings ...) 2026-09-07 6:01 ` ✓ i915.CI.BAT: success for series starting with [v5,1/2] " Patchwork @ 2026-09-07 10:23 ` Patchwork 3 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2026-09-07 10:23 UTC (permalink / raw) To: Xiao Lu; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 130731 bytes --] == Series Details == Series: series starting with [v5,1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology URL : https://patchwork.freedesktop.org/series/173470/ State : failure == Summary == CI Bug Log - changes from CI_DRM_19094_full -> Patchwork_173470v1_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_173470v1_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_173470v1_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_173470v1_full: ### IGT changes ### #### Possible regressions #### * igt@kms_cursor_edge_walk@64x64-top-bottom: - shard-dg1: [PASS][1] -> [DMESG-WARN][2] +1 other test dmesg-warn [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg1-15/igt@kms_cursor_edge_walk@64x64-top-bottom.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-16/igt@kms_cursor_edge_walk@64x64-top-bottom.html * igt@kms_cursor_edge_walk@64x64-top-bottom@pipe-d-hdmi-a-4: - shard-dg1: NOTRUN -> [DMESG-WARN][3] +1 other test dmesg-warn [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-16/igt@kms_cursor_edge_walk@64x64-top-bottom@pipe-d-hdmi-a-4.html New tests --------- New tests have been introduced between CI_DRM_19094_full and Patchwork_173470v1_full: ### New IGT tests (9) ### * igt@kms_cursor_crc@cursor-onscreen-256x256@pipe-a-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [2.79] s * igt@kms_cursor_crc@cursor-onscreen-256x256@pipe-d-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [2.69] s * igt@kms_cursor_crc@cursor-onscreen-64x64@pipe-a-hdmi-a-2: - Statuses : 1 pass(s) - Exec time: [2.55] s * igt@kms_cursor_crc@cursor-rapid-movement-64x64@pipe-a-hdmi-a-2: - Statuses : 1 pass(s) - Exec time: [0.44] s * igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [4.45] s * igt@kms_cursor_crc@cursor-sliding-128x42@pipe-d-hdmi-a-4: - Statuses : 1 pass(s) - Exec time: [4.36] s * igt@kms_plane_cursor@primary@pipe-c-hdmi-a-2-size-128: - Statuses : 1 pass(s) - Exec time: [2.80] s * igt@kms_plane_cursor@primary@pipe-c-hdmi-a-2-size-256: - Statuses : 1 pass(s) - Exec time: [2.78] s * igt@kms_plane_cursor@primary@pipe-c-hdmi-a-2-size-64: - Statuses : 1 pass(s) - Exec time: [2.82] s Known issues ------------ Here are the changes found in Patchwork_173470v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@api_intel_bb@blit-reloc-keep-cache: - shard-dg1: NOTRUN -> [SKIP][4] ([i915#8411]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@api_intel_bb@blit-reloc-keep-cache.html * igt@api_intel_bb@crc32: - shard-dg1: NOTRUN -> [SKIP][5] ([i915#6230]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@api_intel_bb@crc32.html * igt@api_intel_bb@object-reloc-purge-cache: - shard-rkl: NOTRUN -> [SKIP][6] ([i915#8411]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@api_intel_bb@object-reloc-purge-cache.html * igt@device_reset@cold-reset-bound: - shard-tglu: NOTRUN -> [SKIP][7] ([i915#11078]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@device_reset@cold-reset-bound.html - shard-dg2: NOTRUN -> [SKIP][8] ([i915#11078]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@device_reset@cold-reset-bound.html * igt@device_reset@unbind-cold-reset-rebind: - shard-tglu-1: NOTRUN -> [SKIP][9] ([i915#11078]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@device_reset@unbind-cold-reset-rebind.html * igt@device_reset@unbind-reset-rebind: - shard-dg1: NOTRUN -> [ABORT][10] ([i915#11814]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@device_reset@unbind-reset-rebind.html * igt@gem_ccs@block-copy-compressed: - shard-rkl: NOTRUN -> [SKIP][11] ([i915#3555] / [i915#9323]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@gem_ccs@block-copy-compressed.html - shard-dg1: NOTRUN -> [SKIP][12] ([i915#3555] / [i915#9323]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@gem_ccs@block-copy-compressed.html * igt@gem_ccs@ctrl-surf-copy: - shard-tglu: NOTRUN -> [SKIP][13] ([i915#3555] / [i915#9323]) +1 other test skip [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@gem_ccs@ctrl-surf-copy.html * igt@gem_ccs@suspend-resume@tile4-compressed-compfmt0-lmem0-lmem0: - shard-dg2: NOTRUN -> [INCOMPLETE][14] ([i915#13356] / [i915#16348]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-5/igt@gem_ccs@suspend-resume@tile4-compressed-compfmt0-lmem0-lmem0.html * igt@gem_close_race@multigpu-basic-threads: - shard-tglu: NOTRUN -> [SKIP][15] ([i915#7697]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@gem_close_race@multigpu-basic-threads.html * igt@gem_create@create-ext-cpu-access-sanity-check: - shard-tglu-1: NOTRUN -> [SKIP][16] ([i915#6335]) +1 other test skip [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@gem_create@create-ext-cpu-access-sanity-check.html * igt@gem_create@create-ext-set-pat: - shard-dg1: NOTRUN -> [SKIP][17] ([i915#8562]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@gem_create@create-ext-set-pat.html * igt@gem_ctx_isolation@preservation-s3: - shard-rkl: [PASS][18] -> [ABORT][19] ([i915#15131]) +1 other test abort [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-4/igt@gem_ctx_isolation@preservation-s3.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-1/igt@gem_ctx_isolation@preservation-s3.html * igt@gem_ctx_persistence@heartbeat-many: - shard-dg2: NOTRUN -> [SKIP][20] ([i915#8555]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@gem_ctx_persistence@heartbeat-many.html * igt@gem_ctx_persistence@heartbeat-stop: - shard-dg1: NOTRUN -> [SKIP][21] ([i915#8555]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@gem_ctx_persistence@heartbeat-stop.html * igt@gem_ctx_sseu@invalid-args: - shard-rkl: NOTRUN -> [SKIP][22] ([i915#280]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@gem_ctx_sseu@invalid-args.html * igt@gem_ctx_sseu@mmap-args: - shard-tglu: NOTRUN -> [SKIP][23] ([i915#280]) +1 other test skip [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@gem_ctx_sseu@mmap-args.html * igt@gem_eio@kms: - shard-tglu: NOTRUN -> [ABORT][24] ([i915#16837] / [i915#16866]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@gem_eio@kms.html * igt@gem_exec_balancer@bonded-false-hang: - shard-dg2: NOTRUN -> [SKIP][25] ([i915#4812]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@gem_exec_balancer@bonded-false-hang.html * igt@gem_exec_balancer@bonded-sync: - shard-dg1: NOTRUN -> [SKIP][26] ([i915#4771]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@gem_exec_balancer@bonded-sync.html * igt@gem_exec_balancer@parallel: - shard-tglu-1: NOTRUN -> [SKIP][27] ([i915#4525]) +2 other tests skip [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@gem_exec_balancer@parallel.html * igt@gem_exec_balancer@parallel-bb-first: - shard-rkl: NOTRUN -> [SKIP][28] ([i915#4525]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@gem_exec_balancer@parallel-bb-first.html * igt@gem_exec_capture@capture-recoverable: - shard-tglu: NOTRUN -> [SKIP][29] ([i915#6344]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@gem_exec_capture@capture-recoverable.html * igt@gem_exec_flush@basic-uc-prw-default: - shard-dg1: NOTRUN -> [SKIP][30] ([i915#3539]) [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@gem_exec_flush@basic-uc-prw-default.html * igt@gem_exec_flush@basic-wb-ro-default: - shard-dg2: NOTRUN -> [SKIP][31] ([i915#3539] / [i915#4852]) +1 other test skip [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@gem_exec_flush@basic-wb-ro-default.html * igt@gem_exec_params@secure-non-master: - shard-dg2: NOTRUN -> [SKIP][32] +7 other tests skip [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@gem_exec_params@secure-non-master.html * igt@gem_exec_reloc@basic-range-active: - shard-dg2: NOTRUN -> [SKIP][33] ([i915#3281]) +3 other tests skip [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@gem_exec_reloc@basic-range-active.html * igt@gem_exec_reloc@basic-wc-cpu: - shard-rkl: NOTRUN -> [SKIP][34] ([i915#3281]) +5 other tests skip [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@gem_exec_reloc@basic-wc-cpu.html * igt@gem_exec_reloc@basic-write-read: - shard-dg1: NOTRUN -> [SKIP][35] ([i915#3281]) +4 other tests skip [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@gem_exec_reloc@basic-write-read.html * igt@gem_exec_schedule@preempt-queue: - shard-dg2: NOTRUN -> [SKIP][36] ([i915#4537] / [i915#4812]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@gem_exec_schedule@preempt-queue.html * igt@gem_exec_schedule@preempt-queue-contexts-chain: - shard-dg1: NOTRUN -> [SKIP][37] ([i915#4812]) +2 other tests skip [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@gem_exec_schedule@preempt-queue-contexts-chain.html * igt@gem_exec_suspend@basic-s0: - shard-dg2: [PASS][38] -> [INCOMPLETE][39] ([i915#13356]) +1 other test incomplete [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg2-3/igt@gem_exec_suspend@basic-s0.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-3/igt@gem_exec_suspend@basic-s0.html * igt@gem_fenced_exec_thrash@2-spare-fences: - shard-dg1: NOTRUN -> [SKIP][40] ([i915#4860]) +1 other test skip [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@gem_fenced_exec_thrash@2-spare-fences.html * igt@gem_fenced_exec_thrash@no-spare-fences: - shard-dg2: NOTRUN -> [SKIP][41] ([i915#4860]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@gem_fenced_exec_thrash@no-spare-fences.html * igt@gem_huc_copy@huc-copy: - shard-tglu: NOTRUN -> [SKIP][42] ([i915#2190]) [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_evict@dontneed-evict-race: - shard-tglu-1: NOTRUN -> [SKIP][43] ([i915#4613] / [i915#7582]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@gem_lmem_evict@dontneed-evict-race.html * igt@gem_lmem_swapping@heavy-verify-multi: - shard-glk: NOTRUN -> [SKIP][44] ([i915#4613]) +1 other test skip [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk9/igt@gem_lmem_swapping@heavy-verify-multi.html * igt@gem_lmem_swapping@heavy-verify-random-ccs: - shard-dg1: NOTRUN -> [SKIP][45] ([i915#12193]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@gem_lmem_swapping@heavy-verify-random-ccs.html * igt@gem_lmem_swapping@heavy-verify-random-ccs@lmem0: - shard-dg1: NOTRUN -> [SKIP][46] ([i915#4565]) [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@gem_lmem_swapping@heavy-verify-random-ccs@lmem0.html * igt@gem_lmem_swapping@parallel-multi: - shard-rkl: NOTRUN -> [SKIP][47] ([i915#4613]) +2 other tests skip [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@gem_lmem_swapping@parallel-multi.html * igt@gem_lmem_swapping@parallel-random-engines: - shard-tglu-1: NOTRUN -> [SKIP][48] ([i915#4613]) +2 other tests skip [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@gem_lmem_swapping@parallel-random-engines.html * igt@gem_lmem_swapping@parallel-random-verify: - shard-tglu: NOTRUN -> [SKIP][49] ([i915#4613]) +6 other tests skip [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@gem_lmem_swapping@parallel-random-verify.html * igt@gem_mmap@bad-object: - shard-dg1: NOTRUN -> [SKIP][50] ([i915#4083]) +4 other tests skip [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@gem_mmap@bad-object.html * igt@gem_mmap@bad-offset: - shard-dg2: NOTRUN -> [SKIP][51] ([i915#4083]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@gem_mmap@bad-offset.html * igt@gem_mmap_gtt@basic: - shard-dg2: NOTRUN -> [SKIP][52] ([i915#4077]) +2 other tests skip [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@gem_mmap_gtt@basic.html * igt@gem_partial_pwrite_pread@write-uncached: - shard-dg1: NOTRUN -> [SKIP][53] ([i915#3282]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@gem_partial_pwrite_pread@write-uncached.html * igt@gem_partial_pwrite_pread@writes-after-reads-uncached: - shard-rkl: NOTRUN -> [SKIP][54] ([i915#3282]) +1 other test skip [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html * igt@gem_pread@exhaustion: - shard-tglu: NOTRUN -> [WARN][55] ([i915#2658]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@gem_pread@exhaustion.html * igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted: - shard-dg2: NOTRUN -> [SKIP][56] ([i915#4270]) +1 other test skip [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html * igt@gem_pxp@hw-rejects-pxp-buffer: - shard-tglu: NOTRUN -> [SKIP][57] ([i915#13398]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@gem_pxp@hw-rejects-pxp-buffer.html * igt@gem_pxp@hw-rejects-pxp-context: - shard-tglu-1: NOTRUN -> [SKIP][58] ([i915#13398]) [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@gem_pxp@hw-rejects-pxp-context.html * igt@gem_readwrite@write-bad-handle: - shard-dg2: NOTRUN -> [SKIP][59] ([i915#3282]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@gem_readwrite@write-bad-handle.html * igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-ccs: - shard-dg2: NOTRUN -> [SKIP][60] ([i915#5190] / [i915#8428]) [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled-ccs.html * igt@gem_set_tiling_vs_blt@untiled-to-tiled: - shard-dg2: NOTRUN -> [SKIP][61] ([i915#4079]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@gem_set_tiling_vs_blt@untiled-to-tiled.html * igt@gem_userptr_blits@coherency-unsync: - shard-tglu-1: NOTRUN -> [SKIP][62] ([i915#3297]) +1 other test skip [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@gem_userptr_blits@coherency-unsync.html * igt@gem_userptr_blits@create-destroy-unsync: - shard-rkl: NOTRUN -> [SKIP][63] ([i915#3297]) +1 other test skip [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@gem_userptr_blits@create-destroy-unsync.html * igt@gem_workarounds@suspend-resume-fd: - shard-rkl: [PASS][64] -> [INCOMPLETE][65] ([i915#13356]) +2 other tests incomplete [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-5/igt@gem_workarounds@suspend-resume-fd.html [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-4/igt@gem_workarounds@suspend-resume-fd.html * igt@gen9_exec_parse@allowed-all: - shard-dg1: NOTRUN -> [SKIP][66] ([i915#2527]) +1 other test skip [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@gen9_exec_parse@allowed-all.html * igt@gen9_exec_parse@allowed-single: - shard-rkl: NOTRUN -> [SKIP][67] ([i915#2527]) +1 other test skip [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@gen9_exec_parse@allowed-single.html * igt@gen9_exec_parse@batch-zero-length: - shard-tglu: NOTRUN -> [SKIP][68] ([i915#2527] / [i915#2856]) +1 other test skip [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@gen9_exec_parse@batch-zero-length.html * igt@gen9_exec_parse@shadow-peek: - shard-tglu-1: NOTRUN -> [SKIP][69] ([i915#2527] / [i915#2856]) +2 other tests skip [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@gen9_exec_parse@shadow-peek.html * igt@gpu_buddy@gpu_buddy: - shard-tglu: NOTRUN -> [SKIP][70] ([i915#15678]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@gpu_buddy@gpu_buddy.html * igt@i915_drm_fdinfo@all-busy-check-all: - shard-dg1: NOTRUN -> [SKIP][71] ([i915#14123]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@i915_drm_fdinfo@all-busy-check-all.html * igt@i915_drm_fdinfo@virtual-busy: - shard-dg1: NOTRUN -> [SKIP][72] ([i915#14118]) +1 other test skip [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@i915_drm_fdinfo@virtual-busy.html * igt@i915_module_load@fault-injection@__uc_init: - shard-tglu-1: NOTRUN -> [SKIP][73] ([i915#15479]) +4 other tests skip [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@i915_module_load@fault-injection@__uc_init.html * igt@i915_module_load@fault-injection@intel_connector_register: - shard-tglu-1: NOTRUN -> [ABORT][74] ([i915#15342]) +1 other test abort [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@i915_module_load@fault-injection@intel_connector_register.html * igt@i915_pm_freq_api@freq-suspend: - shard-dg1: [PASS][75] -> [DMESG-WARN][76] ([i915#4423]) +3 other tests dmesg-warn [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg1-18/igt@i915_pm_freq_api@freq-suspend.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-12/igt@i915_pm_freq_api@freq-suspend.html - shard-tglu: NOTRUN -> [SKIP][77] ([i915#8399]) [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@i915_pm_freq_api@freq-suspend.html * igt@i915_pm_rc6_residency@rc6-fence: - shard-tglu: NOTRUN -> [WARN][78] ([i915#13790] / [i915#2681]) +1 other test warn [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@i915_pm_rc6_residency@rc6-fence.html * igt@i915_pm_rpm@gem-evict-pwrite: - shard-dg1: NOTRUN -> [SKIP][79] ([i915#4077]) +6 other tests skip [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@i915_pm_rpm@gem-evict-pwrite.html * igt@i915_pm_rps@thresholds-idle-park: - shard-dg1: NOTRUN -> [SKIP][80] ([i915#11681]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@i915_pm_rps@thresholds-idle-park.html * igt@i915_pm_sseu@full-enable: - shard-tglu: NOTRUN -> [SKIP][81] ([i915#4387]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@i915_pm_sseu@full-enable.html * igt@i915_query@query-topology-unsupported: - shard-dg2: NOTRUN -> [SKIP][82] ([i915#16079]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@i915_query@query-topology-unsupported.html * igt@i915_query@test-query-geometry-subslices: - shard-rkl: NOTRUN -> [SKIP][83] ([i915#5723]) [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@i915_query@test-query-geometry-subslices.html - shard-dg1: NOTRUN -> [SKIP][84] ([i915#5723]) [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@i915_query@test-query-geometry-subslices.html * igt@intel_hwmon@hwmon-read: - shard-tglu: NOTRUN -> [SKIP][85] ([i915#7707]) [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@intel_hwmon@hwmon-read.html * igt@kms_addfb_basic@addfb25-x-tiled-legacy: - shard-dg2: NOTRUN -> [SKIP][86] ([i915#4212]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html * igt@kms_atomic@plane-primary-overlay-mutable-zpos: - shard-tglu-1: NOTRUN -> [SKIP][87] ([i915#9531]) [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels: - shard-glk10: NOTRUN -> [SKIP][88] ([i915#1769]) [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk10/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels: - shard-tglu: NOTRUN -> [SKIP][89] ([i915#1769] / [i915#3555]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html * igt@kms_big_fb@4-tiled-16bpp-rotate-0: - shard-tglu: NOTRUN -> [SKIP][90] ([i915#5286]) +8 other tests skip [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html * igt@kms_big_fb@4-tiled-32bpp-rotate-90: - shard-tglu-1: NOTRUN -> [SKIP][91] ([i915#5286]) +2 other tests skip [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_big_fb@4-tiled-32bpp-rotate-90.html * igt@kms_big_fb@4-tiled-64bpp-rotate-0: - shard-dg1: NOTRUN -> [SKIP][92] ([i915#4538] / [i915#5286]) +2 other tests skip [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html * igt@kms_big_fb@4-tiled-addfb-size-overflow: - shard-rkl: NOTRUN -> [SKIP][93] ([i915#5286]) +1 other test skip [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_big_fb@4-tiled-addfb-size-overflow.html * igt@kms_big_fb@linear-64bpp-rotate-90: - shard-rkl: NOTRUN -> [SKIP][94] ([i915#3638]) +1 other test skip [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_big_fb@linear-64bpp-rotate-90.html - shard-dg1: NOTRUN -> [SKIP][95] ([i915#3638]) +1 other test skip [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_big_fb@linear-64bpp-rotate-90.html * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip: - shard-rkl: NOTRUN -> [SKIP][96] ([i915#3828]) +1 other test skip [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_fb@yf-tiled-32bpp-rotate-90: - shard-dg2: NOTRUN -> [SKIP][97] ([i915#4538] / [i915#5190]) +2 other tests skip [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0: - shard-tglu-1: NOTRUN -> [SKIP][98] +76 other tests skip [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180: - shard-dg1: NOTRUN -> [SKIP][99] ([i915#4538]) +3 other tests skip [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180.html * igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-c-hdmi-a-1: - shard-tglu: NOTRUN -> [SKIP][100] ([i915#6095]) +129 other tests skip [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_ccs@bad-aux-stride-y-tiled-ccs@pipe-c-hdmi-a-1.html * igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][101] ([i915#10307] / [i915#10434] / [i915#6095]) +4 other tests skip [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-4/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1.html * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][102] ([i915#10307] / [i915#6095]) +85 other tests skip [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-4/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-1.html * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs: - shard-tglu: NOTRUN -> [SKIP][103] ([i915#12313]) +3 other tests skip [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][104] ([i915#14544] / [i915#6095]) +3 other tests skip [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-2.html * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][105] ([i915#6095]) +67 other tests skip [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-4/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html * igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-c-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][106] ([i915#14098] / [i915#14544] / [i915#6095]) +1 other test skip [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][107] ([i915#4423] / [i915#6095]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-16/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-4.html * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-1: - shard-dg1: NOTRUN -> [SKIP][108] ([i915#6095]) +183 other tests skip [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-15/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-1.html * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs: - shard-tglu: NOTRUN -> [SKIP][109] ([i915#12805]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs: - shard-tglu-1: NOTRUN -> [SKIP][110] ([i915#12805]) [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][111] ([i915#6095]) +7 other tests skip [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs: - shard-glk: NOTRUN -> [INCOMPLETE][112] ([i915#15582]) +1 other test incomplete [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk5/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs: - shard-dg1: NOTRUN -> [SKIP][113] ([i915#12313]) +2 other tests skip [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-c-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][114] ([i915#14098] / [i915#6095]) +42 other tests skip [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-2/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-c-hdmi-a-1.html * igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1: - shard-tglu-1: NOTRUN -> [SKIP][115] ([i915#6095]) +44 other tests skip [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html * igt@kms_cdclk@mode-transition: - shard-tglu: NOTRUN -> [SKIP][116] ([i915#3742]) +1 other test skip [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_cdclk@mode-transition.html * igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][117] ([i915#13781]) +4 other tests skip [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-3.html * igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][118] ([i915#13783]) +3 other tests skip [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-4/igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1.html * igt@kms_chamelium_audio@dp-audio-after-suspend: - shard-tglu-1: NOTRUN -> [SKIP][119] ([i915#11151]) [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_chamelium_audio@dp-audio-after-suspend.html * igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d: - shard-dg1: NOTRUN -> [SKIP][120] ([i915#16471]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_chamelium_color_pipeline@plane-ctm3x4-lut1d.html * igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d: - shard-rkl: NOTRUN -> [SKIP][121] ([i915#16471]) [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_chamelium_color_pipeline@plane-lut1d-ctm3x4-lut1d.html * igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4: - shard-tglu: NOTRUN -> [SKIP][122] ([i915#16471]) +2 other tests skip [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4.html * igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k: - shard-dg2: NOTRUN -> [SKIP][123] ([i915#11151] / [i915#7828]) +2 other tests skip [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_chamelium_edid@hdmi-edid-stress-resolution-non-4k.html * igt@kms_chamelium_hpd@dp-hpd-storm-disable: - shard-dg1: NOTRUN -> [SKIP][124] ([i915#11151] / [i915#7828]) +5 other tests skip [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html - shard-tglu: NOTRUN -> [SKIP][125] ([i915#11151] / [i915#7828]) +12 other tests skip [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html * igt@kms_chamelium_hpd@hdmi-hpd-fast: - shard-tglu-1: NOTRUN -> [SKIP][126] ([i915#11151] / [i915#7828]) +4 other tests skip [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_chamelium_hpd@hdmi-hpd-fast.html * igt@kms_chamelium_hpd@hdmi-hpd-storm: - shard-rkl: NOTRUN -> [SKIP][127] ([i915#11151] / [i915#7828]) +2 other tests skip [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_chamelium_hpd@hdmi-hpd-storm.html * igt@kms_color@deep-color: - shard-tglu: NOTRUN -> [SKIP][128] ([i915#3555] / [i915#9979]) [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_color@deep-color.html * igt@kms_content_protection@dp-mst-lic-type-0: - shard-tglu: NOTRUN -> [SKIP][129] ([i915#15330] / [i915#3116] / [i915#3299]) +1 other test skip [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_content_protection@dp-mst-lic-type-0.html * igt@kms_content_protection@dp-mst-lic-type-1: - shard-dg1: NOTRUN -> [SKIP][130] ([i915#15330] / [i915#3299]) +1 other test skip [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_content_protection@dp-mst-lic-type-1.html * igt@kms_content_protection@dp-mst-type-0-hdcp14: - shard-dg2: NOTRUN -> [SKIP][131] ([i915#15330]) [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_content_protection@dp-mst-type-0-hdcp14.html * igt@kms_content_protection@dp-mst-type-1: - shard-rkl: NOTRUN -> [SKIP][132] ([i915#15330] / [i915#3116]) [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_content_protection@dp-mst-type-1.html * igt@kms_content_protection@dp-mst-type-1-suspend-resume: - shard-tglu: NOTRUN -> [SKIP][133] ([i915#15330]) +2 other tests skip [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html * igt@kms_content_protection@legacy-hdcp14: - shard-dg2: NOTRUN -> [SKIP][134] ([i915#15865]) [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_content_protection@legacy-hdcp14.html * igt@kms_content_protection@lic-type-0: - shard-tglu-1: NOTRUN -> [SKIP][135] ([i915#15865]) [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_content_protection@lic-type-0.html * igt@kms_content_protection@srm: - shard-tglu: NOTRUN -> [SKIP][136] ([i915#15865]) +3 other tests skip [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_content_protection@srm.html * igt@kms_content_protection@type1: - shard-rkl: NOTRUN -> [SKIP][137] ([i915#15865]) [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_content_protection@type1.html - shard-dg1: NOTRUN -> [SKIP][138] ([i915#15865]) [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_content_protection@type1.html * igt@kms_cursor_crc@cursor-offscreen-512x170: - shard-rkl: NOTRUN -> [SKIP][139] ([i915#13049] / [i915#14544]) [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-512x170.html * igt@kms_cursor_crc@cursor-offscreen-max-size: - shard-rkl: NOTRUN -> [SKIP][140] ([i915#3555]) +1 other test skip [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_cursor_crc@cursor-offscreen-max-size.html * igt@kms_cursor_crc@cursor-onscreen-256x85: - shard-tglu: NOTRUN -> [FAIL][141] ([i915#13566]) +7 other tests fail [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_cursor_crc@cursor-onscreen-256x85.html * igt@kms_cursor_crc@cursor-rapid-movement-32x10: - shard-tglu-1: NOTRUN -> [SKIP][142] ([i915#3555]) +7 other tests skip [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html * igt@kms_cursor_crc@cursor-rapid-movement-32x32: - shard-tglu: NOTRUN -> [SKIP][143] ([i915#3555]) +5 other tests skip [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html * igt@kms_cursor_crc@cursor-rapid-movement-512x512: - shard-tglu: NOTRUN -> [SKIP][144] ([i915#13049]) [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html - shard-dg2: NOTRUN -> [SKIP][145] ([i915#13049]) [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html * igt@kms_cursor_crc@cursor-sliding-32x10: - shard-dg1: NOTRUN -> [SKIP][146] ([i915#3555]) +4 other tests skip [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_cursor_crc@cursor-sliding-32x10.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - shard-tglu-1: NOTRUN -> [SKIP][147] ([i915#4103]) [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - shard-tglu: NOTRUN -> [SKIP][148] ([i915#4103]) +2 other tests skip [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_cursor_legacy@cursorb-vs-flipa-toggle: - shard-dg2: NOTRUN -> [SKIP][149] ([i915#13046] / [i915#5354]) +1 other test skip [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html * igt@kms_dirtyfb@psr-dirtyfb-ioctl: - shard-rkl: NOTRUN -> [SKIP][150] ([i915#9723]) [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html - shard-dg1: NOTRUN -> [SKIP][151] ([i915#9723]) [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html * igt@kms_display_modes@extended-mode-basic: - shard-tglu: NOTRUN -> [SKIP][152] ([i915#13691]) [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_display_modes@extended-mode-basic.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc: - shard-tglu: NOTRUN -> [SKIP][153] ([i915#1769] / [i915#3555] / [i915#3804]) [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1: - shard-tglu: NOTRUN -> [SKIP][154] ([i915#3804]) [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html * igt@kms_dp_aux_dev@basic: - shard-tglu: NOTRUN -> [SKIP][155] ([i915#1257]) [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_dp_aux_dev@basic.html * igt@kms_dp_link_training@non-uhbr-mst: - shard-tglu: NOTRUN -> [SKIP][156] ([i915#13749]) [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@kms_dp_link_training@non-uhbr-mst.html * igt@kms_dp_linktrain_fallback@dp-fallback: - shard-tglu: NOTRUN -> [SKIP][157] ([i915#16867]) [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_dp_linktrain_fallback@dp-fallback.html * igt@kms_dp_linktrain_fallback@dsc-fallback: - shard-tglu-1: NOTRUN -> [SKIP][158] ([i915#13707]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_dp_linktrain_fallback@dsc-fallback.html * igt@kms_dsc@dsc-fractional-bpp-bigjoiner: - shard-tglu-1: NOTRUN -> [SKIP][159] ([i915#16361]) +3 other tests skip [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_dsc@dsc-fractional-bpp-bigjoiner.html * igt@kms_dsc@dsc-with-bpc-bigjoiner: - shard-tglu: NOTRUN -> [SKIP][160] ([i915#16361]) +4 other tests skip [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@kms_dsc@dsc-with-bpc-bigjoiner.html * igt@kms_dsc@dsc-with-bpc-formats: - shard-rkl: NOTRUN -> [SKIP][161] ([i915#16361]) [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_dsc@dsc-with-bpc-formats.html * igt@kms_dsc@dsc-with-output-formats-bigjoiner: - shard-dg1: NOTRUN -> [SKIP][162] ([i915#16361]) +2 other tests skip [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_dsc@dsc-with-output-formats-bigjoiner.html * igt@kms_dsc@dsc-with-output-formats-ultrajoiner: - shard-dg2: NOTRUN -> [SKIP][163] ([i915#16361]) +1 other test skip [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_dsc@dsc-with-output-formats-ultrajoiner.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-glk10: NOTRUN -> [INCOMPLETE][164] ([i915#9878]) [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk10/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_fbcon_fbt@psr-suspend: - shard-rkl: NOTRUN -> [SKIP][165] ([i915#16680]) [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_fbcon_fbt@psr-suspend.html - shard-dg1: NOTRUN -> [SKIP][166] ([i915#16680]) [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_feature_discovery@chamelium: - shard-tglu: NOTRUN -> [SKIP][167] ([i915#2065]) [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_feature_discovery@chamelium.html * igt@kms_feature_discovery@display-2x: - shard-tglu: NOTRUN -> [SKIP][168] ([i915#16081]) [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@kms_feature_discovery@display-2x.html * igt@kms_feature_discovery@display-3x: - shard-tglu-1: NOTRUN -> [SKIP][169] ([i915#16081]) [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_feature_discovery@display-3x.html * igt@kms_feature_discovery@dsc: - shard-dg2: NOTRUN -> [SKIP][170] ([i915#16600]) [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_feature_discovery@dsc.html * igt@kms_feature_discovery@psr2: - shard-dg1: NOTRUN -> [SKIP][171] ([i915#658]) [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_feature_discovery@psr2.html - shard-tglu: NOTRUN -> [SKIP][172] ([i915#658]) [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_feature_discovery@psr2.html * igt@kms_feature_discovery@vrr: - shard-tglu: NOTRUN -> [SKIP][173] ([i915#16600]) +1 other test skip [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_feature_discovery@vrr.html * igt@kms_flip@2x-flip-vs-blocking-wf-vblank: - shard-glk10: NOTRUN -> [FAIL][174] ([i915#14600]) +1 other test fail [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk10/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html * igt@kms_flip@2x-flip-vs-suspend: - shard-glk11: NOTRUN -> [INCOMPLETE][175] ([i915#12745] / [i915#4839]) [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk11/igt@kms_flip@2x-flip-vs-suspend.html * igt@kms_flip@2x-flip-vs-suspend@ac-hdmi-a1-hdmi-a2: - shard-glk11: NOTRUN -> [INCOMPLETE][176] ([i915#12745]) [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk11/igt@kms_flip@2x-flip-vs-suspend@ac-hdmi-a1-hdmi-a2.html * igt@kms_flip@2x-nonexisting-fb-interruptible: - shard-rkl: NOTRUN -> [SKIP][177] ([i915#14544] / [i915#9934]) [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_flip@2x-nonexisting-fb-interruptible.html * igt@kms_flip@2x-plain-flip: - shard-tglu-1: NOTRUN -> [SKIP][178] ([i915#3637] / [i915#9934]) +7 other tests skip [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_flip@2x-plain-flip.html * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible: - shard-tglu: NOTRUN -> [SKIP][179] ([i915#3637] / [i915#9934]) +7 other tests skip [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html * igt@kms_flip@2x-plain-flip-ts-check: - shard-dg2: NOTRUN -> [SKIP][180] ([i915#9934]) +4 other tests skip [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_flip@2x-plain-flip-ts-check.html * igt@kms_flip@2x-wf_vblank-ts-check: - shard-rkl: NOTRUN -> [SKIP][181] ([i915#9934]) +2 other tests skip [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_flip@2x-wf_vblank-ts-check.html - shard-dg1: NOTRUN -> [SKIP][182] ([i915#9934]) +5 other tests skip [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_flip@2x-wf_vblank-ts-check.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-glk: NOTRUN -> [INCOMPLETE][183] ([i915#12745] / [i915#4839]) [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk9/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1: - shard-glk: NOTRUN -> [INCOMPLETE][184] ([i915#12745]) [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk9/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling: - shard-rkl: NOTRUN -> [SKIP][185] ([i915#15643]) [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling: - shard-dg1: NOTRUN -> [SKIP][186] ([i915#15643]) +1 other test skip [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling: - shard-tglu: NOTRUN -> [SKIP][187] ([i915#15643]) +7 other tests skip [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling: - shard-tglu-1: NOTRUN -> [SKIP][188] ([i915#15643]) +1 other test skip [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling: - shard-rkl: NOTRUN -> [SKIP][189] ([i915#14544] / [i915#15643]) [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc: - shard-rkl: NOTRUN -> [SKIP][190] ([i915#1825]) +3 other tests skip [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt: - shard-dg2: NOTRUN -> [SKIP][191] ([i915#15991] / [i915#5354]) +7 other tests skip [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-mmap-gtt: - shard-rkl: NOTRUN -> [SKIP][192] ([i915#14544] / [i915#1825]) [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-mmap-wc: - shard-dg1: NOTRUN -> [SKIP][193] ([i915#15990]) +10 other tests skip [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-shrfb-draw-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][194] ([i915#15990]) +6 other tests skip [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_frontbuffer_tracking@fbchdr-1p-offscreen-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt: - shard-tglu-1: NOTRUN -> [SKIP][195] ([i915#15989]) +12 other tests skip [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-pri-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-plflip-blt: - shard-tglu: NOTRUN -> [SKIP][196] +217 other tests skip [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-shrfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render: - shard-rkl: [PASS][197] -> [SKIP][198] ([i915#15989]) +10 other tests skip [197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render.html [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbchdr-rgb101010-draw-render.html * igt@kms_frontbuffer_tracking@fbchdr-tiling-4: - shard-tglu: NOTRUN -> [SKIP][199] ([i915#5439]) +1 other test skip [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_frontbuffer_tracking@fbchdr-tiling-4.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render: - shard-glk10: NOTRUN -> [SKIP][200] +159 other tests skip [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk10/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html - shard-rkl: NOTRUN -> [SKIP][201] ([i915#14544] / [i915#15102]) [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move: - shard-rkl: NOTRUN -> [SKIP][202] ([i915#15102]) +19 other tests skip [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt: - shard-dg2: NOTRUN -> [SKIP][203] ([i915#15990] / [i915#8708]) +2 other tests skip [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move: - shard-glk11: NOTRUN -> [SKIP][204] +33 other tests skip [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk11/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt: - shard-dg1: NOTRUN -> [SKIP][205] ([i915#15990] / [i915#8708]) +7 other tests skip [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4: - shard-dg1: NOTRUN -> [SKIP][206] ([i915#5439]) [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-indfb-fliptrack-mmap-gtt: - shard-tglu: NOTRUN -> [SKIP][207] ([i915#15102]) +82 other tests skip [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-indfb-fliptrack-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-cur-indfb-draw-mmap-wc: - shard-rkl: NOTRUN -> [SKIP][208] +41 other tests skip [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-2p-scndscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-linear: - shard-dg2: NOTRUN -> [SKIP][209] ([i915#15102]) +11 other tests skip [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-linear.html * igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-gtt: - shard-tglu: NOTRUN -> [SKIP][210] ([i915#15989]) +39 other tests skip [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_frontbuffer_tracking@hdr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-mmap-cpu: - shard-glk: [PASS][211] -> [SKIP][212] +11 other tests skip [211]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-glk8/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-mmap-cpu.html [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk6/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-cur-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-cpu: - shard-dg2: NOTRUN -> [SKIP][213] ([i915#15989]) +5 other tests skip [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-shrfb-plflip-blt: - shard-dg1: NOTRUN -> [SKIP][214] ([i915#15989]) +11 other tests skip [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-shrfb-plflip-blt.html * igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-pwrite: - shard-rkl: NOTRUN -> [SKIP][215] ([i915#15989]) +10 other tests skip [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_frontbuffer_tracking@hdr-rgb101010-draw-pwrite.html * igt@kms_frontbuffer_tracking@pipe-fbc-rte: - shard-dg1: NOTRUN -> [SKIP][216] ([i915#9766]) [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html - shard-tglu: NOTRUN -> [SKIP][217] ([i915#9766]) [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-cpu: - shard-dg1: NOTRUN -> [SKIP][218] ([i915#15102]) +24 other tests skip [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc: - shard-tglu-1: NOTRUN -> [SKIP][219] ([i915#15102]) +34 other tests skip [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-blt: - shard-dg1: NOTRUN -> [SKIP][220] +52 other tests skip [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-shrfb-draw-mmap-cpu: - shard-dg2: NOTRUN -> [SKIP][221] ([i915#15991]) +10 other tests skip [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-pri-shrfb-draw-mmap-cpu.html * igt@kms_hdr@bpc-switch-suspend: - shard-tglu: NOTRUN -> [SKIP][222] ([i915#3555] / [i915#8228]) +2 other tests skip [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_hdr@bpc-switch-suspend.html - shard-dg2: NOTRUN -> [SKIP][223] ([i915#16518] / [i915#3555] / [i915#8228]) [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_hdr@static-swap: - shard-tglu-1: NOTRUN -> [SKIP][224] ([i915#3555] / [i915#8228]) [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_hdr@static-swap.html * igt@kms_hdr@static-toggle: - shard-rkl: NOTRUN -> [SKIP][225] ([i915#16644] / [i915#3555] / [i915#8228]) [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_hdr@static-toggle.html * igt@kms_hdr@static-toggle-dpms: - shard-dg1: NOTRUN -> [SKIP][226] ([i915#3555] / [i915#8228]) [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_hdr@static-toggle-dpms.html * igt@kms_joiner@basic-big-joiner: - shard-dg2: NOTRUN -> [SKIP][227] ([i915#15460]) [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_joiner@basic-big-joiner.html * igt@kms_joiner@basic-force-ultra-joiner: - shard-tglu: NOTRUN -> [SKIP][228] ([i915#15458]) +1 other test skip [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_joiner@basic-force-ultra-joiner.html * igt@kms_joiner@invalid-modeset-force-ultra-joiner: - shard-rkl: NOTRUN -> [SKIP][229] ([i915#15458]) [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html - shard-dg1: NOTRUN -> [SKIP][230] ([i915#15458]) [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_joiner@invalid-modeset-force-ultra-joiner.html * igt@kms_mst@mst-suspend-read-crc: - shard-tglu: NOTRUN -> [SKIP][231] ([i915#16451]) [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_mst@mst-suspend-read-crc.html * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-dg2: NOTRUN -> [SKIP][232] ([i915#15815]) [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html * igt@kms_panel_fitting@atomic-fastset: - shard-tglu-1: NOTRUN -> [SKIP][233] ([i915#6301]) [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_panel_fitting@atomic-fastset.html * igt@kms_pipe_stress@stress-xrgb8888-yftiled: - shard-tglu: NOTRUN -> [SKIP][234] ([i915#14712]) [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html * igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping: - shard-tglu-1: NOTRUN -> [SKIP][235] ([i915#15709]) +3 other tests skip [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-bmg-ccs-modifier-source-clamping.html * igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier: - shard-dg2: NOTRUN -> [SKIP][236] ([i915#15709]) [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html * igt@kms_plane@pixel-format-yf-tiled-ccs-modifier: - shard-rkl: NOTRUN -> [SKIP][237] ([i915#15709]) [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier.html * igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping: - shard-tglu: NOTRUN -> [SKIP][238] ([i915#15709]) +6 other tests skip [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier-source-clamping.html * igt@kms_plane@pixel-format-yf-tiled-modifier: - shard-dg1: NOTRUN -> [SKIP][239] ([i915#15709]) +1 other test skip [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_plane@pixel-format-yf-tiled-modifier.html * igt@kms_plane@planar-pixel-format-settings@nv12-tile4-src-y: - shard-tglu-1: NOTRUN -> [SKIP][240] ([i915#16112]) [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_plane@planar-pixel-format-settings@nv12-tile4-src-y.html * igt@kms_plane_alpha_blend@constant-alpha-max: - shard-glk10: NOTRUN -> [FAIL][241] ([i915#10647] / [i915#12169]) [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk10/igt@kms_plane_alpha_blend@constant-alpha-max.html * igt@kms_plane_alpha_blend@constant-alpha-max@pipe-a-hdmi-a-1: - shard-glk10: NOTRUN -> [FAIL][242] ([i915#10647]) +1 other test fail [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk10/igt@kms_plane_alpha_blend@constant-alpha-max@pipe-a-hdmi-a-1.html * igt@kms_plane_multiple@2x-tiling-4: - shard-tglu: NOTRUN -> [SKIP][243] ([i915#13958]) +1 other test skip [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@kms_plane_multiple@2x-tiling-4.html * igt@kms_plane_multiple@2x-tiling-x: - shard-rkl: NOTRUN -> [SKIP][244] ([i915#13958]) [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_plane_multiple@2x-tiling-x.html * igt@kms_plane_multiple@2x-tiling-y: - shard-tglu-1: NOTRUN -> [SKIP][245] ([i915#13958]) [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_plane_multiple@2x-tiling-y.html * igt@kms_plane_multiple@2x-tiling-yf: - shard-dg1: NOTRUN -> [SKIP][246] ([i915#13958]) [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_plane_multiple@2x-tiling-yf.html * igt@kms_plane_multiple@tiling-yf: - shard-tglu: NOTRUN -> [SKIP][247] ([i915#14259]) +1 other test skip [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_plane_multiple@tiling-yf.html * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d: - shard-tglu-1: NOTRUN -> [SKIP][248] ([i915#15329]) +4 other tests skip [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-d.html * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a: - shard-dg1: NOTRUN -> [SKIP][249] ([i915#15329]) +4 other tests skip [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b: - shard-rkl: NOTRUN -> [SKIP][250] ([i915#15329]) +3 other tests skip [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html * igt@kms_pm_backlight@basic-brightness: - shard-rkl: NOTRUN -> [SKIP][251] ([i915#12343] / [i915#5354]) [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_pm_backlight@basic-brightness.html - shard-dg1: NOTRUN -> [SKIP][252] ([i915#12343] / [i915#5354]) [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_pm_backlight@basic-brightness.html * igt@kms_pm_backlight@brightness-with-dpms: - shard-dg1: NOTRUN -> [SKIP][253] ([i915#12343]) [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@kms_pm_backlight@brightness-with-dpms.html * igt@kms_pm_backlight@fade: - shard-tglu: NOTRUN -> [SKIP][254] ([i915#12343] / [i915#9812]) +1 other test skip [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_pm_backlight@fade.html * igt@kms_pm_dc@dc5-pageflip-negative: - shard-dg2: NOTRUN -> [SKIP][255] ([i915#9685]) [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_pm_dc@dc5-pageflip-negative.html * igt@kms_pm_dc@dc5-retention-flops: - shard-tglu: NOTRUN -> [SKIP][256] ([i915#3828]) +1 other test skip [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_pm_dc@dc5-retention-flops.html * igt@kms_pm_dc@dc9-dpms: - shard-tglu: NOTRUN -> [SKIP][257] ([i915#15739]) [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@kms_pm_dc@dc9-dpms.html * igt@kms_pm_lpsp@screens-disabled: - shard-dg1: NOTRUN -> [SKIP][258] ([i915#8430]) [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_pm_lpsp@screens-disabled.html - shard-tglu: NOTRUN -> [SKIP][259] ([i915#8430]) [259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_pm_lpsp@screens-disabled.html * igt@kms_pm_rpm@dpms-non-lpsp: - shard-rkl: [PASS][260] -> [SKIP][261] ([i915#15073]) +1 other test skip [260]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_pm_rpm@dpms-non-lpsp.html [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_pm_rpm@dpms-non-lpsp.html * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait: - shard-dg1: [PASS][262] -> [SKIP][263] ([i915#15073]) [262]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg1-14/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-16/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@kms_pm_rpm@modeset-non-lpsp: - shard-dg2: [PASS][264] -> [SKIP][265] ([i915#15073]) +1 other test skip [264]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg2-3/igt@kms_pm_rpm@modeset-non-lpsp.html [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp.html - shard-tglu: NOTRUN -> [SKIP][266] ([i915#15073]) +1 other test skip [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@kms_pm_rpm@modeset-non-lpsp.html * igt@kms_pm_rpm@package-g7: - shard-tglu: NOTRUN -> [SKIP][267] ([i915#15403]) [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_pm_rpm@package-g7.html * igt@kms_pm_rpm@system-suspend-idle: - shard-rkl: NOTRUN -> [INCOMPLETE][268] ([i915#14419]) [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_pm_rpm@system-suspend-idle.html * igt@kms_pm_rpm@system-suspend-modeset: - shard-glk: NOTRUN -> [INCOMPLETE][269] ([i915#10553]) [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk9/igt@kms_pm_rpm@system-suspend-modeset.html * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf: - shard-tglu: NOTRUN -> [SKIP][270] ([i915#11520]) +17 other tests skip [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf: - shard-dg2: NOTRUN -> [SKIP][271] ([i915#11520]) +2 other tests skip [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf: - shard-rkl: NOTRUN -> [SKIP][272] ([i915#11520]) +2 other tests skip [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf: - shard-glk: NOTRUN -> [SKIP][273] ([i915#11520]) [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk9/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf: - shard-tglu-1: NOTRUN -> [SKIP][274] ([i915#11520]) +5 other tests skip [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf: - shard-glk10: NOTRUN -> [SKIP][275] ([i915#11520]) +2 other tests skip [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk10/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf: - shard-dg1: NOTRUN -> [SKIP][276] ([i915#11520]) +4 other tests skip [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html * igt@kms_psr2_su@page_flip-p010: - shard-rkl: NOTRUN -> [SKIP][277] ([i915#9683]) [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_psr2_su@page_flip-p010.html - shard-dg1: NOTRUN -> [SKIP][278] ([i915#9683]) [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_psr2_su@page_flip-p010.html * igt@kms_psr2_su@page_flip-xrgb8888: - shard-tglu-1: NOTRUN -> [SKIP][279] ([i915#9683]) [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_psr2_su@page_flip-xrgb8888.html * igt@kms_psr@fbc-psr-basic: - shard-dg2: NOTRUN -> [SKIP][280] ([i915#1072] / [i915#9732]) +6 other tests skip [280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_psr@fbc-psr-basic.html * igt@kms_psr@fbc-psr-cursor-plane-move: - shard-rkl: NOTRUN -> [SKIP][281] ([i915#1072] / [i915#9732]) +8 other tests skip [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_psr@fbc-psr-cursor-plane-move.html * igt@kms_psr@fbc-psr-no-drrs: - shard-tglu: NOTRUN -> [SKIP][282] ([i915#9732]) +36 other tests skip [282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_psr@fbc-psr-no-drrs.html * igt@kms_psr@fbc-psr2-cursor-blt: - shard-tglu-1: NOTRUN -> [SKIP][283] ([i915#9732]) +12 other tests skip [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_psr@fbc-psr2-cursor-blt.html * igt@kms_psr@pr-no-drrs: - shard-glk: NOTRUN -> [SKIP][284] +161 other tests skip [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk9/igt@kms_psr@pr-no-drrs.html * igt@kms_psr@psr2-sprite-mmap-gtt: - shard-dg1: NOTRUN -> [SKIP][285] ([i915#1072] / [i915#9732]) +14 other tests skip [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_psr@psr2-sprite-mmap-gtt.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - shard-tglu-1: NOTRUN -> [SKIP][286] ([i915#15949]) +1 other test skip [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-1/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_rotation_crc@primary-rotation-90: - shard-dg2: NOTRUN -> [SKIP][287] ([i915#12755] / [i915#15867]) [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_rotation_crc@primary-rotation-90.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270: - shard-rkl: NOTRUN -> [SKIP][288] ([i915#5289]) +1 other test skip [288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html - shard-dg1: NOTRUN -> [SKIP][289] ([i915#5289]) [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-tglu: NOTRUN -> [SKIP][290] ([i915#5289]) [290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_selftest@drm_framebuffer: - shard-glk10: NOTRUN -> [ABORT][291] ([i915#13179]) +1 other test abort [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk10/igt@kms_selftest@drm_framebuffer.html * igt@kms_tiled_display@basic-test-pattern: - shard-tglu: NOTRUN -> [SKIP][292] ([i915#8623]) [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-7/igt@kms_tiled_display@basic-test-pattern.html - shard-dg2: NOTRUN -> [SKIP][293] ([i915#8623]) +1 other test skip [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@kms_tiled_display@basic-test-pattern.html * igt@kms_vblank@ts-continuation-suspend: - shard-glk: NOTRUN -> [INCOMPLETE][294] ([i915#12276]) +1 other test incomplete [294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk9/igt@kms_vblank@ts-continuation-suspend.html - shard-rkl: [PASS][295] -> [INCOMPLETE][296] ([i915#12276]) [295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-2/igt@kms_vblank@ts-continuation-suspend.html [296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_vblank@ts-continuation-suspend.html * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2: - shard-rkl: NOTRUN -> [INCOMPLETE][297] ([i915#12276]) [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html * igt@kms_vrr@flip-basic: - shard-dg2: NOTRUN -> [SKIP][298] ([i915#15243] / [i915#3555]) [298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_vrr@flip-basic.html * igt@kms_vrr@flip-basic-fastset: - shard-rkl: NOTRUN -> [SKIP][299] ([i915#9906]) [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_vrr@flip-basic-fastset.html - shard-dg1: NOTRUN -> [SKIP][300] ([i915#9906]) [300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-18/igt@kms_vrr@flip-basic-fastset.html * igt@kms_vrr@seamless-rr-switch-virtual: - shard-tglu: NOTRUN -> [SKIP][301] ([i915#9906]) [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_vrr@seamless-rr-switch-virtual.html * igt@perf_pmu@busy-double-start@ccs0: - shard-mtlp: [PASS][302] -> [FAIL][303] ([i915#4349]) [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-mtlp-5/igt@perf_pmu@busy-double-start@ccs0.html [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-mtlp-2/igt@perf_pmu@busy-double-start@ccs0.html * igt@perf_pmu@module-unload: - shard-tglu: NOTRUN -> [ABORT][304] ([i915#15778]) [304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@perf_pmu@module-unload.html - shard-glk11: NOTRUN -> [ABORT][305] ([i915#15778]) [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk11/igt@perf_pmu@module-unload.html * igt@perf_pmu@rc6-all-gts: - shard-tglu: NOTRUN -> [SKIP][306] ([i915#8516]) [306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-10/igt@perf_pmu@rc6-all-gts.html * igt@prime_udl@share-import: - shard-tglu: NOTRUN -> [SKIP][307] ([i915#16420]) [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@prime_udl@share-import.html * igt@prime_udl@share-import-addfb: - shard-dg1: NOTRUN -> [SKIP][308] ([i915#16420]) [308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-19/igt@prime_udl@share-import-addfb.html * igt@prime_vgem@fence-read-hang: - shard-dg2: NOTRUN -> [SKIP][309] ([i915#3708]) [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@prime_vgem@fence-read-hang.html #### Possible fixes #### * igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0: - shard-dg2: [INCOMPLETE][310] ([i915#13356] / [i915#16348]) -> [PASS][311] [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg2-6/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-5/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html * igt@gem_eio@kms: - shard-rkl: [ABORT][312] ([i915#16837] / [i915#16931]) -> [PASS][313] [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-2/igt@gem_eio@kms.html [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@gem_eio@kms.html * igt@i915_pm_freq_api@freq-suspend@gt0: - shard-dg2: [INCOMPLETE][314] ([i915#13356] / [i915#13820]) -> [PASS][315] +1 other test pass [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg2-7/igt@i915_pm_freq_api@freq-suspend@gt0.html [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-1/igt@i915_pm_freq_api@freq-suspend@gt0.html * igt@i915_power@sanity: - shard-mtlp: [SKIP][316] ([i915#7984]) -> [PASS][317] [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-mtlp-4/igt@i915_power@sanity.html [317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-mtlp-2/igt@i915_power@sanity.html * igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-hdmi-a-1: - shard-glk: [FAIL][318] ([i915#14888]) -> [PASS][319] +2 other tests pass [318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-glk1/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-hdmi-a-1.html [319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk8/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-a-hdmi-a-1.html * igt@kms_async_flips@async-flip-suspend-resume: - shard-rkl: [INCOMPLETE][320] ([i915#12761]) -> [PASS][321] +1 other test pass [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-4/igt@kms_async_flips@async-flip-suspend-resume.html [321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@kms_async_flips@async-flip-suspend-resume.html * igt@kms_big_fb@x-tiled-32bpp-rotate-180: - shard-mtlp: [FAIL][322] ([i915#15733] / [i915#5138]) -> [PASS][323] [322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-mtlp-4/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html [323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-mtlp-6/igt@kms_big_fb@x-tiled-32bpp-rotate-180.html * igt@kms_color@deep-color: - shard-rkl: [SKIP][324] ([i915#12655] / [i915#3555]) -> [PASS][325] [324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-2/igt@kms_color@deep-color.html [325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_color@deep-color.html * igt@kms_cursor_crc@cursor-onscreen-256x85: - shard-rkl: [FAIL][326] ([i915#13566]) -> [PASS][327] [326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-256x85.html [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-256x85.html * igt@kms_cursor_edge_walk@64x64-top-edge@pipe-d-hdmi-a-1: - shard-tglu: [DMESG-WARN][328] ([i915#16685]) -> [PASS][329] +1 other test pass [328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-tglu-10/igt@kms_cursor_edge_walk@64x64-top-edge@pipe-d-hdmi-a-1.html [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-2/igt@kms_cursor_edge_walk@64x64-top-edge@pipe-d-hdmi-a-1.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-tglu: [FAIL][330] ([i915#15804]) -> [PASS][331] [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-tglu-7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic: - shard-dg1: [FAIL][332] ([i915#15999]) -> [PASS][333] [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg1-15/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-16/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1: - shard-mtlp: [FAIL][334] ([i915#13027]) -> [PASS][335] +1 other test pass [334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-mtlp-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-mtlp-6/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html * igt@kms_flip@flip-vs-modeset-vs-hang: - shard-tglu: [ABORT][336] ([i915#16876]) -> [PASS][337] +1 other test pass [336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-tglu-10/igt@kms_flip@flip-vs-modeset-vs-hang.html [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-4/igt@kms_flip@flip-vs-modeset-vs-hang.html * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-draw-mmap-gtt: - shard-glk: [SKIP][338] -> [PASS][339] +33 other tests pass [338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-glk6/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-draw-mmap-gtt.html [339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk8/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-cur-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-move: - shard-rkl: [SKIP][340] ([i915#15989]) -> [PASS][341] +2 other tests pass [340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-move.html [341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_frontbuffer_tracking@hdr-1p-primscrn-spr-indfb-move.html * igt@kms_pipe_crc_basic@suspend-read-crc: - shard-rkl: [INCOMPLETE][342] ([i915#12756] / [i915#13476]) -> [PASS][343] [342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_pipe_crc_basic@suspend-read-crc.html [343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_pipe_crc_basic@suspend-read-crc.html * igt@kms_pm_lpsp@kms-lpsp: - shard-dg2: [SKIP][344] ([i915#9340]) -> [PASS][345] [344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg2-3/igt@kms_pm_lpsp@kms-lpsp.html [345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-4/igt@kms_pm_lpsp@kms-lpsp.html * igt@kms_pm_rpm@dpms-lpsp: - shard-rkl: [SKIP][346] ([i915#14544] / [i915#15073]) -> [PASS][347] [346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_pm_rpm@dpms-lpsp.html [347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_pm_rpm@dpms-lpsp.html * igt@kms_pm_rpm@dpms-mode-unset-lpsp: - shard-dg1: [SKIP][348] ([i915#15073]) -> [PASS][349] [348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg1-12/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html [349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-14/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp: - shard-dg2: [SKIP][350] ([i915#15073]) -> [PASS][351] [350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg2-4/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html [351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-6/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html * igt@kms_pm_rpm@modeset-lpsp: - shard-rkl: [SKIP][352] ([i915#15073]) -> [PASS][353] +1 other test pass [352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp.html [353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-2/igt@kms_pm_rpm@modeset-lpsp.html * igt@kms_pm_rpm@system-suspend-idle: - shard-dg2: [INCOMPLETE][354] ([i915#14419]) -> [PASS][355] [354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg2-6/igt@kms_pm_rpm@system-suspend-idle.html [355]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg2-8/igt@kms_pm_rpm@system-suspend-idle.html #### Warnings #### * igt@device_reset@unbind-cold-reset-rebind: - shard-rkl: [SKIP][356] ([i915#11078]) -> [SKIP][357] ([i915#11078] / [i915#14544]) [356]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@device_reset@unbind-cold-reset-rebind.html [357]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@device_reset@unbind-cold-reset-rebind.html * igt@gem_bad_reloc@negative-reloc-lut: - shard-rkl: [SKIP][358] ([i915#3281]) -> [SKIP][359] ([i915#14544] / [i915#3281]) +4 other tests skip [358]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@gem_bad_reloc@negative-reloc-lut.html [359]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@gem_bad_reloc@negative-reloc-lut.html * igt@gem_create@create-ext-cpu-access-big: - shard-rkl: [SKIP][360] ([i915#6335]) -> [SKIP][361] ([i915#14544] / [i915#6335]) [360]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@gem_create@create-ext-cpu-access-big.html [361]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@gem_create@create-ext-cpu-access-big.html * igt@gem_create@create-ext-cpu-access-sanity-check: - shard-rkl: [SKIP][362] ([i915#14544] / [i915#6335]) -> [SKIP][363] ([i915#6335]) [362]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@gem_create@create-ext-cpu-access-sanity-check.html [363]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@gem_create@create-ext-cpu-access-sanity-check.html * igt@gem_exec_balancer@parallel-ordering: - shard-rkl: [SKIP][364] ([i915#14544] / [i915#4525]) -> [SKIP][365] ([i915#4525]) [364]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@gem_exec_balancer@parallel-ordering.html [365]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@gem_exec_balancer@parallel-ordering.html * igt@gem_exec_reloc@basic-gtt-wc-noreloc: - shard-rkl: [SKIP][366] ([i915#14544] / [i915#3281]) -> [SKIP][367] ([i915#3281]) +5 other tests skip [366]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html [367]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html * igt@gem_lmem_swapping@random: - shard-rkl: [SKIP][368] ([i915#14544] / [i915#4613]) -> [SKIP][369] ([i915#4613]) +1 other test skip [368]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@gem_lmem_swapping@random.html [369]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@gem_lmem_swapping@random.html * igt@gem_lmem_swapping@verify: - shard-rkl: [SKIP][370] ([i915#4613]) -> [SKIP][371] ([i915#14544] / [i915#4613]) [370]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-2/igt@gem_lmem_swapping@verify.html [371]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@gem_lmem_swapping@verify.html * igt@gem_partial_pwrite_pread@writes-after-reads: - shard-rkl: [SKIP][372] ([i915#14544] / [i915#3282]) -> [SKIP][373] ([i915#3282]) +4 other tests skip [372]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@gem_partial_pwrite_pread@writes-after-reads.html [373]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@gem_partial_pwrite_pread@writes-after-reads.html * igt@gem_userptr_blits@coherency-unsync: - shard-rkl: [SKIP][374] ([i915#14544] / [i915#3297]) -> [SKIP][375] ([i915#3297]) [374]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@gem_userptr_blits@coherency-unsync.html [375]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@gem_userptr_blits@coherency-unsync.html * igt@gen9_exec_parse@shadow-peek: - shard-rkl: [SKIP][376] ([i915#2527]) -> [SKIP][377] ([i915#14544] / [i915#2527]) +2 other tests skip [376]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@gen9_exec_parse@shadow-peek.html [377]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@gen9_exec_parse@shadow-peek.html * igt@gpu_buddy@gpu_buddy: - shard-rkl: [SKIP][378] ([i915#14544] / [i915#15678]) -> [SKIP][379] ([i915#15678]) [378]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@gpu_buddy@gpu_buddy.html [379]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@gpu_buddy@gpu_buddy.html * igt@i915_module_load@fault-injection@__uc_init: - shard-rkl: [SKIP][380] ([i915#14544] / [i915#15479]) -> [SKIP][381] ([i915#15479]) +4 other tests skip [380]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@i915_module_load@fault-injection@__uc_init.html [381]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@i915_module_load@fault-injection@__uc_init.html * igt@i915_module_load@resize-bar: - shard-rkl: [SKIP][382] ([i915#6412]) -> [SKIP][383] ([i915#14544] / [i915#6412]) [382]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@i915_module_load@resize-bar.html [383]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@i915_module_load@resize-bar.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-rkl: [ABORT][384] ([i915#15060]) -> [INCOMPLETE][385] ([i915#13356]) [384]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@i915_pm_rpm@system-suspend-execbuf.html [385]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-7/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@i915_power@sanity: - shard-rkl: [SKIP][386] ([i915#7984]) -> [SKIP][387] ([i915#14544] / [i915#7984]) [386]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@i915_power@sanity.html [387]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@i915_power@sanity.html * igt@kms_atomic@plane-primary-overlay-mutable-zpos: - shard-rkl: [SKIP][388] ([i915#14544] / [i915#9531]) -> [SKIP][389] ([i915#9531]) [388]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html [389]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-1: - shard-tglu: [ABORT][390] ([i915#16837] / [i915#16866] / [i915#16881]) -> [ABORT][391] ([i915#16837] / [i915#16866]) +1 other test abort [390]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-tglu-10/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-1.html [391]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-tglu-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-b-hdmi-a-1.html * igt@kms_big_fb@4-tiled-16bpp-rotate-90: - shard-rkl: [SKIP][392] ([i915#14544] / [i915#5286]) -> [SKIP][393] ([i915#5286]) +1 other test skip [392]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html [393]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_big_fb@4-tiled-16bpp-rotate-90.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip: - shard-rkl: [SKIP][394] ([i915#5286]) -> [SKIP][395] ([i915#14544] / [i915#5286]) [394]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html [395]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html * igt@kms_big_fb@x-tiled-16bpp-rotate-270: - shard-rkl: [SKIP][396] ([i915#14544] / [i915#3638]) -> [SKIP][397] ([i915#3638]) [396]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html [397]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html * igt@kms_big_fb@y-tiled-8bpp-rotate-270: - shard-rkl: [SKIP][398] ([i915#3638]) -> [SKIP][399] ([i915#14544] / [i915#3638]) [398]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html [399]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc: - shard-dg1: [SKIP][400] ([i915#6095]) -> [SKIP][401] ([i915#4423] / [i915#6095]) [400]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg1-15/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html [401]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-16/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html * igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs: - shard-rkl: [SKIP][402] ([i915#12805] / [i915#14544]) -> [SKIP][403] ([i915#12805]) [402]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html [403]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2: - shard-rkl: [SKIP][404] ([i915#6095]) -> [SKIP][405] ([i915#14544] / [i915#6095]) +2 other tests skip [404]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html [405]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-2.html * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2: - shard-rkl: [SKIP][406] ([i915#14098] / [i915#6095]) -> [SKIP][407] ([i915#14098] / [i915#14544] / [i915#6095]) +5 other tests skip [406]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html [407]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2: - shard-rkl: [SKIP][408] ([i915#14544] / [i915#6095]) -> [SKIP][409] ([i915#6095]) +7 other tests skip [408]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html [409]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2: - shard-rkl: [SKIP][410] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][411] ([i915#14098] / [i915#6095]) +10 other tests skip [410]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html [411]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs: - shard-rkl: [SKIP][412] ([i915#12313]) -> [SKIP][413] ([i915#12313] / [i915#14544]) [412]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html [413]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html * igt@kms_chamelium_audio@dp-audio-after-suspend: - shard-rkl: [SKIP][414] ([i915#11151]) -> [SKIP][415] ([i915#11151] / [i915#14544]) [414]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_chamelium_audio@dp-audio-after-suspend.html [415]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_chamelium_audio@dp-audio-after-suspend.html * igt@kms_chamelium_frames@hdmi-crc-multiple: - shard-rkl: [SKIP][416] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][417] ([i915#11151] / [i915#7828]) +2 other tests skip [416]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_chamelium_frames@hdmi-crc-multiple.html [417]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_chamelium_frames@hdmi-crc-multiple.html * igt@kms_chamelium_frames@hdmi-crc-single: - shard-rkl: [SKIP][418] ([i915#11151] / [i915#7828]) -> [SKIP][419] ([i915#11151] / [i915#14544] / [i915#7828]) [418]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_chamelium_frames@hdmi-crc-single.html [419]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_chamelium_frames@hdmi-crc-single.html * igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe: - shard-dg1: [SKIP][420] ([i915#11151] / [i915#7828]) -> [SKIP][421] ([i915#11151] / [i915#4423] / [i915#7828]) [420]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg1-15/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html [421]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-16/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html * igt@kms_content_protection@mei-interface: - shard-dg1: [SKIP][422] ([i915#15865]) -> [SKIP][423] ([i915#9433]) [422]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-dg1-17/igt@kms_content_protection@mei-interface.html [423]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-dg1-12/igt@kms_content_protection@mei-interface.html * igt@kms_content_protection@suspend-resume: - shard-rkl: [SKIP][424] ([i915#14544] / [i915#15865]) -> [SKIP][425] ([i915#15865]) [424]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_content_protection@suspend-resume.html [425]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_content_protection@suspend-resume.html * igt@kms_cursor_crc@cursor-offscreen-32x10: - shard-rkl: [SKIP][426] ([i915#3555]) -> [SKIP][427] ([i915#14544] / [i915#3555]) [426]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_cursor_crc@cursor-offscreen-32x10.html [427]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_cursor_crc@cursor-offscreen-32x10.html * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy: - shard-rkl: [SKIP][428] ([i915#14544]) -> [SKIP][429] +42 other tests skip [428]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html [429]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-8/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle: - shard-rkl: [SKIP][430] ([i915#4103]) -> [SKIP][431] ([i915#14544] / [i915#4103]) [430]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html [431]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html * igt@kms_dp_aux_dev@basic: - shard-rkl: [SKIP][432] ([i915#1257] / [i915#14544]) -> [SKIP][433] ([i915#1257]) [432]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_dp_aux_dev@basic.html [433]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_dp_aux_dev@basic.html * igt@kms_dsc@dsc-basic: - shard-rkl: [SKIP][434] ([i915#14544] / [i915#16361]) -> [SKIP][435] ([i915#16361]) +2 other tests skip [434]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_dsc@dsc-basic.html [435]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_dsc@dsc-basic.html * igt@kms_dsc@dsc-with-formats-bigjoiner: - shard-rkl: [SKIP][436] ([i915#16361]) -> [SKIP][437] ([i915#14544] / [i915#16361]) [436]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_dsc@dsc-with-formats-bigjoiner.html [437]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_dsc@dsc-with-formats-bigjoiner.html * igt@kms_feature_discovery@vrr: - shard-rkl: [SKIP][438] ([i915#14544] / [i915#16600]) -> [SKIP][439] ([i915#16600]) [438]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_feature_discovery@vrr.html [439]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_feature_discovery@vrr.html * igt@kms_flip@2x-dpms-vs-vblank-race: - shard-rkl: [SKIP][440] ([i915#9934]) -> [SKIP][441] ([i915#14544] / [i915#9934]) [440]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_flip@2x-dpms-vs-vblank-race.html [441]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_flip@2x-dpms-vs-vblank-race.html * igt@kms_flip@2x-plain-flip: - shard-rkl: [SKIP][442] ([i915#14544] / [i915#9934]) -> [SKIP][443] ([i915#9934]) +2 other tests skip [442]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_flip@2x-plain-flip.html [443]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_flip@2x-plain-flip.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling: - shard-rkl: [SKIP][444] ([i915#14544] / [i915#15643]) -> [SKIP][445] ([i915#15643]) +1 other test skip [444]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html [445]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html * igt@kms_force_connector_basic@force-load-detect: - shard-mtlp: [SKIP][446] ([i915#15672]) -> [SKIP][447] [446]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-mtlp-1/igt@kms_force_connector_basic@force-load-detect.html [447]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-mtlp-6/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-spr-indfb-draw-render: - shard-rkl: [SKIP][448] -> [SKIP][449] ([i915#14544]) +31 other tests skip [448]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-2/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-spr-indfb-draw-render.html [449]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbchdr-2p-scndscrn-spr-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsrhdr-rgb101010-draw-mmap-cpu: - shard-rkl: [SKIP][450] ([i915#15102]) -> [SKIP][451] ([i915#14544] / [i915#15102]) +14 other tests skip [450]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-rgb101010-draw-mmap-cpu.html [451]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-rgb101010-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move: - shard-rkl: [SKIP][452] ([i915#14544] / [i915#15102]) -> [SKIP][453] ([i915#15102]) +20 other tests skip [452]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html [453]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc: - shard-rkl: [SKIP][454] ([i915#14544] / [i915#1825]) -> [SKIP][455] ([i915#1825]) +2 other tests skip [454]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html [455]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html * igt@kms_hdr@invalid-hdr: - shard-rkl: [SKIP][456] ([i915#16644] / [i915#3555] / [i915#8228]) -> [SKIP][457] ([i915#14544] / [i915#16644] / [i915#3555] / [i915#8228]) [456]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@kms_hdr@invalid-hdr.html [457]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_hdr@invalid-hdr.html * igt@kms_pipe_stress@stress-xrgb8888-xtiled: - shard-glk: [DMESG-FAIL][458] ([i915#118]) -> [DMESG-WARN][459] ([i915#118]) [458]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-glk6/igt@kms_pipe_stress@stress-xrgb8888-xtiled.html [459]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-glk8/igt@kms_pipe_stress@stress-xrgb8888-xtiled.html * igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier: - shard-rkl: [SKIP][460] ([i915#15709]) -> [SKIP][461] ([i915#14544] / [i915#15709]) [460]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier.html [461]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier.html * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping: - shard-rkl: [SKIP][462] ([i915#14544] / [i915#15709]) -> [SKIP][463] ([i915#15709]) +1 other test skip [462]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html [463]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier-source-clamping.html * igt@kms_plane_lowres@tiling-yf: - shard-rkl: [SKIP][464] ([i915#14544] / [i915#3555]) -> [SKIP][465] ([i915#3555]) +1 other test skip [464]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_plane_lowres@tiling-yf.html [465]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_plane_lowres@tiling-yf.html * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b: - shard-rkl: [SKIP][466] ([i915#14544] / [i915#15329]) -> [SKIP][467] ([i915#15329]) +3 other tests skip [466]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html [467]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-b.html * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a: - shard-rkl: [SKIP][468] ([i915#15329]) -> [SKIP][469] ([i915#14544] / [i915#15329]) +3 other tests skip [468]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html [469]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-a.html * igt@kms_pm_rpm@system-suspend-modeset: - shard-rkl: [ABORT][470] ([i915#15132]) -> [INCOMPLETE][471] ([i915#14419]) [470]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-1/igt@kms_pm_rpm@system-suspend-modeset.html [471]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_pm_rpm@system-suspend-modeset.html * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area: - shard-rkl: [SKIP][472] ([i915#11520] / [i915#14544]) -> [SKIP][473] ([i915#11520]) +3 other tests skip [472]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html [473]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf: - shard-rkl: [SKIP][474] ([i915#11520]) -> [SKIP][475] ([i915#11520] / [i915#14544]) +1 other test skip [474]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html [475]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html * igt@kms_psr@fbc-pr-suspend: - shard-rkl: [SKIP][476] ([i915#1072] / [i915#9732]) -> [SKIP][477] ([i915#1072] / [i915#14544] / [i915#9732]) +2 other tests skip [476]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_psr@fbc-pr-suspend.html [477]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_psr@fbc-pr-suspend.html * igt@kms_psr@fbc-psr-dpms: - shard-rkl: [SKIP][478] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][479] ([i915#1072] / [i915#9732]) +7 other tests skip [478]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_psr@fbc-psr-dpms.html [479]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_psr@fbc-psr-dpms.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - shard-rkl: [SKIP][480] ([i915#15949]) -> [SKIP][481] ([i915#14544] / [i915#15949]) [480]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-7/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html [481]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_psr_stress_test@invalidate-primary-flip-overlay: - shard-rkl: [SKIP][482] ([i915#14544] / [i915#15949]) -> [SKIP][483] ([i915#15949]) [482]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html [483]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html * igt@kms_vrr@flip-suspend: - shard-rkl: [SKIP][484] ([i915#14544] / [i915#15243] / [i915#3555]) -> [SKIP][485] ([i915#15243] / [i915#3555]) [484]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-6/igt@kms_vrr@flip-suspend.html [485]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-5/igt@kms_vrr@flip-suspend.html * igt@perf@mi-rpc: - shard-rkl: [SKIP][486] ([i915#2434]) -> [SKIP][487] ([i915#14544] / [i915#2434]) [486]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-2/igt@perf@mi-rpc.html [487]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@perf@mi-rpc.html * igt@prime_vgem@basic-fence-read: - shard-rkl: [SKIP][488] ([i915#3291] / [i915#3708]) -> [SKIP][489] ([i915#14544] / [i915#3291] / [i915#3708]) [488]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_19094/shard-rkl-2/igt@prime_vgem@basic-fence-read.html [489]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_173470v1/shard-rkl-6/igt@prime_vgem@basic-fence-read.html [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307 [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434 [i915#10553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10553 [i915#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647 [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072 [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#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681 [i915#118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/118 [i915#11814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11814 [i915#12169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12169 [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#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343 [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257 [i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655 [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745 [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755 [i915#12756]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12756 [i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761 [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805 [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#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398 [i915#13476]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13476 [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566 [i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691 [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707 [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749 [i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781 [i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783 [i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790 [i915#13820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13820 [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#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259 [i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419 [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544 [i915#14600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14600 [i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712 [i915#14888]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14888 [i915#15060]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15060 [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073 [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102 [i915#15131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15131 [i915#15132]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15132 [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243 [i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329 [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330 [i915#15342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15342 [i915#15403]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15403 [i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458 [i915#15460]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15460 [i915#15479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15479 [i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582 [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643 [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#15733]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15733 [i915#15739]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15739 [i915#15778]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15778 [i915#15804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15804 [i915#15815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15815 [i915#15865]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15865 [i915#15867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15867 [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#15999]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15999 [i915#16079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16079 [i915#16081]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16081 [i915#16112]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16112 [i915#16348]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16348 [i915#16361]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16361 [i915#16420]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16420 [i915#16451]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16451 [i915#16471]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16471 [i915#16518]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16518 [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#16685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16685 [i915#16837]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16837 [i915#16866]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16866 [i915#16867]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16867 [i915#16876]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16876 [i915#16881]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16881 [i915#16931]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/16931 [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769 [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825 [i915#2065]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2065 [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#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681 [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280 [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#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#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804 [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828 [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077 [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079 [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083 [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103 [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212 [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#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537 [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#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771 [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812 [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#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#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723 [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095 [i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230 [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301 [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335 [i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344 [i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412 [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658 [i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582 [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697 [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707 [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828 [i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984 [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228 [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399 [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#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516 [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555 [i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562 [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623 [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708 [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#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531 [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683 [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685 [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723 [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732 [i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766 [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 [i915#9979]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9979 Build changes ------------- * Linux: CI_DRM_19094 -> Patchwork_173470v1 CI-20190529: 20190529 CI_DRM_19094: 496ff8213a2d2e1e5b1c8efe8b55e1dcdc3e3f8f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_9084: 9084 Patchwork_173470v1: 496ff8213a2d2e1e5b1c8efe8b55e1dcdc3e3f8f @ 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_173470v1/index.html [-- Attachment #2: Type: text/html, Size: 170945 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v4] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices
@ 2026-09-06 9:41 Xiao Lu
2026-09-07 4:41 ` [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu
2026-09-07 4:44 ` [PATCH v5 0/2] " Xiao Lu
0 siblings, 2 replies; 12+ messages in thread
From: Xiao Lu @ 2026-09-06 9:41 UTC (permalink / raw)
To: intel-gfx
Cc: jani.nikula, ville.syrjala, imre.deak, ankit.k.nautiyal, Xiao Lu
HDMI 2.1 PCON devices (e.g. Parade PS196) that do not have an internal
DSC encoder can still forward a DSC-compressed stream from the DP source
to the downstream HDMI 2.1 sink unchanged (passthrough mode). The HDMI
sink (e.g. Lenovo ThinkVision Pro 27UD-10) then decompresses the stream
itself. This mode is signalled by DP_DSC_PASSTHROUGH_IS_SUPPORTED (DPCD
0x060 bit1) on the PCON.
Previously the driver had no awareness of this path: the PCON would fall
back to its autonomous passthrough mode and write 0x160=0x02 by itself,
leaving the source with no control over DSC parameters or DPCD 0x160.
This patch adds explicit driver control of PCON DSC passthrough:
- Detect passthrough capability at connect time from DPCD 0x060 bit1
(DP_DSC_PASSTHROUGH_IS_SUPPORTED) combined with the downstream HDMI
2.1 sink's DSC 1.2 support from EDID HF-VSDB. Cache the result in
connector->dp.pcon_dsc_passthrough (same lifecycle as fec_capability
and dsc_dpcd) to avoid repeated lookups on every modeset.
- Treat the PCON as DSC-capable in intel_dp_has_dsc() when passthrough
is supported, allowing the normal DSC compute_config path to proceed.
- Derive DSC slice count from the downstream HDMI sink EDID DSC
capabilities (dsc_cap.max_slices, dsc_cap.clk_per_slice) rather than
from the PCON encoder DPCD (all-zero for passthrough-only PCONs).
- Compute DSC parameters via intel_dp_pcon_passthrough_dsc_compute_params()
which uses HDMI sink EDID capabilities for DSC version, color format,
line buffer depth and block prediction, bypassing the PCON dsc_dpcd
fields that do not reflect the actual decompressor (the HDMI sink).
- Skip align_max_sink_dsc_input_bpp() for PCON passthrough since the
PCON dsc_dpcd color_depth_cap field is not applicable to the passthrough
path and would incorrectly clamp the pipe bpp to zero.
- Write DP_DSC_PASSTHROUGH_EN (0x160 bit1) to the PCON via
intel_dp_sink_set_dsc_passthrough() on enable, and clear it on
disable. The existing MST hub passthrough path in that function is
preserved; the PCON case is handled by redirecting aux to
intel_dp->aux when pcon_dsc_passthrough is set.
- Short-circuit intel_dp_sink_set_dsc_decompression() for PCON
passthrough since the PCON itself does not decompress (the HDMI sink
does); writing DP_DECOMPRESSION_EN to the PCON would be incorrect.
Tested with Parade PS196G (HW 0.2, SW 241.62) connected to a Lenovo
ThinkVision Pro 27UD-10 (HDMI 2.1, DSC 1.2, max 16 slices, 400 MHz/
slice). At 4K@240Hz DSC compression is required (10.5625 bpp, 8 slices);
driver now writes 0x160=0x02 explicitly and slice count is correctly
derived from the HDMI sink EDID rather than from PCON DPCD.
Signed-off-by: Xiao Lu <xiaolu.xie@intel.com>
---
v4: Rebase onto drm-intel-next-2026-09-03 to fix compilation failures.
Fix intel_hdmi_dsc_get_num_slices() call to pass output_format as
the 2nd argument matching the updated 6-parameter signature.
Add intel_dp_pcon_passthrough_dsc_compute_params() to compute DSC
parameters from HDMI sink EDID rather than PCON dsc_dpcd fields
(version, color format, line_buf_depth, block_pred are not valid
for a passthrough-only PCON that does no decoding).
Skip align_max_sink_dsc_input_bpp() for PCON passthrough to prevent
the PCON dsc_dpcd color_depth_cap (0x00) from zeroing pipe.max_bpp.
Fix intel_dp_dsc_compute_config() to use the correct connector
context instead of intel_dp->attached_connector for MST streams.
v3: Restrict PCON DSC passthrough to SST direct connections only.
In MST topologies the PCON is connected through an intermediate hub;
passthrough is already handled separately via the MST hub path in
intel_dp_sink_set_dsc_passthrough(), so skip it here by returning
early when connector->mst.port is set.
Fix intel_hdmi_dsc_get_num_slices() call to use drm_display_mode *
instead of intel_crtc_state * to match the updated function signature.
v2: Fix build failure on drm-tip - replace non-existent dsc.slice_count
field with dsc.slice_config. Introduce
intel_dp_pcon_passthrough_dsc_slice_config() which calls
intel_hdmi_dsc_get_num_slices() for the target slice count then
finds a matching intel_dsc_slice_config via intel_dsc_get_slice_config()
to satisfy Intel VDSC HW constraints.
Fix pcon_dsc_passthrough caching order: move
intel_dp_pcon_set_dsc_passthrough_cap() from intel_dp_get_dsc_sink_cap()
to intel_dp_set_edid() so it runs after EDID is parsed and
display_info.hdmi.dsc_cap is populated. Also clear pcon_dsc_passthrough
in intel_dp_unset_edid() to keep lifecycle consistent.
---
.../drm/i915/display/intel_display_types.h | 1 +
drivers/gpu/drm/i915/display/intel_dp.c | 241 +++++++++++++++---
2 files changed, 212 insertions(+), 30 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 5f0fe18c0..90d77aa4d 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -564,6 +564,7 @@ struct intel_connector {
u8 dsc_hblank_expansion_quirk:1;
u8 dsc_throughput_quirk:1;
u8 dsc_decompression_enabled:1;
+ u8 pcon_dsc_passthrough:1; /* PCON DSC PT supported and HDMI sink DSC 1.2 */
struct {
struct {
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index c46397edf..f1badfae0 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -1259,8 +1259,14 @@ bool intel_dp_has_dsc(const struct intel_connector *connector)
connector->panel.vbt.edp.dsc_disable)
return false;
- if (!drm_dp_sink_supports_dsc(connector->dp.dsc_dpcd))
- return false;
+ if (!drm_dp_sink_supports_dsc(connector->dp.dsc_dpcd)) {
+ /*
+ * PCON passthrough: PCON has no DSC decoder so dsc_dpcd is
+ * zero, but if pcon_dsc_passthrough is set (cached at connect
+ * time) the downstream HDMI 2.1 sink will decompress instead.
+ */
+ return connector->dp.pcon_dsc_passthrough;
+ }
return true;
}
@@ -1866,28 +1872,42 @@ static int intel_dp_dsc_compute_params(const struct intel_connector *connector,
if (ret)
return ret;
- vdsc_cfg->dsc_version_major =
- (connector->dp.dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
- DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT;
- vdsc_cfg->dsc_version_minor =
- min(intel_dp_source_dsc_version_minor(display),
- intel_dp_sink_dsc_version_minor(connector->dp.dsc_dpcd));
- if (vdsc_cfg->convert_rgb)
- vdsc_cfg->convert_rgb =
- connector->dp.dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] &
- DP_DSC_RGB;
-
- vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH,
- drm_dp_dsc_sink_line_buf_depth(connector->dp.dsc_dpcd));
- if (!vdsc_cfg->line_buf_depth) {
- drm_dbg_kms(display->drm,
- "DSC Sink Line Buffer Depth invalid\n");
- return -EINVAL;
- }
+ if (connector->dp.pcon_dsc_passthrough) {
+ /*
+ * For PCON passthrough the HDMI 2.1 sink decompresses, not the
+ * PCON. The PCON dsc_dpcd fields reflect passthrough device
+ * constraints and are not valid for configuring the source VDSC
+ * engine. Use DSC 1.2 sink defaults instead.
+ */
+ vdsc_cfg->dsc_version_major = 1;
+ vdsc_cfg->dsc_version_minor = min(intel_dp_source_dsc_version_minor(display), 2);
+ vdsc_cfg->convert_rgb = true;
+ vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, 13);
+ vdsc_cfg->block_pred_enable = true;
+ } else {
+ vdsc_cfg->dsc_version_major =
+ (connector->dp.dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] &
+ DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT;
+ vdsc_cfg->dsc_version_minor =
+ min(intel_dp_source_dsc_version_minor(display),
+ intel_dp_sink_dsc_version_minor(connector->dp.dsc_dpcd));
+ if (vdsc_cfg->convert_rgb)
+ vdsc_cfg->convert_rgb =
+ connector->dp.dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] &
+ DP_DSC_RGB;
+
+ vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH,
+ drm_dp_dsc_sink_line_buf_depth(connector->dp.dsc_dpcd));
+ if (!vdsc_cfg->line_buf_depth) {
+ drm_dbg_kms(display->drm,
+ "DSC Sink Line Buffer Depth invalid\n");
+ return -EINVAL;
+ }
- vdsc_cfg->block_pred_enable =
- connector->dp.dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] &
- DP_DSC_BLK_PREDICTION_IS_SUPPORTED;
+ vdsc_cfg->block_pred_enable =
+ connector->dp.dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] &
+ DP_DSC_BLK_PREDICTION_IS_SUPPORTED;
+ }
return drm_dsc_compute_rc_parameters(vdsc_cfg);
}
@@ -2316,6 +2336,10 @@ void intel_dp_dsc_reset_config(struct intel_crtc_state *crtc_state)
memset(&crtc_state->dsc.config, 0, sizeof(crtc_state->dsc.config));
}
+static bool intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp,
+ const struct intel_crtc_state *crtc_state,
+ struct intel_dsc_slice_config *config_ret);
+
int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
struct intel_crtc_state *pipe_config,
struct drm_connector_state *conn_state,
@@ -2354,7 +2378,19 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
}
}
- if (!intel_dp_dsc_get_slice_config(connector, adjusted_mode->crtc_clock,
+ if (connector->dp.pcon_dsc_passthrough) {
+ /*
+ * PCON passthrough: no PCON encoder DPCD, derive slice config
+ * from the downstream HDMI 2.1 sink DSC capabilities in EDID.
+ */
+ if (!intel_dp_pcon_passthrough_dsc_slice_config(intel_dp,
+ pipe_config,
+ &pipe_config->dsc.slice_config)) {
+ drm_dbg_kms(display->drm,
+ "PCON DSC passthrough: no valid slice config\n");
+ return -EINVAL;
+ }
+ } else if (!intel_dp_dsc_get_slice_config(connector, adjusted_mode->crtc_clock,
adjusted_mode->crtc_hdisplay, num_joined_pipes,
&pipe_config->dsc.slice_config))
return -EINVAL;
@@ -2683,8 +2719,33 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp,
return false;
}
- if (dsc && !intel_dp_dsc_compute_pipe_bpp_limits(connector, limits))
- return false;
+ if (dsc) {
+ if (connector->dp.pcon_dsc_passthrough) {
+ /*
+ * PCON passthrough: PCON has no DSC encoder DPCD so
+ * intel_dp_dsc_compute_pipe_bpp_limits() would see
+ * all-zero dsc_dpcd and fail. Use the downstream HDMI
+ * sink DSC bpc cap to constrain the pipe bpp instead.
+ */
+ const struct drm_display_info *info =
+ &connector->base.display_info;
+ u8 hdmi_max_bpc = info->hdmi.dsc_cap.bpc_supported ?: 8;
+ int dsc_min_bpc = intel_dp_dsc_min_src_input_bpc();
+ int dsc_max_bpc = min_t(int,
+ intel_dp_dsc_max_src_input_bpc(display),
+ hdmi_max_bpc);
+
+ limits->pipe.min_bpp = max(limits->pipe.min_bpp,
+ dsc_min_bpc * 3);
+ limits->pipe.max_bpp = min(limits->pipe.max_bpp,
+ dsc_max_bpc * 3);
+
+ if (limits->pipe.min_bpp > limits->pipe.max_bpp)
+ return false;
+ } else if (!intel_dp_dsc_compute_pipe_bpp_limits(connector, limits)) {
+ return false;
+ }
+ }
/*
* crtc_state->pipe_bpp is the non-DP specific baseline (platform /
@@ -2697,7 +2758,7 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp,
*/
limits->pipe.max_bpp = clamp(crtc_state->pipe_bpp, limits->pipe.min_bpp,
limits->pipe.max_bpp);
- if (dsc)
+ if (dsc && !connector->dp.pcon_dsc_passthrough)
limits->pipe.max_bpp = align_max_sink_dsc_input_bpp(connector,
limits->pipe.max_bpp);
@@ -3716,6 +3777,10 @@ intel_dp_sink_set_dsc_decompression(struct intel_connector *connector,
{
struct intel_display *display = to_intel_display(connector);
+ /* PCON passthrough: PCON forwards the stream, sink decompresses. */
+ if (!connector->mst.dp && connector->dp.pcon_dsc_passthrough)
+ return;
+
if (write_dsc_decompression_flag(connector->dp.dsc_decompression_aux,
DP_DECOMPRESSION_EN, enable) < 0)
drm_dbg_kms(display->drm,
@@ -3728,8 +3793,19 @@ intel_dp_sink_set_dsc_passthrough(const struct intel_connector *connector,
bool enable)
{
struct intel_display *display = to_intel_display(connector);
- struct drm_dp_aux *aux = connector->mst.port ?
- connector->mst.port->passthrough_aux : NULL;
+ struct drm_dp_aux *aux = NULL;
+
+ if (!connector->mst.port) {
+ /*
+ * HDMI 2.1 PCON passthrough: write DP_DSC_PASSTHROUGH_EN on
+ * the PCON's own aux channel so it forwards the compressed
+ * stream to the HDMI sink instead of decoding it.
+ */
+ if (connector->dp.pcon_dsc_passthrough)
+ aux = &intel_attached_dp((struct intel_connector *)connector)->aux;
+ } else {
+ aux = connector->mst.port->passthrough_aux;
+ }
if (!aux)
return;
@@ -3737,7 +3813,7 @@ intel_dp_sink_set_dsc_passthrough(const struct intel_connector *connector,
if (write_dsc_decompression_flag(aux,
DP_DSC_PASSTHROUGH_EN, enable) < 0)
drm_dbg_kms(display->drm,
- "Failed to %s sink compression passthrough state\n",
+ "Failed to %s DSC passthrough\n",
str_enable_disable(enable));
}
@@ -4259,6 +4335,101 @@ void intel_dp_check_frl_training(struct intel_dp *intel_dp)
}
}
+/*
+ * intel_dp_pcon_set_dsc_passthrough_cap - cache PCON DSC passthrough capability
+ *
+ * Called once at connect time (from intel_dp_get_dsc_sink_cap()) after
+ * dsc_dpcd and the HDMI sink EDID have been read. Caches the result in
+ * connector->dp.pcon_dsc_passthrough so modeset paths can read it cheaply
+ * without repeating the DPCD and EDID lookups.
+ *
+ * A PCON supports DSC passthrough when it explicitly advertises
+ * DP_DSC_PASSTHROUGH_IS_SUPPORTED (DPCD 0x060 bit1) and the downstream
+ * HDMI 2.1 sink supports DSC 1.2. The compressed stream produced by the
+ * source VDSC engine is forwarded unchanged through the PCON to the HDMI
+ * sink for decompression (DP_DSC_ENABLE bit1 on the PCON).
+ */
+static void
+intel_dp_pcon_set_dsc_passthrough_cap(struct intel_dp *intel_dp)
+{
+ struct intel_connector *connector = intel_dp->attached_connector;
+ const struct drm_display_info *info;
+
+ if (!connector)
+ return;
+
+ connector->dp.pcon_dsc_passthrough = false;
+
+ /*
+ * PCON DSC passthrough is only supported for SST direct connections.
+ * In MST topologies the intermediate hub may report incorrect virtual
+ * DPCD for the downstream PCON port, leading to mismatched DSC
+ * parameters. Skip passthrough for MST until hub firmware correctly
+ * reflects the PCON's capabilities.
+ */
+ if (connector->mst.port)
+ return;
+
+ if (!intel_dp_is_hdmi_2_1_sink(intel_dp))
+ return;
+
+ if (!(connector->dp.dsc_dpcd[0] & DP_DSC_PASSTHROUGH_IS_SUPPORTED))
+ return;
+
+ info = &connector->base.display_info;
+ connector->dp.pcon_dsc_passthrough = info->hdmi.dsc_cap.v_1p2;
+}
+
+static bool
+intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp,
+ const struct intel_crtc_state *crtc_state,
+ struct intel_dsc_slice_config *config_ret)
+{
+ struct intel_display *display = to_intel_display(intel_dp);
+ struct intel_connector *connector = intel_dp->attached_connector;
+ const struct drm_display_info *info = &connector->base.display_info;
+ int num_joined_pipes = intel_crtc_num_joined_pipes(crtc_state);
+ int hdmi_throughput = info->hdmi.dsc_cap.clk_per_slice;
+ int hdmi_max_slices = info->hdmi.dsc_cap.max_slices;
+ int target_slices;
+ int slices_per_pipe;
+
+ /*
+ * Derive the required slice count from the downstream HDMI 2.1 sink
+ * DSC capabilities in EDID (not from the PCON encoder DPCD which is
+ * all-zero for passthrough-only devices).
+ */
+ target_slices = intel_hdmi_dsc_get_num_slices(&crtc_state->hw.adjusted_mode,
+ crtc_state->output_format,
+ hdmi_max_slices,
+ crtc_state->hw.adjusted_mode.hdisplay,
+ hdmi_max_slices,
+ hdmi_throughput);
+ if (!target_slices)
+ return false;
+
+ drm_dbg_kms(display->drm,
+ "PCON DSC passthrough: target %d slices from HDMI sink EDID cap"
+ " (max_slices=%d clk_per_slice=%d MHz)\n",
+ target_slices, hdmi_max_slices, hdmi_throughput);
+
+ for (slices_per_pipe = 1; slices_per_pipe <= 4; slices_per_pipe++) {
+ struct intel_dsc_slice_config config;
+
+ if (!intel_dsc_get_slice_config(display,
+ num_joined_pipes, slices_per_pipe,
+ &config))
+ continue;
+
+ if (intel_dsc_line_slice_count(&config) == target_slices) {
+ *config_ret = config;
+ return true;
+ }
+ }
+
+ return false;
+}
+
static int
intel_dp_pcon_dsc_enc_slice_height(const struct intel_crtc_state *crtc_state)
{
@@ -4510,6 +4681,7 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
memset(&connector->dp.dsc_branch_caps, 0, sizeof(connector->dp.dsc_branch_caps));
connector->dp.dsc_throughput_quirk = false;
+ connector->dp.pcon_dsc_passthrough = false;
if (dpcd_rev < DP_DPCD_REV_14)
return;
@@ -4539,6 +4711,8 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev,
if (drm_dp_has_quirk(desc, DP_DPCD_QUIRK_DSC_THROUGHPUT_BPP_LIMIT) &&
desc->ident.hw_rev == 0x10)
connector->dp.dsc_throughput_quirk = true;
+
+ intel_dp_pcon_set_dsc_passthrough_cap(intel_attached_dp(connector));
}
static void intel_edp_get_dsc_sink_cap(u8 edp_dpcd_rev, struct intel_connector *connector)
@@ -6148,6 +6322,12 @@ intel_dp_set_edid(struct intel_dp *intel_dp)
intel_dp_update_dfp(intel_dp, drm_edid);
intel_dp_update_420(intel_dp);
+ /*
+ * Re-evaluate PCON DSC passthrough capability now that the EDID has
+ * been parsed and display_info.hdmi.dsc_cap is up to date.
+ */
+ intel_dp_pcon_set_dsc_passthrough_cap(intel_dp);
+
drm_dp_cec_attach(&intel_dp->aux,
connector->base.display_info.source_physical_address);
}
@@ -6170,6 +6350,7 @@ intel_dp_unset_edid(struct intel_dp *intel_dp)
intel_dp->dfp.ycbcr_444_to_420 = false;
connector->base.ycbcr_420_allowed = false;
+ connector->dp.pcon_dsc_passthrough = false;
drm_connector_set_vrr_capable_property(&connector->base,
false);
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread* [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology 2026-09-06 9:41 [PATCH v4] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu @ 2026-09-07 4:41 ` Xiao Lu 2026-09-07 4:41 ` [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu 2026-09-07 4:44 ` [PATCH v5 0/2] " Xiao Lu 1 sibling, 1 reply; 12+ messages in thread From: Xiao Lu @ 2026-09-07 4:41 UTC (permalink / raw) To: intel-gfx Cc: jani.nikula, ville.syrjala, imre.deak, ankit.k.nautiyal, Xiao Lu drm_dp_mst_is_virtual_dpcd() checks if a branch port qualifies as a virtual DPCD device by looking for a downstream port with Peer_Device_Type=3 (DP_PEER_DEVICE_SST_SINK). Some PCON devices advertise their downstream HDMI sink port using Peer_Device_Type=4 (DP_PEER_DEVICE_DP_LEGACY_CONV) with a non-zero DPCD_Revision in the link address reply, indicating a virtual DPCD is present (VESA SCR Option 2). The current check misses this case, so passthrough_aux is never set and DSC passthrough modes are rejected. Accept DP_PEER_DEVICE_DP_LEGACY_CONV as a valid downstream peer type in the DP-to-DP branch so these PCON topologies are correctly identified. Signed-off-by: Xiao Lu <xiaolu.xie@intel.com> --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c index 4de36fda0..7d1128bcd 100644 --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c @@ -6045,7 +6045,8 @@ static bool drm_dp_mst_is_virtual_dpcd(struct drm_dp_mst_port *port) port->mstb && port->mstb->num_ports == 2) { list_for_each_entry(downstream_port, &port->mstb->ports, next) { - if (downstream_port->pdt == DP_PEER_DEVICE_SST_SINK && + if ((downstream_port->pdt == DP_PEER_DEVICE_SST_SINK || + downstream_port->pdt == DP_PEER_DEVICE_DP_LEGACY_CONV) && !downstream_port->input) { mutex_unlock(&port->mgr->lock); return true; -- 2.43.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices 2026-09-07 4:41 ` [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu @ 2026-09-07 4:41 ` Xiao Lu 2026-09-07 4:56 ` sashiko-bot 0 siblings, 1 reply; 12+ messages in thread From: Xiao Lu @ 2026-09-07 4:41 UTC (permalink / raw) To: intel-gfx Cc: jani.nikula, ville.syrjala, imre.deak, ankit.k.nautiyal, Xiao Lu HDMI 2.1 PCON devices (e.g. Parade PS196) that do not have an internal DSC encoder can still forward a DSC-compressed stream from the DP source to the downstream HDMI 2.1 sink unchanged (passthrough mode). The HDMI sink (e.g. Lenovo ThinkVision Pro 27UD-10) then decompresses the stream itself. This mode is signalled by DP_DSC_PASSTHROUGH_IS_SUPPORTED (DPCD 0x060 bit1) on the PCON. Previously the driver had no awareness of this path: the PCON would fall back to its autonomous passthrough mode and write 0x160=0x02 by itself, leaving the source with no control over DSC parameters or DPCD 0x160. This patch adds explicit driver control of PCON DSC passthrough: - Detect passthrough capability at connect time from DPCD 0x060 bit1 combined with the downstream HDMI 2.1 sink's DSC 1.2 support from EDID HF-VSDB. Cache the result in connector->dp.pcon_dsc_passthrough (same lifecycle as fec_capability and dsc_dpcd). - Treat the PCON as DSC-capable in intel_dp_has_dsc() when passthrough is supported, allowing the normal DSC compute_config path to proceed. - Derive DSC parameters (slice count, bpc limits) from the downstream HDMI sink's EDID DSC capabilities rather than from the PCON encoder DPCD (all-zero for passthrough-only PCONs). - Add PCON passthrough branch in intel_dp_dsc_compute_params() to use DSC 1.2 defaults (version 1.2, convert_rgb per output format, line_buf_depth=13, block_pred=true) instead of the PCON dsc_dpcd fields which reflect passthrough device constraints, not the actual HDMI sink decompressor. - Skip align_max_sink_dsc_input_bpp() for PCON passthrough to prevent the PCON dsc_dpcd color_depth_cap from zeroing pipe.max_bpp. - Write DP_DSC_PASSTHROUGH_EN (0x160 bit1) to the PCON via intel_dp_sink_set_dsc_passthrough() on enable, and clear it on disable. The existing MST hub passthrough path is preserved; the PCON case is handled by redirecting aux to intel_dp->aux (SST) or connector->mst.port->aux (MST via REMOTE_DPCD_WRITE) when pcon_dsc_passthrough is set. - Short-circuit intel_dp_sink_set_dsc_decompression() for PCON passthrough since the PCON itself does not decompress. - Add passthrough branch in intel_dp_mode_valid_with_dsc() to use EDID max_slices capped by PCON dsc_dpcd slice capability. Tested with Parade PS196G (HW 0.2, SW 241.62) connected directly (SST) and via PS8650 MST hub to a Lenovo ThinkVision Pro 27UD-10 (HDMI 2.1, DSC 1.2, max 16 slices, 400 MHz/slice). At 4K@240Hz DSC compression is required; driver now writes 0x160=0x02 explicitly and DSC parameters are correctly derived from the HDMI sink EDID. Depends on the preceding drm/dp/mst patch for MST topology support. Signed-off-by: Xiao Lu <xiaolu.xie@intel.com> --- v5: Split into two patches: the drm/dp/mst fix for recognizing DP-to-HDMI PCON as virtual DPCD is now patch 1/2. Inline PCON passthrough DSC parameter overrides into intel_dp_dsc_compute_params() instead of a separate function; fix convert_rgb to depend on output_format instead of being unconditionally true. Remove intel_dp_pcon_set_dsc_passthrough_cap() call from intel_dp_get_dsc_sink_cap() - keep only the intel_dp_set_edid() call so MST streams do not incorrectly update the root connector. Pass INT_MAX as src_max_slice_width to intel_hdmi_dsc_get_num_slices() so only the HDMI spec 2720px limit applies. Add hdisplay divisibility check for the computed slice count. Add PCON passthrough branch in intel_dp_mode_valid_with_dsc() using EDID max_slices capped by PCON dsc_dpcd slice capability. v4: Rebase onto drm-intel-next-2026-09-03 to fix compilation failures. Fix intel_hdmi_dsc_get_num_slices() call to pass output_format as the 2nd argument matching the updated 6-parameter signature. Add intel_dp_pcon_passthrough_dsc_compute_params() to compute DSC parameters from HDMI sink EDID rather than PCON dsc_dpcd fields (version, color format, line_buf_depth, block_pred are not valid for a passthrough-only PCON that does no decoding). Skip align_max_sink_dsc_input_bpp() for PCON passthrough to prevent the PCON dsc_dpcd color_depth_cap (0x00) from zeroing pipe.max_bpp. Fix intel_dp_dsc_compute_config() to use the correct connector context instead of intel_dp->attached_connector for MST streams. v3: Restrict PCON DSC passthrough to SST direct connections only. In MST topologies the PCON is connected through an intermediate hub; passthrough is already handled separately via the MST hub path in intel_dp_sink_set_dsc_passthrough(), so skip it here by returning early when connector->mst.port is set. Fix intel_hdmi_dsc_get_num_slices() call to use drm_display_mode * instead of intel_crtc_state * to match the updated function signature. v2: Fix build failure on drm-tip - replace non-existent dsc.slice_count field with dsc.slice_config. Introduce intel_dp_pcon_passthrough_dsc_slice_config() which calls intel_hdmi_dsc_get_num_slices() for the target slice count then finds a matching intel_dsc_slice_config via intel_dsc_get_slice_config() to satisfy Intel VDSC HW constraints. Fix pcon_dsc_passthrough caching order: move intel_dp_pcon_set_dsc_passthrough_cap() from intel_dp_get_dsc_sink_cap() to intel_dp_set_edid() so it runs after EDID is parsed and display_info.hdmi.dsc_cap is populated. Also clear pcon_dsc_passthrough in intel_dp_unset_edid() to keep lifecycle consistent. --- .../drm/i915/display/intel_display_types.h | 1 + drivers/gpu/drm/i915/display/intel_dp.c | 275 +++++++++++++++--- 2 files changed, 242 insertions(+), 34 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index 5f0fe18c0..90d77aa4d 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -564,6 +564,7 @@ struct intel_connector { u8 dsc_hblank_expansion_quirk:1; u8 dsc_throughput_quirk:1; u8 dsc_decompression_enabled:1; + u8 pcon_dsc_passthrough:1; /* PCON DSC PT supported and HDMI sink DSC 1.2 */ struct { struct { diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index c46397edf..a54d4373a 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1259,8 +1259,14 @@ bool intel_dp_has_dsc(const struct intel_connector *connector) connector->panel.vbt.edp.dsc_disable) return false; - if (!drm_dp_sink_supports_dsc(connector->dp.dsc_dpcd)) - return false; + if (!drm_dp_sink_supports_dsc(connector->dp.dsc_dpcd)) { + /* + * PCON passthrough: PCON has no DSC decoder so dsc_dpcd is + * zero, but if pcon_dsc_passthrough is set (cached at connect + * time) the downstream HDMI 2.1 sink will decompress instead. + */ + return connector->dp.pcon_dsc_passthrough; + } return true; } @@ -1866,28 +1872,45 @@ static int intel_dp_dsc_compute_params(const struct intel_connector *connector, if (ret) return ret; - vdsc_cfg->dsc_version_major = - (connector->dp.dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] & - DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT; - vdsc_cfg->dsc_version_minor = - min(intel_dp_source_dsc_version_minor(display), - intel_dp_sink_dsc_version_minor(connector->dp.dsc_dpcd)); - if (vdsc_cfg->convert_rgb) - vdsc_cfg->convert_rgb = - connector->dp.dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] & - DP_DSC_RGB; - - vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, - drm_dp_dsc_sink_line_buf_depth(connector->dp.dsc_dpcd)); - if (!vdsc_cfg->line_buf_depth) { - drm_dbg_kms(display->drm, - "DSC Sink Line Buffer Depth invalid\n"); - return -EINVAL; - } + if (connector->dp.pcon_dsc_passthrough) { + /* + * For PCON passthrough the HDMI 2.1 sink decompresses, not the + * PCON. The PCON dsc_dpcd fields reflect passthrough device + * constraints and are not valid for configuring the source VDSC + * engine. Use DSC 1.2 sink defaults instead. + */ + vdsc_cfg->dsc_version_major = 1; + vdsc_cfg->dsc_version_minor = min(intel_dp_source_dsc_version_minor(display), 2); + /* convert_rgb only applies for RGB output; leave false for YCbCr */ + if (vdsc_cfg->convert_rgb) + vdsc_cfg->convert_rgb = + (crtc_state->output_format == INTEL_OUTPUT_FORMAT_RGB); + vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, 13); + vdsc_cfg->block_pred_enable = true; + } else { + vdsc_cfg->dsc_version_major = + (connector->dp.dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] & + DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT; + vdsc_cfg->dsc_version_minor = + min(intel_dp_source_dsc_version_minor(display), + intel_dp_sink_dsc_version_minor(connector->dp.dsc_dpcd)); + if (vdsc_cfg->convert_rgb) + vdsc_cfg->convert_rgb = + connector->dp.dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] & + DP_DSC_RGB; + + vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, + drm_dp_dsc_sink_line_buf_depth(connector->dp.dsc_dpcd)); + if (!vdsc_cfg->line_buf_depth) { + drm_dbg_kms(display->drm, + "DSC Sink Line Buffer Depth invalid\n"); + return -EINVAL; + } - vdsc_cfg->block_pred_enable = - connector->dp.dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] & - DP_DSC_BLK_PREDICTION_IS_SUPPORTED; + vdsc_cfg->block_pred_enable = + connector->dp.dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] & + DP_DSC_BLK_PREDICTION_IS_SUPPORTED; + } return drm_dsc_compute_rc_parameters(vdsc_cfg); } @@ -2316,6 +2339,10 @@ void intel_dp_dsc_reset_config(struct intel_crtc_state *crtc_state) memset(&crtc_state->dsc.config, 0, sizeof(crtc_state->dsc.config)); } +static bool intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp, + const struct intel_crtc_state *crtc_state, + struct intel_dsc_slice_config *config_ret); + int intel_dp_dsc_compute_config(struct intel_dp *intel_dp, struct intel_crtc_state *pipe_config, struct drm_connector_state *conn_state, @@ -2354,7 +2381,19 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp, } } - if (!intel_dp_dsc_get_slice_config(connector, adjusted_mode->crtc_clock, + if (connector->dp.pcon_dsc_passthrough) { + /* + * PCON passthrough: no PCON encoder DPCD, derive slice config + * from the downstream HDMI 2.1 sink DSC capabilities in EDID. + */ + if (!intel_dp_pcon_passthrough_dsc_slice_config(intel_dp, + pipe_config, + &pipe_config->dsc.slice_config)) { + drm_dbg_kms(display->drm, + "PCON DSC passthrough: no valid slice config\n"); + return -EINVAL; + } + } else if (!intel_dp_dsc_get_slice_config(connector, adjusted_mode->crtc_clock, adjusted_mode->crtc_hdisplay, num_joined_pipes, &pipe_config->dsc.slice_config)) return -EINVAL; @@ -2485,10 +2524,20 @@ bool intel_dp_mode_valid_with_dsc(struct intel_connector *connector, num_joined_pipes, output_format, pipe_bpp, INT_MAX); - int dsc_slice_count = intel_dp_dsc_get_slice_count(connector, - mode_clock, - mode_hdisplay, - num_joined_pipes); + int dsc_slice_count; + + if (connector->dp.pcon_dsc_passthrough) { + const struct drm_display_info *info = &connector->base.display_info; + + dsc_slice_count = min_t(int, info->hdmi.dsc_cap.max_slices, + drm_dp_dsc_sink_max_slice_count(connector->dp.dsc_dpcd, + false)); + } else { + dsc_slice_count = intel_dp_dsc_get_slice_count(connector, + mode_clock, + mode_hdisplay, + num_joined_pipes); + } if (min_bpp_x16 <= 0 || min_bpp_x16 > max_bpp_x16) return false; @@ -2683,8 +2732,33 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp, return false; } - if (dsc && !intel_dp_dsc_compute_pipe_bpp_limits(connector, limits)) - return false; + if (dsc) { + if (connector->dp.pcon_dsc_passthrough) { + /* + * PCON passthrough: PCON has no DSC encoder DPCD so + * intel_dp_dsc_compute_pipe_bpp_limits() would see + * all-zero dsc_dpcd and fail. Use the downstream HDMI + * sink DSC bpc cap to constrain the pipe bpp instead. + */ + const struct drm_display_info *info = + &connector->base.display_info; + u8 hdmi_max_bpc = info->hdmi.dsc_cap.bpc_supported ?: 8; + int dsc_min_bpc = intel_dp_dsc_min_src_input_bpc(); + int dsc_max_bpc = min_t(int, + intel_dp_dsc_max_src_input_bpc(display), + hdmi_max_bpc); + + limits->pipe.min_bpp = max(limits->pipe.min_bpp, + dsc_min_bpc * 3); + limits->pipe.max_bpp = min(limits->pipe.max_bpp, + dsc_max_bpc * 3); + + if (limits->pipe.min_bpp > limits->pipe.max_bpp) + return false; + } else if (!intel_dp_dsc_compute_pipe_bpp_limits(connector, limits)) { + return false; + } + } /* * crtc_state->pipe_bpp is the non-DP specific baseline (platform / @@ -2697,7 +2771,7 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp, */ limits->pipe.max_bpp = clamp(crtc_state->pipe_bpp, limits->pipe.min_bpp, limits->pipe.max_bpp); - if (dsc) + if (dsc && !connector->dp.pcon_dsc_passthrough) limits->pipe.max_bpp = align_max_sink_dsc_input_bpp(connector, limits->pipe.max_bpp); @@ -3716,6 +3790,10 @@ intel_dp_sink_set_dsc_decompression(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); + /* PCON passthrough: PCON forwards the stream, sink decompresses. */ + if (!connector->mst.dp && connector->dp.pcon_dsc_passthrough) + return; + if (write_dsc_decompression_flag(connector->dp.dsc_decompression_aux, DP_DECOMPRESSION_EN, enable) < 0) drm_dbg_kms(display->drm, @@ -3728,8 +3806,19 @@ intel_dp_sink_set_dsc_passthrough(const struct intel_connector *connector, bool enable) { struct intel_display *display = to_intel_display(connector); - struct drm_dp_aux *aux = connector->mst.port ? - connector->mst.port->passthrough_aux : NULL; + struct drm_dp_aux *aux = NULL; + + if (!connector->mst.port) { + /* + * HDMI 2.1 PCON passthrough: write DP_DSC_PASSTHROUGH_EN on + * the PCON's own aux channel so it forwards the compressed + * stream to the HDMI sink instead of decoding it. + */ + if (connector->dp.pcon_dsc_passthrough) + aux = &intel_attached_dp((struct intel_connector *)connector)->aux; + } else { + aux = connector->mst.port->passthrough_aux; + } if (!aux) return; @@ -3737,7 +3826,7 @@ intel_dp_sink_set_dsc_passthrough(const struct intel_connector *connector, if (write_dsc_decompression_flag(aux, DP_DSC_PASSTHROUGH_EN, enable) < 0) drm_dbg_kms(display->drm, - "Failed to %s sink compression passthrough state\n", + "Failed to %s DSC passthrough\n", str_enable_disable(enable)); } @@ -4259,6 +4348,116 @@ void intel_dp_check_frl_training(struct intel_dp *intel_dp) } } +/* + * intel_dp_pcon_set_dsc_passthrough_cap - cache PCON DSC passthrough capability + * + * Called once at connect time (from intel_dp_get_dsc_sink_cap()) after + * dsc_dpcd and the HDMI sink EDID have been read. Caches the result in + * connector->dp.pcon_dsc_passthrough so modeset paths can read it cheaply + * without repeating the DPCD and EDID lookups. + * + * A PCON supports DSC passthrough when it explicitly advertises + * DP_DSC_PASSTHROUGH_IS_SUPPORTED (DPCD 0x060 bit1) and the downstream + * HDMI 2.1 sink supports DSC 1.2. The compressed stream produced by the + * source VDSC engine is forwarded unchanged through the PCON to the HDMI + * sink for decompression (DP_DSC_ENABLE bit1 on the PCON). + */ +static void +intel_dp_pcon_set_dsc_passthrough_cap(struct intel_dp *intel_dp) +{ + struct intel_connector *connector = intel_dp->attached_connector; + const struct drm_display_info *info; + + if (!connector) + return; + + connector->dp.pcon_dsc_passthrough = false; + + /* + * PCON DSC passthrough is only supported for SST direct connections. + * In MST topologies the intermediate hub may report incorrect virtual + * DPCD for the downstream PCON port, leading to mismatched DSC + * parameters. Skip passthrough for MST until hub firmware correctly + * reflects the PCON's capabilities. + */ + if (connector->mst.port) + return; + + if (!intel_dp_is_hdmi_2_1_sink(intel_dp)) + return; + + if (!(connector->dp.dsc_dpcd[0] & DP_DSC_PASSTHROUGH_IS_SUPPORTED)) + return; + + info = &connector->base.display_info; + connector->dp.pcon_dsc_passthrough = info->hdmi.dsc_cap.v_1p2; +} + +static bool +intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp, + const struct intel_crtc_state *crtc_state, + struct intel_dsc_slice_config *config_ret) +{ + struct intel_display *display = to_intel_display(intel_dp); + struct intel_connector *connector = intel_dp->attached_connector; + const struct drm_display_info *info = &connector->base.display_info; + int num_joined_pipes = intel_crtc_num_joined_pipes(crtc_state); + int hdmi_throughput = info->hdmi.dsc_cap.clk_per_slice; + int hdmi_max_slices = info->hdmi.dsc_cap.max_slices; + int target_slices; + int slices_per_pipe; + + /* + * Derive the required slice count from the downstream HDMI 2.1 sink + * DSC capabilities in EDID (not from the PCON encoder DPCD which is + * all-zero for passthrough-only devices). + */ + /* + * src_max_slice_width: pass INT_MAX so the HDMI spec limit of 2720px + * applies; the source VDSC HW limit (5120px) is higher so it is not + * the binding constraint here. + * src_max_slices: use hdmi_max_slices as the binding upper limit since + * the PCON passthrough capability bit (already checked) is the gate; + * the for-loop below further constrains to what the Intel VDSC HW can + * actually produce. + */ + target_slices = intel_hdmi_dsc_get_num_slices(&crtc_state->hw.adjusted_mode, + crtc_state->output_format, + hdmi_max_slices, INT_MAX, + hdmi_max_slices, + hdmi_throughput); + if (!target_slices) + return false; + + drm_dbg_kms(display->drm, + "PCON DSC passthrough: target %d slices from HDMI sink EDID cap" + " (max_slices=%d clk_per_slice=%d MHz)\n", + target_slices, hdmi_max_slices, hdmi_throughput); + + for (slices_per_pipe = 1; slices_per_pipe <= 4; slices_per_pipe++) { + struct intel_dsc_slice_config config; + int line_slices; + + if (!intel_dsc_get_slice_config(display, + num_joined_pipes, slices_per_pipe, + &config)) + continue; + + line_slices = intel_dsc_line_slice_count(&config); + if (line_slices != target_slices) + continue; + + /* Slice count must evenly divide the horizontal display width */ + if (crtc_state->hw.adjusted_mode.hdisplay % line_slices) + continue; + + *config_ret = config; + return true; + } + + return false; +} + static int intel_dp_pcon_dsc_enc_slice_height(const struct intel_crtc_state *crtc_state) { @@ -4510,6 +4709,7 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, memset(&connector->dp.dsc_branch_caps, 0, sizeof(connector->dp.dsc_branch_caps)); connector->dp.dsc_throughput_quirk = false; + connector->dp.pcon_dsc_passthrough = false; if (dpcd_rev < DP_DPCD_REV_14) return; @@ -6148,6 +6348,12 @@ intel_dp_set_edid(struct intel_dp *intel_dp) intel_dp_update_dfp(intel_dp, drm_edid); intel_dp_update_420(intel_dp); + /* + * Re-evaluate PCON DSC passthrough capability now that the EDID has + * been parsed and display_info.hdmi.dsc_cap is up to date. + */ + intel_dp_pcon_set_dsc_passthrough_cap(intel_dp); + drm_dp_cec_attach(&intel_dp->aux, connector->base.display_info.source_physical_address); } @@ -6170,6 +6376,7 @@ intel_dp_unset_edid(struct intel_dp *intel_dp) intel_dp->dfp.ycbcr_444_to_420 = false; connector->base.ycbcr_420_allowed = false; + connector->dp.pcon_dsc_passthrough = false; drm_connector_set_vrr_capable_property(&connector->base, false); -- 2.43.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices 2026-09-07 4:41 ` [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu @ 2026-09-07 4:56 ` sashiko-bot 0 siblings, 0 replies; 12+ messages in thread From: sashiko-bot @ 2026-09-07 4:56 UTC (permalink / raw) To: Xiao Lu; +Cc: intel-gfx Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [High] Slice count calculation for passthrough-only PCONs evaluates to 0, unconditionally rejecting valid DSC modes. - [Low] Call to intel_hdmi_dsc_get_num_slices uses an incorrect function signature, causing a build failure and potential out-of-bounds read if coerced. -- commit 143c11b20062c81b5ac2377b90407f1c60975424 Author: Xiao Lu <xiaolu.xie@intel.com> drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices This commit adds explicit driver control for PCON DSC passthrough capabilities, allowing HDMI 2.1 PCON devices to forward compressed streams to a downstream HDMI sink for decompression. It detects passthrough support, overrides DSC configuration paths to use the HDMI sink's capabilities, and writes appropriate registers to enable passthrough instead of relying on autonomous fallbacks. > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 113d767e62e9c..53d4d884f726b 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c [ ... ] > @@ -2534,10 +2573,20 @@ bool intel_dp_mode_valid_with_dsc(struct intel_connector *connector, > num_joined_pipes, > output_format, > pipe_bpp, INT_MAX); > - int dsc_slice_count = intel_dp_dsc_get_slice_count(connector, > - mode_clock, > - mode_hdisplay, > - num_joined_pipes); > + int dsc_slice_count; > + > + if (connector->dp.pcon_dsc_passthrough) { > + const struct drm_display_info *info = &connector->base.display_info; > + > + dsc_slice_count = min_t(int, info->hdmi.dsc_cap.max_slices, > + drm_dp_dsc_sink_max_slice_count(connector->dp.dsc_dpcd, > + false)); [Severity: High] Does this regression artificially cap the slice count to zero for passthrough PCONs? As noted in the commit message, the PCON encoder DPCD fields are all-zero for passthrough-only devices. Because connector->dp.dsc_dpcd is zeroed out, calling drm_dp_dsc_sink_max_slice_count() will evaluate to 0. Since this is passed into min_t(), wouldn't dsc_slice_count evaluate to 0 and unconditionally reject valid DSC modes downstream in this function? > } else { > dsc_slice_count = intel_dp_dsc_get_slice_count(connector, [ ... ] > @@ -4297,6 +4386,116 @@ void intel_dp_check_frl_training(struct intel_dp *intel_dp) > } > } > > +/* > + * intel_dp_pcon_set_dsc_passthrough_cap - cache PCON DSC passthrough capability [ ... ] > +static bool > +intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp, > + const struct intel_crtc_state *crtc_state, > + struct intel_dsc_slice_config *config_ret) > +{ [ ... ] > + /* > + * src_max_slice_width: pass INT_MAX so the HDMI spec limit of 2720px > + * applies; the source VDSC HW limit (5120px) is higher so it is not > + * the binding constraint here. > + * src_max_slices: use hdmi_max_slices as the binding upper limit since > + * the PCON passthrough capability bit (already checked) is the gate; > + * the for-loop below further constrains to what the Intel VDSC HW can > + * actually produce. > + */ > + target_slices = intel_hdmi_dsc_get_num_slices(&crtc_state->hw.adjusted_mode, > + crtc_state->output_format, > + hdmi_max_slices, INT_MAX, > + hdmi_max_slices, > + hdmi_throughput); [Severity: Low] Can this regression cause a build failure or memory issues? The call to intel_hdmi_dsc_get_num_slices() passes 6 arguments, and the first argument is passed as &crtc_state->hw.adjusted_mode. Looking at the actual definition of intel_hdmi_dsc_get_num_slices() in drivers/gpu/drm/i915/display/intel_hdmi.c: int intel_hdmi_dsc_get_num_slices(const struct intel_crtc_state *crtc_state, int src_max_slices, int src_max_slice_width, int hdmi_max_slices, int hdmi_throughput) It still expects 5 arguments, with the first being a const struct intel_crtc_state *. Could this result in an out-of-bounds read if the compiler coerces the smaller drm_display_mode struct into an intel_crtc_state? > + if (!target_slices) > + return false; -- Sashiko AI review · https://sashiko.dev/#/patchset/20260907044140.1367870-1-xiaolu.xie@intel.com?part=2 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v5 0/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices 2026-09-06 9:41 [PATCH v4] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu 2026-09-07 4:41 ` [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu @ 2026-09-07 4:44 ` Xiao Lu 2026-09-07 4:44 ` [PATCH v5 2/2] " Xiao Lu 1 sibling, 1 reply; 12+ messages in thread From: Xiao Lu @ 2026-09-07 4:44 UTC (permalink / raw) To: intel-gfx Cc: jani.nikula, ville.syrjala, imre.deak, ankit.k.nautiyal, Xiao Lu This series enables explicit driver control of DSC passthrough for HDMI 2.1 PCON devices (e.g. Parade PS196) connected both directly (SST) and via MST hub (e.g. PS8650). Patch 1/2 fixes drm_dp_mst_is_virtual_dpcd() to also recognize DP_PEER_DEVICE_DP_LEGACY_CONV as a valid downstream peer type in the DP-to-DP branch, which is required for passthrough_aux to be correctly set when a PCON sits behind an MST hub. Patch 2/2 adds the intel_dp driver changes to detect, configure and control DSC passthrough mode. Tested with Parade PS196G + Lenovo ThinkVision Pro 27UD-10 (HDMI 2.1, DSC 1.2). At 4K@240Hz DSC is required; driver writes 0x160=0x02 and DSC parameters are derived from the HDMI sink EDID. Xiao Lu (2): drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices drivers/gpu/drm/display/drm_dp_mst_topology.c | 3 +- drivers/gpu/drm/i915/display/intel_display_types.h | 1 + drivers/gpu/drm/i915/display/intel_dp.c | 275 ++++++++++++++++++--- 3 files changed, 244 insertions(+), 35 deletions(-) -- 2.43.0 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices 2026-09-07 4:44 ` [PATCH v5 0/2] " Xiao Lu @ 2026-09-07 4:44 ` Xiao Lu 2026-09-07 5:04 ` sashiko-bot 0 siblings, 1 reply; 12+ messages in thread From: Xiao Lu @ 2026-09-07 4:44 UTC (permalink / raw) To: intel-gfx Cc: jani.nikula, ville.syrjala, imre.deak, ankit.k.nautiyal, Xiao Lu HDMI 2.1 PCON devices (e.g. Parade PS196) that do not have an internal DSC encoder can still forward a DSC-compressed stream from the DP source to the downstream HDMI 2.1 sink unchanged (passthrough mode). The HDMI sink (e.g. Lenovo ThinkVision Pro 27UD-10) then decompresses the stream itself. This mode is signalled by DP_DSC_PASSTHROUGH_IS_SUPPORTED (DPCD 0x060 bit1) on the PCON. Previously the driver had no awareness of this path: the PCON would fall back to its autonomous passthrough mode and write 0x160=0x02 by itself, leaving the source with no control over DSC parameters or DPCD 0x160. This patch adds explicit driver control of PCON DSC passthrough: - Detect passthrough capability at connect time from DPCD 0x060 bit1 combined with the downstream HDMI 2.1 sink's DSC 1.2 support from EDID HF-VSDB. Cache the result in connector->dp.pcon_dsc_passthrough (same lifecycle as fec_capability and dsc_dpcd). - Treat the PCON as DSC-capable in intel_dp_has_dsc() when passthrough is supported, allowing the normal DSC compute_config path to proceed. - Derive DSC parameters (slice count, bpc limits) from the downstream HDMI sink's EDID DSC capabilities rather than from the PCON encoder DPCD (all-zero for passthrough-only PCONs). - Add PCON passthrough branch in intel_dp_dsc_compute_params() to use DSC 1.2 defaults (version 1.2, convert_rgb per output format, line_buf_depth=13, block_pred=true) instead of the PCON dsc_dpcd fields which reflect passthrough device constraints, not the actual HDMI sink decompressor. - Skip align_max_sink_dsc_input_bpp() for PCON passthrough to prevent the PCON dsc_dpcd color_depth_cap from zeroing pipe.max_bpp. - Write DP_DSC_PASSTHROUGH_EN (0x160 bit1) to the PCON via intel_dp_sink_set_dsc_passthrough() on enable, and clear it on disable. The existing MST hub passthrough path is preserved; the PCON case is handled by redirecting aux to intel_dp->aux (SST) or connector->mst.port->aux (MST via REMOTE_DPCD_WRITE) when pcon_dsc_passthrough is set. - Short-circuit intel_dp_sink_set_dsc_decompression() for PCON passthrough since the PCON itself does not decompress. - Add passthrough branch in intel_dp_mode_valid_with_dsc() to use EDID max_slices capped by PCON dsc_dpcd slice capability. Tested with Parade PS196G (HW 0.2, SW 241.62) connected directly (SST) and via PS8650 MST hub to a Lenovo ThinkVision Pro 27UD-10 (HDMI 2.1, DSC 1.2, max 16 slices, 400 MHz/slice). At 4K@240Hz DSC compression is required; driver now writes 0x160=0x02 explicitly and DSC parameters are correctly derived from the HDMI sink EDID. Depends on the preceding drm/dp/mst patch for MST topology support. Signed-off-by: Xiao Lu <xiaolu.xie@intel.com> --- v5: Split into two patches: the drm/dp/mst fix for recognizing DP-to-HDMI PCON as virtual DPCD is now patch 1/2. Inline PCON passthrough DSC parameter overrides into intel_dp_dsc_compute_params() instead of a separate function; fix convert_rgb to depend on output_format instead of being unconditionally true. Remove intel_dp_pcon_set_dsc_passthrough_cap() call from intel_dp_get_dsc_sink_cap() - keep only the intel_dp_set_edid() call so MST streams do not incorrectly update the root connector. Pass INT_MAX as src_max_slice_width to intel_hdmi_dsc_get_num_slices() so only the HDMI spec 2720px limit applies. Add hdisplay divisibility check for the computed slice count. Add PCON passthrough branch in intel_dp_mode_valid_with_dsc() using EDID max_slices capped by PCON dsc_dpcd slice capability. v4: Rebase onto drm-intel-next-2026-09-03 to fix compilation failures. Fix intel_hdmi_dsc_get_num_slices() call to pass output_format as the 2nd argument matching the updated 6-parameter signature. Add intel_dp_pcon_passthrough_dsc_compute_params() to compute DSC parameters from HDMI sink EDID rather than PCON dsc_dpcd fields (version, color format, line_buf_depth, block_pred are not valid for a passthrough-only PCON that does no decoding). Skip align_max_sink_dsc_input_bpp() for PCON passthrough to prevent the PCON dsc_dpcd color_depth_cap (0x00) from zeroing pipe.max_bpp. Fix intel_dp_dsc_compute_config() to use the correct connector context instead of intel_dp->attached_connector for MST streams. v3: Restrict PCON DSC passthrough to SST direct connections only. In MST topologies the PCON is connected through an intermediate hub; passthrough is already handled separately via the MST hub path in intel_dp_sink_set_dsc_passthrough(), so skip it here by returning early when connector->mst.port is set. Fix intel_hdmi_dsc_get_num_slices() call to use drm_display_mode * instead of intel_crtc_state * to match the updated function signature. v2: Fix build failure on drm-tip - replace non-existent dsc.slice_count field with dsc.slice_config. Introduce intel_dp_pcon_passthrough_dsc_slice_config() which calls intel_hdmi_dsc_get_num_slices() for the target slice count then finds a matching intel_dsc_slice_config via intel_dsc_get_slice_config() to satisfy Intel VDSC HW constraints. Fix pcon_dsc_passthrough caching order: move intel_dp_pcon_set_dsc_passthrough_cap() from intel_dp_get_dsc_sink_cap() to intel_dp_set_edid() so it runs after EDID is parsed and display_info.hdmi.dsc_cap is populated. Also clear pcon_dsc_passthrough in intel_dp_unset_edid() to keep lifecycle consistent. --- .../drm/i915/display/intel_display_types.h | 1 + drivers/gpu/drm/i915/display/intel_dp.c | 275 +++++++++++++++--- 2 files changed, 242 insertions(+), 34 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index 5f0fe18c0..90d77aa4d 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -564,6 +564,7 @@ struct intel_connector { u8 dsc_hblank_expansion_quirk:1; u8 dsc_throughput_quirk:1; u8 dsc_decompression_enabled:1; + u8 pcon_dsc_passthrough:1; /* PCON DSC PT supported and HDMI sink DSC 1.2 */ struct { struct { diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index c46397edf..a54d4373a 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1259,8 +1259,14 @@ bool intel_dp_has_dsc(const struct intel_connector *connector) connector->panel.vbt.edp.dsc_disable) return false; - if (!drm_dp_sink_supports_dsc(connector->dp.dsc_dpcd)) - return false; + if (!drm_dp_sink_supports_dsc(connector->dp.dsc_dpcd)) { + /* + * PCON passthrough: PCON has no DSC decoder so dsc_dpcd is + * zero, but if pcon_dsc_passthrough is set (cached at connect + * time) the downstream HDMI 2.1 sink will decompress instead. + */ + return connector->dp.pcon_dsc_passthrough; + } return true; } @@ -1866,28 +1872,45 @@ static int intel_dp_dsc_compute_params(const struct intel_connector *connector, if (ret) return ret; - vdsc_cfg->dsc_version_major = - (connector->dp.dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] & - DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT; - vdsc_cfg->dsc_version_minor = - min(intel_dp_source_dsc_version_minor(display), - intel_dp_sink_dsc_version_minor(connector->dp.dsc_dpcd)); - if (vdsc_cfg->convert_rgb) - vdsc_cfg->convert_rgb = - connector->dp.dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] & - DP_DSC_RGB; - - vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, - drm_dp_dsc_sink_line_buf_depth(connector->dp.dsc_dpcd)); - if (!vdsc_cfg->line_buf_depth) { - drm_dbg_kms(display->drm, - "DSC Sink Line Buffer Depth invalid\n"); - return -EINVAL; - } + if (connector->dp.pcon_dsc_passthrough) { + /* + * For PCON passthrough the HDMI 2.1 sink decompresses, not the + * PCON. The PCON dsc_dpcd fields reflect passthrough device + * constraints and are not valid for configuring the source VDSC + * engine. Use DSC 1.2 sink defaults instead. + */ + vdsc_cfg->dsc_version_major = 1; + vdsc_cfg->dsc_version_minor = min(intel_dp_source_dsc_version_minor(display), 2); + /* convert_rgb only applies for RGB output; leave false for YCbCr */ + if (vdsc_cfg->convert_rgb) + vdsc_cfg->convert_rgb = + (crtc_state->output_format == INTEL_OUTPUT_FORMAT_RGB); + vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, 13); + vdsc_cfg->block_pred_enable = true; + } else { + vdsc_cfg->dsc_version_major = + (connector->dp.dsc_dpcd[DP_DSC_REV - DP_DSC_SUPPORT] & + DP_DSC_MAJOR_MASK) >> DP_DSC_MAJOR_SHIFT; + vdsc_cfg->dsc_version_minor = + min(intel_dp_source_dsc_version_minor(display), + intel_dp_sink_dsc_version_minor(connector->dp.dsc_dpcd)); + if (vdsc_cfg->convert_rgb) + vdsc_cfg->convert_rgb = + connector->dp.dsc_dpcd[DP_DSC_DEC_COLOR_FORMAT_CAP - DP_DSC_SUPPORT] & + DP_DSC_RGB; + + vdsc_cfg->line_buf_depth = min(INTEL_DP_DSC_MAX_LINE_BUF_DEPTH, + drm_dp_dsc_sink_line_buf_depth(connector->dp.dsc_dpcd)); + if (!vdsc_cfg->line_buf_depth) { + drm_dbg_kms(display->drm, + "DSC Sink Line Buffer Depth invalid\n"); + return -EINVAL; + } - vdsc_cfg->block_pred_enable = - connector->dp.dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] & - DP_DSC_BLK_PREDICTION_IS_SUPPORTED; + vdsc_cfg->block_pred_enable = + connector->dp.dsc_dpcd[DP_DSC_BLK_PREDICTION_SUPPORT - DP_DSC_SUPPORT] & + DP_DSC_BLK_PREDICTION_IS_SUPPORTED; + } return drm_dsc_compute_rc_parameters(vdsc_cfg); } @@ -2316,6 +2339,10 @@ void intel_dp_dsc_reset_config(struct intel_crtc_state *crtc_state) memset(&crtc_state->dsc.config, 0, sizeof(crtc_state->dsc.config)); } +static bool intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp, + const struct intel_crtc_state *crtc_state, + struct intel_dsc_slice_config *config_ret); + int intel_dp_dsc_compute_config(struct intel_dp *intel_dp, struct intel_crtc_state *pipe_config, struct drm_connector_state *conn_state, @@ -2354,7 +2381,19 @@ int intel_dp_dsc_compute_config(struct intel_dp *intel_dp, } } - if (!intel_dp_dsc_get_slice_config(connector, adjusted_mode->crtc_clock, + if (connector->dp.pcon_dsc_passthrough) { + /* + * PCON passthrough: no PCON encoder DPCD, derive slice config + * from the downstream HDMI 2.1 sink DSC capabilities in EDID. + */ + if (!intel_dp_pcon_passthrough_dsc_slice_config(intel_dp, + pipe_config, + &pipe_config->dsc.slice_config)) { + drm_dbg_kms(display->drm, + "PCON DSC passthrough: no valid slice config\n"); + return -EINVAL; + } + } else if (!intel_dp_dsc_get_slice_config(connector, adjusted_mode->crtc_clock, adjusted_mode->crtc_hdisplay, num_joined_pipes, &pipe_config->dsc.slice_config)) return -EINVAL; @@ -2485,10 +2524,20 @@ bool intel_dp_mode_valid_with_dsc(struct intel_connector *connector, num_joined_pipes, output_format, pipe_bpp, INT_MAX); - int dsc_slice_count = intel_dp_dsc_get_slice_count(connector, - mode_clock, - mode_hdisplay, - num_joined_pipes); + int dsc_slice_count; + + if (connector->dp.pcon_dsc_passthrough) { + const struct drm_display_info *info = &connector->base.display_info; + + dsc_slice_count = min_t(int, info->hdmi.dsc_cap.max_slices, + drm_dp_dsc_sink_max_slice_count(connector->dp.dsc_dpcd, + false)); + } else { + dsc_slice_count = intel_dp_dsc_get_slice_count(connector, + mode_clock, + mode_hdisplay, + num_joined_pipes); + } if (min_bpp_x16 <= 0 || min_bpp_x16 > max_bpp_x16) return false; @@ -2683,8 +2732,33 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp, return false; } - if (dsc && !intel_dp_dsc_compute_pipe_bpp_limits(connector, limits)) - return false; + if (dsc) { + if (connector->dp.pcon_dsc_passthrough) { + /* + * PCON passthrough: PCON has no DSC encoder DPCD so + * intel_dp_dsc_compute_pipe_bpp_limits() would see + * all-zero dsc_dpcd and fail. Use the downstream HDMI + * sink DSC bpc cap to constrain the pipe bpp instead. + */ + const struct drm_display_info *info = + &connector->base.display_info; + u8 hdmi_max_bpc = info->hdmi.dsc_cap.bpc_supported ?: 8; + int dsc_min_bpc = intel_dp_dsc_min_src_input_bpc(); + int dsc_max_bpc = min_t(int, + intel_dp_dsc_max_src_input_bpc(display), + hdmi_max_bpc); + + limits->pipe.min_bpp = max(limits->pipe.min_bpp, + dsc_min_bpc * 3); + limits->pipe.max_bpp = min(limits->pipe.max_bpp, + dsc_max_bpc * 3); + + if (limits->pipe.min_bpp > limits->pipe.max_bpp) + return false; + } else if (!intel_dp_dsc_compute_pipe_bpp_limits(connector, limits)) { + return false; + } + } /* * crtc_state->pipe_bpp is the non-DP specific baseline (platform / @@ -2697,7 +2771,7 @@ intel_dp_compute_config_limits(struct intel_dp *intel_dp, */ limits->pipe.max_bpp = clamp(crtc_state->pipe_bpp, limits->pipe.min_bpp, limits->pipe.max_bpp); - if (dsc) + if (dsc && !connector->dp.pcon_dsc_passthrough) limits->pipe.max_bpp = align_max_sink_dsc_input_bpp(connector, limits->pipe.max_bpp); @@ -3716,6 +3790,10 @@ intel_dp_sink_set_dsc_decompression(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); + /* PCON passthrough: PCON forwards the stream, sink decompresses. */ + if (!connector->mst.dp && connector->dp.pcon_dsc_passthrough) + return; + if (write_dsc_decompression_flag(connector->dp.dsc_decompression_aux, DP_DECOMPRESSION_EN, enable) < 0) drm_dbg_kms(display->drm, @@ -3728,8 +3806,19 @@ intel_dp_sink_set_dsc_passthrough(const struct intel_connector *connector, bool enable) { struct intel_display *display = to_intel_display(connector); - struct drm_dp_aux *aux = connector->mst.port ? - connector->mst.port->passthrough_aux : NULL; + struct drm_dp_aux *aux = NULL; + + if (!connector->mst.port) { + /* + * HDMI 2.1 PCON passthrough: write DP_DSC_PASSTHROUGH_EN on + * the PCON's own aux channel so it forwards the compressed + * stream to the HDMI sink instead of decoding it. + */ + if (connector->dp.pcon_dsc_passthrough) + aux = &intel_attached_dp((struct intel_connector *)connector)->aux; + } else { + aux = connector->mst.port->passthrough_aux; + } if (!aux) return; @@ -3737,7 +3826,7 @@ intel_dp_sink_set_dsc_passthrough(const struct intel_connector *connector, if (write_dsc_decompression_flag(aux, DP_DSC_PASSTHROUGH_EN, enable) < 0) drm_dbg_kms(display->drm, - "Failed to %s sink compression passthrough state\n", + "Failed to %s DSC passthrough\n", str_enable_disable(enable)); } @@ -4259,6 +4348,116 @@ void intel_dp_check_frl_training(struct intel_dp *intel_dp) } } +/* + * intel_dp_pcon_set_dsc_passthrough_cap - cache PCON DSC passthrough capability + * + * Called once at connect time (from intel_dp_get_dsc_sink_cap()) after + * dsc_dpcd and the HDMI sink EDID have been read. Caches the result in + * connector->dp.pcon_dsc_passthrough so modeset paths can read it cheaply + * without repeating the DPCD and EDID lookups. + * + * A PCON supports DSC passthrough when it explicitly advertises + * DP_DSC_PASSTHROUGH_IS_SUPPORTED (DPCD 0x060 bit1) and the downstream + * HDMI 2.1 sink supports DSC 1.2. The compressed stream produced by the + * source VDSC engine is forwarded unchanged through the PCON to the HDMI + * sink for decompression (DP_DSC_ENABLE bit1 on the PCON). + */ +static void +intel_dp_pcon_set_dsc_passthrough_cap(struct intel_dp *intel_dp) +{ + struct intel_connector *connector = intel_dp->attached_connector; + const struct drm_display_info *info; + + if (!connector) + return; + + connector->dp.pcon_dsc_passthrough = false; + + /* + * PCON DSC passthrough is only supported for SST direct connections. + * In MST topologies the intermediate hub may report incorrect virtual + * DPCD for the downstream PCON port, leading to mismatched DSC + * parameters. Skip passthrough for MST until hub firmware correctly + * reflects the PCON's capabilities. + */ + if (connector->mst.port) + return; + + if (!intel_dp_is_hdmi_2_1_sink(intel_dp)) + return; + + if (!(connector->dp.dsc_dpcd[0] & DP_DSC_PASSTHROUGH_IS_SUPPORTED)) + return; + + info = &connector->base.display_info; + connector->dp.pcon_dsc_passthrough = info->hdmi.dsc_cap.v_1p2; +} + +static bool +intel_dp_pcon_passthrough_dsc_slice_config(struct intel_dp *intel_dp, + const struct intel_crtc_state *crtc_state, + struct intel_dsc_slice_config *config_ret) +{ + struct intel_display *display = to_intel_display(intel_dp); + struct intel_connector *connector = intel_dp->attached_connector; + const struct drm_display_info *info = &connector->base.display_info; + int num_joined_pipes = intel_crtc_num_joined_pipes(crtc_state); + int hdmi_throughput = info->hdmi.dsc_cap.clk_per_slice; + int hdmi_max_slices = info->hdmi.dsc_cap.max_slices; + int target_slices; + int slices_per_pipe; + + /* + * Derive the required slice count from the downstream HDMI 2.1 sink + * DSC capabilities in EDID (not from the PCON encoder DPCD which is + * all-zero for passthrough-only devices). + */ + /* + * src_max_slice_width: pass INT_MAX so the HDMI spec limit of 2720px + * applies; the source VDSC HW limit (5120px) is higher so it is not + * the binding constraint here. + * src_max_slices: use hdmi_max_slices as the binding upper limit since + * the PCON passthrough capability bit (already checked) is the gate; + * the for-loop below further constrains to what the Intel VDSC HW can + * actually produce. + */ + target_slices = intel_hdmi_dsc_get_num_slices(&crtc_state->hw.adjusted_mode, + crtc_state->output_format, + hdmi_max_slices, INT_MAX, + hdmi_max_slices, + hdmi_throughput); + if (!target_slices) + return false; + + drm_dbg_kms(display->drm, + "PCON DSC passthrough: target %d slices from HDMI sink EDID cap" + " (max_slices=%d clk_per_slice=%d MHz)\n", + target_slices, hdmi_max_slices, hdmi_throughput); + + for (slices_per_pipe = 1; slices_per_pipe <= 4; slices_per_pipe++) { + struct intel_dsc_slice_config config; + int line_slices; + + if (!intel_dsc_get_slice_config(display, + num_joined_pipes, slices_per_pipe, + &config)) + continue; + + line_slices = intel_dsc_line_slice_count(&config); + if (line_slices != target_slices) + continue; + + /* Slice count must evenly divide the horizontal display width */ + if (crtc_state->hw.adjusted_mode.hdisplay % line_slices) + continue; + + *config_ret = config; + return true; + } + + return false; +} + static int intel_dp_pcon_dsc_enc_slice_height(const struct intel_crtc_state *crtc_state) { @@ -4510,6 +4709,7 @@ void intel_dp_get_dsc_sink_cap(u8 dpcd_rev, memset(&connector->dp.dsc_branch_caps, 0, sizeof(connector->dp.dsc_branch_caps)); connector->dp.dsc_throughput_quirk = false; + connector->dp.pcon_dsc_passthrough = false; if (dpcd_rev < DP_DPCD_REV_14) return; @@ -6148,6 +6348,12 @@ intel_dp_set_edid(struct intel_dp *intel_dp) intel_dp_update_dfp(intel_dp, drm_edid); intel_dp_update_420(intel_dp); + /* + * Re-evaluate PCON DSC passthrough capability now that the EDID has + * been parsed and display_info.hdmi.dsc_cap is up to date. + */ + intel_dp_pcon_set_dsc_passthrough_cap(intel_dp); + drm_dp_cec_attach(&intel_dp->aux, connector->base.display_info.source_physical_address); } @@ -6170,6 +6376,7 @@ intel_dp_unset_edid(struct intel_dp *intel_dp) intel_dp->dfp.ycbcr_444_to_420 = false; connector->base.ycbcr_420_allowed = false; + connector->dp.pcon_dsc_passthrough = false; drm_connector_set_vrr_capable_property(&connector->base, false); -- 2.43.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices 2026-09-07 4:44 ` [PATCH v5 2/2] " Xiao Lu @ 2026-09-07 5:04 ` sashiko-bot 0 siblings, 0 replies; 12+ messages in thread From: sashiko-bot @ 2026-09-07 5:04 UTC (permalink / raw) To: Xiao Lu; +Cc: intel-gfx Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [High] Mode validation unconditionally rejects all DSC modes for passthrough PCONs because it derives limits from an all-zero DPCD. - [Low] Compilation error: `intel_hdmi_dsc_get_num_slices` is called with 6 arguments but defined with 5. -- commit 3c5cccb0470ef014fba8e2a861fd6cfffd5b223d Author: Xiao Lu <xiaolu.xie@intel.com> drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices This patch adds explicit driver control of PCON DSC passthrough. It detects passthrough capability at connect time and treats the PCON as DSC-capable. DSC parameters are now derived from the downstream HDMI sink's EDID DSC capabilities rather than the PCON encoder DPCD. > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 113d767e62e9c..53d4d884f726b 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c [ ... ] > @@ -2534,10 +2573,20 @@ bool intel_dp_mode_valid_with_dsc(struct intel_connector *connector, > num_joined_pipes, > output_format, > pipe_bpp, INT_MAX); > - int dsc_slice_count = intel_dp_dsc_get_slice_count(connector, > - mode_clock, > - mode_hdisplay, > - num_joined_pipes); > + int dsc_slice_count; > + > + if (connector->dp.pcon_dsc_passthrough) { > + const struct drm_display_info *info = &connector->base.display_info; > + > + dsc_slice_count = min_t(int, info->hdmi.dsc_cap.max_slices, > + drm_dp_dsc_sink_max_slice_count(connector->dp.dsc_dpcd, > + false)); [Severity: High] Does this logic unintentionally reject all DSC modes for passthrough PCONs? Because connector->dp.dsc_dpcd is all-zero for passthrough PCONs, calling drm_dp_dsc_sink_max_slice_count() on it will return 0. This results in dsc_slice_count being capped at 0, which will cause the mode validation to fail and reject high-bandwidth modes. Additionally, could a similar issue occur in intel_dp_mode_valid_format() where it computes pipe_bpp via intel_dp_dsc_compute_max_bpp()? That function also relies on the all-zero dsc_dpcd array for passthrough PCONs, returning 0 and causing a cascading failure that rejects the mode. > + } else { > + dsc_slice_count = intel_dp_dsc_get_slice_count(connector, > + mode_clock, > + mode_hdisplay, > + num_joined_pipes); > + } [ ... ] > @@ -4297,6 +4386,116 @@ void intel_dp_check_frl_training(struct intel_dp *intel_dp) [ ... ] > + /* > + * src_max_slice_width: pass INT_MAX so the HDMI spec limit of 2720px > + * applies; the source VDSC HW limit (5120px) is higher so it is not > + * the binding constraint here. > + * src_max_slices: use hdmi_max_slices as the binding upper limit since > + * the PCON passthrough capability bit (already checked) is the gate; > + * the for-loop below further constrains to what the Intel VDSC HW can > + * actually produce. > + */ > + target_slices = intel_hdmi_dsc_get_num_slices(&crtc_state->hw.adjusted_mode, > + crtc_state->output_format, > + hdmi_max_slices, INT_MAX, > + hdmi_max_slices, > + hdmi_throughput); [Severity: Low] Does this code introduce a build failure? The function intel_hdmi_dsc_get_num_slices() is called here with 6 arguments, but its definition only accepts 5 arguments. > + if (!target_slices) > + return false; -- Sashiko AI review · https://sashiko.dev/#/patchset/20260907044410.1368008-1-xiaolu.xie@intel.com?part=2 ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-09-08 1:35 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-07 4:39 [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu 2026-09-07 4:39 ` [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu 2026-09-07 5:03 ` sashiko-bot 2026-09-07 5:28 ` [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu 2026-09-07 17:04 ` Jani Nikula 2026-09-08 1:35 ` Xie, Xiaolu 2026-09-07 6:01 ` ✓ i915.CI.BAT: success for series starting with [v5,1/2] " Patchwork 2026-09-07 10:23 ` ✗ i915.CI.Full: failure " Patchwork -- strict thread matches above, loose matches on Subject: below -- 2026-09-06 9:41 [PATCH v4] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu 2026-09-07 4:41 ` [PATCH v5 1/2] drm/dp/mst: recognize DP-to-HDMI PCON as virtual DPCD in DP-to-DP topology Xiao Lu 2026-09-07 4:41 ` [PATCH v5 2/2] drm/i915/dp: enable DSC passthrough for HDMI 2.1 PCON devices Xiao Lu 2026-09-07 4:56 ` sashiko-bot 2026-09-07 4:44 ` [PATCH v5 0/2] " Xiao Lu 2026-09-07 4:44 ` [PATCH v5 2/2] " Xiao Lu 2026-09-07 5:04 ` sashiko-bot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox