[PATCH] drm/ttm: fix the type mismatch error on sparc64

Christian König christian.koenig at amd.com
Tue Sep 7 10:24:52 UTC 2021


Am 07.09.21 um 12:03 schrieb Huang Rui:
> __fls() on sparc64 return "int", but here it is expected as "unsigned
> long" (x86). It will cause the build errors because the warning becomes
> fatal while it is using sparc configuration. As suggested by Linus, it
> can use min_t instead of min to force the type as "unsigned int".
>
> Suggested-by: Linus Torvalds <torvalds at linux-foundation.org>
> Signed-off-by: Huang Rui <ray.huang at amd.com>
> Cc: Christian König <christian.koenig at amd.com>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/ttm/ttm_pool.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
> index af1b41369626..c961a788b519 100644
> --- a/drivers/gpu/drm/ttm/ttm_pool.c
> +++ b/drivers/gpu/drm/ttm/ttm_pool.c
> @@ -382,7 +382,8 @@ int ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
>   	else
>   		gfp_flags |= GFP_HIGHUSER;
>   
> -	for (order = min(MAX_ORDER - 1UL, __fls(num_pages)); num_pages;
> +	for (order = min_t(unsigned int, MAX_ORDER - 1, __fls(num_pages));
> +	     num_pages;
>   	     order = min_t(unsigned int, order, __fls(num_pages))) {
>   		bool apply_caching = false;
>   		struct ttm_pool_type *pt;



More information about the dri-devel mailing list