diff mbox series

drm/lima: Fix broken compilation.

Message ID 20190404222538.28899-1-rodrigo.vivi@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/lima: Fix broken compilation. | expand

Commit Message

Rodrigo Vivi April 4, 2019, 10:25 p.m. UTC
From: Rodrigo Vivi <rodriigo.vivi@gmail.com>

I'm not entirely sure about the limits we should use
here on ARM based driver, but apparently the entry and limit
are inverted and UINT_MAX cannot be used directly there.

So let's at least for now fix this compilation issue
on a compilation only driver:

CC [M]  drivers/gpu/drm/lima/lima_ctx.o
In file included from ./include/linux/kernel.h:7,
                 from ./include/asm-generic/bug.h:18,
                 from ./arch/x86/include/asm/bug.h:83,
                 from ./include/linux/bug.h:5,
                 from ./include/linux/mmdebug.h:5,
                 from ./include/linux/gfp.h:5,
                 from ./include/linux/slab.h:15,
                 from drivers/gpu/drm/lima/lima_ctx.c:4:
drivers/gpu/drm/lima/lima_ctx.c: In function ‘lima_ctx_create’:
./include/linux/limits.h:13:18: error: incompatible type for argument 4 of ‘xa_alloc’
 #define UINT_MAX (~0U)
                  ^~~~~
drivers/gpu/drm/lima/lima_ctx.c:27:41: note: in expansion of macro ‘UINT_MAX’
  err = xa_alloc(&mgr->handles, id, ctx, UINT_MAX, GFP_KERNEL);
                                         ^~~~~~~~
In file included from ./include/linux/radix-tree.h:31,
                 from ./include/linux/idr.h:15,
                 from ./include/drm/drm_device.h:7,
                 from drivers/gpu/drm/lima/lima_device.h:7,
                 from drivers/gpu/drm/lima/lima_ctx.c:7:
./include/linux/xarray.h:817:32: note: expected ‘struct xa_limit’ but argument is of type ‘unsigned int’
   void *entry, struct xa_limit limit, gfp_t gfp)
                ~~~~~~~~~~~~~~~~^~~~~
make[4]: *** [scripts/Makefile.build:276: drivers/gpu/drm/lima/lima_ctx.o] Error 1
make[3]: *** [scripts/Makefile.build:486: drivers/gpu/drm/lima] Error 2
make[2]: *** [scripts/Makefile.build:486: drivers/gpu/drm] Error 2
make[1]: *** [scripts/Makefile.build:486: drivers/gpu] Error 2
make: *** [Makefile:1051: drivers] Error 2

Cc: Qiang Yu <yuq825@gmail.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
---
 drivers/gpu/drm/lima/lima_ctx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rodrigo Vivi April 4, 2019, 10:43 p.m. UTC | #1
On Thu, Apr 04, 2019 at 03:25:38PM -0700, Rodrigo Vivi wrote:
> From: Rodrigo Vivi <rodriigo.vivi@gmail.com>

And it seems that I don't know how to spell my own name anymore! :)

If you decide for this patch please let me know, so we can fix while
pushing to drm-misc-fixes or tell me to send a v2.

