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

Christian König ckoenig.leichtzumerken at gmail.com
Fri Jan 10 15:01:46 UTC 2020


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?

Christian.

>   		}
>   	}
>   



More information about the amd-gfx mailing list