[radeon-alex:amd-mainline-hybrid-4.11 1375/2257] drivers/gpu/drm/radeon/radeon_kfd.c:1426:32: warning: cast to pointer from integer of different size

kbuild test robot fengguang.wu at intel.com
Fri Jul 28 11:37:30 UTC 2017


tree:   git://people.freedesktop.org/~agd5f/linux.git amd-mainline-hybrid-4.11
head:   4e9a9bc851d8ecea7b6cabb485f1aa3e914a42a9
commit: f271ce43981644c2dd9832f9014b5aaaa8b3196f [1375/2257] radeon_kfd.c copied
config: i386-randconfig-i1-201730 (attached as .config)
compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4
reproduce:
        git checkout f271ce43981644c2dd9832f9014b5aaaa8b3196f
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'get_pdd_from_buffer_object':
   drivers/gpu/drm/radeon/radeon_kfd.c:219:22: error: 'struct radeon_bo' has no member named 'pdd'
     return mem->data2.bo->pdd;
                         ^
   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'open_graphic_handle':
   drivers/gpu/drm/radeon/radeon_kfd.c:516:2: warning: passing argument 1 of 'drm_gem_object_lookup' from incompatible pointer type [enabled by default]
     gem_obj = drm_gem_object_lookup(rdev->ddev, filp->private_data, handle);
     ^
   In file included from drivers/gpu/drm/radeon/radeon.h:77:0,
                    from drivers/gpu/drm/radeon/radeon_kfd.c:27:
   include/drm/drm_gem.h:241:24: note: expected 'struct drm_file *' but argument is of type 'struct drm_device *'
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^
   drivers/gpu/drm/radeon/radeon_kfd.c:516:2: warning: passing argument 2 of 'drm_gem_object_lookup' makes integer from pointer without a cast [enabled by default]
     gem_obj = drm_gem_object_lookup(rdev->ddev, filp->private_data, handle);
     ^
   In file included from drivers/gpu/drm/radeon/radeon.h:77:0,
                    from drivers/gpu/drm/radeon/radeon_kfd.c:27:
   include/drm/drm_gem.h:241:24: note: expected 'u32' but argument is of type 'void *'
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^
   drivers/gpu/drm/radeon/radeon_kfd.c:516:2: error: too many arguments to function 'drm_gem_object_lookup'
     gem_obj = drm_gem_object_lookup(rdev->ddev, filp->private_data, handle);
     ^
   In file included from drivers/gpu/drm/radeon/radeon.h:77:0,
                    from drivers/gpu/drm/radeon/radeon_kfd.c:27:
   include/drm/drm_gem.h:241:24: note: declared here
    struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle);
                           ^
   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'map_bo_to_gpuvm':
   drivers/gpu/drm/radeon/radeon_kfd.c:1271:3: error: too many arguments to function 'ttm_bo_wait'
      ret = ttm_bo_wait(&bo->tbo, true, false, false);
      ^
   In file included from drivers/gpu/drm/radeon/radeon.h:71:0,
                    from drivers/gpu/drm/radeon/radeon_kfd.c:27:
   include/drm/ttm/ttm_bo_api.h:292:12: note: declared here
    extern int ttm_bo_wait(struct ttm_buffer_object *bo,
               ^
   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'write_config_static_mem':
   drivers/gpu/drm/radeon/radeon_kfd.c:1368:26: error: 'SH_STATIC_MEM_CONFIG__SWIZZLE_ENABLE__SHIFT' undeclared (first use in this function)
     reg = swizzle_enable << SH_STATIC_MEM_CONFIG__SWIZZLE_ENABLE__SHIFT |
                             ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1368:26: note: each undeclared identifier is reported only once for each function it appears in
   drivers/gpu/drm/radeon/radeon_kfd.c:1369:19: error: 'SH_STATIC_MEM_CONFIG__ELEMENT_SIZE__SHIFT' undeclared (first use in this function)
      element_size << SH_STATIC_MEM_CONFIG__ELEMENT_SIZE__SHIFT |
                      ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1370:19: error: 'SH_STATIC_MEM_CONFIG__INDEX_STRIDE__SHIFT' undeclared (first use in this function)
      index_stride << SH_STATIC_MEM_CONFIG__INDEX_STRIDE__SHIFT |
                      ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1371:19: error: 'SH_STATIC_MEM_CONFIG__PRIVATE_MTYPE__SHIFT' undeclared (first use in this function)
      index_stride << SH_STATIC_MEM_CONFIG__PRIVATE_MTYPE__SHIFT;
                      ^
   In file included from drivers/gpu/drm/radeon/radeon_kfd.c:27:0:
   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'alloc_memory_of_scratch':
   drivers/gpu/drm/radeon/radeon_kfd.c:1382:9: error: 'SH_HIDDEN_PRIVATE_BASE_VMID' undeclared (first use in this function)
     WREG32(SH_HIDDEN_PRIVATE_BASE_VMID, va);
            ^
   drivers/gpu/drm/radeon/radeon.h:2545:44: note: in definition of macro 'WREG32'
    #define WREG32(reg, v) r100_mm_wreg(rdev, (reg), (v), false)
                                               ^
   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'alloc_memory_of_gpu':
   drivers/gpu/drm/radeon/radeon_kfd.c:1421:4: error: 'struct radeon_bo' has no member named 'pdd'
     bo->pdd = pdd;
       ^
   In file included from include/linux/kernel.h:13:0,
                    from include/linux/list.h:8,
                    from include/linux/module.h:9,
                    from drivers/gpu/drm/radeon/radeon_kfd.c:23:
>> drivers/gpu/drm/radeon/radeon_kfd.c:1426:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     pr_debug("Set BO to VA %p\n", (void *) va);
                                   ^
   include/linux/printk.h:136:18: note: in definition of macro 'no_printk'
       printk(fmt, ##__VA_ARGS__); \
                     ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1426:2: note: in expansion of macro 'pr_debug'
     pr_debug("Set BO to VA %p\n", (void *) va);
     ^
   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'set_num_of_requests':
   drivers/gpu/drm/radeon/radeon_kfd.c:1619:29: error: 'ATC_ATS_DEBUG' undeclared (first use in this function)
     value = read_register(dev, ATC_ATS_DEBUG);
                                ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1620:12: error: 'NUM_REQUESTS_AT_ERR_MASK' undeclared (first use in this function)
     value &= ~NUM_REQUESTS_AT_ERR_MASK;
               ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1621:2: error: implicit declaration of function 'NUM_REQUESTS_AT_ERR' [-Werror=implicit-function-declaration]
     value |= NUM_REQUESTS_AT_ERR(num_of_req);
     ^
   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'get_cu_info':
   drivers/gpu/drm/radeon/radeon_kfd.c:1629:24: error: storage size of 'rcu_info' isn't known
     struct radeon_cu_info rcu_info;
                           ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1634:16: error: 'struct radeon_asic' has no member named 'get_cu_info'
     if (rdev->asic->get_cu_info == NULL)
                   ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1638:12: error: 'struct radeon_asic' has no member named 'get_cu_info'
     rdev->asic->get_cu_info(rdev, &rcu_info);
               ^
   drivers/gpu/drm/radeon/radeon_kfd.c:1629:24: warning: unused variable 'rcu_info' [-Wunused-variable]
     struct radeon_cu_info rcu_info;
                           ^
   drivers/gpu/drm/radeon/radeon_kfd.c: In function 'get_pdd_from_buffer_object':
   drivers/gpu/drm/radeon/radeon_kfd.c:220:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors

vim +1426 drivers/gpu/drm/radeon/radeon_kfd.c

  1387	
  1388	static int alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va, size_t size,
  1389			void *vm, struct kgd_mem **mem,
  1390			uint64_t *offset, void **kptr,
  1391			struct kfd_process_device *pdd, uint32_t flags)
  1392	{
  1393		struct radeon_device *rdev = (struct radeon_device *) kgd;
  1394		int ret;
  1395		struct radeon_bo_va *bo_va;
  1396		struct radeon_bo *bo;
  1397	
  1398		BUG_ON(kgd == NULL);
  1399		BUG_ON(size == 0);
  1400		BUG_ON(mem == NULL);
  1401		BUG_ON(vm == NULL);
  1402	
  1403		*mem = kzalloc(sizeof(struct kgd_mem), GFP_KERNEL);
  1404		if (*mem == NULL) {
  1405			ret = -ENOMEM;
  1406			goto err;
  1407		}
  1408		mutex_init(&(*mem)->data2.lock);
  1409	
  1410		/* Allocate buffer object on VRAM */
  1411		ret = radeon_bo_create(rdev, size, PAGE_SIZE, false,
  1412					RADEON_GEM_DOMAIN_VRAM,
  1413					RADEON_GEM_NO_CPU_ACCESS, NULL, NULL, &bo);
  1414		if (ret != 0) {
  1415			pr_err("amdkfd: Failed to create BO object on VRAM. ret == %d\n",
  1416					ret);
  1417			goto err_bo_create;
  1418		}
  1419	
  1420		pr_debug("Created BO on VRAM with size %zu bytes\n", size);
> 1421		bo->pdd = pdd;
  1422		ret = add_bo_to_vm(rdev, va, vm, bo, &bo_va);
  1423		if (ret != 0)
  1424			goto err_map;
  1425	
> 1426		pr_debug("Set BO to VA %p\n", (void *) va);
  1427	
  1428		(*mem)->data2.bo = bo;
  1429		(*mem)->data2.bo_va = bo_va;
  1430		(*mem)->data2.mapped_to_gpu_memory = 0;
  1431	
  1432		return 0;
  1433	
  1434	err_map:
  1435		radeon_bo_unref(&bo);
  1436	err_bo_create:
  1437		kfree(*mem);
  1438	err:
  1439		return ret;
  1440	

---
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: 22499 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170728/7825935d/attachment-0001.gz>


More information about the dri-devel mailing list