[radeon-alex:drm-next-4.12-wip 38/69] drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:556:16: note: in expansion of macro 'do_div'

kbuild test robot fengguang.wu at intel.com
Thu Apr 6 08:34:22 UTC 2017


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 49264 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170406/cbe911a5/attachment-0001.gz>


More information about the dri-devel mailing list