drm/nouveau: port all engines to new engine module format

Dan Carpenter dan.carpenter at oracle.com
Wed Oct 10 23:55:53 PDT 2012


Hello Ben Skeggs,

The patch ebb945a94bba: "drm/nouveau: port all engines to new engine 
module format" from Jul 20, 2012, leads to the following warning:
drivers/gpu/drm/nouveau/nouveau_abi16.c:264 
nouveau_abi16_ioctl_channel_alloc()
	 warn: should '1 << init->channel' be a 64 bit type

   262          INIT_LIST_HEAD(&chan->notifiers);
   263          list_add(&chan->head, &abi16->channels);
   264          abi16->handles |= (1 << init->channel);
                                  ^^^^^^^^^^^^^^^^^^^^
This will only work for the first 30 channels, otherwise it needs to be:
		abi16->handles |= (u64)1 << init->channel;

   265  

But I don't couldn't tell how many channels are actually possible and I
was confused by this.

   132          /* destroy channel object, all children will be killed too */
   133          if (chan->chan) {
   134                  abi16->handles &= ~(1 << (chan->chan->handle & 0xffff));

Is that bitwise AND in the right place?  Oxff would be enough to hold
0-63.

   135                  nouveau_channel_del(&chan->chan);
   136          }

regards,
dan carpenter



More information about the dri-devel mailing list