> 
> I'm not entirely sure about the limits we should use
> here on ARM based driver, but apparently the entry and limit
> are inverted and UINT_MAX cannot be used directly there.
> 
> So let's at least for now fix this compilation issue
> on a compilation only driver:
> 
> CC [M]  drivers/gpu/drm/lima/lima_ctx.o
> In file included from ./include/linux/kernel.h:7,
>                  from ./include/asm-generic/bug.h:18,
>                  from ./arch/x86/include/asm/bug.h:83,
>                  from ./include/linux/bug.h:5,
>                  from ./include/linux/mmdebug.h:5,
>                  from ./include/linux/gfp.h:5,
>                  from ./include/linux/slab.h:15,
>                  from drivers/gpu/drm/lima/lima_ctx.c:4:
> drivers/gpu/drm/lima/lima_ctx.c: In function ‘lima_ctx_create’:
> ./include/linux/limits.h:13:18: error: incompatible type for argument 4 of ‘xa_alloc’
>  #define UINT_MAX (~0U)
>                   ^~~~~
> drivers/gpu/drm/lima/lima_ctx.c:27:41: note: in expansion of macro ‘UINT_MAX’
>   err = xa_alloc(&mgr->handles, id, ctx, UINT_MAX, GFP_KERNEL);
>                                          ^~~~~~~~
> In file included from ./include/linux/radix-tree.h:31,
>                  from ./include/linux/idr.h:15,
>                  from ./include/drm/drm_device.h:7,
>                  from drivers/gpu/drm/lima/lima_device.h:7,
>                  from drivers/gpu/drm/lima/lima_ctx.c:7:
> ./include/linux/xarray.h:817:32: note: expected ‘struct xa_limit’ but argument is of type ‘unsigned int’
>    void *entry, struct xa_limit limit, gfp_t gfp)
>                 ~~~~~~~~~~~~~~~~^~~~~
> make[4]: *** [scripts/Makefile.build:276: drivers/gpu/drm/lima/lima_ctx.o] Error 1
> make[3]: *** [scripts/Makefile.build:486: drivers/gpu/drm/lima] Error 2
> make[2]: *** [scripts/Makefile.build:486: drivers/gpu/drm] Error 2
> make[1]: *** [scripts/Makefile.build:486: drivers/gpu] Error 2
> make: *** [Makefile:1051: drivers] Error 2
> 
> Cc: Qiang Yu <yuq825@gmail.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> ---
>  drivers/gpu/drm/lima/lima_ctx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/lima/lima_ctx.c b/drivers/gpu/drm/lima/lima_ctx.c
> index c8d12f7c6894..22fff6caa961 100644
> --- a/drivers/gpu/drm/lima/lima_ctx.c
> +++ b/drivers/gpu/drm/lima/lima_ctx.c
> @@ -23,7 +23,7 @@ int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
>  			goto err_out0;
>  	}
>  
> -	err = xa_alloc(&mgr->handles, id, UINT_MAX, ctx, GFP_KERNEL);
> +	err = xa_alloc(&mgr->handles, id, ctx, xa_limit_32b, GFP_KERNEL);
>  	if (err < 0)
>  		goto err_out0;
>  
> -- 
> 2.20.1
>
Dave Airlie April 5, 2019, 1:39 a.m. UTC | #2
On Fri, 5 Apr 2019 at 08:43, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
>
> On Thu, Apr 04, 2019 at 03:25:38PM -0700, Rodrigo Vivi wrote:
> > From: Rodrigo Vivi <rodriigo.vivi@gmail.com>
>
> And it seems that I don't know how to spell my own name anymore! :)
>
> If you decide for this patch please let me know, so we can fix while
> pushing to drm-misc-fixes or tell me to send a v2.
>
> >
> > I'm not entirely sure about the limits we should use
> > here on ARM based driver, but apparently the entry and limit
> > are inverted and UINT_MAX cannot be used directly there.
> >
> > So let's at least for now fix this compilation issue
> > on a compilation only driver:

I ended up writing this as well and squashing it into the merge into drm-next.

Thanks,
Dave.

