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

Reply via email to