drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:327:5: warning: no previous prototype for 'kgd_gfx_v9_hiq_mqd_load'
From: kernel test robot
Date: Mon Aug 03 2020 - 09:55:02 EST
Hi Aaron,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: bcf876870b95592b52519ed4aafcf9d95999bc9c
commit: 35cd89d5a658dc26687a7a6909d35fee19a6b173 drm/amdkfd: use kiq to load the mqd of hiq queue for gfx v9 (v6)
date: 7 months ago
config: x86_64-randconfig-r015-20200803 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
reproduce (this is a W=1 build):
git checkout 35cd89d5a658dc26687a7a6909d35fee19a6b173
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:55:5: warning: no previous prototype for 'kgd_gfx_v9_get_tile_config' [-Wmissing-prototypes]
55 | int kgd_gfx_v9_get_tile_config(struct kgd_dev *kgd,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:120:6: warning: no previous prototype for 'kgd_gfx_v9_program_sh_mem_settings' [-Wmissing-prototypes]
120 | void kgd_gfx_v9_program_sh_mem_settings(struct kgd_dev *kgd, uint32_t vmid,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:137:5: warning: no previous prototype for 'kgd_gfx_v9_set_pasid_vmid_mapping' [-Wmissing-prototypes]
137 | int kgd_gfx_v9_set_pasid_vmid_mapping(struct kgd_dev *kgd, unsigned int pasid,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:198:5: warning: no previous prototype for 'kgd_gfx_v9_init_interrupts' [-Wmissing-prototypes]
198 | int kgd_gfx_v9_init_interrupts(struct kgd_dev *kgd, uint32_t pipe_id)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:247:5: warning: no previous prototype for 'kgd_gfx_v9_hqd_load' [-Wmissing-prototypes]
247 | int kgd_gfx_v9_hqd_load(struct kgd_dev *kgd, void *mqd, uint32_t pipe_id,
| ^~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:327:5: warning: no previous prototype for 'kgd_gfx_v9_hiq_mqd_load' [-Wmissing-prototypes]
327 | int kgd_gfx_v9_hiq_mqd_load(struct kgd_dev *kgd, void *mqd,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:380:5: warning: no previous prototype for 'kgd_gfx_v9_hqd_dump' [-Wmissing-prototypes]
380 | int kgd_gfx_v9_hqd_dump(struct kgd_dev *kgd,
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:514:6: warning: no previous prototype for 'kgd_gfx_v9_hqd_is_occupied' [-Wmissing-prototypes]
514 | bool kgd_gfx_v9_hqd_is_occupied(struct kgd_dev *kgd, uint64_t queue_address,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:555:5: warning: no previous prototype for 'kgd_gfx_v9_hqd_destroy' [-Wmissing-prototypes]
555 | int kgd_gfx_v9_hqd_destroy(struct kgd_dev *kgd, void *mqd,
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:645:6: warning: no previous prototype for 'kgd_gfx_v9_get_atc_vmid_pasid_mapping_info' [-Wmissing-prototypes]
645 | bool kgd_gfx_v9_get_atc_vmid_pasid_mapping_info(struct kgd_dev *kgd,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:658:5: warning: no previous prototype for 'kgd_gfx_v9_address_watch_disable' [-Wmissing-prototypes]
658 | int kgd_gfx_v9_address_watch_disable(struct kgd_dev *kgd)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:663:5: warning: no previous prototype for 'kgd_gfx_v9_address_watch_execute' [-Wmissing-prototypes]
663 | int kgd_gfx_v9_address_watch_execute(struct kgd_dev *kgd,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:672:5: warning: no previous prototype for 'kgd_gfx_v9_wave_control_execute' [-Wmissing-prototypes]
672 | int kgd_gfx_v9_wave_control_execute(struct kgd_dev *kgd,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:697:10: warning: no previous prototype for 'kgd_gfx_v9_address_watch_get_offset' [-Wmissing-prototypes]
697 | uint32_t kgd_gfx_v9_address_watch_get_offset(struct kgd_dev *kgd,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dc_types.h:33,
from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:30,
from drivers/gpu/drm/amd/amdgpu/../include/dm_pp_interface.h:26,
from drivers/gpu/drm/amd/amdgpu/amdgpu.h:53,
from drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:24:
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:76:32: warning: 'dc_fixpt_ln2_div_2' defined but not used [-Wunused-const-variable=]
76 | static const struct fixed31_32 dc_fixpt_ln2_div_2 = { 1488522236LL };
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:75:32: warning: 'dc_fixpt_ln2' defined but not used [-Wunused-const-variable=]
75 | static const struct fixed31_32 dc_fixpt_ln2 = { 2977044471LL };
| ^~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:74:32: warning: 'dc_fixpt_e' defined but not used [-Wunused-const-variable=]
74 | static const struct fixed31_32 dc_fixpt_e = { 11674931555LL };
| ^~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:73:32: warning: 'dc_fixpt_two_pi' defined but not used [-Wunused-const-variable=]
73 | static const struct fixed31_32 dc_fixpt_two_pi = { 26986075409LL };
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:72:32: warning: 'dc_fixpt_pi' defined but not used [-Wunused-const-variable=]
72 | static const struct fixed31_32 dc_fixpt_pi = { 13493037705LL };
| ^~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/../display/include/fixed31_32.h:67:32: warning: 'dc_fixpt_zero' defined but not used [-Wunused-const-variable=]
67 | static const struct fixed31_32 dc_fixpt_zero = { 0 };
| ^~~~~~~~~~~~~
vim +/kgd_gfx_v9_hiq_mqd_load +327 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
326
> 327 int kgd_gfx_v9_hiq_mqd_load(struct kgd_dev *kgd, void *mqd,
328 uint32_t pipe_id, uint32_t queue_id,
329 uint32_t doorbell_off)
330 {
331 struct amdgpu_device *adev = get_amdgpu_device(kgd);
332 struct amdgpu_ring *kiq_ring = &adev->gfx.kiq.ring;
333 struct v9_mqd *m;
334 uint32_t mec, pipe;
335 int r;
336
337 m = get_mqd(mqd);
338
339 acquire_queue(kgd, pipe_id, queue_id);
340
341 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1;
342 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec);
343
344 pr_debug("kfd: set HIQ, mec:%d, pipe:%d, queue:%d.\n",
345 mec, pipe, queue_id);
346
347 spin_lock(&adev->gfx.kiq.ring_lock);
348 r = amdgpu_ring_alloc(kiq_ring, 7);
349 if (r) {
350 pr_err("Failed to alloc KIQ (%d).\n", r);
351 goto out_unlock;
352 }
353
354 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_MAP_QUEUES, 5));
355 amdgpu_ring_write(kiq_ring,
356 PACKET3_MAP_QUEUES_QUEUE_SEL(0) | /* Queue_Sel */
357 PACKET3_MAP_QUEUES_VMID(m->cp_hqd_vmid) | /* VMID */
358 PACKET3_MAP_QUEUES_QUEUE(queue_id) |
359 PACKET3_MAP_QUEUES_PIPE(pipe) |
360 PACKET3_MAP_QUEUES_ME((mec - 1)) |
361 PACKET3_MAP_QUEUES_QUEUE_TYPE(0) | /*queue_type: normal compute queue */
362 PACKET3_MAP_QUEUES_ALLOC_FORMAT(0) | /* alloc format: all_on_one_pipe */
363 PACKET3_MAP_QUEUES_ENGINE_SEL(1) | /* engine_sel: hiq */
364 PACKET3_MAP_QUEUES_NUM_QUEUES(1)); /* num_queues: must be 1 */
365 amdgpu_ring_write(kiq_ring,
366 PACKET3_MAP_QUEUES_DOORBELL_OFFSET(doorbell_off));
367 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_lo);
368 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_hi);
369 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_lo);
370 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_hi);
371 amdgpu_ring_commit(kiq_ring);
372
373 out_unlock:
374 spin_unlock(&adev->gfx.kiq.ring_lock);
375 release_queue(kgd);
376
377 return r;
378 }
379
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip