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-boun...@lists.freedesktop.org> On Behalf Of >>> Christian König >>> Sent: 2020/January/10, Friday 10:02 AM >>> To: Siqueira, Rodrigo <rodrigo.sique...@amd.com>; amd- >>> g...@lists.freedesktop.org >>> Cc: Li, Sun peng (Leo) <sunpeng...@amd.com>; Cheng, Tony >>> <tony.ch...@amd.com>; Tsai, Martin <martin.t...@amd.com>; Lakha, >>> Bhawanpreet <bhawanpreet.la...@amd.com>; Wentland, Harry >>> <harry.wentl...@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.t...@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.t...@amd.com> >>>> Reviewed-by: Tony Cheng <tony.ch...@amd.com> >>>> Acked-by: Harry Wentland <harry.wentl...@amd.com> >>>> Acked-by: Rodrigo Siqueira <rodrigo.sique...@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. >> > > 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@lists.freedesktop.org _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx