lkml.org 
[lkml]   [2021]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 3/7] drm/msm/dp: reset aux controller after dp_aux_cmd_fifo_tx() failed.
    Quoting Kuogee Hsieh (2021-07-06 10:20:16)
    > 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>
    > ---
    > 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 4a3293b..eb40d84 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))

    How do we avoid resetting aux when hpd is unplugged and then plugged
    back in during an aux transfer?

    > + dp_catalog_aux_reset(aux->catalog);
    > } else {
    > aux->retry_cnt = 0;
    > switch (aux->aux_error_num) {
    > --
    > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
    > a Linux Foundation Collaborative Project
    >

    \
     
     \ /
      Last update: 2021-07-08 09:35    [W:3.994 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site