tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 69119673bd50b176ded34032fadd41530fb5af21 commit: 35cd89d5a658dc26687a7a6909d35fee19a6b173 drm/amdkfd: use kiq to load the mqd of hiq queue for gfx v9 (v6) date: 5 months ago config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 35cd89d5a658dc26687a7a6909d35fee19a6b173 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> All warnings (new ones prefixed by >>, old 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, | ^~~~~~~~~~~~~~~~~~~ << from drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c:24: >> 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/[email protected]
.config.gz
Description: application/gzip

