tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-4.12-wip
head:   a738ad6108435367c1d7f1a4a499bebdd26c375e
commit: 38574a66e897b70bbdc46d9da26845caab90da13 [38/69] drm/amdgpu: fix 64bit 
division
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
reproduce:
        wget 
https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 38574a66e897b70bbdc46d9da26845caab90da13
        # save the attached .config to linux build tree
        make.cross ARCH=xtensa 

All warnings (new ones prefixed by >>):

   In file included from ./arch/xtensa/include/generated/asm/div64.h:1:0,
                    from include/linux/kernel.h:149,
                    from include/linux/list.h:8,
                    from include/drm/drm_hashtab.h:38,
                    from include/drm/ttm/ttm_bo_api.h:34,
                    from drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:32:
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c: In function 'amdgpu_ttm_io_mem_pfn':
   include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer 
types lacks a cast
     (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
                               ^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:556:16: note: in expansion of macro 
>> 'do_div'
     page_offset = do_div(offset, size);
                   ^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:556:2: warning: right shift count >= 
>> width of type
     page_offset = do_div(offset, size);
     ^
   In file included from ./arch/xtensa/include/generated/asm/div64.h:1:0,
                    from include/linux/kernel.h:149,
                    from include/linux/list.h:8,
                    from include/drm/drm_hashtab.h:38,
                    from include/drm/ttm/ttm_bo_api.h:34,
                    from drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:32:
   include/asm-generic/div64.h:224:11: warning: passing argument 1 of 
'__div64_32' from incompatible pointer type
      __rem = __div64_32(&(n), __base); \
              ^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:556:16: note: in expansion of macro 
>> 'do_div'
     page_offset = do_div(offset, size);
                   ^
   include/asm-generic/div64.h:198:17: note: expected 'uint64_t *' but argument 
is of type 'long unsigned int *'
    extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor);
                    ^

vim +/do_div +556 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

   540                  return -EINVAL;
   541          }
   542          return 0;
   543  }
   544  
   545  static void amdgpu_ttm_io_mem_free(struct ttm_bo_device *bdev, struct 
ttm_mem_reg *mem)
   546  {
   547  }
   548  
   549  static unsigned long amdgpu_ttm_io_mem_pfn(struct ttm_buffer_object *bo,
   550                                             unsigned long page_offset)
   551  {
   552          struct drm_mm_node *mm = bo->mem.mm_node;
   553          uint64_t size = mm->size;
   554          unsigned long offset = page_offset;
   555  
 > 556          page_offset = do_div(offset, size);
   557          return (bo->mem.bus.base >> PAGE_SHIFT) + mm->start + 
page_offset;
   558  }
   559  
   560  /*
   561   * TTM backend functions.
   562   */
   563  struct amdgpu_ttm_gup_task_list {
   564          struct list_head        list;

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to