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]

Attachment: .config.gz
Description: application/gzip

Reply via email to