[radeon-alex:drm-next-4.12-wip 34/40] drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:620:4: warning: left shift count >= width of type

Thierry Reding thierry.reding at gmail.com
Mon Feb 13 07:24:13 UTC 2017


On Sat, Feb 11, 2017 at 08:55:50AM +0100, Christian König wrote:
> Mhm, guys any idea why the build bot is spamming us with that warning?
> 
> The type is 64bit and the shift is 63, so that should work fine.

1UL will be an unsigned long, which is 64 bit on 64 bit architectures
only. Xtensa is a 32 bit platform, hence 1UL will effectively be 32 bits
and 1UL << 63 would effectively be 0.

I think the safe thing to do here would be to change 1UL to 1ULL to make
sure there are enough bits. unsigned long long is guaranteed to be at
least 64 bits.

Alternatively if you no longer want to support 32 bit architectures you
could depend on the Kconfig symbol 64BIT, but I suspect you don't want
to do that.

Thierry

> Am 10.02.2017 um 20:48 schrieb kbuild test robot:
> > tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-4.12-wip
> > head:   d32ff0ea8e22964abcc6406e00a0646f2bfb94c7
> > commit: 382a21d981661dbc8198c37dc95707e1e381ce76 [34/40] drm/amdgpu: IOCTL interface for PRT support v4
> > config: xtensa-allmodconfig (attached as .config)
> > compiler: xtensa-linux-gcc (GCC) 4.9.0
> > reproduce:
> >          wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> >          chmod +x ~/bin/make.cross
> >          git checkout 382a21d981661dbc8198c37dc95707e1e381ce76
> >          # save the attached .config to linux build tree
> >          make.cross ARCH=xtensa
> > 
> > All warnings (new ones prefixed by >>):
> > 
> >     drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c: In function 'amdgpu_gem_va_ioctl':
> > > > drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:620:4: warning: left shift count >= width of type
> >         va_flags |= AMDGPU_PTE_PRT;
> >         ^
> > 
> > vim +620 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> > 
> >     604				r = -ENOENT;
> >     605				goto error_backoff;
> >     606			}
> >     607		} else {
> >     608			bo_va = fpriv->prt_va;
> >     609		}
> >     610	
> >     611		switch (args->operation) {
> >     612		case AMDGPU_VA_OP_MAP:
> >     613			if (args->flags & AMDGPU_VM_PAGE_READABLE)
> >     614				va_flags |= AMDGPU_PTE_READABLE;
> >     615			if (args->flags & AMDGPU_VM_PAGE_WRITEABLE)
> >     616				va_flags |= AMDGPU_PTE_WRITEABLE;
> >     617			if (args->flags & AMDGPU_VM_PAGE_EXECUTABLE)
> >     618				va_flags |= AMDGPU_PTE_EXECUTABLE;
> >     619			if (args->flags & AMDGPU_VM_PAGE_PRT)
> >   > 620				va_flags |= AMDGPU_PTE_PRT;
> >     621			r = amdgpu_vm_bo_map(adev, bo_va, args->va_address,
> >     622					     args->offset_in_bo, args->map_size,
> >     623					     va_flags);
> >     624			break;
> >     625		case AMDGPU_VA_OP_UNMAP:
> >     626			r = amdgpu_vm_bo_unmap(adev, bo_va, args->va_address);
> >     627			break;
> >     628		default:
> > 
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology Center
> > https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> > 
> > 
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> 

> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170213/daaef1d8/attachment.sig>


More information about the dri-devel mailing list