All of lore.kernel.org
 help / color / mirror / Atom feed
* [radeon-alex:drm-next-4.20-wip 229/235] drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_vi.c:202:34: sparse: expression using sizeof(void)
@ 2018-08-29  6:55 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2018-08-29  6:55 UTC (permalink / raw)
  To: Amber Lin; +Cc: Alex Deucher, Felix Kuehling, kbuild-all, dri-devel

tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-4.20-wip
head:   bdb1922abd620d24715906bac4d119274d98f4c9
commit: 04d5e2765802241b54ee93d1e655123c39fa7385 [229/235] drm/amdgpu: Merge amdkfd into amdgpu
reproduce:
        # apt-get install sparse
        git checkout 04d5e2765802241b54ee93d1e655123c39fa7385
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_vi.c:202:34: sparse: expression using sizeof(void)
--
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_v9.c:204:33: sparse: expression using sizeof(void)
--
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_kernel_queue_vi.c:134:31: sparse: expression using sizeof(void)
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_kernel_queue_vi.c:134:31: sparse: expression using sizeof(void)
--
   include/linux/slab.h:631:13: sparse: undefined identifier '__builtin_mul_overflow'
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_events.c:648:27: sparse: expression using sizeof(void)
   include/linux/slab.h:631:13: sparse: call with no type!
--
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:37:16: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:43:17: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:47:21: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:48:21: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:73:21: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:74:21: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:75:17: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:76:16: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:77:22: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_int_process_v9.c:90:36: sparse: cast to restricted __le32
--
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_iommu.c:87:23: sparse: expression using sizeof(void)
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_iommu.c:87:23: sparse: expression using sizeof(void)
--
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_pm4_headers_ai.h:517:80: sparse: dubious one-bit signed bitfield

vim +202 drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_vi.c

