lkml.org 
[lkml]   [2021]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.14 143/252] drm/msm/dp: reset aux controller after dp_aux_cmd_fifo_tx() failed.
    Date
    From: Kuogee Hsieh <khsieh@codeaurora.org>

    [ Upstream commit 0b324564ff74fa0556002be8fbbace556b9b2ad0 ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/msm/dp/dp_aux.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/gpu/drm/msm/dp/dp_aux.c b/drivers/gpu/drm/msm/dp/dp_aux.c
    index 4a3293b590b0..eb40d8413bca 100644
    --- a/drivers/gpu/drm/msm/dp/dp_aux.c
    +++ b/drivers/gpu/drm/msm/dp/dp_aux.c
    @@ -353,6 +353,9 @@ static ssize_t dp_aux_transfer(struct drm_dp_aux *dp_aux,
    if (!(aux->retry_cnt % MAX_AUX_RETRIES))
    dp_catalog_aux_update_cfg(aux->catalog);
    }
    + /* reset aux if link is in connected state */
    + if (dp_catalog_link_is_connected(aux->catalog))
    + dp_catalog_aux_reset(aux->catalog);
    } else {
    aux->retry_cnt = 0;
    switch (aux->aux_error_num) {
    --
    2.30.2
    \
     
     \ /
      Last update: 2021-09-09 13:55    [W:2.504 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site