[PATCH 2/2] drm/amdgpu/display: use msleep rather than udelay for long delays

Lazar, Lijo lijo.lazar at amd.com
Tue Jan 25 11:32:25 UTC 2022



On 1/20/2022 11:34 PM, Alex Deucher wrote:
> Some architectures (e.g., ARM) throw an compilation error if the
> udelay is too long.  In general udelays of longer than 2000us are
> not recommended on any architecture.  Switch to msleep in these
> cases.
> 
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>   drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> index aa1c67c3c386..eb4432dca761 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> @@ -6941,7 +6941,7 @@ bool dpcd_write_128b_132b_sst_payload_allocation_table(
>   			}
>   		}
>   		retries++;
> -		udelay(5000);
> +		msleep(5);

msleep is not recommended for sleeps < 20ms. The original code (modified 
in patch 1) seems to do such a check. As per kernel doc, if precision 
matters recommendation is to use usleep_range().

Thanks,
Lijo

>   	}
>   
>   	if (!result && retries == max_retries) {
> @@ -6993,7 +6993,7 @@ bool dpcd_poll_for_allocation_change_trigger(struct dc_link *link)
>   			break;
>   		}
>   
> -		udelay(5000);
> +		msleep(5);
>   	}
>   
>   	if (result == ACT_FAILED) {
> 


More information about the amd-gfx mailing list