[PATCH] drm/bridge: Add 200ms delay to wait FW HPD status stable

Xin Ji xji at analogixsemi.com
Fri Sep 22 06:57:12 UTC 2023


Hi Laurent Pinchart, thanks for reviewing, I'll update the new patch, thanks!
Xin

> -----Original Message-----
> From: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Sent: Thursday, September 21, 2023 8:13 PM
> To: Jani Nikula <jani.nikula at linux.intel.com>
> Cc: Xin Ji <xji at analogixsemi.com>; Andrzej Hajda <andrzej.hajda at intel.com>;
> Neil Armstrong <neil.armstrong at linaro.org>; Robert Foss <rfoss at kernel.org>;
> Jonas Karlman <jonas at kwiboo.se>; Jernej Skrabec <jernej.skrabec at gmail.com>;
> David Airlie <airlied at gmail.com>; Daniel Vetter <daniel at ffwll.ch>; Qilin Wen
> <qwen at analogixsemi.com>; linux-kernel at vger.kernel.org; dri-
> devel at lists.freedesktop.org; hsinyi at chromium.org; Bernie Liang
> <bliang at analogixsemi.com>
> Subject: Re: [PATCH] drm/bridge: Add 200ms delay to wait FW HPD status stable
> 
> CAUTION: This email originated from outside of the organization. Please do not
> click links or open attachments unless you recognize the sender, and know the
> content is safe.
> 
> 
> The subject line is missing the driver name.
> 
> On Thu, Sep 21, 2023 at 03:09:10PM +0300, Jani Nikula wrote:
> > On Thu, 21 Sep 2023, Xin Ji <xji at analogixsemi.com> wrote:
> > > For the none-interrupt design(sink device is panel, polling HPD
> 
> s/none-interrupt/no-interrupt/ ?
OK
> 
> s/design/design /
OK
> 
> > > 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 at analogixsemi.com>
> > > ---
> > >  drivers/gpu/drm/bridge/analogix/anx7625.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c
> > > b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > > index 51abe42c639e..833d6d50a03d 100644
> > > --- a/drivers/gpu/drm/bridge/analogix/anx7625.c
> > > +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
> > > @@ -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 */
> > > +   usleep_range(200000, 201000);
> >
> > If you need to sleep for 200 ms, maybe use msleep instead?
> 
> fsleep() could be a nice replacement.
OK
> 
> > > +
> > >     ret = readx_poll_timeout(anx7625_read_hpd_status_p0,
> > >                              ctx, val,
> > >                              ((val & HPD_STATUS) || (val < 0)),
> 
> --
> Regards,
> 
> Laurent Pinchart


More information about the dri-devel mailing list