* [PATCH 0/3] drm/i915/display: add some sub-structs for clarity
@ 2025-02-28 12:49 Jani Nikula
2025-02-28 12:49 ` [PATCH 1/3] drm/i915/mst: add mst sub-struct to struct intel_dp Jani Nikula
` (7 more replies)
0 siblings, 8 replies; 12+ messages in thread
From: Jani Nikula @ 2025-02-28 12:49 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Jani Nikula (3):
drm/i915/mst: add mst sub-struct to struct intel_dp
drm/i915/mst: add mst sub-struct to struct intel_connector
drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port
drivers/gpu/drm/i915/display/g4x_dp.c | 2 +-
drivers/gpu/drm/i915/display/g4x_hdmi.c | 2 +-
.../gpu/drm/i915/display/intel_connector.c | 4 +-
drivers/gpu/drm/i915/display/intel_ddi.c | 6 +-
.../drm/i915/display/intel_display_debugfs.c | 6 +-
.../drm/i915/display/intel_display_types.h | 44 ++---
drivers/gpu/drm/i915/display/intel_dp.c | 38 ++---
drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 8 +-
drivers/gpu/drm/i915/display/intel_dp_mst.c | 154 +++++++++---------
drivers/gpu/drm/i915/display/intel_hdcp.c | 94 +++++------
10 files changed, 180 insertions(+), 178 deletions(-)
--
2.39.5
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH 1/3] drm/i915/mst: add mst sub-struct to struct intel_dp 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula @ 2025-02-28 12:49 ` Jani Nikula 2025-02-28 15:52 ` Imre Deak 2025-02-28 12:49 ` [PATCH 2/3] drm/i915/mst: add mst sub-struct to struct intel_connector Jani Nikula ` (6 subsequent siblings) 7 siblings, 1 reply; 12+ messages in thread From: Jani Nikula @ 2025-02-28 12:49 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: jani.nikula, Imre Deak Move active_mst_links, mst_encoders[], and mst_mgr members of struct intel_dp under an mst sub-struct to group mst related things together. Rename them active_links, stream_encoders[] and mgr for clarity. Note that is_mst and mst_detect are not included, as they're also relevant for non-mst. The sub-struct is for active mst. Cc: Imre Deak <imre.deak@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- .../drm/i915/display/intel_display_debugfs.c | 2 +- .../drm/i915/display/intel_display_types.h | 9 +- drivers/gpu/drm/i915/display/intel_dp.c | 26 +++-- drivers/gpu/drm/i915/display/intel_dp_mst.c | 94 +++++++++---------- drivers/gpu/drm/i915/display/intel_hdcp.c | 2 +- 5 files changed, 66 insertions(+), 67 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index 7ee90cd8ed2d..408f80194334 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -749,7 +749,7 @@ static int i915_dp_mst_info(struct seq_file *m, void *unused) seq_printf(m, "MST Source Port [ENCODER:%d:%s]\n", dig_port->base.base.base.id, dig_port->base.base.name); - drm_dp_mst_dump_topology(m, &dig_port->dp.mst_mgr); + drm_dp_mst_dump_topology(m, &dig_port->dp.mst.mgr); } drm_connector_list_iter_end(&conn_iter); diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index 4440521e3e9e..2aa8f6264708 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1724,7 +1724,6 @@ struct intel_dp { struct intel_pps pps; bool is_mst; - int active_mst_links; enum drm_dp_mst_mode mst_detect; /* connector directly attached - won't be use for modeset in mst world */ @@ -1734,9 +1733,11 @@ struct intel_dp { struct drm_dp_tunnel *tunnel; bool tunnel_suspended:1; - /* mst connector list */ - struct intel_dp_mst_encoder *mst_encoders[I915_MAX_PIPES]; - struct drm_dp_mst_topology_mgr mst_mgr; + struct { + struct intel_dp_mst_encoder *stream_encoders[I915_MAX_PIPES]; + struct drm_dp_mst_topology_mgr mgr; + int active_links; + } mst; u32 (*get_aux_clock_divider)(struct intel_dp *dp, int index); /* diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 4d0166f17357..5e84103c8d54 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -4396,7 +4396,7 @@ intel_dp_mst_configure(struct intel_dp *intel_dp) if (intel_dp->is_mst) intel_dp_mst_prepare_probe(intel_dp); - drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst_mgr, intel_dp->is_mst); + drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, intel_dp->is_mst); /* Avoid stale info on the next detect cycle. */ intel_dp->mst_detect = DRM_DP_SST; @@ -4412,9 +4412,9 @@ intel_dp_mst_disconnect(struct intel_dp *intel_dp) drm_dbg_kms(display->drm, "MST device may have disappeared %d vs %d\n", - intel_dp->is_mst, intel_dp->mst_mgr.mst_state); + intel_dp->is_mst, intel_dp->mst.mgr.mst_state); intel_dp->is_mst = false; - drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst_mgr, intel_dp->is_mst); + drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, intel_dp->is_mst); } static bool @@ -4920,7 +4920,7 @@ intel_dp_mst_hpd_irq(struct intel_dp *intel_dp, u8 *esi, u8 *ack) { bool handled = false; - drm_dp_mst_hpd_irq_handle_event(&intel_dp->mst_mgr, esi, ack, &handled); + drm_dp_mst_hpd_irq_handle_event(&intel_dp->mst.mgr, esi, ack, &handled); if (esi[1] & DP_CP_IRQ) { intel_hdcp_handle_cp_irq(intel_dp->attached_connector); @@ -4969,7 +4969,7 @@ intel_dp_check_mst_status(struct intel_dp *intel_dp) bool link_ok = true; bool reprobe_needed = false; - drm_WARN_ON_ONCE(display->drm, intel_dp->active_mst_links < 0); + drm_WARN_ON_ONCE(display->drm, intel_dp->mst.active_links < 0); for (;;) { u8 esi[4] = {}; @@ -4985,7 +4985,7 @@ intel_dp_check_mst_status(struct intel_dp *intel_dp) drm_dbg_kms(display->drm, "DPRX ESI: %4ph\n", esi); - if (intel_dp->active_mst_links > 0 && link_ok && + if (intel_dp->mst.active_links > 0 && link_ok && esi[3] & LINK_STATUS_CHANGED) { if (!intel_dp_mst_link_status(intel_dp)) link_ok = false; @@ -5008,7 +5008,7 @@ intel_dp_check_mst_status(struct intel_dp *intel_dp) drm_dbg_kms(display->drm, "Failed to ack ESI\n"); if (ack[1] & (DP_DOWN_REP_MSG_RDY | DP_UP_REQ_MSG_RDY)) - drm_dp_mst_hpd_irq_send_new_request(&intel_dp->mst_mgr); + drm_dp_mst_hpd_irq_send_new_request(&intel_dp->mst.mgr); } if (!link_ok || intel_dp->link.force_retrain) @@ -5107,7 +5107,7 @@ bool intel_dp_has_connector(struct intel_dp *intel_dp, /* MST */ for_each_pipe(display, pipe) { - encoder = &intel_dp->mst_encoders[pipe]->base; + encoder = &intel_dp->mst.stream_encoders[pipe]->base; if (conn_state->best_encoder == &encoder->base) return true; } @@ -6066,7 +6066,7 @@ static int intel_dp_connector_atomic_check(struct drm_connector *conn, return ret; if (intel_dp_mst_source_support(intel_dp)) { - ret = drm_dp_mst_root_conn_atomic_check(conn_state, &intel_dp->mst_mgr); + ret = drm_dp_mst_root_conn_atomic_check(conn_state, &intel_dp->mst.mgr); if (ret) return ret; } @@ -6604,7 +6604,7 @@ void intel_dp_mst_suspend(struct intel_display *display) continue; if (intel_dp->is_mst) - drm_dp_mst_topology_mgr_suspend(&intel_dp->mst_mgr); + drm_dp_mst_topology_mgr_suspend(&intel_dp->mst.mgr); } } @@ -6627,12 +6627,10 @@ void intel_dp_mst_resume(struct intel_display *display) if (!intel_dp_mst_source_support(intel_dp)) continue; - ret = drm_dp_mst_topology_mgr_resume(&intel_dp->mst_mgr, - true); + ret = drm_dp_mst_topology_mgr_resume(&intel_dp->mst.mgr, true); if (ret) { intel_dp->is_mst = false; - drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst_mgr, - false); + drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, false); } } } diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c index 90cc07b72817..e96236fbe407 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c @@ -253,7 +253,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp, fxp_q4_to_frac(bpp_step_x16))); if (is_mst) { - mst_state = drm_atomic_get_mst_topology_state(state, &intel_dp->mst_mgr); + mst_state = drm_atomic_get_mst_topology_state(state, &intel_dp->mst.mgr); if (IS_ERR(mst_state)) return PTR_ERR(mst_state); @@ -355,7 +355,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp, drm_WARN_ON(display->drm, remote_tu < crtc_state->dp_m_n.tu); crtc_state->dp_m_n.tu = remote_tu; - slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst_mgr, + slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr, connector->port, dfixed_trunc(pbn)); } else { @@ -479,7 +479,7 @@ static int mst_stream_update_slots(struct intel_dp *intel_dp, struct drm_connector_state *conn_state) { struct intel_display *display = to_intel_display(intel_dp); - struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; + struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst.mgr; struct drm_dp_mst_topology_state *topology_state; u8 link_coding_cap = intel_dp_is_uhbr(crtc_state) ? DP_CAP_ANSI_128B132B : DP_CAP_ANSI_8B10B; @@ -769,7 +769,7 @@ static u8 get_pipes_downstream_of_mst_port(struct intel_atomic_state *state, if (!conn_state->base.crtc) continue; - if (&connector->mst_port->mst_mgr != mst_mgr) + if (&connector->mst_port->mst.mgr != mst_mgr) continue; if (connector->port != parent_port && @@ -981,7 +981,7 @@ mst_connector_atomic_check(struct drm_connector *_connector, } return drm_dp_atomic_release_time_slots(&state->base, - &connector->mst_port->mst_mgr, + &connector->mst_port->mst.mgr, connector->port); } @@ -998,9 +998,9 @@ static void mst_stream_disable(struct intel_atomic_state *state, enum transcoder trans = old_crtc_state->cpu_transcoder; drm_dbg_kms(display->drm, "active links %d\n", - intel_dp->active_mst_links); + intel_dp->mst.active_links); - if (intel_dp->active_mst_links == 1) + if (intel_dp->mst.active_links == 1) intel_dp->link_trained = false; intel_hdcp_disable(intel_mst->connector); @@ -1023,9 +1023,9 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, struct intel_connector *connector = to_intel_connector(old_conn_state->connector); struct drm_dp_mst_topology_state *old_mst_state = - drm_atomic_get_old_mst_topology_state(&state->base, &intel_dp->mst_mgr); + drm_atomic_get_old_mst_topology_state(&state->base, &intel_dp->mst.mgr); struct drm_dp_mst_topology_state *new_mst_state = - drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst_mgr); + drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr); const struct drm_dp_mst_atomic_payload *old_payload = drm_atomic_get_mst_payload_state(old_mst_state, connector->port); struct drm_dp_mst_atomic_payload *new_payload = @@ -1034,8 +1034,8 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, bool last_mst_stream; int i; - intel_dp->active_mst_links--; - last_mst_stream = intel_dp->active_mst_links == 0; + intel_dp->mst.active_links--; + last_mst_stream = intel_dp->mst.active_links == 0; drm_WARN_ON(display->drm, DISPLAY_VER(display) >= 12 && last_mst_stream && !intel_dp_mst_is_master_trans(old_crtc_state)); @@ -1048,7 +1048,7 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, intel_disable_transcoder(old_crtc_state); - drm_dp_remove_payload_part1(&intel_dp->mst_mgr, new_mst_state, new_payload); + drm_dp_remove_payload_part1(&intel_dp->mst.mgr, new_mst_state, new_payload); intel_ddi_clear_act_sent(encoder, old_crtc_state); @@ -1057,9 +1057,9 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, TRANS_DDI_DP_VC_PAYLOAD_ALLOC, 0); intel_ddi_wait_for_act_sent(encoder, old_crtc_state); - drm_dp_check_act_status(&intel_dp->mst_mgr); + drm_dp_check_act_status(&intel_dp->mst.mgr); - drm_dp_remove_payload_part2(&intel_dp->mst_mgr, new_mst_state, + drm_dp_remove_payload_part2(&intel_dp->mst.mgr, new_mst_state, old_payload, new_payload); intel_ddi_disable_transcoder_func(old_crtc_state); @@ -1080,7 +1080,7 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, * Power down mst path before disabling the port, otherwise we end * up getting interrupts from the sink upon detecting link loss. */ - drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, + drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->port, false); /* @@ -1105,7 +1105,7 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, old_crtc_state, NULL); drm_dbg_kms(display->drm, "active links %d\n", - intel_dp->active_mst_links); + intel_dp->mst.active_links); } static void mst_stream_post_pll_disable(struct intel_atomic_state *state, @@ -1116,7 +1116,7 @@ static void mst_stream_post_pll_disable(struct intel_atomic_state *state, struct intel_encoder *primary_encoder = to_primary_encoder(encoder); struct intel_dp *intel_dp = to_primary_dp(encoder); - if (intel_dp->active_mst_links == 0 && + if (intel_dp->mst.active_links == 0 && primary_encoder->post_pll_disable) primary_encoder->post_pll_disable(state, primary_encoder, old_crtc_state, old_conn_state); } @@ -1129,7 +1129,7 @@ static void mst_stream_pre_pll_enable(struct intel_atomic_state *state, struct intel_encoder *primary_encoder = to_primary_encoder(encoder); struct intel_dp *intel_dp = to_primary_dp(encoder); - if (intel_dp->active_mst_links == 0) + if (intel_dp->mst.active_links == 0) primary_encoder->pre_pll_enable(state, primary_encoder, pipe_config, NULL); else @@ -1162,7 +1162,7 @@ static void intel_mst_reprobe_topology(struct intel_dp *intel_dp, crtc_state->port_clock, crtc_state->lane_count)) return; - drm_dp_mst_topology_queue_probe(&intel_dp->mst_mgr); + drm_dp_mst_topology_queue_probe(&intel_dp->mst.mgr); intel_mst_set_probed_link_params(intel_dp, crtc_state->port_clock, crtc_state->lane_count); @@ -1180,7 +1180,7 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, struct intel_connector *connector = to_intel_connector(conn_state->connector); struct drm_dp_mst_topology_state *mst_state = - drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst_mgr); + drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr); int ret; bool first_mst_stream; @@ -1189,17 +1189,17 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, */ connector->encoder = encoder; intel_mst->connector = connector; - first_mst_stream = intel_dp->active_mst_links == 0; + first_mst_stream = intel_dp->mst.active_links == 0; drm_WARN_ON(display->drm, DISPLAY_VER(display) >= 12 && first_mst_stream && !intel_dp_mst_is_master_trans(pipe_config)); drm_dbg_kms(display->drm, "active links %d\n", - intel_dp->active_mst_links); + intel_dp->mst.active_links); if (first_mst_stream) intel_dp_set_power(intel_dp, DP_SET_POWER_D0); - drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, true); + drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->port, true); intel_dp_sink_enable_decompression(state, connector, pipe_config); @@ -1210,9 +1210,9 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, intel_mst_reprobe_topology(intel_dp, pipe_config); } - intel_dp->active_mst_links++; + intel_dp->mst.active_links++; - ret = drm_dp_add_payload_part1(&intel_dp->mst_mgr, mst_state, + ret = drm_dp_add_payload_part1(&intel_dp->mst.mgr, mst_state, drm_atomic_get_mst_payload_state(mst_state, connector->port)); if (ret < 0) intel_dp_queue_modeset_retry_for_link(state, primary_encoder, pipe_config); @@ -1277,9 +1277,9 @@ static void mst_stream_enable(struct intel_atomic_state *state, struct intel_dp *intel_dp = to_primary_dp(encoder); struct intel_connector *connector = to_intel_connector(conn_state->connector); struct drm_dp_mst_topology_state *mst_state = - drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst_mgr); + drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr); enum transcoder trans = pipe_config->cpu_transcoder; - bool first_mst_stream = intel_dp->active_mst_links == 1; + bool first_mst_stream = intel_dp->mst.active_links == 1; struct intel_crtc *pipe_crtc; int ret, i, min_hblank; @@ -1329,15 +1329,15 @@ static void mst_stream_enable(struct intel_atomic_state *state, TRANS_DDI_DP_VC_PAYLOAD_ALLOC); drm_dbg_kms(display->drm, "active links %d\n", - intel_dp->active_mst_links); + intel_dp->mst.active_links); intel_ddi_wait_for_act_sent(encoder, pipe_config); - drm_dp_check_act_status(&intel_dp->mst_mgr); + drm_dp_check_act_status(&intel_dp->mst.mgr); if (first_mst_stream) intel_ddi_wait_for_fec_status(encoder, pipe_config, true); - ret = drm_dp_add_payload_part2(&intel_dp->mst_mgr, + ret = drm_dp_add_payload_part2(&intel_dp->mst.mgr, drm_atomic_get_mst_payload_state(mst_state, connector->port)); if (ret < 0) @@ -1402,7 +1402,7 @@ static int mst_connector_get_ddc_modes(struct drm_connector *_connector) if (!intel_display_driver_check_access(display)) return drm_edid_connector_add_modes(&connector->base); - drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst_mgr, connector->port); + drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst.mgr, connector->port); ret = intel_connector_update_modes(&connector->base, drm_edid); @@ -1464,7 +1464,7 @@ mst_connector_mode_valid_ctx(struct drm_connector *_connector, struct intel_connector *connector = to_intel_connector(_connector); struct intel_display *display = to_intel_display(connector); struct intel_dp *intel_dp = connector->mst_port; - struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; + struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst.mgr; struct drm_dp_mst_port *port = connector->port; const int min_bpp = 18; int max_dotclk = display->cdclk.max_dotclk_freq; @@ -1579,7 +1579,7 @@ mst_connector_atomic_best_encoder(struct drm_connector *_connector, struct intel_dp *intel_dp = connector->mst_port; struct intel_crtc *crtc = to_intel_crtc(connector_state->crtc); - return &intel_dp->mst_encoders[crtc->pipe]->base.base; + return &intel_dp->mst.stream_encoders[crtc->pipe]->base.base; } static int @@ -1601,7 +1601,7 @@ mst_connector_detect_ctx(struct drm_connector *_connector, intel_dp_flush_connector_commits(connector); - return drm_dp_mst_detect_port(&connector->base, ctx, &intel_dp->mst_mgr, + return drm_dp_mst_detect_port(&connector->base, ctx, &intel_dp->mst.mgr, connector->port); } @@ -1731,7 +1731,7 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port, const char *pathprop) { - struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); + struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst.mgr); struct intel_display *display = to_intel_display(intel_dp); struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); struct intel_connector *connector; @@ -1762,7 +1762,7 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr, for_each_pipe(display, pipe) { struct drm_encoder *enc = - &intel_dp->mst_encoders[pipe]->base.base; + &intel_dp->mst.stream_encoders[pipe]->base.base; ret = drm_connector_attach_encoder(&connector->base, enc); if (ret) @@ -1792,7 +1792,7 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr, static void mst_topology_poll_hpd_irq(struct drm_dp_mst_topology_mgr *mgr) { - struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); + struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst.mgr); intel_hpd_trigger_irq(dp_to_dig_port(intel_dp)); } @@ -1865,14 +1865,14 @@ mst_stream_encoders_create(struct intel_digital_port *dig_port) enum pipe pipe; for_each_pipe(display, pipe) - intel_dp->mst_encoders[pipe] = mst_stream_encoder_create(dig_port, pipe); + intel_dp->mst.stream_encoders[pipe] = mst_stream_encoder_create(dig_port, pipe); return true; } int intel_dp_mst_encoder_active_links(struct intel_digital_port *dig_port) { - return dig_port->dp.active_mst_links; + return dig_port->dp.mst.active_links; } int @@ -1892,15 +1892,15 @@ intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_base_id) if (DISPLAY_VER(display) < 11 && port == PORT_E) return 0; - intel_dp->mst_mgr.cbs = &mst_topology_cbs; + intel_dp->mst.mgr.cbs = &mst_topology_cbs; /* create encoders */ mst_stream_encoders_create(dig_port); - ret = drm_dp_mst_topology_mgr_init(&intel_dp->mst_mgr, display->drm, + ret = drm_dp_mst_topology_mgr_init(&intel_dp->mst.mgr, display->drm, &intel_dp->aux, 16, INTEL_NUM_PIPES(display), conn_base_id); if (ret) { - intel_dp->mst_mgr.cbs = NULL; + intel_dp->mst.mgr.cbs = NULL; return ret; } @@ -1909,7 +1909,7 @@ intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_base_id) bool intel_dp_mst_source_support(struct intel_dp *intel_dp) { - return intel_dp->mst_mgr.cbs; + return intel_dp->mst.mgr.cbs; } void @@ -1920,10 +1920,10 @@ intel_dp_mst_encoder_cleanup(struct intel_digital_port *dig_port) if (!intel_dp_mst_source_support(intel_dp)) return; - drm_dp_mst_topology_mgr_destroy(&intel_dp->mst_mgr); + drm_dp_mst_topology_mgr_destroy(&intel_dp->mst.mgr); /* encoders will get killed by normal cleanup */ - intel_dp->mst_mgr.cbs = NULL; + intel_dp->mst.mgr.cbs = NULL; } bool intel_dp_mst_is_master_trans(const struct intel_crtc_state *crtc_state) @@ -1958,7 +1958,7 @@ intel_dp_mst_add_topology_state_for_connector(struct intel_atomic_state *state, return 0; mst_state = drm_atomic_get_mst_topology_state(&state->base, - &connector->mst_port->mst_mgr); + &connector->mst_port->mst.mgr); if (IS_ERR(mst_state)) return PTR_ERR(mst_state); @@ -2140,7 +2140,7 @@ bool intel_dp_mst_verify_dpcd_state(struct intel_dp *intel_dp) if (!intel_dp->is_mst) return true; - ret = drm_dp_dpcd_readb(intel_dp->mst_mgr.aux, DP_MSTM_CTRL, &val); + ret = drm_dp_dpcd_readb(intel_dp->mst.mgr.aux, DP_MSTM_CTRL, &val); /* Adjust the expected register value for SST + SideBand. */ if (ret < 0 || val != (DP_MST_EN | DP_UP_REQ_EN | DP_UPSTREAM_IS_SRC)) { diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index 7063e3f5c538..100f3fb1c1a0 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -136,7 +136,7 @@ intel_hdcp_required_content_stream(struct intel_atomic_state *state, data->k++; /* if there is only one active stream */ - if (dig_port->dp.active_mst_links <= 1) + if (dig_port->dp.mst.active_links <= 1) break; } drm_connector_list_iter_end(&conn_iter); -- 2.39.5 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/3] drm/i915/mst: add mst sub-struct to struct intel_dp 2025-02-28 12:49 ` [PATCH 1/3] drm/i915/mst: add mst sub-struct to struct intel_dp Jani Nikula @ 2025-02-28 15:52 ` Imre Deak 0 siblings, 0 replies; 12+ messages in thread From: Imre Deak @ 2025-02-28 15:52 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx, intel-xe On Fri, Feb 28, 2025 at 02:49:29PM +0200, Jani Nikula wrote: > Move active_mst_links, mst_encoders[], and mst_mgr members of struct > intel_dp under an mst sub-struct to group mst related things together. > > Rename them active_links, stream_encoders[] and mgr for clarity. > > Note that is_mst and mst_detect are not included, as they're also > relevant for non-mst. The sub-struct is for active mst. > > Cc: Imre Deak <imre.deak@intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> > --- > .../drm/i915/display/intel_display_debugfs.c | 2 +- > .../drm/i915/display/intel_display_types.h | 9 +- > drivers/gpu/drm/i915/display/intel_dp.c | 26 +++-- > drivers/gpu/drm/i915/display/intel_dp_mst.c | 94 +++++++++---------- > drivers/gpu/drm/i915/display/intel_hdcp.c | 2 +- > 5 files changed, 66 insertions(+), 67 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > index 7ee90cd8ed2d..408f80194334 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > @@ -749,7 +749,7 @@ static int i915_dp_mst_info(struct seq_file *m, void *unused) > seq_printf(m, "MST Source Port [ENCODER:%d:%s]\n", > dig_port->base.base.base.id, > dig_port->base.base.name); > - drm_dp_mst_dump_topology(m, &dig_port->dp.mst_mgr); > + drm_dp_mst_dump_topology(m, &dig_port->dp.mst.mgr); > } > drm_connector_list_iter_end(&conn_iter); > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > index 4440521e3e9e..2aa8f6264708 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -1724,7 +1724,6 @@ struct intel_dp { > struct intel_pps pps; > > bool is_mst; > - int active_mst_links; > enum drm_dp_mst_mode mst_detect; > > /* connector directly attached - won't be use for modeset in mst world */ > @@ -1734,9 +1733,11 @@ struct intel_dp { > struct drm_dp_tunnel *tunnel; > bool tunnel_suspended:1; > > - /* mst connector list */ > - struct intel_dp_mst_encoder *mst_encoders[I915_MAX_PIPES]; > - struct drm_dp_mst_topology_mgr mst_mgr; > + struct { > + struct intel_dp_mst_encoder *stream_encoders[I915_MAX_PIPES]; > + struct drm_dp_mst_topology_mgr mgr; > + int active_links; > + } mst; > > u32 (*get_aux_clock_divider)(struct intel_dp *dp, int index); > /* > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 4d0166f17357..5e84103c8d54 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -4396,7 +4396,7 @@ intel_dp_mst_configure(struct intel_dp *intel_dp) > if (intel_dp->is_mst) > intel_dp_mst_prepare_probe(intel_dp); > > - drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst_mgr, intel_dp->is_mst); > + drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, intel_dp->is_mst); > > /* Avoid stale info on the next detect cycle. */ > intel_dp->mst_detect = DRM_DP_SST; > @@ -4412,9 +4412,9 @@ intel_dp_mst_disconnect(struct intel_dp *intel_dp) > > drm_dbg_kms(display->drm, > "MST device may have disappeared %d vs %d\n", > - intel_dp->is_mst, intel_dp->mst_mgr.mst_state); > + intel_dp->is_mst, intel_dp->mst.mgr.mst_state); > intel_dp->is_mst = false; > - drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst_mgr, intel_dp->is_mst); > + drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, intel_dp->is_mst); > } > > static bool > @@ -4920,7 +4920,7 @@ intel_dp_mst_hpd_irq(struct intel_dp *intel_dp, u8 *esi, u8 *ack) > { > bool handled = false; > > - drm_dp_mst_hpd_irq_handle_event(&intel_dp->mst_mgr, esi, ack, &handled); > + drm_dp_mst_hpd_irq_handle_event(&intel_dp->mst.mgr, esi, ack, &handled); > > if (esi[1] & DP_CP_IRQ) { > intel_hdcp_handle_cp_irq(intel_dp->attached_connector); > @@ -4969,7 +4969,7 @@ intel_dp_check_mst_status(struct intel_dp *intel_dp) > bool link_ok = true; > bool reprobe_needed = false; > > - drm_WARN_ON_ONCE(display->drm, intel_dp->active_mst_links < 0); > + drm_WARN_ON_ONCE(display->drm, intel_dp->mst.active_links < 0); > > for (;;) { > u8 esi[4] = {}; > @@ -4985,7 +4985,7 @@ intel_dp_check_mst_status(struct intel_dp *intel_dp) > > drm_dbg_kms(display->drm, "DPRX ESI: %4ph\n", esi); > > - if (intel_dp->active_mst_links > 0 && link_ok && > + if (intel_dp->mst.active_links > 0 && link_ok && > esi[3] & LINK_STATUS_CHANGED) { > if (!intel_dp_mst_link_status(intel_dp)) > link_ok = false; > @@ -5008,7 +5008,7 @@ intel_dp_check_mst_status(struct intel_dp *intel_dp) > drm_dbg_kms(display->drm, "Failed to ack ESI\n"); > > if (ack[1] & (DP_DOWN_REP_MSG_RDY | DP_UP_REQ_MSG_RDY)) > - drm_dp_mst_hpd_irq_send_new_request(&intel_dp->mst_mgr); > + drm_dp_mst_hpd_irq_send_new_request(&intel_dp->mst.mgr); > } > > if (!link_ok || intel_dp->link.force_retrain) > @@ -5107,7 +5107,7 @@ bool intel_dp_has_connector(struct intel_dp *intel_dp, > > /* MST */ > for_each_pipe(display, pipe) { > - encoder = &intel_dp->mst_encoders[pipe]->base; > + encoder = &intel_dp->mst.stream_encoders[pipe]->base; > if (conn_state->best_encoder == &encoder->base) > return true; > } > @@ -6066,7 +6066,7 @@ static int intel_dp_connector_atomic_check(struct drm_connector *conn, > return ret; > > if (intel_dp_mst_source_support(intel_dp)) { > - ret = drm_dp_mst_root_conn_atomic_check(conn_state, &intel_dp->mst_mgr); > + ret = drm_dp_mst_root_conn_atomic_check(conn_state, &intel_dp->mst.mgr); > if (ret) > return ret; > } > @@ -6604,7 +6604,7 @@ void intel_dp_mst_suspend(struct intel_display *display) > continue; > > if (intel_dp->is_mst) > - drm_dp_mst_topology_mgr_suspend(&intel_dp->mst_mgr); > + drm_dp_mst_topology_mgr_suspend(&intel_dp->mst.mgr); > } > } > > @@ -6627,12 +6627,10 @@ void intel_dp_mst_resume(struct intel_display *display) > if (!intel_dp_mst_source_support(intel_dp)) > continue; > > - ret = drm_dp_mst_topology_mgr_resume(&intel_dp->mst_mgr, > - true); > + ret = drm_dp_mst_topology_mgr_resume(&intel_dp->mst.mgr, true); > if (ret) { > intel_dp->is_mst = false; > - drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst_mgr, > - false); > + drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, false); > } > } > } > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c > index 90cc07b72817..e96236fbe407 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c > @@ -253,7 +253,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp, > fxp_q4_to_frac(bpp_step_x16))); > > if (is_mst) { > - mst_state = drm_atomic_get_mst_topology_state(state, &intel_dp->mst_mgr); > + mst_state = drm_atomic_get_mst_topology_state(state, &intel_dp->mst.mgr); > if (IS_ERR(mst_state)) > return PTR_ERR(mst_state); > > @@ -355,7 +355,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp, > drm_WARN_ON(display->drm, remote_tu < crtc_state->dp_m_n.tu); > crtc_state->dp_m_n.tu = remote_tu; > > - slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst_mgr, > + slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr, > connector->port, > dfixed_trunc(pbn)); > } else { > @@ -479,7 +479,7 @@ static int mst_stream_update_slots(struct intel_dp *intel_dp, > struct drm_connector_state *conn_state) > { > struct intel_display *display = to_intel_display(intel_dp); > - struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; > + struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst.mgr; > struct drm_dp_mst_topology_state *topology_state; > u8 link_coding_cap = intel_dp_is_uhbr(crtc_state) ? > DP_CAP_ANSI_128B132B : DP_CAP_ANSI_8B10B; > @@ -769,7 +769,7 @@ static u8 get_pipes_downstream_of_mst_port(struct intel_atomic_state *state, > if (!conn_state->base.crtc) > continue; > > - if (&connector->mst_port->mst_mgr != mst_mgr) > + if (&connector->mst_port->mst.mgr != mst_mgr) > continue; > > if (connector->port != parent_port && > @@ -981,7 +981,7 @@ mst_connector_atomic_check(struct drm_connector *_connector, > } > > return drm_dp_atomic_release_time_slots(&state->base, > - &connector->mst_port->mst_mgr, > + &connector->mst_port->mst.mgr, > connector->port); > } > > @@ -998,9 +998,9 @@ static void mst_stream_disable(struct intel_atomic_state *state, > enum transcoder trans = old_crtc_state->cpu_transcoder; > > drm_dbg_kms(display->drm, "active links %d\n", > - intel_dp->active_mst_links); > + intel_dp->mst.active_links); > > - if (intel_dp->active_mst_links == 1) > + if (intel_dp->mst.active_links == 1) > intel_dp->link_trained = false; > > intel_hdcp_disable(intel_mst->connector); > @@ -1023,9 +1023,9 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, > struct intel_connector *connector = > to_intel_connector(old_conn_state->connector); > struct drm_dp_mst_topology_state *old_mst_state = > - drm_atomic_get_old_mst_topology_state(&state->base, &intel_dp->mst_mgr); > + drm_atomic_get_old_mst_topology_state(&state->base, &intel_dp->mst.mgr); > struct drm_dp_mst_topology_state *new_mst_state = > - drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst_mgr); > + drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr); > const struct drm_dp_mst_atomic_payload *old_payload = > drm_atomic_get_mst_payload_state(old_mst_state, connector->port); > struct drm_dp_mst_atomic_payload *new_payload = > @@ -1034,8 +1034,8 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, > bool last_mst_stream; > int i; > > - intel_dp->active_mst_links--; > - last_mst_stream = intel_dp->active_mst_links == 0; > + intel_dp->mst.active_links--; > + last_mst_stream = intel_dp->mst.active_links == 0; > drm_WARN_ON(display->drm, DISPLAY_VER(display) >= 12 && last_mst_stream && > !intel_dp_mst_is_master_trans(old_crtc_state)); > > @@ -1048,7 +1048,7 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, > > intel_disable_transcoder(old_crtc_state); > > - drm_dp_remove_payload_part1(&intel_dp->mst_mgr, new_mst_state, new_payload); > + drm_dp_remove_payload_part1(&intel_dp->mst.mgr, new_mst_state, new_payload); > > intel_ddi_clear_act_sent(encoder, old_crtc_state); > > @@ -1057,9 +1057,9 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, > TRANS_DDI_DP_VC_PAYLOAD_ALLOC, 0); > > intel_ddi_wait_for_act_sent(encoder, old_crtc_state); > - drm_dp_check_act_status(&intel_dp->mst_mgr); > + drm_dp_check_act_status(&intel_dp->mst.mgr); > > - drm_dp_remove_payload_part2(&intel_dp->mst_mgr, new_mst_state, > + drm_dp_remove_payload_part2(&intel_dp->mst.mgr, new_mst_state, > old_payload, new_payload); > > intel_ddi_disable_transcoder_func(old_crtc_state); > @@ -1080,7 +1080,7 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, > * Power down mst path before disabling the port, otherwise we end > * up getting interrupts from the sink upon detecting link loss. > */ > - drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, > + drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->port, > false); > > /* > @@ -1105,7 +1105,7 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, > old_crtc_state, NULL); > > drm_dbg_kms(display->drm, "active links %d\n", > - intel_dp->active_mst_links); > + intel_dp->mst.active_links); > } > > static void mst_stream_post_pll_disable(struct intel_atomic_state *state, > @@ -1116,7 +1116,7 @@ static void mst_stream_post_pll_disable(struct intel_atomic_state *state, > struct intel_encoder *primary_encoder = to_primary_encoder(encoder); > struct intel_dp *intel_dp = to_primary_dp(encoder); > > - if (intel_dp->active_mst_links == 0 && > + if (intel_dp->mst.active_links == 0 && > primary_encoder->post_pll_disable) > primary_encoder->post_pll_disable(state, primary_encoder, old_crtc_state, old_conn_state); > } > @@ -1129,7 +1129,7 @@ static void mst_stream_pre_pll_enable(struct intel_atomic_state *state, > struct intel_encoder *primary_encoder = to_primary_encoder(encoder); > struct intel_dp *intel_dp = to_primary_dp(encoder); > > - if (intel_dp->active_mst_links == 0) > + if (intel_dp->mst.active_links == 0) > primary_encoder->pre_pll_enable(state, primary_encoder, > pipe_config, NULL); > else > @@ -1162,7 +1162,7 @@ static void intel_mst_reprobe_topology(struct intel_dp *intel_dp, > crtc_state->port_clock, crtc_state->lane_count)) > return; > > - drm_dp_mst_topology_queue_probe(&intel_dp->mst_mgr); > + drm_dp_mst_topology_queue_probe(&intel_dp->mst.mgr); > > intel_mst_set_probed_link_params(intel_dp, > crtc_state->port_clock, crtc_state->lane_count); > @@ -1180,7 +1180,7 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, > struct intel_connector *connector = > to_intel_connector(conn_state->connector); > struct drm_dp_mst_topology_state *mst_state = > - drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst_mgr); > + drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr); > int ret; > bool first_mst_stream; > > @@ -1189,17 +1189,17 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, > */ > connector->encoder = encoder; > intel_mst->connector = connector; > - first_mst_stream = intel_dp->active_mst_links == 0; > + first_mst_stream = intel_dp->mst.active_links == 0; > drm_WARN_ON(display->drm, DISPLAY_VER(display) >= 12 && first_mst_stream && > !intel_dp_mst_is_master_trans(pipe_config)); > > drm_dbg_kms(display->drm, "active links %d\n", > - intel_dp->active_mst_links); > + intel_dp->mst.active_links); > > if (first_mst_stream) > intel_dp_set_power(intel_dp, DP_SET_POWER_D0); > > - drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, true); > + drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->port, true); > > intel_dp_sink_enable_decompression(state, connector, pipe_config); > > @@ -1210,9 +1210,9 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, > intel_mst_reprobe_topology(intel_dp, pipe_config); > } > > - intel_dp->active_mst_links++; > + intel_dp->mst.active_links++; > > - ret = drm_dp_add_payload_part1(&intel_dp->mst_mgr, mst_state, > + ret = drm_dp_add_payload_part1(&intel_dp->mst.mgr, mst_state, > drm_atomic_get_mst_payload_state(mst_state, connector->port)); > if (ret < 0) > intel_dp_queue_modeset_retry_for_link(state, primary_encoder, pipe_config); > @@ -1277,9 +1277,9 @@ static void mst_stream_enable(struct intel_atomic_state *state, > struct intel_dp *intel_dp = to_primary_dp(encoder); > struct intel_connector *connector = to_intel_connector(conn_state->connector); > struct drm_dp_mst_topology_state *mst_state = > - drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst_mgr); > + drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr); > enum transcoder trans = pipe_config->cpu_transcoder; > - bool first_mst_stream = intel_dp->active_mst_links == 1; > + bool first_mst_stream = intel_dp->mst.active_links == 1; > struct intel_crtc *pipe_crtc; > int ret, i, min_hblank; > > @@ -1329,15 +1329,15 @@ static void mst_stream_enable(struct intel_atomic_state *state, > TRANS_DDI_DP_VC_PAYLOAD_ALLOC); > > drm_dbg_kms(display->drm, "active links %d\n", > - intel_dp->active_mst_links); > + intel_dp->mst.active_links); > > intel_ddi_wait_for_act_sent(encoder, pipe_config); > - drm_dp_check_act_status(&intel_dp->mst_mgr); > + drm_dp_check_act_status(&intel_dp->mst.mgr); > > if (first_mst_stream) > intel_ddi_wait_for_fec_status(encoder, pipe_config, true); > > - ret = drm_dp_add_payload_part2(&intel_dp->mst_mgr, > + ret = drm_dp_add_payload_part2(&intel_dp->mst.mgr, > drm_atomic_get_mst_payload_state(mst_state, > connector->port)); > if (ret < 0) > @@ -1402,7 +1402,7 @@ static int mst_connector_get_ddc_modes(struct drm_connector *_connector) > if (!intel_display_driver_check_access(display)) > return drm_edid_connector_add_modes(&connector->base); > > - drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst_mgr, connector->port); > + drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst.mgr, connector->port); > > ret = intel_connector_update_modes(&connector->base, drm_edid); > > @@ -1464,7 +1464,7 @@ mst_connector_mode_valid_ctx(struct drm_connector *_connector, > struct intel_connector *connector = to_intel_connector(_connector); > struct intel_display *display = to_intel_display(connector); > struct intel_dp *intel_dp = connector->mst_port; > - struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; > + struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst.mgr; > struct drm_dp_mst_port *port = connector->port; > const int min_bpp = 18; > int max_dotclk = display->cdclk.max_dotclk_freq; > @@ -1579,7 +1579,7 @@ mst_connector_atomic_best_encoder(struct drm_connector *_connector, > struct intel_dp *intel_dp = connector->mst_port; > struct intel_crtc *crtc = to_intel_crtc(connector_state->crtc); > > - return &intel_dp->mst_encoders[crtc->pipe]->base.base; > + return &intel_dp->mst.stream_encoders[crtc->pipe]->base.base; > } > > static int > @@ -1601,7 +1601,7 @@ mst_connector_detect_ctx(struct drm_connector *_connector, > > intel_dp_flush_connector_commits(connector); > > - return drm_dp_mst_detect_port(&connector->base, ctx, &intel_dp->mst_mgr, > + return drm_dp_mst_detect_port(&connector->base, ctx, &intel_dp->mst.mgr, > connector->port); > } > > @@ -1731,7 +1731,7 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr, > struct drm_dp_mst_port *port, > const char *pathprop) > { > - struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); > + struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst.mgr); > struct intel_display *display = to_intel_display(intel_dp); > struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); > struct intel_connector *connector; > @@ -1762,7 +1762,7 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr, > > for_each_pipe(display, pipe) { > struct drm_encoder *enc = > - &intel_dp->mst_encoders[pipe]->base.base; > + &intel_dp->mst.stream_encoders[pipe]->base.base; > > ret = drm_connector_attach_encoder(&connector->base, enc); > if (ret) > @@ -1792,7 +1792,7 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr, > static void > mst_topology_poll_hpd_irq(struct drm_dp_mst_topology_mgr *mgr) > { > - struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); > + struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst.mgr); > > intel_hpd_trigger_irq(dp_to_dig_port(intel_dp)); > } > @@ -1865,14 +1865,14 @@ mst_stream_encoders_create(struct intel_digital_port *dig_port) > enum pipe pipe; > > for_each_pipe(display, pipe) > - intel_dp->mst_encoders[pipe] = mst_stream_encoder_create(dig_port, pipe); > + intel_dp->mst.stream_encoders[pipe] = mst_stream_encoder_create(dig_port, pipe); > return true; > } > > int > intel_dp_mst_encoder_active_links(struct intel_digital_port *dig_port) > { > - return dig_port->dp.active_mst_links; > + return dig_port->dp.mst.active_links; > } > > int > @@ -1892,15 +1892,15 @@ intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_base_id) > if (DISPLAY_VER(display) < 11 && port == PORT_E) > return 0; > > - intel_dp->mst_mgr.cbs = &mst_topology_cbs; > + intel_dp->mst.mgr.cbs = &mst_topology_cbs; > > /* create encoders */ > mst_stream_encoders_create(dig_port); > - ret = drm_dp_mst_topology_mgr_init(&intel_dp->mst_mgr, display->drm, > + ret = drm_dp_mst_topology_mgr_init(&intel_dp->mst.mgr, display->drm, > &intel_dp->aux, 16, > INTEL_NUM_PIPES(display), conn_base_id); > if (ret) { > - intel_dp->mst_mgr.cbs = NULL; > + intel_dp->mst.mgr.cbs = NULL; > return ret; > } > > @@ -1909,7 +1909,7 @@ intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_base_id) > > bool intel_dp_mst_source_support(struct intel_dp *intel_dp) > { > - return intel_dp->mst_mgr.cbs; > + return intel_dp->mst.mgr.cbs; > } > > void > @@ -1920,10 +1920,10 @@ intel_dp_mst_encoder_cleanup(struct intel_digital_port *dig_port) > if (!intel_dp_mst_source_support(intel_dp)) > return; > > - drm_dp_mst_topology_mgr_destroy(&intel_dp->mst_mgr); > + drm_dp_mst_topology_mgr_destroy(&intel_dp->mst.mgr); > /* encoders will get killed by normal cleanup */ > > - intel_dp->mst_mgr.cbs = NULL; > + intel_dp->mst.mgr.cbs = NULL; > } > > bool intel_dp_mst_is_master_trans(const struct intel_crtc_state *crtc_state) > @@ -1958,7 +1958,7 @@ intel_dp_mst_add_topology_state_for_connector(struct intel_atomic_state *state, > return 0; > > mst_state = drm_atomic_get_mst_topology_state(&state->base, > - &connector->mst_port->mst_mgr); > + &connector->mst_port->mst.mgr); > if (IS_ERR(mst_state)) > return PTR_ERR(mst_state); > > @@ -2140,7 +2140,7 @@ bool intel_dp_mst_verify_dpcd_state(struct intel_dp *intel_dp) > if (!intel_dp->is_mst) > return true; > > - ret = drm_dp_dpcd_readb(intel_dp->mst_mgr.aux, DP_MSTM_CTRL, &val); > + ret = drm_dp_dpcd_readb(intel_dp->mst.mgr.aux, DP_MSTM_CTRL, &val); > > /* Adjust the expected register value for SST + SideBand. */ > if (ret < 0 || val != (DP_MST_EN | DP_UP_REQ_EN | DP_UPSTREAM_IS_SRC)) { > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c > index 7063e3f5c538..100f3fb1c1a0 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c > @@ -136,7 +136,7 @@ intel_hdcp_required_content_stream(struct intel_atomic_state *state, > data->k++; > > /* if there is only one active stream */ > - if (dig_port->dp.active_mst_links <= 1) > + if (dig_port->dp.mst.active_links <= 1) > break; > } > drm_connector_list_iter_end(&conn_iter); > -- > 2.39.5 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/3] drm/i915/mst: add mst sub-struct to struct intel_connector 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula 2025-02-28 12:49 ` [PATCH 1/3] drm/i915/mst: add mst sub-struct to struct intel_dp Jani Nikula @ 2025-02-28 12:49 ` Jani Nikula 2025-02-28 15:52 ` Imre Deak 2025-02-28 12:49 ` [PATCH 3/3] drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port Jani Nikula ` (5 subsequent siblings) 7 siblings, 1 reply; 12+ messages in thread From: Jani Nikula @ 2025-02-28 12:49 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: jani.nikula, Imre Deak Move port and mst_port members of struct intel_connector under an mst sub-struct to group mst related things together. Rename the latter dp for clarity. Cc: Imre Deak <imre.deak@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- .../gpu/drm/i915/display/intel_connector.c | 4 +- .../drm/i915/display/intel_display_debugfs.c | 4 +- .../drm/i915/display/intel_display_types.h | 13 ++-- drivers/gpu/drm/i915/display/intel_dp.c | 12 ++-- drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 6 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 72 +++++++++---------- drivers/gpu/drm/i915/display/intel_hdcp.c | 8 +-- 7 files changed, 60 insertions(+), 59 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c index 358965fc7f55..e42357bd9e80 100644 --- a/drivers/gpu/drm/i915/display/intel_connector.c +++ b/drivers/gpu/drm/i915/display/intel_connector.c @@ -145,8 +145,8 @@ void intel_connector_destroy(struct drm_connector *connector) drm_connector_cleanup(connector); - if (intel_connector->port) - drm_dp_mst_put_port_malloc(intel_connector->port); + if (intel_connector->mst.port) + drm_dp_mst_put_port_malloc(intel_connector->mst.port); kfree(connector); } diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index 408f80194334..510c15a6271f 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -261,7 +261,7 @@ static void intel_connector_info(struct seq_file *m, switch (connector->connector_type) { case DRM_MODE_CONNECTOR_DisplayPort: case DRM_MODE_CONNECTOR_eDP: - if (intel_connector->mst_port) + if (intel_connector->mst.dp) intel_dp_mst_info(m, intel_connector); else intel_dp_info(m, intel_connector); @@ -1341,7 +1341,7 @@ void intel_connector_debugfs_add(struct intel_connector *connector) intel_dp_link_training_debugfs_add(connector); if (DISPLAY_VER(display) >= 11 && - ((connector_type == DRM_MODE_CONNECTOR_DisplayPort && !connector->mst_port) || + ((connector_type == DRM_MODE_CONNECTOR_DisplayPort && !connector->mst.dp) || connector_type == DRM_MODE_CONNECTOR_eDP)) { debugfs_create_file("i915_dsc_fec_support", 0644, root, connector, &i915_dsc_fec_support_fops); diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index 2aa8f6264708..b52fca816591 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -534,10 +534,6 @@ struct intel_connector { state of connector->polled in case hotplug storm detection changes it */ u8 polled; - struct drm_dp_mst_port *port; - - struct intel_dp *mst_port; - int force_joined_pipes; struct { @@ -549,6 +545,11 @@ struct intel_connector { u8 dsc_decompression_enabled:1; } dp; + struct { + struct drm_dp_mst_port *port; + struct intel_dp *dp; + } mst; + /* Work struct to schedule a uevent on link train failure */ struct work_struct modeset_retry_work; @@ -1956,8 +1957,8 @@ static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder) static inline struct intel_dp *intel_attached_dp(struct intel_connector *connector) { - if (connector->mst_port) - return connector->mst_port; + if (connector->mst.dp) + return connector->mst.dp; else return enc_to_intel_dp(intel_attached_encoder(connector)); } diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 5e84103c8d54..205ec315b413 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1376,7 +1376,7 @@ bool intel_dp_has_dsc(const struct intel_connector *connector) if (!HAS_DSC(display)) return false; - if (connector->mst_port && !HAS_DSC_MST(display)) + if (connector->mst.dp && !HAS_DSC_MST(display)) return false; if (connector->base.connector_type == DRM_MODE_CONNECTOR_eDP && @@ -3080,7 +3080,7 @@ intel_dp_queue_modeset_retry_for_link(struct intel_atomic_state *state, if (!conn_state->base.crtc) continue; - if (connector->mst_port == intel_dp) + if (connector->mst.dp == intel_dp) intel_connector_queue_modeset_retry_work(connector); } } @@ -3302,8 +3302,8 @@ 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->port ? - connector->port->passthrough_aux : NULL; + struct drm_dp_aux *aux = connector->mst.port ? + connector->mst.port->passthrough_aux : NULL; if (!aux) return; @@ -3330,7 +3330,7 @@ static int intel_dp_dsc_aux_ref_count(struct intel_atomic_state *state, * On SST the decompression AUX device won't be shared, each connector * uses for this its own AUX targeting the sink device. */ - if (!connector->mst_port) + if (!connector->mst.dp) return connector->dp.dsc_decompression_enabled ? 1 : 0; for_each_oldnew_connector_in_state(&state->base, _connector_iter, @@ -3338,7 +3338,7 @@ static int intel_dp_dsc_aux_ref_count(struct intel_atomic_state *state, const struct intel_connector * connector_iter = to_intel_connector(_connector_iter); - if (connector_iter->mst_port != connector->mst_port) + if (connector_iter->mst.dp != connector->mst.dp) continue; if (!connector_iter->dp.dsc_decompression_enabled) diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c index 00c493cc8a4b..4c9481124c90 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c @@ -705,10 +705,10 @@ int intel_dp_hdcp_get_remote_capability(struct intel_connector *connector, *hdcp_capable = false; *hdcp2_capable = false; - if (!connector->mst_port) + if (!connector->mst.dp) return -EINVAL; - aux = &connector->port->aux; + aux = &connector->mst.port->aux; ret = _intel_dp_hdcp2_get_capability(aux, hdcp2_capable); if (ret) drm_dbg_kms(display->drm, @@ -883,7 +883,7 @@ int intel_dp_hdcp_init(struct intel_digital_port *dig_port, if (!is_hdcp_supported(display, port)) return 0; - if (intel_connector->mst_port) + if (intel_connector->mst.dp) return intel_hdcp_init(intel_connector, dig_port, &intel_dp_mst_hdcp_shim); else if (!intel_dp_is_edp(intel_dp)) diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c index e96236fbe407..02f95108c637 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c @@ -356,7 +356,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp, crtc_state->dp_m_n.tu = remote_tu; slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr, - connector->port, + connector->mst.port, dfixed_trunc(pbn)); } else { /* Same as above for remote_tu */ @@ -509,8 +509,8 @@ hblank_expansion_quirk_needs_dsc(const struct intel_connector *connector, { const struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode; - bool is_uhbr_sink = connector->mst_port && - drm_dp_128b132b_supported(connector->mst_port->dpcd); + bool is_uhbr_sink = connector->mst.dp && + drm_dp_128b132b_supported(connector->mst.dp->dpcd); int hblank_limit = is_uhbr_sink ? 500 : 300; if (!connector->dp.dsc_hblank_expansion_quirk) @@ -741,7 +741,7 @@ intel_dp_mst_transcoder_mask(struct intel_atomic_state *state, const struct intel_crtc_state *crtc_state; struct intel_crtc *crtc; - if (connector->mst_port != mst_port || !conn_state->base.crtc) + if (connector->mst.dp != mst_port || !conn_state->base.crtc) continue; crtc = to_intel_crtc(conn_state->base.crtc); @@ -769,12 +769,12 @@ static u8 get_pipes_downstream_of_mst_port(struct intel_atomic_state *state, if (!conn_state->base.crtc) continue; - if (&connector->mst_port->mst.mgr != mst_mgr) + if (&connector->mst.dp->mst.mgr != mst_mgr) continue; - if (connector->port != parent_port && + if (connector->mst.port != parent_port && !drm_dp_mst_port_downstream_of_parent(mst_mgr, - connector->port, + connector->mst.port, parent_port)) continue; @@ -925,7 +925,7 @@ mst_connector_atomic_topology_check(struct intel_connector *connector, struct intel_crtc_state *crtc_state; struct intel_crtc *crtc; - if (connector_iter->mst_port != connector->mst_port || + if (connector_iter->mst.dp != connector->mst.dp || connector_iter == connector) continue; @@ -974,15 +974,15 @@ mst_connector_atomic_check(struct drm_connector *_connector, if (intel_connector_needs_modeset(state, &connector->base)) { ret = intel_dp_tunnel_atomic_check_state(state, - connector->mst_port, + connector->mst.dp, connector); if (ret) return ret; } return drm_dp_atomic_release_time_slots(&state->base, - &connector->mst_port->mst.mgr, - connector->port); + &connector->mst.dp->mst.mgr, + connector->mst.port); } static void mst_stream_disable(struct intel_atomic_state *state, @@ -1027,9 +1027,9 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, struct drm_dp_mst_topology_state *new_mst_state = drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr); const struct drm_dp_mst_atomic_payload *old_payload = - drm_atomic_get_mst_payload_state(old_mst_state, connector->port); + drm_atomic_get_mst_payload_state(old_mst_state, connector->mst.port); struct drm_dp_mst_atomic_payload *new_payload = - drm_atomic_get_mst_payload_state(new_mst_state, connector->port); + drm_atomic_get_mst_payload_state(new_mst_state, connector->mst.port); struct intel_crtc *pipe_crtc; bool last_mst_stream; int i; @@ -1080,7 +1080,7 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, * Power down mst path before disabling the port, otherwise we end * up getting interrupts from the sink upon detecting link loss. */ - drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->port, + drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->mst.port, false); /* @@ -1199,7 +1199,7 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, if (first_mst_stream) intel_dp_set_power(intel_dp, DP_SET_POWER_D0); - drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->port, true); + drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->mst.port, true); intel_dp_sink_enable_decompression(state, connector, pipe_config); @@ -1213,7 +1213,7 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, intel_dp->mst.active_links++; ret = drm_dp_add_payload_part1(&intel_dp->mst.mgr, mst_state, - drm_atomic_get_mst_payload_state(mst_state, connector->port)); + drm_atomic_get_mst_payload_state(mst_state, connector->mst.port)); if (ret < 0) intel_dp_queue_modeset_retry_for_link(state, primary_encoder, pipe_config); @@ -1339,7 +1339,7 @@ static void mst_stream_enable(struct intel_atomic_state *state, ret = drm_dp_add_payload_part2(&intel_dp->mst.mgr, drm_atomic_get_mst_payload_state(mst_state, - connector->port)); + connector->mst.port)); if (ret < 0) intel_dp_queue_modeset_retry_for_link(state, primary_encoder, pipe_config); @@ -1392,7 +1392,7 @@ static int mst_connector_get_ddc_modes(struct drm_connector *_connector) { struct intel_connector *connector = to_intel_connector(_connector); struct intel_display *display = to_intel_display(connector); - struct intel_dp *intel_dp = connector->mst_port; + struct intel_dp *intel_dp = connector->mst.dp; const struct drm_edid *drm_edid; int ret; @@ -1402,7 +1402,7 @@ static int mst_connector_get_ddc_modes(struct drm_connector *_connector) if (!intel_display_driver_check_access(display)) return drm_edid_connector_add_modes(&connector->base); - drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst.mgr, connector->port); + drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst.mgr, connector->mst.port); ret = intel_connector_update_modes(&connector->base, drm_edid); @@ -1417,13 +1417,13 @@ mst_connector_late_register(struct drm_connector *_connector) struct intel_connector *connector = to_intel_connector(_connector); int ret; - ret = drm_dp_mst_connector_late_register(&connector->base, connector->port); + ret = drm_dp_mst_connector_late_register(&connector->base, connector->mst.port); if (ret < 0) return ret; ret = intel_connector_register(&connector->base); if (ret < 0) - drm_dp_mst_connector_early_unregister(&connector->base, connector->port); + drm_dp_mst_connector_early_unregister(&connector->base, connector->mst.port); return ret; } @@ -1434,7 +1434,7 @@ mst_connector_early_unregister(struct drm_connector *_connector) struct intel_connector *connector = to_intel_connector(_connector); intel_connector_unregister(&connector->base); - drm_dp_mst_connector_early_unregister(&connector->base, connector->port); + drm_dp_mst_connector_early_unregister(&connector->base, connector->mst.port); } static const struct drm_connector_funcs mst_connector_funcs = { @@ -1463,9 +1463,9 @@ mst_connector_mode_valid_ctx(struct drm_connector *_connector, { struct intel_connector *connector = to_intel_connector(_connector); struct intel_display *display = to_intel_display(connector); - struct intel_dp *intel_dp = connector->mst_port; + struct intel_dp *intel_dp = connector->mst.dp; struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst.mgr; - struct drm_dp_mst_port *port = connector->port; + struct drm_dp_mst_port *port = connector->mst.port; const int min_bpp = 18; int max_dotclk = display->cdclk.max_dotclk_freq; int max_rate, mode_rate, max_lanes, max_link_clock; @@ -1576,7 +1576,7 @@ mst_connector_atomic_best_encoder(struct drm_connector *_connector, struct intel_connector *connector = to_intel_connector(_connector); struct drm_connector_state *connector_state = drm_atomic_get_new_connector_state(state, &connector->base); - struct intel_dp *intel_dp = connector->mst_port; + struct intel_dp *intel_dp = connector->mst.dp; struct intel_crtc *crtc = to_intel_crtc(connector_state->crtc); return &intel_dp->mst.stream_encoders[crtc->pipe]->base.base; @@ -1588,7 +1588,7 @@ mst_connector_detect_ctx(struct drm_connector *_connector, { struct intel_connector *connector = to_intel_connector(_connector); struct intel_display *display = to_intel_display(connector); - struct intel_dp *intel_dp = connector->mst_port; + struct intel_dp *intel_dp = connector->mst.dp; if (!intel_display_device_enabled(display)) return connector_status_disconnected; @@ -1602,7 +1602,7 @@ mst_connector_detect_ctx(struct drm_connector *_connector, intel_dp_flush_connector_commits(connector); return drm_dp_mst_detect_port(&connector->base, ctx, &intel_dp->mst.mgr, - connector->port); + connector->mst.port); } static const struct drm_connector_helper_funcs mst_connector_helper_funcs = { @@ -1693,10 +1693,10 @@ static bool detect_dsc_hblank_expansion_quirk(const struct intel_connector *conn * A logical port's OUI (at least for affected sinks) is all 0, so * instead of that the parent port's OUI is used for identification. */ - if (drm_dp_mst_port_is_logical(connector->port)) { - aux = drm_dp_mst_aux_for_parent(connector->port); + if (drm_dp_mst_port_is_logical(connector->mst.port)) { + aux = drm_dp_mst_aux_for_parent(connector->mst.port); if (!aux) - aux = &connector->mst_port->aux; + aux = &connector->mst.dp->aux; } if (drm_dp_read_dpcd_caps(aux, dpcd) < 0) @@ -1744,8 +1744,8 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr, connector->get_hw_state = mst_connector_get_hw_state; connector->sync_state = intel_dp_connector_sync_state; - connector->mst_port = intel_dp; - connector->port = port; + connector->mst.dp = intel_dp; + connector->mst.port = port; drm_dp_mst_get_port_malloc(port); ret = drm_connector_dynamic_init(display->drm, &connector->base, &mst_connector_funcs, @@ -1954,11 +1954,11 @@ intel_dp_mst_add_topology_state_for_connector(struct intel_atomic_state *state, { struct drm_dp_mst_topology_state *mst_state; - if (!connector->mst_port) + if (!connector->mst.dp) return 0; mst_state = drm_atomic_get_mst_topology_state(&state->base, - &connector->mst_port->mst.mgr); + &connector->mst.dp->mst.mgr); if (IS_ERR(mst_state)) return PTR_ERR(mst_state); @@ -2056,7 +2056,7 @@ bool intel_dp_mst_crtc_needs_modeset(struct intel_atomic_state *state, const struct intel_crtc_state *old_crtc_state; struct intel_crtc *crtc_iter; - if (connector->mst_port != crtc_connector->mst_port || + if (connector->mst.dp != crtc_connector->mst.dp || !conn_state->crtc) continue; @@ -2079,7 +2079,7 @@ bool intel_dp_mst_crtc_needs_modeset(struct intel_atomic_state *state, * case. */ if (connector->dp.dsc_decompression_aux == - &connector->mst_port->aux) + &connector->mst.dp->aux) return true; } diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index 100f3fb1c1a0..46f53ade432e 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -70,13 +70,13 @@ static int intel_conn_to_vcpi(struct intel_atomic_state *state, int vcpi = 0; /* For HDMI this is forced to be 0x0. For DP SST also this is 0x0. */ - if (!connector->port) + if (!connector->mst.port) return 0; - mgr = connector->port->mgr; + mgr = connector->mst.port->mgr; drm_modeset_lock(&mgr->base.lock, state->base.acquire_ctx); mst_state = to_drm_dp_mst_topology_state(mgr->base.state); - payload = drm_atomic_get_mst_payload_state(mst_state, connector->port); + payload = drm_atomic_get_mst_payload_state(mst_state, connector->mst.port); if (drm_WARN_ON(mgr->dev, !payload)) goto out; @@ -2775,7 +2775,7 @@ static void __intel_hdcp_info(struct seq_file *m, struct intel_connector *connec void intel_hdcp_info(struct seq_file *m, struct intel_connector *connector) { seq_puts(m, "\tHDCP version: "); - if (connector->mst_port) { + if (connector->mst.dp) { __intel_hdcp_info(m, connector, true); seq_puts(m, "\tMST Hub HDCP version: "); } -- 2.39.5 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 2/3] drm/i915/mst: add mst sub-struct to struct intel_connector 2025-02-28 12:49 ` [PATCH 2/3] drm/i915/mst: add mst sub-struct to struct intel_connector Jani Nikula @ 2025-02-28 15:52 ` Imre Deak 0 siblings, 0 replies; 12+ messages in thread From: Imre Deak @ 2025-02-28 15:52 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx, intel-xe On Fri, Feb 28, 2025 at 02:49:30PM +0200, Jani Nikula wrote: > Move port and mst_port members of struct intel_connector under an mst > sub-struct to group mst related things together. > > Rename the latter dp for clarity. > > Cc: Imre Deak <imre.deak@intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> > --- > .../gpu/drm/i915/display/intel_connector.c | 4 +- > .../drm/i915/display/intel_display_debugfs.c | 4 +- > .../drm/i915/display/intel_display_types.h | 13 ++-- > drivers/gpu/drm/i915/display/intel_dp.c | 12 ++-- > drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 6 +- > drivers/gpu/drm/i915/display/intel_dp_mst.c | 72 +++++++++---------- > drivers/gpu/drm/i915/display/intel_hdcp.c | 8 +-- > 7 files changed, 60 insertions(+), 59 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c > index 358965fc7f55..e42357bd9e80 100644 > --- a/drivers/gpu/drm/i915/display/intel_connector.c > +++ b/drivers/gpu/drm/i915/display/intel_connector.c > @@ -145,8 +145,8 @@ void intel_connector_destroy(struct drm_connector *connector) > > drm_connector_cleanup(connector); > > - if (intel_connector->port) > - drm_dp_mst_put_port_malloc(intel_connector->port); > + if (intel_connector->mst.port) > + drm_dp_mst_put_port_malloc(intel_connector->mst.port); > > kfree(connector); > } > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > index 408f80194334..510c15a6271f 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > @@ -261,7 +261,7 @@ static void intel_connector_info(struct seq_file *m, > switch (connector->connector_type) { > case DRM_MODE_CONNECTOR_DisplayPort: > case DRM_MODE_CONNECTOR_eDP: > - if (intel_connector->mst_port) > + if (intel_connector->mst.dp) > intel_dp_mst_info(m, intel_connector); > else > intel_dp_info(m, intel_connector); > @@ -1341,7 +1341,7 @@ void intel_connector_debugfs_add(struct intel_connector *connector) > intel_dp_link_training_debugfs_add(connector); > > if (DISPLAY_VER(display) >= 11 && > - ((connector_type == DRM_MODE_CONNECTOR_DisplayPort && !connector->mst_port) || > + ((connector_type == DRM_MODE_CONNECTOR_DisplayPort && !connector->mst.dp) || > connector_type == DRM_MODE_CONNECTOR_eDP)) { > debugfs_create_file("i915_dsc_fec_support", 0644, root, > connector, &i915_dsc_fec_support_fops); > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > index 2aa8f6264708..b52fca816591 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -534,10 +534,6 @@ struct intel_connector { > state of connector->polled in case hotplug storm detection changes it */ > u8 polled; > > - struct drm_dp_mst_port *port; > - > - struct intel_dp *mst_port; > - > int force_joined_pipes; > > struct { > @@ -549,6 +545,11 @@ struct intel_connector { > u8 dsc_decompression_enabled:1; > } dp; > > + struct { > + struct drm_dp_mst_port *port; > + struct intel_dp *dp; > + } mst; > + > /* Work struct to schedule a uevent on link train failure */ > struct work_struct modeset_retry_work; > > @@ -1956,8 +1957,8 @@ static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder) > > static inline struct intel_dp *intel_attached_dp(struct intel_connector *connector) > { > - if (connector->mst_port) > - return connector->mst_port; > + if (connector->mst.dp) > + return connector->mst.dp; > else > return enc_to_intel_dp(intel_attached_encoder(connector)); > } > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 5e84103c8d54..205ec315b413 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -1376,7 +1376,7 @@ bool intel_dp_has_dsc(const struct intel_connector *connector) > if (!HAS_DSC(display)) > return false; > > - if (connector->mst_port && !HAS_DSC_MST(display)) > + if (connector->mst.dp && !HAS_DSC_MST(display)) > return false; > > if (connector->base.connector_type == DRM_MODE_CONNECTOR_eDP && > @@ -3080,7 +3080,7 @@ intel_dp_queue_modeset_retry_for_link(struct intel_atomic_state *state, > if (!conn_state->base.crtc) > continue; > > - if (connector->mst_port == intel_dp) > + if (connector->mst.dp == intel_dp) > intel_connector_queue_modeset_retry_work(connector); > } > } > @@ -3302,8 +3302,8 @@ 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->port ? > - connector->port->passthrough_aux : NULL; > + struct drm_dp_aux *aux = connector->mst.port ? > + connector->mst.port->passthrough_aux : NULL; > > if (!aux) > return; > @@ -3330,7 +3330,7 @@ static int intel_dp_dsc_aux_ref_count(struct intel_atomic_state *state, > * On SST the decompression AUX device won't be shared, each connector > * uses for this its own AUX targeting the sink device. > */ > - if (!connector->mst_port) > + if (!connector->mst.dp) > return connector->dp.dsc_decompression_enabled ? 1 : 0; > > for_each_oldnew_connector_in_state(&state->base, _connector_iter, > @@ -3338,7 +3338,7 @@ static int intel_dp_dsc_aux_ref_count(struct intel_atomic_state *state, > const struct intel_connector * > connector_iter = to_intel_connector(_connector_iter); > > - if (connector_iter->mst_port != connector->mst_port) > + if (connector_iter->mst.dp != connector->mst.dp) > continue; > > if (!connector_iter->dp.dsc_decompression_enabled) > diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > index 00c493cc8a4b..4c9481124c90 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > @@ -705,10 +705,10 @@ int intel_dp_hdcp_get_remote_capability(struct intel_connector *connector, > > *hdcp_capable = false; > *hdcp2_capable = false; > - if (!connector->mst_port) > + if (!connector->mst.dp) > return -EINVAL; > > - aux = &connector->port->aux; > + aux = &connector->mst.port->aux; > ret = _intel_dp_hdcp2_get_capability(aux, hdcp2_capable); > if (ret) > drm_dbg_kms(display->drm, > @@ -883,7 +883,7 @@ int intel_dp_hdcp_init(struct intel_digital_port *dig_port, > if (!is_hdcp_supported(display, port)) > return 0; > > - if (intel_connector->mst_port) > + if (intel_connector->mst.dp) > return intel_hdcp_init(intel_connector, dig_port, > &intel_dp_mst_hdcp_shim); > else if (!intel_dp_is_edp(intel_dp)) > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c > index e96236fbe407..02f95108c637 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c > @@ -356,7 +356,7 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp, > crtc_state->dp_m_n.tu = remote_tu; > > slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr, > - connector->port, > + connector->mst.port, > dfixed_trunc(pbn)); > } else { > /* Same as above for remote_tu */ > @@ -509,8 +509,8 @@ hblank_expansion_quirk_needs_dsc(const struct intel_connector *connector, > { > const struct drm_display_mode *adjusted_mode = > &crtc_state->hw.adjusted_mode; > - bool is_uhbr_sink = connector->mst_port && > - drm_dp_128b132b_supported(connector->mst_port->dpcd); > + bool is_uhbr_sink = connector->mst.dp && > + drm_dp_128b132b_supported(connector->mst.dp->dpcd); > int hblank_limit = is_uhbr_sink ? 500 : 300; > > if (!connector->dp.dsc_hblank_expansion_quirk) > @@ -741,7 +741,7 @@ intel_dp_mst_transcoder_mask(struct intel_atomic_state *state, > const struct intel_crtc_state *crtc_state; > struct intel_crtc *crtc; > > - if (connector->mst_port != mst_port || !conn_state->base.crtc) > + if (connector->mst.dp != mst_port || !conn_state->base.crtc) > continue; > > crtc = to_intel_crtc(conn_state->base.crtc); > @@ -769,12 +769,12 @@ static u8 get_pipes_downstream_of_mst_port(struct intel_atomic_state *state, > if (!conn_state->base.crtc) > continue; > > - if (&connector->mst_port->mst.mgr != mst_mgr) > + if (&connector->mst.dp->mst.mgr != mst_mgr) > continue; > > - if (connector->port != parent_port && > + if (connector->mst.port != parent_port && > !drm_dp_mst_port_downstream_of_parent(mst_mgr, > - connector->port, > + connector->mst.port, > parent_port)) > continue; > > @@ -925,7 +925,7 @@ mst_connector_atomic_topology_check(struct intel_connector *connector, > struct intel_crtc_state *crtc_state; > struct intel_crtc *crtc; > > - if (connector_iter->mst_port != connector->mst_port || > + if (connector_iter->mst.dp != connector->mst.dp || > connector_iter == connector) > continue; > > @@ -974,15 +974,15 @@ mst_connector_atomic_check(struct drm_connector *_connector, > > if (intel_connector_needs_modeset(state, &connector->base)) { > ret = intel_dp_tunnel_atomic_check_state(state, > - connector->mst_port, > + connector->mst.dp, > connector); > if (ret) > return ret; > } > > return drm_dp_atomic_release_time_slots(&state->base, > - &connector->mst_port->mst.mgr, > - connector->port); > + &connector->mst.dp->mst.mgr, > + connector->mst.port); > } > > static void mst_stream_disable(struct intel_atomic_state *state, > @@ -1027,9 +1027,9 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, > struct drm_dp_mst_topology_state *new_mst_state = > drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr); > const struct drm_dp_mst_atomic_payload *old_payload = > - drm_atomic_get_mst_payload_state(old_mst_state, connector->port); > + drm_atomic_get_mst_payload_state(old_mst_state, connector->mst.port); > struct drm_dp_mst_atomic_payload *new_payload = > - drm_atomic_get_mst_payload_state(new_mst_state, connector->port); > + drm_atomic_get_mst_payload_state(new_mst_state, connector->mst.port); > struct intel_crtc *pipe_crtc; > bool last_mst_stream; > int i; > @@ -1080,7 +1080,7 @@ static void mst_stream_post_disable(struct intel_atomic_state *state, > * Power down mst path before disabling the port, otherwise we end > * up getting interrupts from the sink upon detecting link loss. > */ > - drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->port, > + drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->mst.port, > false); > > /* > @@ -1199,7 +1199,7 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, > if (first_mst_stream) > intel_dp_set_power(intel_dp, DP_SET_POWER_D0); > > - drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->port, true); > + drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->mst.port, true); > > intel_dp_sink_enable_decompression(state, connector, pipe_config); > > @@ -1213,7 +1213,7 @@ static void mst_stream_pre_enable(struct intel_atomic_state *state, > intel_dp->mst.active_links++; > > ret = drm_dp_add_payload_part1(&intel_dp->mst.mgr, mst_state, > - drm_atomic_get_mst_payload_state(mst_state, connector->port)); > + drm_atomic_get_mst_payload_state(mst_state, connector->mst.port)); > if (ret < 0) > intel_dp_queue_modeset_retry_for_link(state, primary_encoder, pipe_config); > > @@ -1339,7 +1339,7 @@ static void mst_stream_enable(struct intel_atomic_state *state, > > ret = drm_dp_add_payload_part2(&intel_dp->mst.mgr, > drm_atomic_get_mst_payload_state(mst_state, > - connector->port)); > + connector->mst.port)); > if (ret < 0) > intel_dp_queue_modeset_retry_for_link(state, primary_encoder, pipe_config); > > @@ -1392,7 +1392,7 @@ static int mst_connector_get_ddc_modes(struct drm_connector *_connector) > { > struct intel_connector *connector = to_intel_connector(_connector); > struct intel_display *display = to_intel_display(connector); > - struct intel_dp *intel_dp = connector->mst_port; > + struct intel_dp *intel_dp = connector->mst.dp; > const struct drm_edid *drm_edid; > int ret; > > @@ -1402,7 +1402,7 @@ static int mst_connector_get_ddc_modes(struct drm_connector *_connector) > if (!intel_display_driver_check_access(display)) > return drm_edid_connector_add_modes(&connector->base); > > - drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst.mgr, connector->port); > + drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst.mgr, connector->mst.port); > > ret = intel_connector_update_modes(&connector->base, drm_edid); > > @@ -1417,13 +1417,13 @@ mst_connector_late_register(struct drm_connector *_connector) > struct intel_connector *connector = to_intel_connector(_connector); > int ret; > > - ret = drm_dp_mst_connector_late_register(&connector->base, connector->port); > + ret = drm_dp_mst_connector_late_register(&connector->base, connector->mst.port); > if (ret < 0) > return ret; > > ret = intel_connector_register(&connector->base); > if (ret < 0) > - drm_dp_mst_connector_early_unregister(&connector->base, connector->port); > + drm_dp_mst_connector_early_unregister(&connector->base, connector->mst.port); > > return ret; > } > @@ -1434,7 +1434,7 @@ mst_connector_early_unregister(struct drm_connector *_connector) > struct intel_connector *connector = to_intel_connector(_connector); > > intel_connector_unregister(&connector->base); > - drm_dp_mst_connector_early_unregister(&connector->base, connector->port); > + drm_dp_mst_connector_early_unregister(&connector->base, connector->mst.port); > } > > static const struct drm_connector_funcs mst_connector_funcs = { > @@ -1463,9 +1463,9 @@ mst_connector_mode_valid_ctx(struct drm_connector *_connector, > { > struct intel_connector *connector = to_intel_connector(_connector); > struct intel_display *display = to_intel_display(connector); > - struct intel_dp *intel_dp = connector->mst_port; > + struct intel_dp *intel_dp = connector->mst.dp; > struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst.mgr; > - struct drm_dp_mst_port *port = connector->port; > + struct drm_dp_mst_port *port = connector->mst.port; > const int min_bpp = 18; > int max_dotclk = display->cdclk.max_dotclk_freq; > int max_rate, mode_rate, max_lanes, max_link_clock; > @@ -1576,7 +1576,7 @@ mst_connector_atomic_best_encoder(struct drm_connector *_connector, > struct intel_connector *connector = to_intel_connector(_connector); > struct drm_connector_state *connector_state = > drm_atomic_get_new_connector_state(state, &connector->base); > - struct intel_dp *intel_dp = connector->mst_port; > + struct intel_dp *intel_dp = connector->mst.dp; > struct intel_crtc *crtc = to_intel_crtc(connector_state->crtc); > > return &intel_dp->mst.stream_encoders[crtc->pipe]->base.base; > @@ -1588,7 +1588,7 @@ mst_connector_detect_ctx(struct drm_connector *_connector, > { > struct intel_connector *connector = to_intel_connector(_connector); > struct intel_display *display = to_intel_display(connector); > - struct intel_dp *intel_dp = connector->mst_port; > + struct intel_dp *intel_dp = connector->mst.dp; > > if (!intel_display_device_enabled(display)) > return connector_status_disconnected; > @@ -1602,7 +1602,7 @@ mst_connector_detect_ctx(struct drm_connector *_connector, > intel_dp_flush_connector_commits(connector); > > return drm_dp_mst_detect_port(&connector->base, ctx, &intel_dp->mst.mgr, > - connector->port); > + connector->mst.port); > } > > static const struct drm_connector_helper_funcs mst_connector_helper_funcs = { > @@ -1693,10 +1693,10 @@ static bool detect_dsc_hblank_expansion_quirk(const struct intel_connector *conn > * A logical port's OUI (at least for affected sinks) is all 0, so > * instead of that the parent port's OUI is used for identification. > */ > - if (drm_dp_mst_port_is_logical(connector->port)) { > - aux = drm_dp_mst_aux_for_parent(connector->port); > + if (drm_dp_mst_port_is_logical(connector->mst.port)) { > + aux = drm_dp_mst_aux_for_parent(connector->mst.port); > if (!aux) > - aux = &connector->mst_port->aux; > + aux = &connector->mst.dp->aux; > } > > if (drm_dp_read_dpcd_caps(aux, dpcd) < 0) > @@ -1744,8 +1744,8 @@ mst_topology_add_connector(struct drm_dp_mst_topology_mgr *mgr, > > connector->get_hw_state = mst_connector_get_hw_state; > connector->sync_state = intel_dp_connector_sync_state; > - connector->mst_port = intel_dp; > - connector->port = port; > + connector->mst.dp = intel_dp; > + connector->mst.port = port; > drm_dp_mst_get_port_malloc(port); > > ret = drm_connector_dynamic_init(display->drm, &connector->base, &mst_connector_funcs, > @@ -1954,11 +1954,11 @@ intel_dp_mst_add_topology_state_for_connector(struct intel_atomic_state *state, > { > struct drm_dp_mst_topology_state *mst_state; > > - if (!connector->mst_port) > + if (!connector->mst.dp) > return 0; > > mst_state = drm_atomic_get_mst_topology_state(&state->base, > - &connector->mst_port->mst.mgr); > + &connector->mst.dp->mst.mgr); > if (IS_ERR(mst_state)) > return PTR_ERR(mst_state); > > @@ -2056,7 +2056,7 @@ bool intel_dp_mst_crtc_needs_modeset(struct intel_atomic_state *state, > const struct intel_crtc_state *old_crtc_state; > struct intel_crtc *crtc_iter; > > - if (connector->mst_port != crtc_connector->mst_port || > + if (connector->mst.dp != crtc_connector->mst.dp || > !conn_state->crtc) > continue; > > @@ -2079,7 +2079,7 @@ bool intel_dp_mst_crtc_needs_modeset(struct intel_atomic_state *state, > * case. > */ > if (connector->dp.dsc_decompression_aux == > - &connector->mst_port->aux) > + &connector->mst.dp->aux) > return true; > } > > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c > index 100f3fb1c1a0..46f53ade432e 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c > @@ -70,13 +70,13 @@ static int intel_conn_to_vcpi(struct intel_atomic_state *state, > int vcpi = 0; > > /* For HDMI this is forced to be 0x0. For DP SST also this is 0x0. */ > - if (!connector->port) > + if (!connector->mst.port) > return 0; > - mgr = connector->port->mgr; > + mgr = connector->mst.port->mgr; > > drm_modeset_lock(&mgr->base.lock, state->base.acquire_ctx); > mst_state = to_drm_dp_mst_topology_state(mgr->base.state); > - payload = drm_atomic_get_mst_payload_state(mst_state, connector->port); > + payload = drm_atomic_get_mst_payload_state(mst_state, connector->mst.port); > if (drm_WARN_ON(mgr->dev, !payload)) > goto out; > > @@ -2775,7 +2775,7 @@ static void __intel_hdcp_info(struct seq_file *m, struct intel_connector *connec > void intel_hdcp_info(struct seq_file *m, struct intel_connector *connector) > { > seq_puts(m, "\tHDCP version: "); > - if (connector->mst_port) { > + if (connector->mst.dp) { > __intel_hdcp_info(m, connector, true); > seq_puts(m, "\tMST Hub HDCP version: "); > } > -- > 2.39.5 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 3/3] drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula 2025-02-28 12:49 ` [PATCH 1/3] drm/i915/mst: add mst sub-struct to struct intel_dp Jani Nikula 2025-02-28 12:49 ` [PATCH 2/3] drm/i915/mst: add mst sub-struct to struct intel_connector Jani Nikula @ 2025-02-28 12:49 ` Jani Nikula 2025-02-28 15:13 ` Kandpal, Suraj 2025-02-28 13:52 ` ✗ Fi.CI.BUILD: warning for drm/i915/display: add some sub-structs for clarity Patchwork ` (4 subsequent siblings) 7 siblings, 1 reply; 12+ messages in thread From: Jani Nikula @ 2025-02-28 12:49 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: jani.nikula, Suraj Kandpal Move hdcp_mutex, num_hdcp_streams, hdcp_auth_status, hdcp_port_data, and hdcp_mst_type1_capable members of struct intel_digital_port under an hdcp sub-struct to group hdcp related things together. Rename them mutex, num_streams, auth_status, port_data, and mst_type1_capable for clarity. Cc: Suraj Kandpal <suraj.kandpal@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/display/g4x_dp.c | 2 +- drivers/gpu/drm/i915/display/g4x_hdmi.c | 2 +- drivers/gpu/drm/i915/display/intel_ddi.c | 6 +- .../drm/i915/display/intel_display_types.h | 22 ++--- drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 2 +- drivers/gpu/drm/i915/display/intel_hdcp.c | 84 +++++++++---------- 6 files changed, 60 insertions(+), 58 deletions(-) diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c index 372c3683c193..55b9e9bfcc4d 100644 --- a/drivers/gpu/drm/i915/display/g4x_dp.c +++ b/drivers/gpu/drm/i915/display/g4x_dp.c @@ -1311,7 +1311,7 @@ bool g4x_dp_init(struct intel_display *display, intel_encoder->devdata = devdata; - mutex_init(&dig_port->hdcp_mutex); + mutex_init(&dig_port->hdcp.mutex); if (drm_encoder_init(display->drm, &intel_encoder->base, &intel_dp_enc_funcs, DRM_MODE_ENCODER_TMDS, diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c b/drivers/gpu/drm/i915/display/g4x_hdmi.c index d9d1304dcc36..3dc2c59a3df0 100644 --- a/drivers/gpu/drm/i915/display/g4x_hdmi.c +++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c @@ -715,7 +715,7 @@ bool g4x_hdmi_init(struct intel_display *display, intel_encoder->devdata = devdata; - mutex_init(&dig_port->hdcp_mutex); + mutex_init(&dig_port->hdcp.mutex); if (drm_encoder_init(display->drm, &intel_encoder->base, &intel_hdmi_enc_funcs, DRM_MODE_ENCODER_TMDS, diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c index ca7983ef373d..20fc258a4d6d 100644 --- a/drivers/gpu/drm/i915/display/intel_ddi.c +++ b/drivers/gpu/drm/i915/display/intel_ddi.c @@ -4582,7 +4582,7 @@ static void intel_ddi_encoder_destroy(struct drm_encoder *encoder) intel_display_power_flush_work(display); drm_encoder_cleanup(encoder); - kfree(dig_port->hdcp_port_data.streams); + kfree(dig_port->hdcp.port_data.streams); kfree(dig_port); } @@ -5187,8 +5187,8 @@ void intel_ddi_init(struct intel_display *display, intel_encoder_link_check_init(encoder, intel_ddi_link_check); - mutex_init(&dig_port->hdcp_mutex); - dig_port->num_hdcp_streams = 0; + mutex_init(&dig_port->hdcp.mutex); + dig_port->hdcp.num_streams = 0; encoder->hotplug = intel_ddi_hotplug; encoder->compute_output_type = intel_ddi_compute_output_type; diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index b52fca816591..053be62a5be1 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1849,16 +1849,18 @@ struct intel_digital_port { struct intel_tc_port *tc; - /* protects num_hdcp_streams reference count, hdcp_port_data and hdcp_auth_status */ - struct mutex hdcp_mutex; - /* the number of pipes using HDCP signalling out of this port */ - unsigned int num_hdcp_streams; - /* port HDCP auth status */ - bool hdcp_auth_status; - /* HDCP port data need to pass to security f/w */ - struct hdcp_port_data hdcp_port_data; - /* Whether the MST topology supports HDCP Type 1 Content */ - bool hdcp_mst_type1_capable; + struct { + /* protects num_streams reference count, port_data and auth_status */ + struct mutex mutex; + /* the number of pipes using HDCP signalling out of this port */ + unsigned int num_streams; + /* port HDCP auth status */ + bool auth_status; + /* HDCP port data need to pass to security f/w */ + struct hdcp_port_data port_data; + /* Whether the MST topology supports HDCP Type 1 Content */ + bool mst_type1_capable; + } hdcp; void (*write_infoframe)(struct intel_encoder *encoder, const struct intel_crtc_state *crtc_state, diff --git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c index 4c9481124c90..cc312596fb77 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c @@ -799,7 +799,7 @@ intel_dp_mst_hdcp2_stream_encryption(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct intel_hdcp *hdcp = &connector->hdcp; enum transcoder cpu_transcoder = hdcp->stream_transcoder; enum pipe pipe = (enum pipe)cpu_transcoder; diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index 46f53ade432e..1bf424a822f3 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -107,16 +107,16 @@ intel_hdcp_required_content_stream(struct intel_atomic_state *state, struct drm_connector_list_iter conn_iter; struct intel_digital_port *conn_dig_port; struct intel_connector *connector; - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; bool enforce_type0 = false; int k; - if (dig_port->hdcp_auth_status) + if (dig_port->hdcp.auth_status) return 0; data->k = 0; - if (!dig_port->hdcp_mst_type1_capable) + if (!dig_port->hdcp.mst_type1_capable) enforce_type0 = true; drm_connector_list_iter_begin(display->drm, &conn_iter); @@ -159,7 +159,7 @@ static int intel_hdcp_prepare_streams(struct intel_atomic_state *state, struct intel_connector *connector) { struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct intel_hdcp *hdcp = &connector->hdcp; if (intel_encoder_is_mst(intel_attached_encoder(connector))) @@ -1001,7 +1001,7 @@ static int _intel_hdcp_disable(struct intel_connector *connector) * don't disable it until it disabled HDCP encryption for * all connectors in MST topology. */ - if (dig_port->num_hdcp_streams > 0) + if (dig_port->hdcp.num_streams > 0) return 0; } @@ -1094,13 +1094,13 @@ static void intel_hdcp_update_value(struct intel_connector *connector, if (hdcp->value == value) return; - drm_WARN_ON(display->drm, !mutex_is_locked(&dig_port->hdcp_mutex)); + drm_WARN_ON(display->drm, !mutex_is_locked(&dig_port->hdcp.mutex)); if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED) { - if (!drm_WARN_ON(display->drm, dig_port->num_hdcp_streams == 0)) - dig_port->num_hdcp_streams--; + if (!drm_WARN_ON(display->drm, dig_port->hdcp.num_streams == 0)) + dig_port->hdcp.num_streams--; } else if (value == DRM_MODE_CONTENT_PROTECTION_ENABLED) { - dig_port->num_hdcp_streams++; + dig_port->hdcp.num_streams++; } hdcp->value = value; @@ -1122,7 +1122,7 @@ static int intel_hdcp_check_link(struct intel_connector *connector) int ret = 0; mutex_lock(&hdcp->mutex); - mutex_lock(&dig_port->hdcp_mutex); + mutex_lock(&dig_port->hdcp.mutex); cpu_transcoder = hdcp->cpu_transcoder; @@ -1177,7 +1177,7 @@ static int intel_hdcp_check_link(struct intel_connector *connector) } out: - mutex_unlock(&dig_port->hdcp_mutex); + mutex_unlock(&dig_port->hdcp.mutex); mutex_unlock(&hdcp->mutex); return ret; } @@ -1219,7 +1219,7 @@ hdcp2_prepare_ake_init(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1249,7 +1249,7 @@ hdcp2_verify_rx_cert_prepare_km(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1277,7 +1277,7 @@ static int hdcp2_verify_hprime(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1303,7 +1303,7 @@ hdcp2_store_pairing_info(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1330,7 +1330,7 @@ hdcp2_prepare_lc_init(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1357,7 +1357,7 @@ hdcp2_verify_lprime(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1383,7 +1383,7 @@ static int hdcp2_prepare_skey(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1412,7 +1412,7 @@ hdcp2_verify_rep_topology_prepare_ack(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1442,7 +1442,7 @@ hdcp2_verify_mprime(struct intel_connector *connector, { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1466,7 +1466,7 @@ static int hdcp2_authenticate_port(struct intel_connector *connector) { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct i915_hdcp_arbiter *arbiter; int ret; @@ -1503,7 +1503,7 @@ static int hdcp2_close_session(struct intel_connector *connector) } ret = arbiter->ops->close_hdcp_session(arbiter->hdcp_dev, - &dig_port->hdcp_port_data); + &dig_port->hdcp.port_data); mutex_unlock(&display->hdcp.hdcp_mutex); return ret; @@ -1691,7 +1691,7 @@ static int _hdcp2_propagate_stream_management_info(struct intel_connector *connector) { struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct intel_hdcp *hdcp = &connector->hdcp; union { struct hdcp2_rep_stream_manage stream_manage; @@ -1769,11 +1769,11 @@ int hdcp2_authenticate_repeater_topology(struct intel_connector *connector) * MST topology is not Type 1 capable if it contains a downstream * device that is only HDCP 1.x or Legacy HDCP 2.0/2.1 compliant. */ - dig_port->hdcp_mst_type1_capable = + dig_port->hdcp.mst_type1_capable = !HDCP_2_2_HDCP1_DEVICE_CONNECTED(rx_info[1]) && !HDCP_2_2_HDCP_2_0_REP_CONNECTED(rx_info[1]); - if (!dig_port->hdcp_mst_type1_capable && hdcp->content_type) { + if (!dig_port->hdcp.mst_type1_capable && hdcp->content_type) { drm_dbg_kms(display->drm, "HDCP1.x or 2.0 Legacy Device Downstream\n"); return -EINVAL; @@ -1869,7 +1869,7 @@ static int hdcp2_enable_stream_encryption(struct intel_connector *connector) { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct intel_hdcp *hdcp = &connector->hdcp; enum transcoder cpu_transcoder = hdcp->cpu_transcoder; enum port port = dig_port->base.port; @@ -1900,7 +1900,7 @@ static int hdcp2_enable_stream_encryption(struct intel_connector *connector) if (hdcp2_deauthenticate_port(connector) < 0) drm_dbg_kms(display->drm, "Port deauth failed.\n"); - dig_port->hdcp_auth_status = false; + dig_port->hdcp.auth_status = false; data->k = 0; return ret; @@ -1940,7 +1940,7 @@ static int hdcp2_enable_encryption(struct intel_connector *connector) port), LINK_ENCRYPTION_STATUS, HDCP_ENCRYPT_STATUS_CHANGE_TIMEOUT_MS); - dig_port->hdcp_auth_status = true; + dig_port->hdcp.auth_status = true; return ret; } @@ -2019,7 +2019,7 @@ static int hdcp2_authenticate_and_encrypt(struct intel_atomic_state *state, struct intel_digital_port *dig_port = intel_attached_dig_port(connector); int ret = 0, i, tries = 3; - for (i = 0; i < tries && !dig_port->hdcp_auth_status; i++) { + for (i = 0; i < tries && !dig_port->hdcp.auth_status; i++) { ret = hdcp2_authenticate_sink(connector); if (!ret) { ret = intel_hdcp_prepare_streams(state, connector); @@ -2052,7 +2052,7 @@ static int hdcp2_authenticate_and_encrypt(struct intel_atomic_state *state, drm_dbg_kms(display->drm, "Port deauth failed.\n"); } - if (!ret && !dig_port->hdcp_auth_status) { + if (!ret && !dig_port->hdcp.auth_status) { /* * Ensuring the required 200mSec min time interval between * Session Key Exchange and encryption. @@ -2106,7 +2106,7 @@ _intel_hdcp2_disable(struct intel_connector *connector, bool hdcp2_link_recovery { struct intel_display *display = to_intel_display(connector); struct intel_digital_port *dig_port = intel_attached_dig_port(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; struct intel_hdcp *hdcp = &connector->hdcp; int ret; @@ -2123,7 +2123,7 @@ _intel_hdcp2_disable(struct intel_connector *connector, bool hdcp2_link_recovery drm_dbg_kms(display->drm, "HDCP 2.2 transcoder: %s stream encryption disabled\n", transcoder_name(hdcp->stream_transcoder)); - if (dig_port->num_hdcp_streams > 0 && !hdcp2_link_recovery) + if (dig_port->hdcp.num_streams > 0 && !hdcp2_link_recovery) return 0; } @@ -2133,7 +2133,7 @@ _intel_hdcp2_disable(struct intel_connector *connector, bool hdcp2_link_recovery drm_dbg_kms(display->drm, "Port deauth failed.\n"); connector->hdcp.hdcp2_encrypted = false; - dig_port->hdcp_auth_status = false; + dig_port->hdcp.auth_status = false; data->k = 0; return ret; @@ -2150,7 +2150,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector) int ret = 0; mutex_lock(&hdcp->mutex); - mutex_lock(&dig_port->hdcp_mutex); + mutex_lock(&dig_port->hdcp.mutex); cpu_transcoder = hdcp->cpu_transcoder; /* hdcp2_check_link is expected only when HDCP2.2 is Enabled */ @@ -2221,7 +2221,7 @@ static int intel_hdcp2_check_link(struct intel_connector *connector) intel_hdcp_update_value(connector, DRM_MODE_CONTENT_PROTECTION_DESIRED, true); out: - mutex_unlock(&dig_port->hdcp_mutex); + mutex_unlock(&dig_port->hdcp.mutex); mutex_unlock(&hdcp->mutex); return ret; } @@ -2303,7 +2303,7 @@ static int initialize_hdcp_port_data(struct intel_connector *connector, const struct intel_hdcp_shim *shim) { struct intel_display *display = to_intel_display(connector); - struct hdcp_port_data *data = &dig_port->hdcp_port_data; + struct hdcp_port_data *data = &dig_port->hdcp.port_data; enum port port = dig_port->base.port; if (DISPLAY_VER(display) < 12) @@ -2414,7 +2414,7 @@ int intel_hdcp_init(struct intel_connector *connector, hdcp->hdcp2_supported); if (ret) { hdcp->hdcp2_supported = false; - kfree(dig_port->hdcp_port_data.streams); + kfree(dig_port->hdcp.port_data.streams); return ret; } @@ -2451,7 +2451,7 @@ static int _intel_hdcp_enable(struct intel_atomic_state *state, } mutex_lock(&hdcp->mutex); - mutex_lock(&dig_port->hdcp_mutex); + mutex_lock(&dig_port->hdcp.mutex); drm_WARN_ON(display->drm, hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED); hdcp->content_type = (u8)conn_state->hdcp_content_type; @@ -2465,7 +2465,7 @@ static int _intel_hdcp_enable(struct intel_atomic_state *state, } if (DISPLAY_VER(display) >= 12) - dig_port->hdcp_port_data.hdcp_transcoder = + dig_port->hdcp.port_data.hdcp_transcoder = intel_get_hdcp_transcoder(hdcp->cpu_transcoder); /* @@ -2499,7 +2499,7 @@ static int _intel_hdcp_enable(struct intel_atomic_state *state, true); } - mutex_unlock(&dig_port->hdcp_mutex); + mutex_unlock(&dig_port->hdcp.mutex); mutex_unlock(&hdcp->mutex); return ret; } @@ -2535,7 +2535,7 @@ int intel_hdcp_disable(struct intel_connector *connector) return -ENOENT; mutex_lock(&hdcp->mutex); - mutex_lock(&dig_port->hdcp_mutex); + mutex_lock(&dig_port->hdcp.mutex); if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_UNDESIRED) goto out; @@ -2548,7 +2548,7 @@ int intel_hdcp_disable(struct intel_connector *connector) ret = _intel_hdcp_disable(connector); out: - mutex_unlock(&dig_port->hdcp_mutex); + mutex_unlock(&dig_port->hdcp.mutex); mutex_unlock(&hdcp->mutex); cancel_delayed_work_sync(&hdcp->check_work); return ret; -- 2.39.5 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* RE: [PATCH 3/3] drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port 2025-02-28 12:49 ` [PATCH 3/3] drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port Jani Nikula @ 2025-02-28 15:13 ` Kandpal, Suraj 0 siblings, 0 replies; 12+ messages in thread From: Kandpal, Suraj @ 2025-02-28 15:13 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org > -----Original Message----- > From: Nikula, Jani <jani.nikula@intel.com> > Sent: Friday, February 28, 2025 6:20 PM > To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org > Cc: Nikula, Jani <jani.nikula@intel.com>; Kandpal, Suraj > <suraj.kandpal@intel.com> > Subject: [PATCH 3/3] drm/i915/hdcp: add hdcp sub-struct to struct > intel_digital_port > > Move hdcp_mutex, num_hdcp_streams, hdcp_auth_status, hdcp_port_data, > and hdcp_mst_type1_capable members of struct intel_digital_port under an > hdcp sub-struct to group hdcp related things together. > > Rename them mutex, num_streams, auth_status, port_data, and > mst_type1_capable for clarity. > > Cc: Suraj Kandpal <suraj.kandpal@intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> LGTM, Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> > --- > drivers/gpu/drm/i915/display/g4x_dp.c | 2 +- > drivers/gpu/drm/i915/display/g4x_hdmi.c | 2 +- > drivers/gpu/drm/i915/display/intel_ddi.c | 6 +- > .../drm/i915/display/intel_display_types.h | 22 ++--- > drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 2 +- > drivers/gpu/drm/i915/display/intel_hdcp.c | 84 +++++++++---------- > 6 files changed, 60 insertions(+), 58 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c > b/drivers/gpu/drm/i915/display/g4x_dp.c > index 372c3683c193..55b9e9bfcc4d 100644 > --- a/drivers/gpu/drm/i915/display/g4x_dp.c > +++ b/drivers/gpu/drm/i915/display/g4x_dp.c > @@ -1311,7 +1311,7 @@ bool g4x_dp_init(struct intel_display *display, > > intel_encoder->devdata = devdata; > > - mutex_init(&dig_port->hdcp_mutex); > + mutex_init(&dig_port->hdcp.mutex); > > if (drm_encoder_init(display->drm, &intel_encoder->base, > &intel_dp_enc_funcs, > DRM_MODE_ENCODER_TMDS, diff --git > a/drivers/gpu/drm/i915/display/g4x_hdmi.c > b/drivers/gpu/drm/i915/display/g4x_hdmi.c > index d9d1304dcc36..3dc2c59a3df0 100644 > --- a/drivers/gpu/drm/i915/display/g4x_hdmi.c > +++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c > @@ -715,7 +715,7 @@ bool g4x_hdmi_init(struct intel_display *display, > > intel_encoder->devdata = devdata; > > - mutex_init(&dig_port->hdcp_mutex); > + mutex_init(&dig_port->hdcp.mutex); > > if (drm_encoder_init(display->drm, &intel_encoder->base, > &intel_hdmi_enc_funcs, > DRM_MODE_ENCODER_TMDS, diff --git > a/drivers/gpu/drm/i915/display/intel_ddi.c > b/drivers/gpu/drm/i915/display/intel_ddi.c > index ca7983ef373d..20fc258a4d6d 100644 > --- a/drivers/gpu/drm/i915/display/intel_ddi.c > +++ b/drivers/gpu/drm/i915/display/intel_ddi.c > @@ -4582,7 +4582,7 @@ static void intel_ddi_encoder_destroy(struct > drm_encoder *encoder) > intel_display_power_flush_work(display); > > drm_encoder_cleanup(encoder); > - kfree(dig_port->hdcp_port_data.streams); > + kfree(dig_port->hdcp.port_data.streams); > kfree(dig_port); > } > > @@ -5187,8 +5187,8 @@ void intel_ddi_init(struct intel_display *display, > > intel_encoder_link_check_init(encoder, intel_ddi_link_check); > > - mutex_init(&dig_port->hdcp_mutex); > - dig_port->num_hdcp_streams = 0; > + mutex_init(&dig_port->hdcp.mutex); > + dig_port->hdcp.num_streams = 0; > > encoder->hotplug = intel_ddi_hotplug; > encoder->compute_output_type = intel_ddi_compute_output_type; > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h > b/drivers/gpu/drm/i915/display/intel_display_types.h > index b52fca816591..053be62a5be1 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -1849,16 +1849,18 @@ struct intel_digital_port { > > struct intel_tc_port *tc; > > - /* protects num_hdcp_streams reference count, hdcp_port_data and > hdcp_auth_status */ > - struct mutex hdcp_mutex; > - /* the number of pipes using HDCP signalling out of this port */ > - unsigned int num_hdcp_streams; > - /* port HDCP auth status */ > - bool hdcp_auth_status; > - /* HDCP port data need to pass to security f/w */ > - struct hdcp_port_data hdcp_port_data; > - /* Whether the MST topology supports HDCP Type 1 Content */ > - bool hdcp_mst_type1_capable; > + struct { > + /* protects num_streams reference count, port_data and > auth_status */ > + struct mutex mutex; > + /* the number of pipes using HDCP signalling out of this port > */ > + unsigned int num_streams; > + /* port HDCP auth status */ > + bool auth_status; > + /* HDCP port data need to pass to security f/w */ > + struct hdcp_port_data port_data; > + /* Whether the MST topology supports HDCP Type 1 Content > */ > + bool mst_type1_capable; > + } hdcp; > > void (*write_infoframe)(struct intel_encoder *encoder, > const struct intel_crtc_state *crtc_state, diff -- > git a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > index 4c9481124c90..cc312596fb77 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_hdcp.c > @@ -799,7 +799,7 @@ intel_dp_mst_hdcp2_stream_encryption(struct > intel_connector *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct intel_hdcp *hdcp = &connector->hdcp; > enum transcoder cpu_transcoder = hdcp->stream_transcoder; > enum pipe pipe = (enum pipe)cpu_transcoder; diff --git > a/drivers/gpu/drm/i915/display/intel_hdcp.c > b/drivers/gpu/drm/i915/display/intel_hdcp.c > index 46f53ade432e..1bf424a822f3 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdcp.c > +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c > @@ -107,16 +107,16 @@ intel_hdcp_required_content_stream(struct > intel_atomic_state *state, > struct drm_connector_list_iter conn_iter; > struct intel_digital_port *conn_dig_port; > struct intel_connector *connector; > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > bool enforce_type0 = false; > int k; > > - if (dig_port->hdcp_auth_status) > + if (dig_port->hdcp.auth_status) > return 0; > > data->k = 0; > > - if (!dig_port->hdcp_mst_type1_capable) > + if (!dig_port->hdcp.mst_type1_capable) > enforce_type0 = true; > > drm_connector_list_iter_begin(display->drm, &conn_iter); @@ -159,7 > +159,7 @@ static int intel_hdcp_prepare_streams(struct intel_atomic_state > *state, > struct intel_connector *connector) { > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct intel_hdcp *hdcp = &connector->hdcp; > > if (intel_encoder_is_mst(intel_attached_encoder(connector))) > @@ -1001,7 +1001,7 @@ static int _intel_hdcp_disable(struct intel_connector > *connector) > * don't disable it until it disabled HDCP encryption for > * all connectors in MST topology. > */ > - if (dig_port->num_hdcp_streams > 0) > + if (dig_port->hdcp.num_streams > 0) > return 0; > } > > @@ -1094,13 +1094,13 @@ static void intel_hdcp_update_value(struct > intel_connector *connector, > if (hdcp->value == value) > return; > > - drm_WARN_ON(display->drm, !mutex_is_locked(&dig_port- > >hdcp_mutex)); > + drm_WARN_ON(display->drm, !mutex_is_locked(&dig_port- > >hdcp.mutex)); > > if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_ENABLED) { > - if (!drm_WARN_ON(display->drm, dig_port- > >num_hdcp_streams == 0)) > - dig_port->num_hdcp_streams--; > + if (!drm_WARN_ON(display->drm, dig_port- > >hdcp.num_streams == 0)) > + dig_port->hdcp.num_streams--; > } else if (value == DRM_MODE_CONTENT_PROTECTION_ENABLED) { > - dig_port->num_hdcp_streams++; > + dig_port->hdcp.num_streams++; > } > > hdcp->value = value; > @@ -1122,7 +1122,7 @@ static int intel_hdcp_check_link(struct > intel_connector *connector) > int ret = 0; > > mutex_lock(&hdcp->mutex); > - mutex_lock(&dig_port->hdcp_mutex); > + mutex_lock(&dig_port->hdcp.mutex); > > cpu_transcoder = hdcp->cpu_transcoder; > > @@ -1177,7 +1177,7 @@ static int intel_hdcp_check_link(struct > intel_connector *connector) > } > > out: > - mutex_unlock(&dig_port->hdcp_mutex); > + mutex_unlock(&dig_port->hdcp.mutex); > mutex_unlock(&hdcp->mutex); > return ret; > } > @@ -1219,7 +1219,7 @@ hdcp2_prepare_ake_init(struct intel_connector > *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1249,7 +1249,7 @@ hdcp2_verify_rx_cert_prepare_km(struct > intel_connector *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1277,7 +1277,7 @@ static int hdcp2_verify_hprime(struct > intel_connector *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1303,7 +1303,7 @@ hdcp2_store_pairing_info(struct intel_connector > *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1330,7 +1330,7 @@ hdcp2_prepare_lc_init(struct intel_connector > *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1357,7 +1357,7 @@ hdcp2_verify_lprime(struct intel_connector > *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1383,7 +1383,7 @@ static int hdcp2_prepare_skey(struct intel_connector > *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1412,7 +1412,7 @@ hdcp2_verify_rep_topology_prepare_ack(struct > intel_connector *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1442,7 +1442,7 @@ hdcp2_verify_mprime(struct intel_connector > *connector, { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1466,7 +1466,7 @@ static int hdcp2_authenticate_port(struct > intel_connector *connector) { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct i915_hdcp_arbiter *arbiter; > int ret; > > @@ -1503,7 +1503,7 @@ static int hdcp2_close_session(struct intel_connector > *connector) > } > > ret = arbiter->ops->close_hdcp_session(arbiter->hdcp_dev, > - &dig_port->hdcp_port_data); > + &dig_port->hdcp.port_data); > mutex_unlock(&display->hdcp.hdcp_mutex); > > return ret; > @@ -1691,7 +1691,7 @@ static > int _hdcp2_propagate_stream_management_info(struct intel_connector > *connector) { > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct intel_hdcp *hdcp = &connector->hdcp; > union { > struct hdcp2_rep_stream_manage stream_manage; @@ - > 1769,11 +1769,11 @@ int hdcp2_authenticate_repeater_topology(struct > intel_connector *connector) > * MST topology is not Type 1 capable if it contains a downstream > * device that is only HDCP 1.x or Legacy HDCP 2.0/2.1 compliant. > */ > - dig_port->hdcp_mst_type1_capable = > + dig_port->hdcp.mst_type1_capable = > !HDCP_2_2_HDCP1_DEVICE_CONNECTED(rx_info[1]) && > !HDCP_2_2_HDCP_2_0_REP_CONNECTED(rx_info[1]); > > - if (!dig_port->hdcp_mst_type1_capable && hdcp->content_type) { > + if (!dig_port->hdcp.mst_type1_capable && hdcp->content_type) { > drm_dbg_kms(display->drm, > "HDCP1.x or 2.0 Legacy Device Downstream\n"); > return -EINVAL; > @@ -1869,7 +1869,7 @@ static int hdcp2_enable_stream_encryption(struct > intel_connector *connector) { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct intel_hdcp *hdcp = &connector->hdcp; > enum transcoder cpu_transcoder = hdcp->cpu_transcoder; > enum port port = dig_port->base.port; > @@ -1900,7 +1900,7 @@ static int hdcp2_enable_stream_encryption(struct > intel_connector *connector) > if (hdcp2_deauthenticate_port(connector) < 0) > drm_dbg_kms(display->drm, "Port deauth failed.\n"); > > - dig_port->hdcp_auth_status = false; > + dig_port->hdcp.auth_status = false; > data->k = 0; > > return ret; > @@ -1940,7 +1940,7 @@ static int hdcp2_enable_encryption(struct > intel_connector *connector) > port), > LINK_ENCRYPTION_STATUS, > > HDCP_ENCRYPT_STATUS_CHANGE_TIMEOUT_MS); > - dig_port->hdcp_auth_status = true; > + dig_port->hdcp.auth_status = true; > > return ret; > } > @@ -2019,7 +2019,7 @@ static int hdcp2_authenticate_and_encrypt(struct > intel_atomic_state *state, > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > int ret = 0, i, tries = 3; > > - for (i = 0; i < tries && !dig_port->hdcp_auth_status; i++) { > + for (i = 0; i < tries && !dig_port->hdcp.auth_status; i++) { > ret = hdcp2_authenticate_sink(connector); > if (!ret) { > ret = intel_hdcp_prepare_streams(state, connector); > @@ -2052,7 +2052,7 @@ static int hdcp2_authenticate_and_encrypt(struct > intel_atomic_state *state, > drm_dbg_kms(display->drm, "Port deauth failed.\n"); > } > > - if (!ret && !dig_port->hdcp_auth_status) { > + if (!ret && !dig_port->hdcp.auth_status) { > /* > * Ensuring the required 200mSec min time interval between > * Session Key Exchange and encryption. > @@ -2106,7 +2106,7 @@ _intel_hdcp2_disable(struct intel_connector > *connector, bool hdcp2_link_recovery { > struct intel_display *display = to_intel_display(connector); > struct intel_digital_port *dig_port = > intel_attached_dig_port(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > struct intel_hdcp *hdcp = &connector->hdcp; > int ret; > > @@ -2123,7 +2123,7 @@ _intel_hdcp2_disable(struct intel_connector > *connector, bool hdcp2_link_recovery > drm_dbg_kms(display->drm, "HDCP 2.2 transcoder: %s stream > encryption disabled\n", > transcoder_name(hdcp->stream_transcoder)); > > - if (dig_port->num_hdcp_streams > 0 && > !hdcp2_link_recovery) > + if (dig_port->hdcp.num_streams > 0 && !hdcp2_link_recovery) > return 0; > } > > @@ -2133,7 +2133,7 @@ _intel_hdcp2_disable(struct intel_connector > *connector, bool hdcp2_link_recovery > drm_dbg_kms(display->drm, "Port deauth failed.\n"); > > connector->hdcp.hdcp2_encrypted = false; > - dig_port->hdcp_auth_status = false; > + dig_port->hdcp.auth_status = false; > data->k = 0; > > return ret; > @@ -2150,7 +2150,7 @@ static int intel_hdcp2_check_link(struct > intel_connector *connector) > int ret = 0; > > mutex_lock(&hdcp->mutex); > - mutex_lock(&dig_port->hdcp_mutex); > + mutex_lock(&dig_port->hdcp.mutex); > cpu_transcoder = hdcp->cpu_transcoder; > > /* hdcp2_check_link is expected only when HDCP2.2 is Enabled */ @@ > -2221,7 +2221,7 @@ static int intel_hdcp2_check_link(struct intel_connector > *connector) > intel_hdcp_update_value(connector, > > DRM_MODE_CONTENT_PROTECTION_DESIRED, true); > out: > - mutex_unlock(&dig_port->hdcp_mutex); > + mutex_unlock(&dig_port->hdcp.mutex); > mutex_unlock(&hdcp->mutex); > return ret; > } > @@ -2303,7 +2303,7 @@ static int initialize_hdcp_port_data(struct > intel_connector *connector, > const struct intel_hdcp_shim *shim) { > struct intel_display *display = to_intel_display(connector); > - struct hdcp_port_data *data = &dig_port->hdcp_port_data; > + struct hdcp_port_data *data = &dig_port->hdcp.port_data; > enum port port = dig_port->base.port; > > if (DISPLAY_VER(display) < 12) > @@ -2414,7 +2414,7 @@ int intel_hdcp_init(struct intel_connector > *connector, > hdcp- > >hdcp2_supported); > if (ret) { > hdcp->hdcp2_supported = false; > - kfree(dig_port->hdcp_port_data.streams); > + kfree(dig_port->hdcp.port_data.streams); > return ret; > } > > @@ -2451,7 +2451,7 @@ static int _intel_hdcp_enable(struct > intel_atomic_state *state, > } > > mutex_lock(&hdcp->mutex); > - mutex_lock(&dig_port->hdcp_mutex); > + mutex_lock(&dig_port->hdcp.mutex); > drm_WARN_ON(display->drm, > hdcp->value == > DRM_MODE_CONTENT_PROTECTION_ENABLED); > hdcp->content_type = (u8)conn_state->hdcp_content_type; > @@ -2465,7 +2465,7 @@ static int _intel_hdcp_enable(struct > intel_atomic_state *state, > } > > if (DISPLAY_VER(display) >= 12) > - dig_port->hdcp_port_data.hdcp_transcoder = > + dig_port->hdcp.port_data.hdcp_transcoder = > intel_get_hdcp_transcoder(hdcp->cpu_transcoder); > > /* > @@ -2499,7 +2499,7 @@ static int _intel_hdcp_enable(struct > intel_atomic_state *state, > true); > } > > - mutex_unlock(&dig_port->hdcp_mutex); > + mutex_unlock(&dig_port->hdcp.mutex); > mutex_unlock(&hdcp->mutex); > return ret; > } > @@ -2535,7 +2535,7 @@ int intel_hdcp_disable(struct intel_connector > *connector) > return -ENOENT; > > mutex_lock(&hdcp->mutex); > - mutex_lock(&dig_port->hdcp_mutex); > + mutex_lock(&dig_port->hdcp.mutex); > > if (hdcp->value == DRM_MODE_CONTENT_PROTECTION_UNDESIRED) > goto out; > @@ -2548,7 +2548,7 @@ int intel_hdcp_disable(struct intel_connector > *connector) > ret = _intel_hdcp_disable(connector); > > out: > - mutex_unlock(&dig_port->hdcp_mutex); > + mutex_unlock(&dig_port->hdcp.mutex); > mutex_unlock(&hdcp->mutex); > cancel_delayed_work_sync(&hdcp->check_work); > return ret; > -- > 2.39.5 ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✗ Fi.CI.BUILD: warning for drm/i915/display: add some sub-structs for clarity 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula ` (2 preceding siblings ...) 2025-02-28 12:49 ` [PATCH 3/3] drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port Jani Nikula @ 2025-02-28 13:52 ` Patchwork 2025-02-28 13:53 ` ✗ Fi.CI.CHECKPATCH: " Patchwork ` (3 subsequent siblings) 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2025-02-28 13:52 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/display: add some sub-structs for clarity URL : https://patchwork.freedesktop.org/series/145641/ State : warning == Summary == Error: patch https://patchwork.freedesktop.org/api/1.0/series/145641/revisions/1/mbox/ not found ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: add some sub-structs for clarity 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula ` (3 preceding siblings ...) 2025-02-28 13:52 ` ✗ Fi.CI.BUILD: warning for drm/i915/display: add some sub-structs for clarity Patchwork @ 2025-02-28 13:53 ` Patchwork 2025-02-28 14:15 ` ✓ i915.CI.BAT: success " Patchwork ` (2 subsequent siblings) 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2025-02-28 13:53 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915/display: add some sub-structs for clarity URL : https://patchwork.freedesktop.org/series/145641/ State : warning == Summary == Error: dim checkpatch failed c1708cdf9cd9 drm/i915/mst: add mst sub-struct to struct intel_dp 95c39d7c2118 drm/i915/mst: add mst sub-struct to struct intel_connector -:278: WARNING:LONG_LINE: line length of 105 exceeds 100 columns #278: FILE: drivers/gpu/drm/i915/display/intel_dp_mst.c:1216: + drm_atomic_get_mst_payload_state(mst_state, connector->mst.port)); total: 0 errors, 1 warnings, 0 checks, 379 lines checked ef6c6a3dd8a7 drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✓ i915.CI.BAT: success for drm/i915/display: add some sub-structs for clarity 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula ` (4 preceding siblings ...) 2025-02-28 13:53 ` ✗ Fi.CI.CHECKPATCH: " Patchwork @ 2025-02-28 14:15 ` Patchwork 2025-03-01 1:15 ` ✗ i915.CI.Full: failure " Patchwork 2025-03-03 10:15 ` [PATCH 0/3] " Jani Nikula 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2025-02-28 14:15 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 4966 bytes --] == Series Details == Series: drm/i915/display: add some sub-structs for clarity URL : https://patchwork.freedesktop.org/series/145641/ State : success == Summary == CI Bug Log - changes from CI_DRM_16202 -> Patchwork_145641v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/index.html Participating hosts (44 -> 44) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in Patchwork_145641v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rpm@module-reload: - bat-dg2-11: [PASS][1] -> [FAIL][2] ([i915#13633]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/bat-dg2-11/igt@i915_pm_rpm@module-reload.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/bat-dg2-11/igt@i915_pm_rpm@module-reload.html - fi-tgl-1115g4: [PASS][3] -> [FAIL][4] ([i915#13633]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/fi-tgl-1115g4/igt@i915_pm_rpm@module-reload.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/fi-tgl-1115g4/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live: - bat-twl-1: [PASS][5] -> [ABORT][6] ([i915#12435] / [i915#12919] / [i915#13503]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/bat-twl-1/igt@i915_selftest@live.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/bat-twl-1/igt@i915_selftest@live.html * igt@i915_selftest@live@memory_region: - bat-twl-2: NOTRUN -> [INCOMPLETE][7] ([i915#12445]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/bat-twl-2/igt@i915_selftest@live@memory_region.html * igt@i915_selftest@live@perf: - bat-twl-1: [PASS][8] -> [ABORT][9] ([i915#12919]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/bat-twl-1/igt@i915_selftest@live@perf.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/bat-twl-1/igt@i915_selftest@live@perf.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-dg2-11: [PASS][10] -> [SKIP][11] ([i915#9197]) +2 other tests skip [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html #### Possible fixes #### * igt@i915_selftest@live@reset: - bat-twl-2: [INCOMPLETE][12] ([i915#12445]) -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/bat-twl-2/igt@i915_selftest@live@reset.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/bat-twl-2/igt@i915_selftest@live@reset.html * igt@i915_selftest@live@workarounds: - bat-mtlp-6: [DMESG-FAIL][14] ([i915#12061]) -> [PASS][15] +1 other test pass [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/bat-mtlp-6/igt@i915_selftest@live@workarounds.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/bat-mtlp-6/igt@i915_selftest@live@workarounds.html #### Warnings #### * igt@i915_selftest@live: - bat-twl-2: [INCOMPLETE][16] ([i915#12445] / [i915#13761] / [i915#13776]) -> [INCOMPLETE][17] ([i915#12435] / [i915#12445] / [i915#13761] / [i915#13776]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/bat-twl-2/igt@i915_selftest@live.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/bat-twl-2/igt@i915_selftest@live.html [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061 [i915#12435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12435 [i915#12445]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12445 [i915#12919]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12919 [i915#13503]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13503 [i915#13633]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13633 [i915#13761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13761 [i915#13776]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13776 [i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197 Build changes ------------- * Linux: CI_DRM_16202 -> Patchwork_145641v1 CI-20190529: 20190529 CI_DRM_16202: 4e4a83bc30b77bb710641f0b43e6098bd04c5044 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8252: e266af0feec344315b07d8af186226e467d02ecf @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_145641v1: 4e4a83bc30b77bb710641f0b43e6098bd04c5044 @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/index.html [-- Attachment #2: Type: text/html, Size: 6339 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* ✗ i915.CI.Full: failure for drm/i915/display: add some sub-structs for clarity 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula ` (5 preceding siblings ...) 2025-02-28 14:15 ` ✓ i915.CI.BAT: success " Patchwork @ 2025-03-01 1:15 ` Patchwork 2025-03-03 10:15 ` [PATCH 0/3] " Jani Nikula 7 siblings, 0 replies; 12+ messages in thread From: Patchwork @ 2025-03-01 1:15 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 86614 bytes --] == Series Details == Series: drm/i915/display: add some sub-structs for clarity URL : https://patchwork.freedesktop.org/series/145641/ State : failure == Summary == CI Bug Log - changes from CI_DRM_16202_full -> Patchwork_145641v1_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_145641v1_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_145641v1_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_145641v1_full: ### IGT changes ### #### Possible regressions #### * igt@kms_flip@flip-vs-blocking-wf-vblank: - shard-snb: [PASS][1] -> [FAIL][2] +2 other tests fail [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-snb2/igt@kms_flip@flip-vs-blocking-wf-vblank.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-snb2/igt@kms_flip@flip-vs-blocking-wf-vblank.html * igt@kms_flip@flip-vs-blocking-wf-vblank@a-hdmi-a1: - shard-tglu: [PASS][3] -> [FAIL][4] +2 other tests fail [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-tglu-2/igt@kms_flip@flip-vs-blocking-wf-vblank@a-hdmi-a1.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-4/igt@kms_flip@flip-vs-blocking-wf-vblank@a-hdmi-a1.html * igt@kms_flip@flip-vs-blocking-wf-vblank@d-hdmi-a3: - shard-dg2: [PASS][5] -> [FAIL][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-3/igt@kms_flip@flip-vs-blocking-wf-vblank@d-hdmi-a3.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-5/igt@kms_flip@flip-vs-blocking-wf-vblank@d-hdmi-a3.html Known issues ------------ Here are the changes found in Patchwork_145641v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@device_reset@unbind-reset-rebind: - shard-tglu: [PASS][7] -> [ABORT][8] ([i915#12817] / [i915#5507]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-tglu-6/igt@device_reset@unbind-reset-rebind.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-2/igt@device_reset@unbind-reset-rebind.html * igt@drm_fdinfo@virtual-busy-idle: - shard-dg2: NOTRUN -> [SKIP][9] ([i915#8414]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@drm_fdinfo@virtual-busy-idle.html * igt@gem_ccs@block-multicopy-compressed: - shard-tglu: NOTRUN -> [SKIP][10] ([i915#9323]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@gem_ccs@block-multicopy-compressed.html * igt@gem_ccs@suspend-resume: - shard-rkl: NOTRUN -> [SKIP][11] ([i915#9323]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@gem_ccs@suspend-resume.html * igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-lmem0-lmem0: - shard-dg2: NOTRUN -> [INCOMPLETE][12] ([i915#12392] / [i915#13356]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-2/igt@gem_ccs@suspend-resume@xmajor-compressed-compfmt0-lmem0-lmem0.html * igt@gem_close_race@multigpu-basic-process: - shard-dg2-9: NOTRUN -> [SKIP][13] ([i915#7697]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_close_race@multigpu-basic-process.html * igt@gem_close_race@multigpu-basic-threads: - shard-dg2: NOTRUN -> [SKIP][14] ([i915#7697]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_close_race@multigpu-basic-threads.html * igt@gem_ctx_freq@sysfs: - shard-dg2: [PASS][15] -> [FAIL][16] ([i915#9561]) +1 other test fail [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-5/igt@gem_ctx_freq@sysfs.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-11/igt@gem_ctx_freq@sysfs.html * igt@gem_ctx_isolation@preservation-s3: - shard-dg1: [PASS][17] -> [INCOMPLETE][18] ([i915#12353]) +1 other test incomplete [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-19/igt@gem_ctx_isolation@preservation-s3.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-13/igt@gem_ctx_isolation@preservation-s3.html * igt@gem_ctx_persistence@engines-mixed-process@vcs1: - shard-mtlp: [PASS][19] -> [DMESG-WARN][20] ([i915#13723]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-mtlp-1/igt@gem_ctx_persistence@engines-mixed-process@vcs1.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-7/igt@gem_ctx_persistence@engines-mixed-process@vcs1.html * igt@gem_ctx_persistence@heartbeat-close: - shard-dg2: NOTRUN -> [SKIP][21] ([i915#8555]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_ctx_persistence@heartbeat-close.html * igt@gem_ctx_sseu@engines: - shard-dg2-9: NOTRUN -> [SKIP][22] ([i915#280]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_ctx_sseu@engines.html * igt@gem_ctx_sseu@invalid-args: - shard-dg2: NOTRUN -> [SKIP][23] ([i915#280]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@gem_ctx_sseu@invalid-args.html * igt@gem_ctx_sseu@invalid-sseu: - shard-tglu-1: NOTRUN -> [SKIP][24] ([i915#280]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@gem_ctx_sseu@invalid-sseu.html * igt@gem_ctx_sseu@mmap-args: - shard-tglu: NOTRUN -> [SKIP][25] ([i915#280]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@gem_ctx_sseu@mmap-args.html * igt@gem_eio@hibernate: - shard-rkl: NOTRUN -> [ABORT][26] ([i915#7975]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-3/igt@gem_eio@hibernate.html * igt@gem_eio@in-flight-internal-10ms: - shard-mtlp: [PASS][27] -> [ABORT][28] ([i915#13193]) +3 other tests abort [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-mtlp-1/igt@gem_eio@in-flight-internal-10ms.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-7/igt@gem_eio@in-flight-internal-10ms.html * igt@gem_exec_fence@submit3: - shard-dg2: NOTRUN -> [SKIP][29] ([i915#4812]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_exec_fence@submit3.html * igt@gem_exec_fence@syncobj-backward-timeline-chain-engines: - shard-snb: NOTRUN -> [SKIP][30] +6 other tests skip [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-snb2/igt@gem_exec_fence@syncobj-backward-timeline-chain-engines.html * igt@gem_exec_flush@basic-wb-pro-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_145641v1/shard-dg2-3/igt@gem_exec_flush@basic-wb-pro-default.html * igt@gem_exec_flush@basic-wb-rw-before-default: - shard-dg2-9: NOTRUN -> [SKIP][32] ([i915#3539] / [i915#4852]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_exec_flush@basic-wb-rw-before-default.html * igt@gem_exec_reloc@basic-gtt-cpu-active: - shard-dg2-9: NOTRUN -> [SKIP][33] ([i915#3281]) +3 other tests skip [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_exec_reloc@basic-gtt-cpu-active.html * igt@gem_exec_reloc@basic-gtt-read: - shard-dg2: NOTRUN -> [SKIP][34] ([i915#3281]) +7 other tests skip [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_exec_reloc@basic-gtt-read.html * igt@gem_exec_reloc@basic-gtt-wc-noreloc: - shard-rkl: NOTRUN -> [SKIP][35] ([i915#3281]) +1 other test skip [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html * igt@gem_exec_schedule@preempt-queue: - shard-dg2-9: NOTRUN -> [SKIP][36] ([i915#4537] / [i915#4812]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_exec_schedule@preempt-queue.html * igt@gem_exec_schedule@semaphore-power: - shard-dg2: NOTRUN -> [SKIP][37] ([i915#4537] / [i915#4812]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_exec_schedule@semaphore-power.html * igt@gem_exec_suspend@basic-s4-devices: - shard-dg2-9: NOTRUN -> [ABORT][38] ([i915#7975]) +1 other test abort [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_exec_suspend@basic-s4-devices.html * igt@gem_fenced_exec_thrash@no-spare-fences-busy-interruptible: - shard-dg2: NOTRUN -> [SKIP][39] ([i915#4860]) +1 other test skip [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@gem_fenced_exec_thrash@no-spare-fences-busy-interruptible.html * igt@gem_huc_copy@huc-copy: - shard-tglu: NOTRUN -> [SKIP][40] ([i915#2190]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@heavy-multi: - shard-rkl: NOTRUN -> [SKIP][41] ([i915#4613]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@gem_lmem_swapping@heavy-multi.html * igt@gem_lmem_swapping@heavy-random: - shard-glk: NOTRUN -> [SKIP][42] ([i915#4613]) +2 other tests skip [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk3/igt@gem_lmem_swapping@heavy-random.html * igt@gem_lmem_swapping@heavy-verify-random: - shard-tglu: NOTRUN -> [SKIP][43] ([i915#4613]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@gem_lmem_swapping@heavy-verify-random.html * igt@gem_lmem_swapping@parallel-multi: - shard-tglu-1: NOTRUN -> [SKIP][44] ([i915#4613]) +1 other test skip [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@gem_lmem_swapping@parallel-multi.html * igt@gem_mmap_gtt@hang-user: - shard-dg2-9: NOTRUN -> [SKIP][45] ([i915#4077]) +2 other tests skip [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_mmap_gtt@hang-user.html * igt@gem_mmap_gtt@pf-nonblock: - shard-dg2: NOTRUN -> [SKIP][46] ([i915#4077]) +7 other tests skip [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_mmap_gtt@pf-nonblock.html * igt@gem_mmap_wc@invalid-flags: - shard-dg2: NOTRUN -> [SKIP][47] ([i915#4083]) +5 other tests skip [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@gem_mmap_wc@invalid-flags.html * igt@gem_mmap_wc@write-wc-read-gtt: - shard-dg2-9: NOTRUN -> [SKIP][48] ([i915#4083]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_mmap_wc@write-wc-read-gtt.html * igt@gem_partial_pwrite_pread@reads: - shard-dg2-9: NOTRUN -> [SKIP][49] ([i915#3282]) +2 other tests skip [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_partial_pwrite_pread@reads.html * igt@gem_partial_pwrite_pread@writes-after-reads-uncached: - shard-rkl: NOTRUN -> [SKIP][50] ([i915#3282]) +3 other tests skip [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html * igt@gem_pread@exhaustion: - shard-tglu: NOTRUN -> [WARN][51] ([i915#2658]) [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@gem_pread@exhaustion.html * igt@gem_pread@uncached: - shard-dg2: NOTRUN -> [SKIP][52] ([i915#3282]) +1 other test skip [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@gem_pread@uncached.html * igt@gem_pxp@protected-raw-src-copy-not-readible: - shard-dg2: NOTRUN -> [SKIP][53] ([i915#4270]) +2 other tests skip [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_pxp@protected-raw-src-copy-not-readible.html * igt@gem_pxp@reject-modify-context-protection-off-2: - shard-rkl: [PASS][54] -> [TIMEOUT][55] ([i915#12917] / [i915#12964]) +1 other test timeout [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-8/igt@gem_pxp@reject-modify-context-protection-off-2.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-7/igt@gem_pxp@reject-modify-context-protection-off-2.html * igt@gem_pxp@verify-pxp-key-change-after-suspend-resume: - shard-rkl: [PASS][56] -> [SKIP][57] ([i915#4270]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-8/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-2/igt@gem_pxp@verify-pxp-key-change-after-suspend-resume.html * igt@gem_pxp@verify-pxp-stale-buf-execution: - shard-dg2-9: NOTRUN -> [SKIP][58] ([i915#4270]) +1 other test skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_pxp@verify-pxp-stale-buf-execution.html * igt@gem_render_copy@y-tiled-ccs-to-yf-tiled: - shard-dg2-9: NOTRUN -> [SKIP][59] ([i915#5190] / [i915#8428]) +1 other test skip [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gem_render_copy@y-tiled-ccs-to-yf-tiled.html * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled: - shard-dg2: NOTRUN -> [SKIP][60] ([i915#5190] / [i915#8428]) +6 other tests skip [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled.html * igt@gem_set_tiling_vs_blt@tiled-to-tiled: - shard-dg2: NOTRUN -> [SKIP][61] ([i915#4079]) +1 other test skip [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html * igt@gem_userptr_blits@dmabuf-sync: - shard-glk: NOTRUN -> [SKIP][62] ([i915#3323]) [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk5/igt@gem_userptr_blits@dmabuf-sync.html * igt@gem_userptr_blits@forbidden-operations: - shard-dg2: NOTRUN -> [SKIP][63] ([i915#3282] / [i915#3297]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@gem_userptr_blits@forbidden-operations.html * igt@gem_userptr_blits@readonly-pwrite-unsync: - shard-tglu: NOTRUN -> [SKIP][64] ([i915#3297]) [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@gem_userptr_blits@readonly-pwrite-unsync.html - shard-mtlp: NOTRUN -> [SKIP][65] ([i915#3297]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-6/igt@gem_userptr_blits@readonly-pwrite-unsync.html - shard-dg2: NOTRUN -> [SKIP][66] ([i915#3297]) [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gem_userptr_blits@readonly-pwrite-unsync.html * igt@gem_userptr_blits@sd-probe: - shard-dg2: NOTRUN -> [SKIP][67] ([i915#3297] / [i915#4958]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@gem_userptr_blits@sd-probe.html * igt@gem_userptr_blits@unsync-overlap: - shard-tglu-1: NOTRUN -> [SKIP][68] ([i915#3297]) +1 other test skip [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@gem_userptr_blits@unsync-overlap.html * igt@gen3_render_tiledx_blits: - shard-dg2-9: NOTRUN -> [SKIP][69] +2 other tests skip [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gen3_render_tiledx_blits.html * igt@gen7_exec_parse@basic-rejected: - shard-dg2: NOTRUN -> [SKIP][70] +8 other tests skip [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@gen7_exec_parse@basic-rejected.html * igt@gen9_exec_parse@allowed-single: - shard-glk: [PASS][71] -> [ABORT][72] ([i915#5566]) [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-glk1/igt@gen9_exec_parse@allowed-single.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk8/igt@gen9_exec_parse@allowed-single.html * igt@gen9_exec_parse@bb-chained: - shard-tglu-1: NOTRUN -> [SKIP][73] ([i915#2527] / [i915#2856]) +1 other test skip [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@gen9_exec_parse@bb-chained.html * igt@gen9_exec_parse@bb-start-cmd: - shard-tglu: NOTRUN -> [SKIP][74] ([i915#2527] / [i915#2856]) +1 other test skip [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@gen9_exec_parse@bb-start-cmd.html - shard-mtlp: NOTRUN -> [SKIP][75] ([i915#2856]) [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-6/igt@gen9_exec_parse@bb-start-cmd.html * igt@gen9_exec_parse@shadow-peek: - shard-dg2-9: NOTRUN -> [SKIP][76] ([i915#2856]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@gen9_exec_parse@shadow-peek.html * igt@gen9_exec_parse@unaligned-access: - shard-dg2: NOTRUN -> [SKIP][77] ([i915#2856]) +2 other tests skip [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@gen9_exec_parse@unaligned-access.html * igt@i915_module_load@reload-with-fault-injection: - shard-dg2: [PASS][78] -> [ABORT][79] ([i915#10887] / [i915#9820]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-4/igt@i915_module_load@reload-with-fault-injection.html [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@i915_module_load@reload-with-fault-injection.html * igt@i915_pm_freq_api@freq-suspend: - shard-tglu-1: NOTRUN -> [SKIP][80] ([i915#8399]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@i915_pm_freq_api@freq-suspend.html * igt@i915_pm_rc6_residency@rc6-fence: - shard-tglu: NOTRUN -> [WARN][81] ([i915#2681]) +1 other test warn [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-fence.html * igt@i915_pm_rc6_residency@rc6-idle: - shard-dg1: [PASS][82] -> [FAIL][83] ([i915#3591]) +1 other test fail [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-13/igt@i915_pm_rc6_residency@rc6-idle.html [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-15/igt@i915_pm_rc6_residency@rc6-idle.html * igt@i915_pm_rpm@gem-execbuf-stress-pc8: - shard-mtlp: NOTRUN -> [SKIP][84] +1 other test skip [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-6/igt@i915_pm_rpm@gem-execbuf-stress-pc8.html * igt@i915_pm_rps@min-max-config-idle: - shard-dg2-9: NOTRUN -> [SKIP][85] ([i915#11681] / [i915#6621]) +1 other test skip [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@i915_pm_rps@min-max-config-idle.html * igt@i915_suspend@basic-s3-without-i915: - shard-tglu: NOTRUN -> [INCOMPLETE][86] ([i915#7443]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@i915_suspend@basic-s3-without-i915.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-mtlp: NOTRUN -> [SKIP][87] ([i915#4077]) +1 other test skip [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-6/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-a-hdmi-a-3-y-rc-ccs-cc: - shard-dg1: NOTRUN -> [SKIP][88] ([i915#8709]) +3 other tests skip [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-13/igt@kms_async_flips@async-flip-with-page-flip-events-atomic@pipe-a-hdmi-a-3-y-rc-ccs-cc.html * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-3-4-mc-ccs: - shard-dg2: NOTRUN -> [SKIP][89] ([i915#8709]) +7 other tests skip [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-5/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-3-4-mc-ccs.html * igt@kms_async_flips@invalid-async-flip-atomic: - shard-dg2: NOTRUN -> [SKIP][90] ([i915#12967]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_async_flips@invalid-async-flip-atomic.html * igt@kms_atomic@plane-primary-overlay-mutable-zpos: - shard-tglu: NOTRUN -> [SKIP][91] ([i915#9531]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-a-hdmi-a-4: - shard-dg1: [PASS][92] -> [FAIL][93] ([i915#5956]) +1 other test fail [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-14/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-a-hdmi-a-4.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-16/igt@kms_atomic_transition@plane-all-modeset-transition-fencing@pipe-a-hdmi-a-4.html * igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels: - shard-tglu-1: NOTRUN -> [SKIP][94] ([i915#1769] / [i915#3555]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1: - shard-tglu: [PASS][95] -> [FAIL][96] ([i915#11808]) +1 other test fail [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-tglu-2/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-4/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html * igt@kms_big_fb@4-tiled-8bpp-rotate-180: - shard-tglu-1: NOTRUN -> [SKIP][97] ([i915#5286]) +1 other test skip [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip: - shard-rkl: NOTRUN -> [SKIP][98] ([i915#5286]) [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-tglu: NOTRUN -> [SKIP][99] ([i915#5286]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_fb@y-tiled-addfb: - shard-dg2: NOTRUN -> [SKIP][100] ([i915#5190]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-1/igt@kms_big_fb@y-tiled-addfb.html * igt@kms_big_fb@y-tiled-addfb-size-overflow: - shard-dg2-9: NOTRUN -> [SKIP][101] ([i915#5190]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_big_fb@y-tiled-addfb-size-overflow.html * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip: - shard-dg2: NOTRUN -> [SKIP][102] ([i915#4538] / [i915#5190]) +7 other tests skip [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html * igt@kms_big_fb@yf-tiled-64bpp-rotate-270: - shard-dg2-9: NOTRUN -> [SKIP][103] ([i915#4538] / [i915#5190]) +2 other tests skip [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-2: - shard-dg2-9: NOTRUN -> [SKIP][104] ([i915#10307] / [i915#6095]) +14 other tests skip [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-2.html * igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-b-hdmi-a-1: - shard-tglu-1: NOTRUN -> [SKIP][105] ([i915#6095]) +39 other tests skip [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_ccs@bad-aux-stride-yf-tiled-ccs@pipe-b-hdmi-a-1.html * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1: - shard-tglu: NOTRUN -> [SKIP][106] ([i915#6095]) +29 other tests skip [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-1.html * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs: - shard-dg2: NOTRUN -> [SKIP][107] ([i915#12313]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs: - shard-dg2-9: NOTRUN -> [SKIP][108] ([i915#12313]) +1 other test skip [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html * igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-a-hdmi-a-4: - shard-dg1: NOTRUN -> [SKIP][109] ([i915#6095]) +59 other tests skip [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-15/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-a-hdmi-a-4.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_145641v1/shard-tglu-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs.html * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][111] ([i915#6095]) +12 other tests skip [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-3.html * igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][112] ([i915#6095]) +78 other tests skip [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs: - shard-rkl: NOTRUN -> [SKIP][113] ([i915#12313]) [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-a-dp-4: - shard-dg2: NOTRUN -> [SKIP][114] ([i915#10307] / [i915#6095]) +150 other tests skip [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-a-dp-4.html * igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][115] ([i915#10307] / [i915#10434] / [i915#6095]) +2 other tests skip [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-4/igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs@pipe-d-hdmi-a-1.html * igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][116] ([i915#13781]) +4 other tests skip [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1.html * igt@kms_cdclk@plane-scaling: - shard-tglu: NOTRUN -> [SKIP][117] ([i915#3742]) [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_cdclk@plane-scaling.html * igt@kms_chamelium_color@ctm-max: - shard-rkl: NOTRUN -> [SKIP][118] +1 other test skip [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-3/igt@kms_chamelium_color@ctm-max.html * igt@kms_chamelium_edid@dp-edid-resolution-list: - shard-tglu: NOTRUN -> [SKIP][119] ([i915#11151] / [i915#7828]) +3 other tests skip [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_chamelium_edid@dp-edid-resolution-list.html * igt@kms_chamelium_frames@hdmi-crc-multiple: - shard-dg2: NOTRUN -> [SKIP][120] ([i915#11151] / [i915#7828]) +4 other tests skip [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_chamelium_frames@hdmi-crc-multiple.html * igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode: - shard-rkl: NOTRUN -> [SKIP][121] ([i915#11151] / [i915#7828]) +2 other tests skip [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-3/igt@kms_chamelium_hpd@dp-hpd-enable-disable-mode.html * igt@kms_chamelium_hpd@hdmi-hpd-fast: - shard-tglu-1: NOTRUN -> [SKIP][122] ([i915#11151] / [i915#7828]) +3 other tests skip [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_chamelium_hpd@hdmi-hpd-fast.html * igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe: - shard-dg2-9: NOTRUN -> [SKIP][123] ([i915#11151] / [i915#7828]) +1 other test skip [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html * igt@kms_content_protection@atomic-dpms: - shard-dg2: NOTRUN -> [SKIP][124] ([i915#7118] / [i915#9424]) [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_content_protection@atomic-dpms.html * igt@kms_content_protection@dp-mst-lic-type-1: - shard-rkl: NOTRUN -> [SKIP][125] ([i915#3116]) [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-3/igt@kms_content_protection@dp-mst-lic-type-1.html * igt@kms_content_protection@dp-mst-type-0: - shard-tglu-1: NOTRUN -> [SKIP][126] ([i915#3116] / [i915#3299]) [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_content_protection@dp-mst-type-0.html * igt@kms_content_protection@legacy@pipe-a-dp-4: - shard-dg2: NOTRUN -> [FAIL][127] ([i915#7173]) [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_content_protection@legacy@pipe-a-dp-4.html * igt@kms_content_protection@lic-type-0: - shard-tglu: NOTRUN -> [SKIP][128] ([i915#6944] / [i915#9424]) +1 other test skip [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@kms_content_protection@lic-type-0.html - shard-dg2: NOTRUN -> [SKIP][129] ([i915#9424]) [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_content_protection@lic-type-0.html * igt@kms_content_protection@mei-interface: - shard-tglu-1: NOTRUN -> [SKIP][130] ([i915#6944] / [i915#9424]) [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_content_protection@mei-interface.html * igt@kms_cursor_crc@cursor-offscreen-32x32: - shard-rkl: NOTRUN -> [SKIP][131] ([i915#3555]) [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_cursor_crc@cursor-offscreen-32x32.html * igt@kms_cursor_crc@cursor-offscreen-512x512: - shard-dg2-9: NOTRUN -> [SKIP][132] ([i915#13049]) [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_cursor_crc@cursor-offscreen-512x512.html * igt@kms_cursor_crc@cursor-random-32x32: - shard-tglu: NOTRUN -> [SKIP][133] ([i915#3555]) +3 other tests skip [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@kms_cursor_crc@cursor-random-32x32.html * igt@kms_cursor_crc@cursor-random-512x512: - shard-rkl: NOTRUN -> [SKIP][134] ([i915#13049]) [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_cursor_crc@cursor-random-512x512.html * igt@kms_cursor_crc@cursor-rapid-movement-max-size: - shard-dg2: NOTRUN -> [SKIP][135] ([i915#3555]) +6 other tests skip [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html * igt@kms_cursor_crc@cursor-sliding-512x170: - shard-dg2: NOTRUN -> [SKIP][136] ([i915#13049]) +1 other test skip [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_cursor_crc@cursor-sliding-512x170.html * igt@kms_cursor_legacy@cursor-vs-flip-toggle: - shard-rkl: [PASS][137] -> [DMESG-WARN][138] ([i915#12964]) +6 other tests dmesg-warn [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-8/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-2/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic: - shard-dg2-9: NOTRUN -> [SKIP][139] ([i915#13046] / [i915#5354]) +2 other tests skip [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic: - shard-dg2: NOTRUN -> [SKIP][140] ([i915#13046] / [i915#5354]) +3 other tests skip [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size: - shard-dg2: NOTRUN -> [SKIP][141] ([i915#4103] / [i915#4213]) [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html * igt@kms_display_modes@extended-mode-basic: - shard-dg2-9: NOTRUN -> [SKIP][142] ([i915#13691]) [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_display_modes@extended-mode-basic.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc: - shard-tglu-1: NOTRUN -> [SKIP][143] ([i915#1769] / [i915#3555] / [i915#3804]) [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][144] ([i915#3804]) [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-7/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html - shard-tglu-1: NOTRUN -> [SKIP][145] ([i915#3804]) [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html * igt@kms_dp_aux_dev: - shard-tglu-1: NOTRUN -> [SKIP][146] ([i915#1257]) [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_dp_aux_dev.html * igt@kms_dp_link_training@non-uhbr-sst: - shard-rkl: NOTRUN -> [SKIP][147] ([i915#13749]) [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_dp_link_training@non-uhbr-sst.html * igt@kms_draw_crc@draw-method-mmap-wc: - shard-dg2: NOTRUN -> [SKIP][148] ([i915#8812]) [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_draw_crc@draw-method-mmap-wc.html * igt@kms_dsc@dsc-basic: - shard-dg2: NOTRUN -> [SKIP][149] ([i915#3555] / [i915#3840]) [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_dsc@dsc-basic.html * igt@kms_dsc@dsc-with-formats: - shard-dg2-9: NOTRUN -> [SKIP][150] ([i915#3555] / [i915#3840]) [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_dsc@dsc-with-formats.html * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats: - shard-tglu-1: NOTRUN -> [SKIP][151] ([i915#2575]) [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-different-formats.html * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area: - shard-dg2-9: NOTRUN -> [SKIP][152] ([i915#13798]) [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html * igt@kms_fbcon_fbt@psr-suspend: - shard-dg2: NOTRUN -> [SKIP][153] ([i915#3469]) [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_fbcon_fbt@psr-suspend.html * igt@kms_feature_discovery@display-2x: - shard-dg2: NOTRUN -> [SKIP][154] ([i915#1839]) [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_feature_discovery@display-2x.html * igt@kms_feature_discovery@dp-mst: - shard-dg2: NOTRUN -> [SKIP][155] ([i915#9337]) [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_feature_discovery@dp-mst.html * igt@kms_flip@2x-flip-vs-dpms: - shard-tglu-1: NOTRUN -> [SKIP][156] ([i915#3637]) +1 other test skip [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_flip@2x-flip-vs-dpms.html * igt@kms_flip@2x-flip-vs-fences-interruptible: - shard-tglu: NOTRUN -> [SKIP][157] ([i915#3637]) +2 other tests skip [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@kms_flip@2x-flip-vs-fences-interruptible.html - shard-dg2: NOTRUN -> [SKIP][158] ([i915#8381]) [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_flip@2x-flip-vs-fences-interruptible.html * igt@kms_flip@2x-flip-vs-panning-vs-hang: - shard-dg2: NOTRUN -> [SKIP][159] ([i915#9934]) +5 other tests skip [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_flip@2x-flip-vs-panning-vs-hang.html * igt@kms_flip@2x-modeset-vs-vblank-race: - shard-rkl: NOTRUN -> [SKIP][160] ([i915#9934]) +1 other test skip [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_flip@2x-modeset-vs-vblank-race.html * igt@kms_flip@2x-wf_vblank-ts-check-interruptible: - shard-snb: [PASS][161] -> [FAIL][162] ([i915#11832] / [i915#13734]) [161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-snb6/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-snb2/igt@kms_flip@2x-wf_vblank-ts-check-interruptible.html * igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ab-vga1-hdmi-a1: - shard-snb: [PASS][163] -> [FAIL][164] ([i915#11832]) [163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-snb6/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ab-vga1-hdmi-a1.html [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-snb2/igt@kms_flip@2x-wf_vblank-ts-check-interruptible@ab-vga1-hdmi-a1.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-glk: NOTRUN -> [INCOMPLETE][165] ([i915#12745] / [i915#4839]) [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk5/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1: - shard-glk: NOTRUN -> [INCOMPLETE][166] ([i915#12745]) [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk5/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html * igt@kms_flip@plain-flip-fb-recreate: - shard-tglu: [PASS][167] -> [FAIL][168] ([Intel XE#1522]) +1 other test fail [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-tglu-5/igt@kms_flip@plain-flip-fb-recreate.html [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_flip@plain-flip-fb-recreate.html * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode: - shard-rkl: NOTRUN -> [SKIP][169] ([i915#2672]) +1 other test skip [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling: - shard-dg2: NOTRUN -> [SKIP][170] ([i915#2672] / [i915#3555]) +1 other test skip [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode: - shard-dg2: NOTRUN -> [SKIP][171] ([i915#2672]) +1 other test skip [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling: - shard-tglu: NOTRUN -> [SKIP][172] ([i915#2587] / [i915#2672] / [i915#3555]) [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode: - shard-tglu: NOTRUN -> [SKIP][173] ([i915#2587] / [i915#2672]) [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling: - shard-rkl: NOTRUN -> [SKIP][174] ([i915#2672] / [i915#3555]) +1 other test skip [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt: - shard-dg2: [PASS][175] -> [FAIL][176] ([i915#6880]) +1 other test fail [175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-7/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt: - shard-dg2-9: NOTRUN -> [FAIL][177] ([i915#6880]) [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-pwrite: - shard-mtlp: NOTRUN -> [SKIP][178] ([i915#1825]) [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbc-2p-rte: - shard-dg2: NOTRUN -> [SKIP][179] ([i915#5354]) +20 other tests skip [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-2p-rte.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu: - shard-dg2-9: NOTRUN -> [SKIP][180] ([i915#3458]) +5 other tests skip [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt: - shard-dg2-9: NOTRUN -> [SKIP][181] ([i915#5354]) +10 other tests skip [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt: - shard-rkl: NOTRUN -> [SKIP][182] ([i915#1825]) +8 other tests skip [182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc: - shard-tglu-1: NOTRUN -> [SKIP][183] +38 other tests skip [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-1p-rte: - shard-dg2: NOTRUN -> [SKIP][184] ([i915#3458]) +14 other tests skip [184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-1p-rte.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-gtt: - shard-dg2-9: NOTRUN -> [SKIP][185] ([i915#8708]) +4 other tests skip [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc: - shard-glk: NOTRUN -> [SKIP][186] +172 other tests skip [186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-farfromfence-mmap-gtt: - shard-dg2: NOTRUN -> [SKIP][187] ([i915#8708]) +12 other tests skip [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-farfromfence-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-rgb565-draw-render: - shard-rkl: NOTRUN -> [SKIP][188] ([i915#3023]) +3 other tests skip [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html * igt@kms_hdr@invalid-metadata-sizes: - shard-dg2: [PASS][189] -> [SKIP][190] ([i915#3555] / [i915#8228]) +1 other test skip [189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-11/igt@kms_hdr@invalid-metadata-sizes.html [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-6/igt@kms_hdr@invalid-metadata-sizes.html * igt@kms_hdr@static-toggle-dpms: - shard-tglu-1: NOTRUN -> [SKIP][191] ([i915#3555] / [i915#8228]) [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_hdr@static-toggle-dpms.html * igt@kms_hdr@static-toggle-suspend: - shard-dg2-9: NOTRUN -> [SKIP][192] ([i915#3555] / [i915#8228]) [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_hdr@static-toggle-suspend.html * igt@kms_joiner@basic-big-joiner: - shard-tglu: NOTRUN -> [SKIP][193] ([i915#10656]) +1 other test skip [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@kms_joiner@basic-big-joiner.html - shard-dg2: NOTRUN -> [SKIP][194] ([i915#10656]) [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_joiner@basic-big-joiner.html * igt@kms_joiner@basic-force-big-joiner: - shard-dg2: NOTRUN -> [SKIP][195] ([i915#12388]) [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_joiner@basic-force-big-joiner.html * igt@kms_joiner@basic-ultra-joiner: - shard-dg2: NOTRUN -> [SKIP][196] ([i915#12339]) [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_joiner@basic-ultra-joiner.html * igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner: - shard-tglu-1: NOTRUN -> [SKIP][197] ([i915#13522]) [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-rkl: NOTRUN -> [SKIP][198] ([i915#4070] / [i915#4816]) [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html * igt@kms_panel_fitting@atomic-fastset: - shard-tglu: NOTRUN -> [SKIP][199] ([i915#6301]) [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_panel_fitting@atomic-fastset.html * igt@kms_plane_multiple@tiling-y: - shard-dg2-9: NOTRUN -> [SKIP][200] ([i915#8806]) [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_plane_multiple@tiling-y.html * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c: - shard-rkl: NOTRUN -> [SKIP][201] ([i915#12247]) [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-8/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-c.html * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-d: - shard-mtlp: NOTRUN -> [SKIP][202] ([i915#12247]) +4 other tests skip [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-6/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-d.html * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c: - shard-dg2: NOTRUN -> [SKIP][203] ([i915#12247]) +7 other tests skip [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-c.html * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25: - shard-dg2-9: NOTRUN -> [SKIP][204] ([i915#12247] / [i915#3555] / [i915#9423]) [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d: - shard-dg2-9: NOTRUN -> [SKIP][205] ([i915#12247]) +3 other tests skip [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-d.html * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25: - shard-dg2: NOTRUN -> [SKIP][206] ([i915#12247] / [i915#6953] / [i915#9423]) +1 other test skip [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25.html * igt@kms_pm_lpsp@kms-lpsp: - shard-dg2: [PASS][207] -> [SKIP][208] ([i915#9340]) [207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-8/igt@kms_pm_lpsp@kms-lpsp.html [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_pm_lpsp@kms-lpsp.html - shard-tglu-1: NOTRUN -> [SKIP][209] ([i915#3828]) [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_pm_lpsp@kms-lpsp.html * igt@kms_pm_rpm@dpms-mode-unset-lpsp: - shard-rkl: NOTRUN -> [SKIP][210] ([i915#9519]) [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp: - shard-dg2: NOTRUN -> [SKIP][211] ([i915#9519]) [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html * igt@kms_pm_rpm@modeset-lpsp-stress: - shard-rkl: [PASS][212] -> [SKIP][213] ([i915#9519]) [212]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-7/igt@kms_pm_rpm@modeset-lpsp-stress.html [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-8/igt@kms_pm_rpm@modeset-lpsp-stress.html * igt@kms_prime@basic-modeset-hybrid: - shard-tglu-1: NOTRUN -> [SKIP][214] ([i915#6524]) +1 other test skip [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_prime@basic-modeset-hybrid.html * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf: - shard-glk: NOTRUN -> [SKIP][215] ([i915#11520]) +4 other tests skip [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk9/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf: - shard-dg2: NOTRUN -> [SKIP][216] ([i915#11520]) +5 other tests skip [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-continuous-sf.html * igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area: - shard-tglu: NOTRUN -> [SKIP][217] ([i915#11520]) +3 other tests skip [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-6/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf: - shard-rkl: NOTRUN -> [SKIP][218] ([i915#11520]) +2 other tests skip [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area: - shard-tglu-1: NOTRUN -> [SKIP][219] ([i915#11520]) +3 other tests skip [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_psr2_sf@psr2-overlay-plane-update-sf-dmg-area.html * igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area: - shard-dg2-9: NOTRUN -> [SKIP][220] ([i915#11520]) +1 other test skip [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_psr2_sf@psr2-primary-plane-update-sf-dmg-area.html * igt@kms_psr2_su@frontbuffer-xrgb8888: - shard-dg2-9: NOTRUN -> [SKIP][221] ([i915#9683]) [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_psr2_su@frontbuffer-xrgb8888.html * igt@kms_psr@fbc-pr-sprite-plane-onoff: - shard-rkl: NOTRUN -> [SKIP][222] ([i915#1072] / [i915#9732]) +4 other tests skip [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_psr@fbc-pr-sprite-plane-onoff.html * igt@kms_psr@fbc-psr-cursor-render: - shard-tglu: NOTRUN -> [SKIP][223] ([i915#9732]) +9 other tests skip [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@kms_psr@fbc-psr-cursor-render.html * igt@kms_psr@fbc-psr-sprite-mmap-cpu: - shard-dg2-9: NOTRUN -> [SKIP][224] ([i915#1072] / [i915#9732]) +6 other tests skip [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_psr@fbc-psr-sprite-mmap-cpu.html * igt@kms_psr@psr-primary-mmap-cpu: - shard-dg2: NOTRUN -> [SKIP][225] ([i915#1072] / [i915#9732]) +14 other tests skip [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_psr@psr-primary-mmap-cpu.html * igt@kms_psr@psr2-cursor-blt: - shard-tglu-1: NOTRUN -> [SKIP][226] ([i915#9732]) +9 other tests skip [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_psr@psr2-cursor-blt.html * igt@kms_rotation_crc@primary-rotation-270: - shard-dg2: NOTRUN -> [SKIP][227] ([i915#12755]) +1 other test skip [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_rotation_crc@primary-rotation-270.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-dg2: NOTRUN -> [SKIP][228] ([i915#12755] / [i915#5190]) [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_selftest@drm_framebuffer: - shard-rkl: NOTRUN -> [ABORT][229] ([i915#13179]) +1 other test abort [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@kms_selftest@drm_framebuffer.html * igt@kms_setmode@basic: - shard-dg2: [PASS][230] -> [FAIL][231] ([i915#5465]) [230]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-8/igt@kms_setmode@basic.html [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_setmode@basic.html * igt@kms_setmode@basic-clone-single-crtc: - shard-tglu-1: NOTRUN -> [SKIP][232] ([i915#3555]) +1 other test skip [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_setmode@basic-clone-single-crtc.html * igt@kms_setmode@basic@pipe-a-dp-4: - shard-dg2: NOTRUN -> [FAIL][233] ([i915#5465]) [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_setmode@basic@pipe-a-dp-4.html * igt@kms_tiled_display@basic-test-pattern: - shard-tglu-1: NOTRUN -> [SKIP][234] ([i915#8623]) [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_tiled_display@basic-test-pattern.html * igt@kms_vblank@query-idle@pipe-b-hdmi-a-1: - shard-rkl: NOTRUN -> [DMESG-WARN][235] ([i915#12964]) [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-2/igt@kms_vblank@query-idle@pipe-b-hdmi-a-1.html * igt@kms_vrr@lobf: - shard-tglu-1: NOTRUN -> [SKIP][236] ([i915#11920]) [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_vrr@lobf.html * igt@kms_vrr@max-min: - shard-tglu: NOTRUN -> [SKIP][237] ([i915#9906]) [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@kms_vrr@max-min.html - shard-dg2: NOTRUN -> [SKIP][238] ([i915#9906]) [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_vrr@max-min.html * igt@kms_writeback@writeback-fb-id: - shard-dg2: NOTRUN -> [SKIP][239] ([i915#2437]) [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@kms_writeback@writeback-fb-id.html * igt@kms_writeback@writeback-fb-id-xrgb2101010: - shard-tglu-1: NOTRUN -> [SKIP][240] ([i915#2437] / [i915#9412]) [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-1/igt@kms_writeback@writeback-fb-id-xrgb2101010.html * igt@kms_writeback@writeback-pixel-formats: - shard-glk: NOTRUN -> [SKIP][241] ([i915#2437]) [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk3/igt@kms_writeback@writeback-pixel-formats.html - shard-dg2-9: NOTRUN -> [SKIP][242] ([i915#2437] / [i915#9412]) [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@kms_writeback@writeback-pixel-formats.html * igt@perf_pmu@busy-double-start@vecs1: - shard-dg2: NOTRUN -> [FAIL][243] ([i915#4349]) +4 other tests fail [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@perf_pmu@busy-double-start@vecs1.html * igt@prime_vgem@basic-fence-mmap: - shard-dg2: NOTRUN -> [SKIP][244] ([i915#3708] / [i915#4077]) [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@prime_vgem@basic-fence-mmap.html * igt@prime_vgem@basic-write: - shard-dg2: NOTRUN -> [SKIP][245] ([i915#3291] / [i915#3708]) [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@prime_vgem@basic-write.html * igt@prime_vgem@fence-read-hang: - shard-rkl: NOTRUN -> [SKIP][246] ([i915#3708]) [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-1/igt@prime_vgem@fence-read-hang.html * igt@prime_vgem@fence-write-hang: - shard-tglu: NOTRUN -> [SKIP][247] +46 other tests skip [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@prime_vgem@fence-write-hang.html - shard-dg2: NOTRUN -> [SKIP][248] ([i915#3708]) [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-3/igt@prime_vgem@fence-write-hang.html * igt@sriov_basic@bind-unbind-vf: - shard-dg2-9: NOTRUN -> [SKIP][249] ([i915#9917]) [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-9/igt@sriov_basic@bind-unbind-vf.html * igt@tools_test@sysfs_l3_parity: - shard-dg2: NOTRUN -> [SKIP][250] ([i915#4818]) [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@tools_test@sysfs_l3_parity.html #### Possible fixes #### * igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0: - shard-dg2: [INCOMPLETE][251] ([i915#12392] / [i915#13356]) -> [PASS][252] [251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-6/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-2/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html * igt@gem_create@create-ext-cpu-access-big: - shard-dg2: [ABORT][253] ([i915#13427]) -> [PASS][254] [253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-4/igt@gem_create@create-ext-cpu-access-big.html [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-1/igt@gem_create@create-ext-cpu-access-big.html * igt@gem_eio@in-flight-10ms: - shard-mtlp: [ABORT][255] ([i915#13193]) -> [PASS][256] [255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-mtlp-7/igt@gem_eio@in-flight-10ms.html [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-6/igt@gem_eio@in-flight-10ms.html * igt@gem_pxp@create-regular-context-1: - shard-rkl: [TIMEOUT][257] ([i915#12917] / [i915#12964]) -> [PASS][258] [257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-1/igt@gem_pxp@create-regular-context-1.html [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-8/igt@gem_pxp@create-regular-context-1.html * igt@gem_pxp@fail-invalid-protected-context: - shard-rkl: [TIMEOUT][259] ([i915#12964]) -> [PASS][260] [259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-2/igt@gem_pxp@fail-invalid-protected-context.html [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-8/igt@gem_pxp@fail-invalid-protected-context.html * igt@i915_module_load@reload-with-fault-injection: - shard-glk: [ABORT][261] ([i915#9820]) -> [PASS][262] [261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-glk1/igt@i915_module_load@reload-with-fault-injection.html [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-glk9/igt@i915_module_load@reload-with-fault-injection.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-dg1: [DMESG-WARN][263] ([i915#4423]) -> [PASS][264] +1 other test pass [263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-13/igt@i915_pm_rpm@system-suspend-execbuf.html [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-18/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing: - shard-dg2: [FAIL][265] ([i915#5956]) -> [PASS][266] [265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html - shard-tglu: [FAIL][267] ([i915#11808]) -> [PASS][268] +1 other test pass [267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-tglu-9/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing.html * igt@kms_atomic_transition@plane-toggle-modeset-transition: - shard-dg1: [FAIL][269] ([i915#5956]) -> [PASS][270] [269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-19/igt@kms_atomic_transition@plane-toggle-modeset-transition.html [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-13/igt@kms_atomic_transition@plane-toggle-modeset-transition.html * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-mtlp: [FAIL][271] ([i915#5138]) -> [PASS][272] [271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-mtlp-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip: - shard-dg1: [DMESG-WARN][273] ([i915#4391] / [i915#4423]) -> [PASS][274] [273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-19/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-18/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html * igt@kms_cursor_crc@cursor-onscreen-128x42: - shard-rkl: [FAIL][275] ([i915#13566]) -> [PASS][276] +4 other tests pass [275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-128x42.html [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-128x42.html * igt@kms_cursor_crc@cursor-onscreen-128x42@pipe-a-hdmi-a-1: - shard-tglu: [FAIL][277] ([i915#13566]) -> [PASS][278] +3 other tests pass [277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-tglu-10/igt@kms_cursor_crc@cursor-onscreen-128x42@pipe-a-hdmi-a-1.html [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-tglu-8/igt@kms_cursor_crc@cursor-onscreen-128x42@pipe-a-hdmi-a-1.html * igt@kms_cursor_crc@cursor-random-128x128: - shard-mtlp: [FAIL][279] ([i915#13566]) -> [PASS][280] +2 other tests pass [279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-mtlp-1/igt@kms_cursor_crc@cursor-random-128x128.html [280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-4/igt@kms_cursor_crc@cursor-random-128x128.html * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions: - shard-snb: [SKIP][281] -> [PASS][282] [281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-snb4/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html [282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-snb4/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html * igt@kms_cursor_legacy@torture-move@pipe-b: - shard-rkl: [DMESG-WARN][283] ([i915#12964]) -> [PASS][284] +14 other tests pass [283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-1/igt@kms_cursor_legacy@torture-move@pipe-b.html [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-8/igt@kms_cursor_legacy@torture-move@pipe-b.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc: - shard-dg2: [SKIP][285] ([i915#3555]) -> [PASS][286] [285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-8/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html * igt@kms_dp_aux_dev: - shard-dg2: [SKIP][287] ([i915#1257]) -> [PASS][288] [287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-5/igt@kms_dp_aux_dev.html [288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-11/igt@kms_dp_aux_dev.html * igt@kms_flip@flip-vs-blocking-wf-vblank: - shard-dg1: [FAIL][289] -> [PASS][290] [289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-19/igt@kms_flip@flip-vs-blocking-wf-vblank.html [290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-13/igt@kms_flip@flip-vs-blocking-wf-vblank.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu: - shard-snb: [INCOMPLETE][291] -> [PASS][292] [291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-snb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-snb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu.html * igt@kms_hdr@static-toggle-dpms: - shard-dg2: [SKIP][293] ([i915#3555] / [i915#8228]) -> [PASS][294] +1 other test pass [293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-8/igt@kms_hdr@static-toggle-dpms.html [294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_hdr@static-toggle-dpms.html * igt@kms_pm_dc@dc6-dpms: - shard-mtlp: [FAIL][295] ([i915#12913]) -> [PASS][296] [295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-mtlp-2/igt@kms_pm_dc@dc6-dpms.html [296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-mtlp-7/igt@kms_pm_dc@dc6-dpms.html * igt@kms_pm_rpm@dpms-lpsp: - shard-dg2: [SKIP][297] ([i915#9519]) -> [PASS][298] +1 other test pass [297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-2/igt@kms_pm_rpm@dpms-lpsp.html [298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-4/igt@kms_pm_rpm@dpms-lpsp.html - shard-rkl: [SKIP][299] ([i915#9519]) -> [PASS][300] [299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-8/igt@kms_pm_rpm@dpms-lpsp.html [300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-2/igt@kms_pm_rpm@dpms-lpsp.html * igt@perf_pmu@most-busy-idle-check-all@rcs0: - shard-rkl: [FAIL][301] ([i915#4349]) -> [PASS][302] [301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-5/igt@perf_pmu@most-busy-idle-check-all@rcs0.html [302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-3/igt@perf_pmu@most-busy-idle-check-all@rcs0.html #### Warnings #### * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip: - shard-dg1: [SKIP][303] ([i915#4423] / [i915#4538] / [i915#5286]) -> [SKIP][304] ([i915#4538] / [i915#5286]) [303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html [304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-12/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html * igt@kms_big_fb@yf-tiled-16bpp-rotate-180: - shard-dg1: [SKIP][305] ([i915#4423] / [i915#4538]) -> [SKIP][306] ([i915#4538]) [305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg1-13/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html [306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg1-18/igt@kms_big_fb@yf-tiled-16bpp-rotate-180.html * igt@kms_content_protection@legacy: - shard-dg2: [SKIP][307] ([i915#7118] / [i915#9424]) -> [FAIL][308] ([i915#7173]) [307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-7/igt@kms_content_protection@legacy.html [308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_content_protection@legacy.html * igt@kms_content_protection@type1: - shard-dg2: [SKIP][309] ([i915#7118] / [i915#7162] / [i915#9424]) -> [SKIP][310] ([i915#7118] / [i915#9424]) [309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-10/igt@kms_content_protection@type1.html [310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-8/igt@kms_content_protection@type1.html * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-blt: - shard-dg2: [SKIP][311] ([i915#3458]) -> [SKIP][312] ([i915#10433] / [i915#3458]) +2 other tests skip [311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-7/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-blt.html [312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-blt.html * igt@kms_pm_lpsp@kms-lpsp: - shard-rkl: [SKIP][313] ([i915#9340]) -> [SKIP][314] ([i915#3828]) [313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-8/igt@kms_pm_lpsp@kms-lpsp.html [314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-7/igt@kms_pm_lpsp@kms-lpsp.html * igt@kms_pm_rpm@fences-dpms: - shard-dg2: [SKIP][315] ([i915#12916]) -> [SKIP][316] ([i915#4077]) [315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-dg2-7/igt@kms_pm_rpm@fences-dpms.html [316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-dg2-10/igt@kms_pm_rpm@fences-dpms.html * igt@perf_pmu@most-busy-idle-check-all: - shard-rkl: [FAIL][317] ([i915#4349]) -> [DMESG-WARN][318] ([i915#12964]) [317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_16202/shard-rkl-5/igt@perf_pmu@most-busy-idle-check-all.html [318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_145641v1/shard-rkl-3/igt@perf_pmu@most-busy-idle-check-all.html [Intel XE#1522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1522 [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307 [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433 [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434 [i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656 [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072 [i915#10887]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10887 [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#11808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11808 [i915#11832]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11832 [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920 [i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247 [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313 [i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339 [i915#12353]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12353 [i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388 [i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392 [i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257 [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745 [i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755 [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805 [i915#12817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12817 [i915#12913]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12913 [i915#12916]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12916 [i915#12917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12917 [i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964 [i915#12967]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12967 [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#13193]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13193 [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356 [i915#13427]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13427 [i915#13522]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13522 [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566 [i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691 [i915#13723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13723 [i915#13734]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13734 [i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749 [i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781 [i915#13798]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13798 [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769 [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839 [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190 [i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437 [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527 [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575 [i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587 [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658 [i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672 [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#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023 [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#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323 [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458 [i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469 [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539 [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555 [i915#3591]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3591 [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637 [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#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840 [i915#4070]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4070 [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#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213 [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270 [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349 [i915#4391]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4391 [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423 [i915#4537]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4537 [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538 [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613 [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812 [i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816 [i915#4818]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4818 [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#4958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4958 [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#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354 [i915#5465]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5465 [i915#5507]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5507 [i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566 [i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956 [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095 [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301 [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524 [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621 [i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880 [i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944 [i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953 [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118 [i915#7162]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7162 [i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173 [i915#7443]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7443 [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697 [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828 [i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975 [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228 [i915#8381]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8381 [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399 [i915#8414]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8414 [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428 [i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555 [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623 [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708 [i915#8709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8709 [i915#8806]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8806 [i915#8812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8812 [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323 [i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337 [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340 [i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412 [i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423 [i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424 [i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519 [i915#9531]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9531 [i915#9561]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9561 [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683 [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732 [i915#9820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9820 [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906 [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917 [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934 Build changes ------------- * Linux: CI_DRM_16202 -> Patchwork_145641v1 CI-20190529: 20190529 CI_DRM_16202: 4e4a83bc30b77bb710641f0b43e6098bd04c5044 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8252: e266af0feec344315b07d8af186226e467d02ecf @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_145641v1: 4e4a83bc30b77bb710641f0b43e6098bd04c5044 @ 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_145641v1/index.html [-- Attachment #2: Type: text/html, Size: 107026 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/3] drm/i915/display: add some sub-structs for clarity 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula ` (6 preceding siblings ...) 2025-03-01 1:15 ` ✗ i915.CI.Full: failure " Patchwork @ 2025-03-03 10:15 ` Jani Nikula 7 siblings, 0 replies; 12+ messages in thread From: Jani Nikula @ 2025-03-03 10:15 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: imre.deak, Suraj Kandpal On Fri, 28 Feb 2025, Jani Nikula <jani.nikula@intel.com> wrote: > Jani Nikula (3): > drm/i915/mst: add mst sub-struct to struct intel_dp > drm/i915/mst: add mst sub-struct to struct intel_connector > drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port Thanks for the reviews, pushed to din. BR, Jani. > > drivers/gpu/drm/i915/display/g4x_dp.c | 2 +- > drivers/gpu/drm/i915/display/g4x_hdmi.c | 2 +- > .../gpu/drm/i915/display/intel_connector.c | 4 +- > drivers/gpu/drm/i915/display/intel_ddi.c | 6 +- > .../drm/i915/display/intel_display_debugfs.c | 6 +- > .../drm/i915/display/intel_display_types.h | 44 ++--- > drivers/gpu/drm/i915/display/intel_dp.c | 38 ++--- > drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 8 +- > drivers/gpu/drm/i915/display/intel_dp_mst.c | 154 +++++++++--------- > drivers/gpu/drm/i915/display/intel_hdcp.c | 94 +++++------ > 10 files changed, 180 insertions(+), 178 deletions(-) -- Jani Nikula, Intel ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2025-03-03 10:15 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-02-28 12:49 [PATCH 0/3] drm/i915/display: add some sub-structs for clarity Jani Nikula 2025-02-28 12:49 ` [PATCH 1/3] drm/i915/mst: add mst sub-struct to struct intel_dp Jani Nikula 2025-02-28 15:52 ` Imre Deak 2025-02-28 12:49 ` [PATCH 2/3] drm/i915/mst: add mst sub-struct to struct intel_connector Jani Nikula 2025-02-28 15:52 ` Imre Deak 2025-02-28 12:49 ` [PATCH 3/3] drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port Jani Nikula 2025-02-28 15:13 ` Kandpal, Suraj 2025-02-28 13:52 ` ✗ Fi.CI.BUILD: warning for drm/i915/display: add some sub-structs for clarity Patchwork 2025-02-28 13:53 ` ✗ Fi.CI.CHECKPATCH: " Patchwork 2025-02-28 14:15 ` ✓ i915.CI.BAT: success " Patchwork 2025-03-01 1:15 ` ✗ i915.CI.Full: failure " Patchwork 2025-03-03 10:15 ` [PATCH 0/3] " Jani Nikula
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox