[kbuild] drivers/gpu/drm/nouveau/nouveau_bo5039.c:39 nv50_bo_move_m2mf() warn: should 'new_reg->num_pages << (12)' be a 64 bit type?

2021-04-05 Thread kernel test robot
CC: kbuild-...@lists.01.org
CC: linux-ker...@vger.kernel.org
TO: Ben Skeggs 
CC: Lyude Paul 

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   0a50438c84363bd37fe18fe432888ae9a074dcab
commit: 8b9d5d63a7193156b6b397c4f5078efbc200695f drm/nouveau/bo: split buffer 
move functions into their own source files
date:   9 months ago
:: branch date: 4 hours ago
:: commit date: 9 months ago
config: riscv-randconfig-m031-20210405 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 
Reported-by: Dan Carpenter 

smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo5039.c:39 nv50_bo_move_m2mf() warn: should 
'new_reg->num_pages << (12)' be a 64 bit type?

vim +39 drivers/gpu/drm/nouveau/nouveau_bo5039.c

8b9d5d63a71931 Ben Skeggs 2020-06-22   33  
8b9d5d63a71931 Ben Skeggs 2020-06-22   34  int
8b9d5d63a71931 Ben Skeggs 2020-06-22   35  nv50_bo_move_m2mf(struct 
nouveau_channel *chan, struct ttm_buffer_object *bo,
8b9d5d63a71931 Ben Skeggs 2020-06-22   36 struct ttm_mem_reg 
*old_reg, struct ttm_mem_reg *new_reg)
8b9d5d63a71931 Ben Skeggs 2020-06-22   37  {
8b9d5d63a71931 Ben Skeggs 2020-06-22   38   struct nouveau_mem *mem = 
nouveau_mem(old_reg);
8b9d5d63a71931 Ben Skeggs 2020-06-22  @39   u64 length = 
(new_reg->num_pages << PAGE_SHIFT);
8b9d5d63a71931 Ben Skeggs 2020-06-22   40   u64 src_offset = 
mem->vma[0].addr;
8b9d5d63a71931 Ben Skeggs 2020-06-22   41   u64 dst_offset = 
mem->vma[1].addr;
8b9d5d63a71931 Ben Skeggs 2020-06-22   42   int src_tiled = !!mem->kind;
8b9d5d63a71931 Ben Skeggs 2020-06-22   43   int dst_tiled = 
!!nouveau_mem(new_reg)->kind;
8b9d5d63a71931 Ben Skeggs 2020-06-22   44   int ret;
8b9d5d63a71931 Ben Skeggs 2020-06-22   45  
8b9d5d63a71931 Ben Skeggs 2020-06-22   46   while (length) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   47   u32 amount, stride, 
height;
8b9d5d63a71931 Ben Skeggs 2020-06-22   48  
8b9d5d63a71931 Ben Skeggs 2020-06-22   49   ret = RING_SPACE(chan, 
18 + 6 * (src_tiled + dst_tiled));
8b9d5d63a71931 Ben Skeggs 2020-06-22   50   if (ret)
8b9d5d63a71931 Ben Skeggs 2020-06-22   51   return ret;
8b9d5d63a71931 Ben Skeggs 2020-06-22   52  
8b9d5d63a71931 Ben Skeggs 2020-06-22   53   amount  = min(length, 
(u64)(4 * 1024 * 1024));
8b9d5d63a71931 Ben Skeggs 2020-06-22   54   stride  = 16 * 4;
8b9d5d63a71931 Ben Skeggs 2020-06-22   55   height  = amount / 
stride;
8b9d5d63a71931 Ben Skeggs 2020-06-22   56  
8b9d5d63a71931 Ben Skeggs 2020-06-22   57   if (src_tiled) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   58   
BEGIN_NV04(chan, NvSubCopy, 0x0200, 7);
8b9d5d63a71931 Ben Skeggs 2020-06-22   59   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   60   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   61   OUT_RING  
(chan, stride);
8b9d5d63a71931 Ben Skeggs 2020-06-22   62   OUT_RING  
(chan, height);
8b9d5d63a71931 Ben Skeggs 2020-06-22   63   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   64   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   65   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   66   } else {
8b9d5d63a71931 Ben Skeggs 2020-06-22   67   
BEGIN_NV04(chan, NvSubCopy, 0x0200, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   68   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   69   }
8b9d5d63a71931 Ben Skeggs 2020-06-22   70   if (dst_tiled) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   71   
BEGIN_NV04(chan, NvSubCopy, 0x021c, 7);
8b9d5d63a71931 Ben Skeggs 2020-06-22   72   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   73   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   74   OUT_RING  
(chan, stride);
8b9d5d63a71931 Ben Skeggs 2020-06-22   75   OUT_RING  
(chan, height);
8b9d5d63a71931 Ben Skeggs 2020-06-22   76   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   77   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   78   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   79   } else {
8b9d5d63a71931 Ben Skeggs 2020-06-22   80   
BEGIN_NV04(chan, NvSubCopy, 0x021c, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   81   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   82   }
8b9d5d63a71931 Ben Skeggs 2020-06-22   83  
8b9d5d63a71931 Ben Skeggs 2020-06-22   84   BEGIN_NV04(chan, 

[kbuild] drivers/gpu/drm/nouveau/nouveau_bo5039.c:39 nv50_bo_move_m2mf() warn: should 'new_reg->num_pages << (12)' be a 64 bit

2021-01-25 Thread kernel test robot
CC: kbuild-...@lists.01.org
CC: linux-ker...@vger.kernel.org
TO: Ben Skeggs 
CC: Lyude Paul 

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   13391c60da3308ed9980de0168f74cce6c62ac1d
commit: 8b9d5d63a7193156b6b397c4f5078efbc200695f drm/nouveau/bo: split buffer 
move functions into their own source files
date:   6 months ago
:: branch date: 7 hours ago
:: commit date: 6 months ago
config: riscv-randconfig-m031-20210125 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 
Reported-by: Dan Carpenter 

smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo5039.c:39 nv50_bo_move_m2mf() warn: should 
'new_reg->num_pages << (12)' be a 64 bit type?

vim +39 drivers/gpu/drm/nouveau/nouveau_bo5039.c

8b9d5d63a71931 Ben Skeggs 2020-06-22   33  
8b9d5d63a71931 Ben Skeggs 2020-06-22   34  int
8b9d5d63a71931 Ben Skeggs 2020-06-22   35  nv50_bo_move_m2mf(struct 
nouveau_channel *chan, struct ttm_buffer_object *bo,
8b9d5d63a71931 Ben Skeggs 2020-06-22   36 struct ttm_mem_reg 
*old_reg, struct ttm_mem_reg *new_reg)
8b9d5d63a71931 Ben Skeggs 2020-06-22   37  {
8b9d5d63a71931 Ben Skeggs 2020-06-22   38   struct nouveau_mem *mem = 
nouveau_mem(old_reg);
8b9d5d63a71931 Ben Skeggs 2020-06-22  @39   u64 length = 
(new_reg->num_pages << PAGE_SHIFT);
8b9d5d63a71931 Ben Skeggs 2020-06-22   40   u64 src_offset = 
mem->vma[0].addr;
8b9d5d63a71931 Ben Skeggs 2020-06-22   41   u64 dst_offset = 
mem->vma[1].addr;
8b9d5d63a71931 Ben Skeggs 2020-06-22   42   int src_tiled = !!mem->kind;
8b9d5d63a71931 Ben Skeggs 2020-06-22   43   int dst_tiled = 
!!nouveau_mem(new_reg)->kind;
8b9d5d63a71931 Ben Skeggs 2020-06-22   44   int ret;
8b9d5d63a71931 Ben Skeggs 2020-06-22   45  
8b9d5d63a71931 Ben Skeggs 2020-06-22   46   while (length) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   47   u32 amount, stride, 
height;
8b9d5d63a71931 Ben Skeggs 2020-06-22   48  
8b9d5d63a71931 Ben Skeggs 2020-06-22   49   ret = RING_SPACE(chan, 
18 + 6 * (src_tiled + dst_tiled));
8b9d5d63a71931 Ben Skeggs 2020-06-22   50   if (ret)
8b9d5d63a71931 Ben Skeggs 2020-06-22   51   return ret;
8b9d5d63a71931 Ben Skeggs 2020-06-22   52  
8b9d5d63a71931 Ben Skeggs 2020-06-22   53   amount  = min(length, 
(u64)(4 * 1024 * 1024));
8b9d5d63a71931 Ben Skeggs 2020-06-22   54   stride  = 16 * 4;
8b9d5d63a71931 Ben Skeggs 2020-06-22   55   height  = amount / 
stride;
8b9d5d63a71931 Ben Skeggs 2020-06-22   56  
8b9d5d63a71931 Ben Skeggs 2020-06-22   57   if (src_tiled) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   58   
BEGIN_NV04(chan, NvSubCopy, 0x0200, 7);
8b9d5d63a71931 Ben Skeggs 2020-06-22   59   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   60   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   61   OUT_RING  
(chan, stride);
8b9d5d63a71931 Ben Skeggs 2020-06-22   62   OUT_RING  
(chan, height);
8b9d5d63a71931 Ben Skeggs 2020-06-22   63   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   64   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   65   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   66   } else {
8b9d5d63a71931 Ben Skeggs 2020-06-22   67   
BEGIN_NV04(chan, NvSubCopy, 0x0200, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   68   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   69   }
8b9d5d63a71931 Ben Skeggs 2020-06-22   70   if (dst_tiled) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   71   
BEGIN_NV04(chan, NvSubCopy, 0x021c, 7);
8b9d5d63a71931 Ben Skeggs 2020-06-22   72   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   73   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   74   OUT_RING  
(chan, stride);
8b9d5d63a71931 Ben Skeggs 2020-06-22   75   OUT_RING  
(chan, height);
8b9d5d63a71931 Ben Skeggs 2020-06-22   76   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   77   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   78   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   79   } else {
8b9d5d63a71931 Ben Skeggs 2020-06-22   80   
BEGIN_NV04(chan, NvSubCopy, 0x021c, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   81   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   82   }
8b9d5d63a71931 Ben Skeggs 2020-06-22   83  
8b9d5d63a71931 Ben Skeggs 2020-06-22   84   BEGIN_NV04(chan, 

[kbuild] drivers/gpu/drm/nouveau/nouveau_bo5039.c:39 nv50_bo_move_m2mf() warn: should 'new_reg->num_pages << (12)' be a 64 bit

2020-09-12 Thread kernel test robot
CC: kbuild-...@lists.01.org
CC: linux-ker...@vger.kernel.org
TO: Ben Skeggs 
CC: Lyude Paul 

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   729e3d091984487f7aa1ebfabfe594e5b317ed0f
commit: 8b9d5d63a7193156b6b397c4f5078efbc200695f drm/nouveau/bo: split buffer 
move functions into their own source files
date:   7 weeks ago
:: branch date: 10 hours ago
:: commit date: 7 weeks ago
config: riscv-randconfig-m031-20200911 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot 
Reported-by: Dan Carpenter 

smatch warnings:
drivers/gpu/drm/nouveau/nouveau_bo5039.c:39 nv50_bo_move_m2mf() warn: should 
'new_reg->num_pages << (12)' be a 64 bit type?

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8b9d5d63a7193156b6b397c4f5078efbc200695f
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 8b9d5d63a7193156b6b397c4f5078efbc200695f
vim +39 drivers/gpu/drm/nouveau/nouveau_bo5039.c

8b9d5d63a71931 Ben Skeggs 2020-06-22   33  
8b9d5d63a71931 Ben Skeggs 2020-06-22   34  int
8b9d5d63a71931 Ben Skeggs 2020-06-22   35  nv50_bo_move_m2mf(struct 
nouveau_channel *chan, struct ttm_buffer_object *bo,
8b9d5d63a71931 Ben Skeggs 2020-06-22   36 struct ttm_mem_reg 
*old_reg, struct ttm_mem_reg *new_reg)
8b9d5d63a71931 Ben Skeggs 2020-06-22   37  {
8b9d5d63a71931 Ben Skeggs 2020-06-22   38   struct nouveau_mem *mem = 
nouveau_mem(old_reg);
8b9d5d63a71931 Ben Skeggs 2020-06-22  @39   u64 length = 
(new_reg->num_pages << PAGE_SHIFT);
8b9d5d63a71931 Ben Skeggs 2020-06-22   40   u64 src_offset = 
mem->vma[0].addr;
8b9d5d63a71931 Ben Skeggs 2020-06-22   41   u64 dst_offset = 
mem->vma[1].addr;
8b9d5d63a71931 Ben Skeggs 2020-06-22   42   int src_tiled = !!mem->kind;
8b9d5d63a71931 Ben Skeggs 2020-06-22   43   int dst_tiled = 
!!nouveau_mem(new_reg)->kind;
8b9d5d63a71931 Ben Skeggs 2020-06-22   44   int ret;
8b9d5d63a71931 Ben Skeggs 2020-06-22   45  
8b9d5d63a71931 Ben Skeggs 2020-06-22   46   while (length) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   47   u32 amount, stride, 
height;
8b9d5d63a71931 Ben Skeggs 2020-06-22   48  
8b9d5d63a71931 Ben Skeggs 2020-06-22   49   ret = RING_SPACE(chan, 
18 + 6 * (src_tiled + dst_tiled));
8b9d5d63a71931 Ben Skeggs 2020-06-22   50   if (ret)
8b9d5d63a71931 Ben Skeggs 2020-06-22   51   return ret;
8b9d5d63a71931 Ben Skeggs 2020-06-22   52  
8b9d5d63a71931 Ben Skeggs 2020-06-22   53   amount  = min(length, 
(u64)(4 * 1024 * 1024));
8b9d5d63a71931 Ben Skeggs 2020-06-22   54   stride  = 16 * 4;
8b9d5d63a71931 Ben Skeggs 2020-06-22   55   height  = amount / 
stride;
8b9d5d63a71931 Ben Skeggs 2020-06-22   56  
8b9d5d63a71931 Ben Skeggs 2020-06-22   57   if (src_tiled) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   58   
BEGIN_NV04(chan, NvSubCopy, 0x0200, 7);
8b9d5d63a71931 Ben Skeggs 2020-06-22   59   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   60   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   61   OUT_RING  
(chan, stride);
8b9d5d63a71931 Ben Skeggs 2020-06-22   62   OUT_RING  
(chan, height);
8b9d5d63a71931 Ben Skeggs 2020-06-22   63   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   64   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   65   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   66   } else {
8b9d5d63a71931 Ben Skeggs 2020-06-22   67   
BEGIN_NV04(chan, NvSubCopy, 0x0200, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   68   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   69   }
8b9d5d63a71931 Ben Skeggs 2020-06-22   70   if (dst_tiled) {
8b9d5d63a71931 Ben Skeggs 2020-06-22   71   
BEGIN_NV04(chan, NvSubCopy, 0x021c, 7);
8b9d5d63a71931 Ben Skeggs 2020-06-22   72   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   73   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   74   OUT_RING  
(chan, stride);
8b9d5d63a71931 Ben Skeggs 2020-06-22   75   OUT_RING  
(chan, height);
8b9d5d63a71931 Ben Skeggs 2020-06-22   76   OUT_RING  
(chan, 1);
8b9d5d63a71931 Ben Skeggs 2020-06-22   77   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   78   OUT_RING  
(chan, 0);
8b9d5d63a71931 Ben Skeggs 2020-06-22   79   } else {
8b9d5d63a71931 Ben Skeggs 2020-06-22   80