> >
> > CC [M]  drivers/gpu/drm/lima/lima_ctx.o
> > In file included from ./include/linux/kernel.h:7,
> >                  from ./include/asm-generic/bug.h:18,
> >                  from ./arch/x86/include/asm/bug.h:83,
> >                  from ./include/linux/bug.h:5,
> >                  from ./include/linux/mmdebug.h:5,
> >                  from ./include/linux/gfp.h:5,
> >                  from ./include/linux/slab.h:15,
> >                  from drivers/gpu/drm/lima/lima_ctx.c:4:
> > drivers/gpu/drm/lima/lima_ctx.c: In function ‘lima_ctx_create’:
> > ./include/linux/limits.h:13:18: error: incompatible type for argument 4 of ‘xa_alloc’
> >  #define UINT_MAX (~0U)
> >                   ^~~~~
> > drivers/gpu/drm/lima/lima_ctx.c:27:41: note: in expansion of macro ‘UINT_MAX’
> >   err = xa_alloc(&mgr->handles, id, ctx, UINT_MAX, GFP_KERNEL);
> >                                          ^~~~~~~~
> > In file included from ./include/linux/radix-tree.h:31,
> >                  from ./include/linux/idr.h:15,
> >                  from ./include/drm/drm_device.h:7,
> >                  from drivers/gpu/drm/lima/lima_device.h:7,
> >                  from drivers/gpu/drm/lima/lima_ctx.c:7:
> > ./include/linux/xarray.h:817:32: note: expected ‘struct xa_limit’ but argument is of type ‘unsigned int’
> >    void *entry, struct xa_limit limit, gfp_t gfp)
> >                 ~~~~~~~~~~~~~~~~^~~~~
> > make[4]: *** [scripts/Makefile.build:276: drivers/gpu/drm/lima/lima_ctx.o] Error 1
> > make[3]: *** [scripts/Makefile.build:486: drivers/gpu/drm/lima] Error 2
> > make[2]: *** [scripts/Makefile.build:486: drivers/gpu/drm] Error 2
> > make[1]: *** [scripts/Makefile.build:486: drivers/gpu] Error 2
> > make: *** [Makefile:1051: drivers] Error 2
> >
> > Cc: Qiang Yu <yuq825@gmail.com>
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> > ---
> >  drivers/gpu/drm/lima/lima_ctx.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/lima/lima_ctx.c b/drivers/gpu/drm/lima/lima_ctx.c
> > index c8d12f7c6894..22fff6caa961 100644
> > --- a/drivers/gpu/drm/lima/lima_ctx.c
> > +++ b/drivers/gpu/drm/lima/lima_ctx.c
> > @@ -23,7 +23,7 @@ int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
> >                       goto err_out0;
> >       }
> >
> > -     err = xa_alloc(&mgr->handles, id, UINT_MAX, ctx, GFP_KERNEL);
> > +     err = xa_alloc(&mgr->handles, id, ctx, xa_limit_32b, GFP_KERNEL);
> >       if (err < 0)
> >               goto err_out0;
> >
> > --
> > 2.20.1
> >
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Qiang Yu April 5, 2019, 10 a.m. UTC | #3
Thanks, I'm OK with this patch.

Regards,
Qiang

