RE: [PATCH 39/43] drm/amd/display: Use udelay to avoid context switch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of
> Christian König
> Sent: 2020/January/10, Friday 10:02 AM
> To: Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; amd-
> gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: Li, Sun peng (Leo) <Sunpeng.Li@xxxxxxx>; Cheng, Tony
> <Tony.Cheng@xxxxxxx>; Tsai, Martin <Martin.Tsai@xxxxxxx>; Lakha,
> Bhawanpreet <Bhawanpreet.Lakha@xxxxxxx>; Wentland, Harry
> <Harry.Wentland@xxxxxxx>
> 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@xxxxxxx>
> >
> > [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@xxxxxxx>
> > Reviewed-by: Tony Cheng <Tony.Cheng@xxxxxxx>
> > Acked-by: Harry Wentland <harry.wentland@xxxxxxx>
> > Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@xxxxxxx>
> > ---
> >   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@xxxxxxxxxxxxxxxxxxxxx
_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux