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

From: Alex Deucher
Date: Tue Sep 14 2021 - 15:48:46 EST


On Tue, Sep 7, 2021 at 6:25 AM Christian König <christian.koenig@xxxxxxx> wrote:
>
> 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@xxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Huang Rui <ray.huang@xxxxxxx>
> > Cc: Christian König <christian.koenig@xxxxxxx>
>
> Reviewed-by: Christian König <christian.koenig@xxxxxxx>

Is one of you going to push this to drm-misc?

Alex

>
> > ---
> > 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;
>