[radeon-alex:amd-20.45 1587/2417] drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:882:6: warning: no previous prototype for function 'kgd_gfx_v10_set_address_watch'

kernel test robot lkp at intel.com
Sat Nov 21 04:14:20 UTC 2020


tree:   git://people.freedesktop.org/~agd5f/linux.git amd-20.45
head:   1807abbb3a7f17fc931a15d7fd4365ea148c6bb1
commit: abdc393ab8265df9db5d9d64eb33ed1c33e9d95c [1587/2417] drm/amdkfd: Add gfx10 address watch support
config: x86_64-randconfig-a011-20201120 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 3ded927cf80ac519f9f9c4664fef08787f7c537d)
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
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        git remote add radeon-alex git://people.freedesktop.org/~agd5f/linux.git
        git fetch --no-tags radeon-alex amd-20.45
        git checkout abdc393ab8265df9db5d9d64eb33ed1c33e9d95c
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:763:6: warning: no previous prototype for function 'kgd_gfx_v10_enable_debug_trap' [-Wmissing-prototypes]
   void kgd_gfx_v10_enable_debug_trap(struct kgd_dev *kgd,
        ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:763:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void kgd_gfx_v10_enable_debug_trap(struct kgd_dev *kgd,
   ^
   static 
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:792:6: warning: no previous prototype for function 'kgd_gfx_v10_disable_debug_trap' [-Wmissing-prototypes]
   void kgd_gfx_v10_disable_debug_trap(struct kgd_dev *kgd)
        ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:792:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void kgd_gfx_v10_disable_debug_trap(struct kgd_dev *kgd)
   ^
   static 
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:803:5: warning: no previous prototype for function 'kgd_gfx_v10_set_wave_launch_trap_override' [-Wmissing-prototypes]
   int kgd_gfx_v10_set_wave_launch_trap_override(struct kgd_dev *kgd,
       ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:803:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int kgd_gfx_v10_set_wave_launch_trap_override(struct kgd_dev *kgd,
   ^
   static 
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:852:6: warning: no previous prototype for function 'kgd_gfx_v10_set_wave_launch_mode' [-Wmissing-prototypes]
   void kgd_gfx_v10_set_wave_launch_mode(struct kgd_dev *kgd,
        ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:852:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void kgd_gfx_v10_set_wave_launch_mode(struct kgd_dev *kgd,
   ^
   static 
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:882:6: warning: no previous prototype for function 'kgd_gfx_v10_set_address_watch' [-Wmissing-prototypes]
   void kgd_gfx_v10_set_address_watch(struct kgd_dev *kgd,
        ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:882:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void kgd_gfx_v10_set_address_watch(struct kgd_dev *kgd,
   ^
   static 
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:942:6: warning: no previous prototype for function 'kgd_gfx_v10_clear_address_watch' [-Wmissing-prototypes]
   void kgd_gfx_v10_clear_address_watch(struct kgd_dev *kgd,
        ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:942:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void kgd_gfx_v10_clear_address_watch(struct kgd_dev *kgd,
   ^
   static 
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:967:6: warning: no previous prototype for function 'kgd_gfx_v10_get_iq_wait_times' [-Wmissing-prototypes]
   void kgd_gfx_v10_get_iq_wait_times(struct kgd_dev *kgd,
        ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:967:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void kgd_gfx_v10_get_iq_wait_times(struct kgd_dev *kgd,
   ^
   static 
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:976:6: warning: no previous prototype for function 'kgd_gfx_v10_build_grace_period_packet_info' [-Wmissing-prototypes]
   void kgd_gfx_v10_build_grace_period_packet_info(struct kgd_dev *kgd,
        ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c:976:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void kgd_gfx_v10_build_grace_period_packet_info(struct kgd_dev *kgd,
   ^
   static 
   8 warnings generated.

vim +/kgd_gfx_v10_set_address_watch +882 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c

   851	
 > 852	void kgd_gfx_v10_set_wave_launch_mode(struct kgd_dev *kgd,
   853						uint8_t wave_launch_mode,
   854						uint32_t vmid)
   855	{
   856		struct amdgpu_device *adev = get_amdgpu_device(kgd);
   857		uint32_t data = 0;
   858		bool is_stall_mode;
   859		bool is_mode_set;
   860	
   861		is_stall_mode = (wave_launch_mode == 4);
   862		is_mode_set = (wave_launch_mode != 0 && wave_launch_mode != 4);
   863	
   864		mutex_lock(&adev->grbm_idx_mutex);
   865	
   866		data = REG_SET_FIELD(data, SPI_GDBG_WAVE_CNTL2,
   867				VMID_MASK, is_mode_set ? 1 << vmid : 0);
   868		data = REG_SET_FIELD(data, SPI_GDBG_WAVE_CNTL2,
   869				MODE, is_mode_set ? wave_launch_mode : 0);
   870		WREG32(SOC15_REG_OFFSET(GC, 0, mmSPI_GDBG_WAVE_CNTL2), data);
   871	
   872		data = RREG32(SOC15_REG_OFFSET(GC, 0, mmSPI_GDBG_WAVE_CNTL));
   873		data = REG_SET_FIELD(data, SPI_GDBG_WAVE_CNTL,
   874				STALL_VMID, is_stall_mode ? 1 << vmid : 0);
   875		data = REG_SET_FIELD(data, SPI_GDBG_WAVE_CNTL,
   876				STALL_RA, is_stall_mode ? 1 : 0);
   877		WREG32(SOC15_REG_OFFSET(GC, 0, mmSPI_GDBG_WAVE_CNTL), data);
   878	
   879		mutex_unlock(&adev->grbm_idx_mutex);
   880	}
   881	
 > 882	void kgd_gfx_v10_set_address_watch(struct kgd_dev *kgd,
   883						uint64_t watch_address,
   884						uint32_t watch_address_mask,
   885						uint32_t watch_id,
   886						uint32_t watch_mode,
   887						uint32_t debug_vmid)
   888	{
   889		struct amdgpu_device *adev = get_amdgpu_device(kgd);
   890		uint32_t watch_address_high;
   891		uint32_t watch_address_low;
   892		uint32_t watch_address_cntl;
   893	
   894		watch_address_cntl = 0;
   895	
   896		watch_address_low = lower_32_bits(watch_address);
   897		watch_address_high = upper_32_bits(watch_address) & 0xffff;
   898	
   899		watch_address_cntl = REG_SET_FIELD(watch_address_cntl,
   900				TCP_WATCH0_CNTL,
   901				VMID,
   902				debug_vmid);
   903		watch_address_cntl = REG_SET_FIELD(watch_address_cntl,
   904				TCP_WATCH0_CNTL,
   905				MODE,
   906				watch_mode);
   907		watch_address_cntl = REG_SET_FIELD(watch_address_cntl,
   908				TCP_WATCH0_CNTL,
   909				MASK,
   910				watch_address_mask >> 6);
   911	
   912		/* Turning off this watch point until we set all the registers */
   913		watch_address_cntl = REG_SET_FIELD(watch_address_cntl,
   914				TCP_WATCH0_CNTL,
   915				VALID,
   916				0);
   917	
   918		WREG32((SOC15_REG_OFFSET(GC, 0, mmTCP_WATCH0_CNTL) +
   919				(watch_id * TCP_WATCH_STRIDE)),
   920				watch_address_cntl);
   921	
   922		WREG32((SOC15_REG_OFFSET(GC, 0, mmTCP_WATCH0_ADDR_H) +
   923				(watch_id * TCP_WATCH_STRIDE)),
   924				watch_address_high);
   925	
   926		WREG32((SOC15_REG_OFFSET(GC, 0, mmTCP_WATCH0_ADDR_L) +
   927				(watch_id * TCP_WATCH_STRIDE)),
   928				watch_address_low);
   929	
   930		/* Enable the watch point */
   931		watch_address_cntl = REG_SET_FIELD(watch_address_cntl,
   932				TCP_WATCH0_CNTL,
   933				VALID,
   934				1);
   935	
   936		WREG32((SOC15_REG_OFFSET(GC, 0, mmTCP_WATCH0_CNTL) +
   937				(watch_id * TCP_WATCH_STRIDE)),
   938				watch_address_cntl);
   939	
   940	}
   941	
 > 942	void kgd_gfx_v10_clear_address_watch(struct kgd_dev *kgd,
   943						uint32_t watch_id)
   944	{
   945		struct amdgpu_device *adev = get_amdgpu_device(kgd);
   946	
   947		uint32_t watch_address_cntl;
   948	
   949		watch_address_cntl = 0;
   950	
   951		WREG32((SOC15_REG_OFFSET(GC, 0, mmTCP_WATCH0_CNTL) +
   952				(watch_id * TCP_WATCH_STRIDE)),
   953				watch_address_cntl);
   954	}
   955	

---
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: 40239 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20201121/729b5340/attachment-0001.gz>


More information about the dri-devel mailing list