On 2020-01-10 4:16 p.m., Harry Wentland wrote: > On 2020-01-10 1:47 p.m., Liu, Zhan wrote: >> >> >>> -----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. >> > > It was used here before so we definitely have it defined for Windows as > well. > Whoops, I misread that. mdelay is indeed not defined on our other platforms but we could go ahead and define it if needed. Harry > From the commit description it sounds like msleep wasn't tight enough > and longer delays lead to issues here, at least on Windows. > > Martin, Tony, do you have more details about this? > > Thanks, > Harry > >> Zhan >> >>> >>> Christian. >>> >>>> } >>>> } >>>> >>> >>> _______________________________________________ >>> amd-gfx mailing list >>> amd-gfx@xxxxxxxxxxxxxxxxxxxxx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx