[radeon-alex:amd-staging-drm-next 468/1015] drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:172:15: sparse: sparse: incorrect type in argument 1 (different address spaces)

kernel test robot lkp at intel.com
Sat Jul 11 13:14:17 UTC 2020


tree:   git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head:   3c831e196bd7543977d4acd506064636809f1dcf
commit: 3a2b9affb4c366dac8a088156c644cf329701816 [468/1015] drm/amdkfd: Track SDMA utilization per process
config: x86_64-randconfig-s022-20200710 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-37-gc9676a3b-dirty
        git checkout 3a2b9affb4c366dac8a088156c644cf329701816
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>


sparse warnings: (new ones prefixed by >>)

   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:140:6: sparse: sparse: symbol 'increment_queue_count' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:148:6: sparse: sparse: symbol 'decrement_queue_count' was not declared. Should it be static?
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:172:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:1> * @@     got unsigned long long [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:172:15: sparse:     expected void const volatile [noderef] <asn:1> *
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:172:15: sparse:     got unsigned long long [usertype] *

vim +172 drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c

   139	
 > 140	void increment_queue_count(struct device_queue_manager *dqm,
   141				enum kfd_queue_type type)
   142	{
   143		dqm->active_queue_count++;
   144		if (type == KFD_QUEUE_TYPE_COMPUTE || type == KFD_QUEUE_TYPE_DIQ)
   145			dqm->active_cp_queue_count++;
   146	}
   147	
   148	void decrement_queue_count(struct device_queue_manager *dqm,
   149				enum kfd_queue_type type)
   150	{
   151		dqm->active_queue_count--;
   152		if (type == KFD_QUEUE_TYPE_COMPUTE || type == KFD_QUEUE_TYPE_DIQ)
   153			dqm->active_cp_queue_count--;
   154	}
   155	
   156	int read_sdma_queue_counter(struct queue *q, uint64_t *val)
   157	{
   158		int ret;
   159		uint64_t tmp = 0;
   160	
   161		if (!q || !val)
   162			return -EINVAL;
   163		/*
   164		 * SDMA activity counter is stored at queue's RPTR + 0x8 location.
   165		 */
   166		if (!access_ok((const void __user *)((uint64_t)q->properties.read_ptr +
   167						sizeof(uint64_t)), sizeof(uint64_t))) {
   168			pr_err("Can't access sdma queue activity counter\n");
   169			return -EFAULT;
   170		}
   171	
 > 172		ret = get_user(tmp, (uint64_t *)((uint64_t)(q->properties.read_ptr) +
   173							    sizeof(uint64_t)));
   174		if (!ret) {
   175			*val = tmp;
   176		}
   177	
   178		return ret;
   179	}
   180	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 33616 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200711/edab920e/attachment-0001.gz>


More information about the dri-devel mailing list