On Fri, Apr 5, 2019 at 9:39 AM Dave Airlie <airlied@gmail.com> wrote:
>
> On Fri, 5 Apr 2019 at 08:43, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> >
> > On Thu, Apr 04, 2019 at 03:25:38PM -0700, Rodrigo Vivi wrote:
> > > From: Rodrigo Vivi <rodriigo.vivi@gmail.com>
> >
> > And it seems that I don't know how to spell my own name anymore! :)
> >
> > If you decide for this patch please let me know, so we can fix while
> > pushing to drm-misc-fixes or tell me to send a v2.
> >
> > >
> > > I'm not entirely sure about the limits we should use
> > > here on ARM based driver, but apparently the entry and limit
> > > are inverted and UINT_MAX cannot be used directly there.
> > >
> > > So let's at least for now fix this compilation issue
> > > on a compilation only driver:
>
> I ended up writing this as well and squashing it into the merge into drm-next.
>
> Thanks,
> Dave.
>
> > >
> > > CC [M]  drivers/gpu/drm/lima/lima_ctx.o
> > > In file included from ./include/linux/kernel.h:7,
> > >                  from ./include/asm-generic/bug.h:18,
> > >                  from ./arch/x86/include/asm/bug.h:83,
> > >                  from ./include/linux/bug.h:5,
> > >                  from ./include/linux/mmdebug.h:5,
> > >                  from ./include/linux/gfp.h:5,
> > >                  from ./include/linux/slab.h:15,
> > >                  from drivers/gpu/drm/lima/lima_ctx.c:4:
> > > drivers/gpu/drm/lima/lima_ctx.c: In function ‘lima_ctx_create’:
> > > ./include/linux/limits.h:13:18: error: incompatible type for argument 4 of ‘xa_alloc’
> > >  #define UINT_MAX (~0U)
> > >                   ^~~~~
> > > drivers/gpu/drm/lima/lima_ctx.c:27:41: note: in expansion of macro ‘UINT_MAX’
> > >   err = xa_alloc(&mgr->handles, id, ctx, UINT_MAX, GFP_KERNEL);
> > >                                          ^~~~~~~~
> > > In file included from ./include/linux/radix-tree.h:31,
> > >                  from ./include/linux/idr.h:15,
> > >                  from ./include/drm/drm_device.h:7,
> > >                  from drivers/gpu/drm/lima/lima_device.h:7,
> > >                  from drivers/gpu/drm/lima/lima_ctx.c:7:
> > > ./include/linux/xarray.h:817:32: note: expected ‘struct xa_limit’ but argument is of type ‘unsigned int’
> > >    void *entry, struct xa_limit limit, gfp_t gfp)
> > >                 ~~~~~~~~~~~~~~~~^~~~~
> > > make[4]: *** [scripts/Makefile.build:276: drivers/gpu/drm/lima/lima_ctx.o] Error 1
> > > make[3]: *** [scripts/Makefile.build:486: drivers/gpu/drm/lima] Error 2
> > > make[2]: *** [scripts/Makefile.build:486: drivers/gpu/drm] Error 2
> > > make[1]: *** [scripts/Makefile.build:486: drivers/gpu] Error 2
> > > make: *** [Makefile:1051: drivers] Error 2
> > >
> > > Cc: Qiang Yu <yuq825@gmail.com>
> > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> > > ---
> > >  drivers/gpu/drm/lima/lima_ctx.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/lima/lima_ctx.c b/drivers/gpu/drm/lima/lima_ctx.c
> > > index c8d12f7c6894..22fff6caa961 100644
> > > --- a/drivers/gpu/drm/lima/lima_ctx.c
> > > +++ b/drivers/gpu/drm/lima/lima_ctx.c
> > > @@ -23,7 +23,7 @@ int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
> > >                       goto err_out0;
> > >       }
> > >
> > > -     err = xa_alloc(&mgr->handles, id, UINT_MAX, ctx, GFP_KERNEL);
> > > +     err = xa_alloc(&mgr->handles, id, ctx, xa_limit_32b, GFP_KERNEL);
> > >       if (err < 0)
> > >               goto err_out0;
> > >
> > > --
> > > 2.20.1
> > >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Rodrigo Vivi April 5, 2019, 2:37 p.m. UTC | #4
> On Apr 4, 2019, at 6:39 PM, Dave Airlie <airlied@gmail.com> wrote:
> 
>> On Fri, 5 Apr 2019 at 08:43, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
>> 
>>> On Thu, Apr 04, 2019 at 03:25:38PM -0700, Rodrigo Vivi wrote:
>>> From: Rodrigo Vivi <rodriigo.vivi@gmail.com>
>> 
>> And it seems that I don't know how to spell my own name anymore! :)
>> 
>> If you decide for this patch please let me know, so we can fix while
>> pushing to drm-misc-fixes or tell me to send a v2.
>> 
>>> 
>>> I'm not entirely sure about the limits we should use
>>> here on ARM based driver, but apparently the entry and limit
>>> are inverted and UINT_MAX cannot be used directly there.
>>> 
>>> So let's at least for now fix this compilation issue
>>> on a compilation only driver:
> 
> I ended up writing this as well and squashing it into the merge into drm-next.

Cool, thanks 

