[agd5f:drm-next 20/53] drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm_internal.c:29:6: warning: no previous prototype for 'amdgpu_dpm_get_active_displays'
From: kernel test robot
Date: Sat Jan 08 2022 - 13:24:08 EST
tree: https://gitlab.freedesktop.org/agd5f/linux.git drm-next
head: ec1289d5cf9f8b8872ed8b9e57130d27938faccf
commit: 855b49a8859f07dc29076c3a301888b39550c362 [20/53] drm/amd/pm: optimize the amdgpu_pm_compute_clocks() implementations
config: arm64-randconfig-r016-20220108 (https://download.01.org/0day-ci/archive/20220109/202201090201.ed6mhBaD-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 11.2.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 remote add agd5f https://gitlab.freedesktop.org/agd5f/linux.git
git fetch --no-tags agd5f drm-next
git checkout 855b49a8859f07dc29076c3a301888b39550c362
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/gpu/
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/../pm/amdgpu_dpm_internal.c:29:6: warning: no previous prototype for 'amdgpu_dpm_get_active_displays' [-Wmissing-prototypes]
29 | void amdgpu_dpm_get_active_displays(struct amdgpu_device *adev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm_internal.c:76:5: warning: no previous prototype for 'amdgpu_dpm_get_vrefresh' [-Wmissing-prototypes]
76 | u32 amdgpu_dpm_get_vrefresh(struct amdgpu_device *adev)
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/amdgpu_dpm_get_active_displays +29 drivers/gpu/drm/amd/amdgpu/../pm/amdgpu_dpm_internal.c
28
> 29 void amdgpu_dpm_get_active_displays(struct amdgpu_device *adev)
30 {
31 struct drm_device *ddev = adev_to_drm(adev);
32 struct drm_crtc *crtc;
33 struct amdgpu_crtc *amdgpu_crtc;
34
35 adev->pm.dpm.new_active_crtcs = 0;
36 adev->pm.dpm.new_active_crtc_count = 0;
37 if (adev->mode_info.num_crtc && adev->mode_info.mode_config_initialized) {
38 list_for_each_entry(crtc,
39 &ddev->mode_config.crtc_list, head) {
40 amdgpu_crtc = to_amdgpu_crtc(crtc);
41 if (amdgpu_crtc->enabled) {
42 adev->pm.dpm.new_active_crtcs |= (1 << amdgpu_crtc->crtc_id);
43 adev->pm.dpm.new_active_crtc_count++;
44 }
45 }
46 }
47 }
48
49 u32 amdgpu_dpm_get_vblank_time(struct amdgpu_device *adev)
50 {
51 struct drm_device *dev = adev_to_drm(adev);
52 struct drm_crtc *crtc;
53 struct amdgpu_crtc *amdgpu_crtc;
54 u32 vblank_in_pixels;
55 u32 vblank_time_us = 0xffffffff; /* if the displays are off, vblank time is max */
56
57 if (adev->mode_info.num_crtc && adev->mode_info.mode_config_initialized) {
58 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
59 amdgpu_crtc = to_amdgpu_crtc(crtc);
60 if (crtc->enabled && amdgpu_crtc->enabled && amdgpu_crtc->hw_mode.clock) {
61 vblank_in_pixels =
62 amdgpu_crtc->hw_mode.crtc_htotal *
63 (amdgpu_crtc->hw_mode.crtc_vblank_end -
64 amdgpu_crtc->hw_mode.crtc_vdisplay +
65 (amdgpu_crtc->v_border * 2));
66
67 vblank_time_us = vblank_in_pixels * 1000 / amdgpu_crtc->hw_mode.clock;
68 break;
69 }
70 }
71 }
72
73 return vblank_time_us;
74 }
75
> 76 u32 amdgpu_dpm_get_vrefresh(struct amdgpu_device *adev)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx