drm/msm/dp: do not end dp link training until video is ready
authorKuogee Hsieh <khsieh@codeaurora.org>
Thu, 5 Aug 2021 20:44:55 +0000 (13:44 -0700)
committerRob Clark <robdclark@chromium.org>
Tue, 10 Aug 2021 21:49:54 +0000 (14:49 -0700)
commit2e0adc765d884cc080baa501e250bfad97035b09
treef8b6df90fb21bd6c083d6fd482029d1c90ec067e
parent7948fe12d47a946fb8025a0534c900e3dd4b5839
drm/msm/dp: do not end dp link training until video is ready

Initialize both pre-emphasis and voltage swing level to 0 before
start link training and do not end link training until video is
ready to reduce the period between end of link training and video
start to meet Link Layer CTS requirement.  Some dongle main link
symbol may become unlocked again if host did not end link training
soon enough after completion of link training 2. Host have to re
train main link if loss of symbol locked detected before end link
training so that the coming video stream can be transmitted to sink
properly. This fixes Link Layer CTS cases 4.3.2.1, 4.3.2.2, 4.3.2.3
and 4.3.2.4.

Changes in v3:
-- merge retrain link if loss of symbol locked happen into this patch
-- replace dp_ctrl_loss_symbol_lock() with dp_ctrl_channel_eq_ok()

Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/1628196295-7382-7-git-send-email-khsieh@codeaurora.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/dp/dp_ctrl.c