> 
> Thanks,
> Dave.
> 
>>> 
>>> CC [M]  drivers/gpu/drm/lima/lima_ctx.o
>>> In file included from ./include/linux/kernel.h:7,
>>>                 from ./include/asm-generic/bug.h:18,
>>>                 from ./arch/x86/include/asm/bug.h:83,
>>>                 from ./include/linux/bug.h:5,
>>>                 from ./include/linux/mmdebug.h:5,
>>>                 from ./include/linux/gfp.h:5,
>>>                 from ./include/linux/slab.h:15,
>>>                 from drivers/gpu/drm/lima/lima_ctx.c:4:
>>> drivers/gpu/drm/lima/lima_ctx.c: In function ‘lima_ctx_create’:
>>> ./include/linux/limits.h:13:18: error: incompatible type for argument 4 of ‘xa_alloc’
>>> #define UINT_MAX (~0U)
>>>                  ^~~~~
>>> drivers/gpu/drm/lima/lima_ctx.c:27:41: note: in expansion of macro ‘UINT_MAX’
>>>  err = xa_alloc(&mgr->handles, id, ctx, UINT_MAX, GFP_KERNEL);
>>>                                         ^~~~~~~~
>>> In file included from ./include/linux/radix-tree.h:31,
>>>                 from ./include/linux/idr.h:15,
>>>                 from ./include/drm/drm_device.h:7,
>>>                 from drivers/gpu/drm/lima/lima_device.h:7,
>>>                 from drivers/gpu/drm/lima/lima_ctx.c:7:
>>> ./include/linux/xarray.h:817:32: note: expected ‘struct xa_limit’ but argument is of type ‘unsigned int’
>>>   void *entry, struct xa_limit limit, gfp_t gfp)
>>>                ~~~~~~~~~~~~~~~~^~~~~
>>> make[4]: *** [scripts/Makefile.build:276: drivers/gpu/drm/lima/lima_ctx.o] Error 1
>>> make[3]: *** [scripts/Makefile.build:486: drivers/gpu/drm/lima] Error 2
>>> make[2]: *** [scripts/Makefile.build:486: drivers/gpu/drm] Error 2
>>> make[1]: *** [scripts/Makefile.build:486: drivers/gpu] Error 2
>>> make: *** [Makefile:1051: drivers] Error 2
>>> 
>>> Cc: Qiang Yu <yuq825@gmail.com>
>>> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
>>> ---
>>> drivers/gpu/drm/lima/lima_ctx.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>> 
>>> diff --git a/drivers/gpu/drm/lima/lima_ctx.c b/drivers/gpu/drm/lima/lima_ctx.c
>>> index c8d12f7c6894..22fff6caa961 100644
>>> --- a/drivers/gpu/drm/lima/lima_ctx.c
>>> +++ b/drivers/gpu/drm/lima/lima_ctx.c
>>> @@ -23,7 +23,7 @@ int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
>>>                      goto err_out0;
>>>      }
>>> 
>>> -     err = xa_alloc(&mgr->handles, id, UINT_MAX, ctx, GFP_KERNEL);
>>> +     err = xa_alloc(&mgr->handles, id, ctx, xa_limit_32b, GFP_KERNEL);
>>>      if (err < 0)
>>>              goto err_out0;
>>> 
>>> --
>>> 2.20.1
>>> 
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox series

Patch

diff --git a/drivers/gpu/drm/lima/lima_ctx.c b/drivers/gpu/drm/lima/lima_ctx.c
index c8d12f7c6894..22fff6caa961 100644
--- a/drivers/gpu/drm/lima/lima_ctx.c
+++ b/drivers/gpu/drm/lima/lima_ctx.c
@@ -23,7 +23,7 @@  int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id)
 			goto err_out0;
 	}
 
-	err = xa_alloc(&mgr->handles, id, UINT_MAX, ctx, GFP_KERNEL);
+	err = xa_alloc(&mgr->handles, id, ctx, xa_limit_32b, GFP_KERNEL);
 	if (err < 0)
 		goto err_out0;