drm/amdgpu: implement cgs gpu memory callbacks

Zhou, David(ChunMing) David1.Zhou at amd.com
Mon Aug 24 00:09:15 PDT 2015


Hi Dan,
Thanks for figuring out that. 
>    274          min_offset = obj->placements[0].fpfn << PAGE_SHIFT;
>    275          max_offset = obj->placements[0].lpfn << PAGE_SHIFT;
Maybe should be:
	min_offset = obj->placements[0].fpfn;
	min_offset <<= PAGE_SHIFT;
	max_offset = obj->placements[0].lpfn;
	max_offset <<= PAGE_SHIFT;

Regards,
  David Zhou

> -----Original Message-----
> From: Dan Carpenter [mailto:dan.carpenter at oracle.com]
> Sent: Saturday, August 22, 2015 12:24 AM
> To: Zhou, David(ChunMing)
> Cc: dri-devel at lists.freedesktop.org
> Subject: re: drm/amdgpu: implement cgs gpu memory callbacks
> 
> 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