drm/msm/dp: reset aux controller after dp_aux_cmd_fifo_tx() failed.
authorKuogee Hsieh <khsieh@codeaurora.org>
Thu, 5 Aug 2021 20:44:52 +0000 (13:44 -0700)
committerRob Clark <robdclark@chromium.org>
Tue, 10 Aug 2021 21:48:32 +0000 (14:48 -0700)
commit0b324564ff74fa0556002be8fbbace556b9b2ad0
tree727302a3b352077011cf3e763aeba5bf6151fa89
parent4b85d405cfe938ae7ad61656484ae88dee289e3b
drm/msm/dp: reset aux controller after dp_aux_cmd_fifo_tx() failed.

Aux hardware calibration sequence requires resetting the aux controller
in order for the new setting to take effect. However resetting the AUX
controller will also clear HPD interrupt status which may accidentally
cause pending unplug interrupt to get lost. Therefore reset aux
controller only when link is in connection state when dp_aux_cmd_fifo_tx()
fail. This fixes Link Layer CTS cases 4.2.1.1 and 4.2.1.2.

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