[PATCH] drm/amd/display: fix compilation error due to shifting negative value

Hamza Mahfooz hamza.mahfooz at amd.com
Fri Jun 2 14:28:38 UTC 2023


On 6/2/23 06:12, GONG, Ruiqi wrote:
> Currently compiling linux-next with allmodconfig triggers the following
> error:
> 
> ./drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h: In function ‘dc_fixpt_truncate’:
> ./drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:528:22: error: left shift of negative value [-Werror=shift-negative-value]
>    528 |  arg.value &= (~0LL) << (FIXED31_32_BITS_PER_FRACTIONAL_PART - frac_bits);
>        |                      ^~
> 
> Use `unsigned long long` instead.
> 
> Signed-off-by: GONG, Ruiqi <gongruiqi at huaweicloud.com>

Applied, thanks!

> ---
>   drivers/gpu/drm/amd/display/include/fixed31_32.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/include/fixed31_32.h b/drivers/gpu/drm/amd/display/include/fixed31_32.h
> index ece97ae0e826..d4cf7ead1d87 100644
> --- a/drivers/gpu/drm/amd/display/include/fixed31_32.h
> +++ b/drivers/gpu/drm/amd/display/include/fixed31_32.h
> @@ -525,7 +525,7 @@ static inline struct fixed31_32 dc_fixpt_truncate(struct fixed31_32 arg, unsigne
>   
>   	if (negative)
>   		arg.value = -arg.value;
> -	arg.value &= (~0LL) << (FIXED31_32_BITS_PER_FRACTIONAL_PART - frac_bits);
> +	arg.value &= (~0ULL) << (FIXED31_32_BITS_PER_FRACTIONAL_PART - frac_bits);
>   	if (negative)
>   		arg.value = -arg.value;
>   	return arg;
-- 
Hamza



More information about the dri-devel mailing list