drm/bridge: Add 200ms delay to wait FW HPD status stable
authorXin Ji <xji@analogixsemi.com>
Fri, 22 Sep 2023 09:34:49 +0000 (17:34 +0800)
committerRobert Foss <rfoss@kernel.org>
Mon, 25 Sep 2023 10:45:43 +0000 (12:45 +0200)
For the no-interrupt design (sink device is panel, polling HPD
status when chip power on), anx7625 FW has more than 200ms HPD
de-bounce time in FW, for the safety to get HPD status, driver
better to wait 200ms before HPD detection after OS resume back.

Signed-off-by: Xin Ji <xji@analogixsemi.com>
Reviewed-by: Robert Foss <rfoss@kernel.org>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230922093450.3574349-1-xji@analogixsemi.com
drivers/gpu/drm/bridge/analogix/anx7625.c

index 51abe42c639e5482a9c870a52461c3f931d42de3..8f740154707dbe7651edaf8ee748e090ca34b641 100644 (file)
@@ -1464,6 +1464,9 @@ static int _anx7625_hpd_polling(struct anx7625_data *ctx,
        if (ctx->pdata.intp_irq)
                return 0;
 
+       /* Delay 200ms for FW HPD de-bounce */
+       msleep(200);
+
        ret = readx_poll_timeout(anx7625_read_hpd_status_p0,
                                 ctx, val,
                                 ((val & HPD_STATUS) || (val < 0)),