[PATCH 39/43] drm/amd/display: Use udelay to avoid context switch
Liu, Zhan
Zhan.Liu at amd.com
Fri Jan 10 18:47:29 UTC 2020
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
> Christian König
> Sent: 2020/January/10, Friday 10:02 AM
> To: Siqueira, Rodrigo <Rodrigo.Siqueira at amd.com>; amd-
> gfx at lists.freedesktop.org
> Cc: Li, Sun peng (Leo) <Sunpeng.Li at amd.com>; Cheng, Tony
> <Tony.Cheng at amd.com>; Tsai, Martin <Martin.Tsai at amd.com>; Lakha,
> Bhawanpreet <Bhawanpreet.Lakha at amd.com>; Wentland, Harry
> <Harry.Wentland at amd.com>
> Subject: Re: [PATCH 39/43] drm/amd/display: Use udelay to avoid context
> switch
>
> Am 10.01.20 um 15:46 schrieb Rodrigo Siqueira:
> > From: Martin Tsai <martin.tsai at amd.com>
> >
> > [why]
> > The rapid msleep operation causes the white line garbage when DAL
> > check flip pending status in SetVidPnSourceVisibility.
> > To execute this msleep will induce context switch, and longer delay
> > could cause worse garbage situation.
> >
> > [how]
> > To replace msleep with udelay.
> >
> > Signed-off-by: Martin Tsai <martin.tsai at amd.com>
> > Reviewed-by: Tony Cheng <Tony.Cheng at amd.com>
> > Acked-by: Harry Wentland <harry.wentland at amd.com>
> > Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
> > ---
> > drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
> > b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
> > index 89920924a154..0dc652e76848 100644
> > --- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
> > +++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
> > @@ -1642,9 +1642,9 @@ void dcn20_program_front_end_for_ctx(
> > struct hubp *hubp = pipe->plane_res.hubp;
> > int j = 0;
> >
> > - for (j = 0; j < TIMEOUT_FOR_PIPE_ENABLE_MS
> > + for (j = 0; j < TIMEOUT_FOR_PIPE_ENABLE_MS*1000
> > && hubp->funcs-
> >hubp_is_flip_pending(hubp); j++)
> > - msleep(1);
> > + udelay(1);
>
> Why not using mdelay() here?
As far as I know, mdelay() is only defined on Linux side.
This piece of code is shared by both Linux and Windows, so we have to use a function that's available on both platforms.
Zhan
>
> Christian.
>
> > }
> > }
> >
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
More information about the amd-gfx
mailing list