d696d536f Ben Goz        2015-01-12  159  
d696d536f Ben Goz        2015-01-12  160  static int __update_mqd(struct mqd_manager *mm, void *mqd,
d696d536f Ben Goz        2015-01-12  161  			struct queue_properties *q, unsigned int mtype,
d696d536f Ben Goz        2015-01-12  162  			unsigned int atc_bit)
d696d536f Ben Goz        2015-01-12  163  {
d696d536f Ben Goz        2015-01-12  164  	struct vi_mqd *m;
d696d536f Ben Goz        2015-01-12  165  
d696d536f Ben Goz        2015-01-12  166  	m = get_mqd(mqd);
d696d536f Ben Goz        2015-01-12  167  
d696d536f Ben Goz        2015-01-12  168  	m->cp_hqd_pq_control = 5 << CP_HQD_PQ_CONTROL__RPTR_BLOCK_SIZE__SHIFT |
d696d536f Ben Goz        2015-01-12  169  			atc_bit << CP_HQD_PQ_CONTROL__PQ_ATC__SHIFT |
d696d536f Ben Goz        2015-01-12  170  			mtype << CP_HQD_PQ_CONTROL__MTYPE__SHIFT;
115c8c410 Felix Kuehling 2017-11-06  171  	m->cp_hqd_pq_control |=	order_base_2(q->queue_size / 4) - 1;
79775b627 Kent Russell   2017-08-15  172  	pr_debug("cp_hqd_pq_control 0x%x\n", m->cp_hqd_pq_control);
d696d536f Ben Goz        2015-01-12  173  
d696d536f Ben Goz        2015-01-12  174  	m->cp_hqd_pq_base_lo = lower_32_bits((uint64_t)q->queue_address >> 8);
d696d536f Ben Goz        2015-01-12  175  	m->cp_hqd_pq_base_hi = upper_32_bits((uint64_t)q->queue_address >> 8);
d696d536f Ben Goz        2015-01-12  176  
d696d536f Ben Goz        2015-01-12  177  	m->cp_hqd_pq_rptr_report_addr_lo = lower_32_bits((uint64_t)q->read_ptr);
d696d536f Ben Goz        2015-01-12  178  	m->cp_hqd_pq_rptr_report_addr_hi = upper_32_bits((uint64_t)q->read_ptr);
ee04955af Felix Kuehling 2018-01-04  179  	m->cp_hqd_pq_wptr_poll_addr_lo = lower_32_bits((uint64_t)q->write_ptr);
ee04955af Felix Kuehling 2018-01-04  180  	m->cp_hqd_pq_wptr_poll_addr_hi = upper_32_bits((uint64_t)q->write_ptr);
d696d536f Ben Goz        2015-01-12  181  
d696d536f Ben Goz        2015-01-12  182  	m->cp_hqd_pq_doorbell_control =
d696d536f Ben Goz        2015-01-12  183  		q->doorbell_off <<
d696d536f Ben Goz        2015-01-12  184  			CP_HQD_PQ_DOORBELL_CONTROL__DOORBELL_OFFSET__SHIFT;
79775b627 Kent Russell   2017-08-15  185  	pr_debug("cp_hqd_pq_doorbell_control 0x%x\n",
d696d536f Ben Goz        2015-01-12  186  			m->cp_hqd_pq_doorbell_control);
d696d536f Ben Goz        2015-01-12  187  
d696d536f Ben Goz        2015-01-12  188  	m->cp_hqd_eop_control = atc_bit << CP_HQD_EOP_CONTROL__EOP_ATC__SHIFT |
d696d536f Ben Goz        2015-01-12  189  			mtype << CP_HQD_EOP_CONTROL__MTYPE__SHIFT;
d696d536f Ben Goz        2015-01-12  190  
d696d536f Ben Goz        2015-01-12  191  	m->cp_hqd_ib_control = atc_bit << CP_HQD_IB_CONTROL__IB_ATC__SHIFT |
d696d536f Ben Goz        2015-01-12  192  			3 << CP_HQD_IB_CONTROL__MIN_IB_AVAIL_SIZE__SHIFT |
d696d536f Ben Goz        2015-01-12  193  			mtype << CP_HQD_IB_CONTROL__MTYPE__SHIFT;
d696d536f Ben Goz        2015-01-12  194  
af68d87ca Jay Cornwall   2017-08-15  195  	/*
af68d87ca Jay Cornwall   2017-08-15  196  	 * HW does not clamp this field correctly. Maximum EOP queue size
af68d87ca Jay Cornwall   2017-08-15  197  	 * is constrained by per-SE EOP done signal count, which is 8-bit.
af68d87ca Jay Cornwall   2017-08-15  198  	 * Limit is 0xFF EOP entries (= 0x7F8 dwords). CP will not submit
af68d87ca Jay Cornwall   2017-08-15  199  	 * more than (EOP entry count - 1) so a queue size of 0x800 dwords
af68d87ca Jay Cornwall   2017-08-15  200  	 * is safe, giving a maximum field value of 0xA.
af68d87ca Jay Cornwall   2017-08-15  201  	 */
af68d87ca Jay Cornwall   2017-08-15 @202  	m->cp_hqd_eop_control |= min(0xA,
115c8c410 Felix Kuehling 2017-11-06  203  		order_base_2(q->eop_ring_buffer_size / 4) - 1);
d696d536f Ben Goz        2015-01-12  204  	m->cp_hqd_eop_base_addr_lo =
d696d536f Ben Goz        2015-01-12  205  			lower_32_bits(q->eop_ring_buffer_address >> 8);
d696d536f Ben Goz        2015-01-12  206  	m->cp_hqd_eop_base_addr_hi =
d696d536f Ben Goz        2015-01-12  207  			upper_32_bits(q->eop_ring_buffer_address >> 8);
d696d536f Ben Goz        2015-01-12  208  
d696d536f Ben Goz        2015-01-12  209  	m->cp_hqd_iq_timer = atc_bit << CP_HQD_IQ_TIMER__IQ_ATC__SHIFT |
d696d536f Ben Goz        2015-01-12  210  			mtype << CP_HQD_IQ_TIMER__MTYPE__SHIFT;
d696d536f Ben Goz        2015-01-12  211  
d696d536f Ben Goz        2015-01-12  212  	m->cp_hqd_vmid = q->vmid;
d696d536f Ben Goz        2015-01-12  213  
d696d536f Ben Goz        2015-01-12  214  	if (q->format == KFD_QUEUE_FORMAT_AQL) {
d696d536f Ben Goz        2015-01-12  215  		m->cp_hqd_pq_control |= CP_HQD_PQ_CONTROL__NO_UPDATE_RPTR_MASK |
d696d536f Ben Goz        2015-01-12  216  				2 << CP_HQD_PQ_CONTROL__SLOT_BASED_WPTR__SHIFT;
d696d536f Ben Goz        2015-01-12  217  	}
d696d536f Ben Goz        2015-01-12  218  
373d70808 Felix Kuehling 2017-11-14  219  	if (mm->dev->cwsr_enabled && q->ctx_save_restore_area_address)
373d70808 Felix Kuehling 2017-11-14  220  		m->cp_hqd_ctx_save_control =
373d70808 Felix Kuehling 2017-11-14  221  			atc_bit << CP_HQD_CTX_SAVE_CONTROL__ATC__SHIFT |
373d70808 Felix Kuehling 2017-11-14  222  			mtype << CP_HQD_CTX_SAVE_CONTROL__MTYPE__SHIFT;
373d70808 Felix Kuehling 2017-11-14  223  
39e7f3318 Felix Kuehling 2018-07-14  224  	update_cu_mask(mm, mqd, q);
39e7f3318 Felix Kuehling 2018-07-14  225  
bba9662db Jay Cornwall   2017-11-01  226  	q->is_active = (q->queue_size > 0 &&
d696d536f Ben Goz        2015-01-12  227  			q->queue_address != 0 &&
26103436d Felix Kuehling 2018-02-06  228  			q->queue_percent > 0 &&
26103436d Felix Kuehling 2018-02-06  229  			!q->is_evicted);
d696d536f Ben Goz        2015-01-12  230  
d696d536f Ben Goz        2015-01-12  231  	return 0;
d696d536f Ben Goz        2015-01-12  232  }
d696d536f Ben Goz        2015-01-12  233  

:::::: The code at line 202 was first introduced by commit
:::::: af68d87cac0664c9118e76727e4273eab56deb83 drm/amdkfd: Clamp EOP queue size correctly on Gfx8

:::::: TO: Jay Cornwall <Jay.Cornwall@amd.com>
:::::: CC: Oded Gabbay <oded.gabbay@gmail.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-08-29  6:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-29  6:55 [radeon-alex:drm-next-4.20-wip 229/235] drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_mqd_manager_vi.c:202:34: sparse: expression using sizeof(void) kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.