drm/amdgpu: implement cgs gpu memory callbacks

Dan Carpenter dan.carpenter at oracle.com
Fri Aug 21 09:23:59 PDT 2015


Hello Chunming Zhou,

The patch 57ff96cf471a: "drm/amdgpu: implement cgs gpu memory
callbacks" from Apr 24, 2015, leads to the following static checker
warning:

	drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:274 amdgpu_cgs_gmap_gpu_mem()
	warn: should 'obj->placements[0]->fpfn << 12' be a 64 bit type?

	drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:275 amdgpu_cgs_gmap_gpu_mem()
	warn: should 'obj->placements[0]->lpfn << 12' be a 64 bit type?


drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
   265  static int amdgpu_cgs_gmap_gpu_mem(void *cgs_device, cgs_handle_t handle,
   266                                     uint64_t *mcaddr)
   267  {
   268          int r;
   269          u64 min_offset, max_offset;
   270          struct amdgpu_bo *obj = (struct amdgpu_bo *)handle;
   271  
   272          WARN_ON_ONCE(obj->placement.num_placement > 1);
   273  
   274          min_offset = obj->placements[0].fpfn << PAGE_SHIFT;
   275          max_offset = obj->placements[0].lpfn << PAGE_SHIFT;

Both of these.

   276  
   277          r = amdgpu_bo_reserve(obj, false);
   278          if (unlikely(r != 0))
   279                  return r;
   280          r = amdgpu_bo_pin_restricted(obj, AMDGPU_GEM_DOMAIN_GTT,
   281                                       min_offset, max_offset, mcaddr);
   282          amdgpu_bo_unreserve(obj);
   283          return r;
   284  }

There are actually a few of these warnings which were less clear
whether the warning was correct or not so I didn't send them.

drivers/gpu/drm/amd/amdgpu/cz_smc.c:463 cz_smu_populate_single_firmware_entry() warn: should '((header->jt_offset)) << 2' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/fiji_smc.c:404 fiji_smu_populate_single_firmware_entry() warn: should '((header->jt_offset)) << 2' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c:724 amdgpu_cgs_get_firmware_info() warn: should '((header->jt_offset)) << 2' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/tonga_smc.c:406 tonga_smu_populate_single_firmware_entry() warn: should '((header->jt_offset)) << 2' be a 64 bit type?
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c:615 amdgpu_gem_op_ioctl() warn: should 'robj->tbo.mem.page_alignment << 12' be a 64 bit type?

regards,
dan carpenter


More information about the dri-devel mailing list