[PATCH v5] drm/msm/dp: dp_link_parse_sink_count() return immediately if aux read failed

Stephen Boyd swboyd at chromium.org
Thu Dec 9 03:01:36 UTC 2021


Quoting Kuogee Hsieh (2021-12-08 09:41:02)
> Add checking aux read/write status at both dp_link_parse_sink_count()
> and dp_link_parse_sink_status_filed() to avoid long timeout delay if
> dp aux read/write failed at timeout due to cable unplugged.
>
> Changes in V4:
> -- split this patch as stand alone patch
>
> Changes in v5:
> -- rebase on msm-next branch
>
> Signed-off-by: Kuogee Hsieh <quic_khsieh at quicinc.com>
>

Remove this newline please.

> Reviewed-by: Stephen Boyd <swboyd at chromium.org>
> Tested-by: Stephen Boyd <swboyd at chromium.org>
> ---
>  drivers/gpu/drm/msm/dp/dp_display.c | 12 +++++++++---
>  drivers/gpu/drm/msm/dp/dp_link.c    | 19 ++++++++++++++-----
>  2 files changed, 23 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
> index 3d61459..0766752 100644
> --- a/drivers/gpu/drm/msm/dp/dp_display.c
> +++ b/drivers/gpu/drm/msm/dp/dp_display.c
> @@ -692,9 +692,15 @@ static int dp_irq_hpd_handle(struct dp_display_private *dp, u32 data)
>                 return 0;
>         }
>
> -       ret = dp_display_usbpd_attention_cb(&dp->pdev->dev);
> -       if (ret == -ECONNRESET) { /* cable unplugged */
> -               dp->core_initialized = false;
> +       /*
> +        * dp core (ahb/aux clks) must be initialized before
> +        * irq_hpd be handled
> +        */
> +       if (dp->core_initialized) {

This part of the commit isn't described in the commit text. Can you add
some more details in the commit text about this?

> +               ret = dp_display_usbpd_attention_cb(&dp->pdev->dev);
> +               if (ret == -ECONNRESET) { /* cable unplugged */
> +                       dp->core_initialized = false;
> +               }
>         }
>         DRM_DEBUG_DP("hpd_state=%d\n", state);
>


More information about the dri-devel mailing list