mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
drm/i915/dp_mst: Queue modeset-retry after a failed payload BW allocation
If the MST payload allocation failed, enabling the output also failed most probably, so send a uevent accordinly requesting the user to retry the modeset. While at it remove the driver specific debug message, there is already one printed by drm_dp_add_payload_part1(). Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240722165503.2084999-12-imre.deak@intel.com
This commit is contained in:
parent
8f1fe39ded
commit
9d1f218ddc
@ -1158,8 +1158,7 @@ static void intel_mst_pre_enable_dp(struct intel_atomic_state *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)
|
||||
drm_dbg_kms(&dev_priv->drm, "Failed to create MST payload for %s: %d\n",
|
||||
connector->base.name, ret);
|
||||
intel_dp_queue_modeset_retry_for_link(state, &dig_port->base, pipe_config);
|
||||
|
||||
/*
|
||||
* Before Gen 12 this is not done as part of
|
||||
@ -1223,6 +1222,7 @@ static void intel_mst_enable_dp(struct intel_atomic_state *state,
|
||||
enum transcoder trans = pipe_config->cpu_transcoder;
|
||||
bool first_mst_stream = intel_dp->active_mst_links == 1;
|
||||
struct intel_crtc *pipe_crtc;
|
||||
int ret;
|
||||
|
||||
drm_WARN_ON(&dev_priv->drm, pipe_config->has_pch_encoder);
|
||||
|
||||
@ -1254,8 +1254,11 @@ static void intel_mst_enable_dp(struct intel_atomic_state *state,
|
||||
if (first_mst_stream)
|
||||
intel_ddi_wait_for_fec_status(encoder, pipe_config, true);
|
||||
|
||||
drm_dp_add_payload_part2(&intel_dp->mst_mgr,
|
||||
drm_atomic_get_mst_payload_state(mst_state, connector->port));
|
||||
ret = drm_dp_add_payload_part2(&intel_dp->mst_mgr,
|
||||
drm_atomic_get_mst_payload_state(mst_state,
|
||||
connector->port));
|
||||
if (ret < 0)
|
||||
intel_dp_queue_modeset_retry_for_link(state, &dig_port->base, pipe_config);
|
||||
|
||||
if (DISPLAY_VER(dev_priv) >= 12)
|
||||
intel_de_rmw(dev_priv, hsw_chicken_trans_reg(dev_priv, trans),
|
||||
|
Loading…
Reference in New Issue
Block a user