13.08.2021 19:36, kernel test robot пишет: > tree: git://anongit.freedesktop.org/tegra/linux.git drm/tegra/for-next > head: ad85b0843ee4536593415ca890d7fb52cd7f1fbe > commit: 04d5d5df9df79f9045e76404775fc8a084aac23d [16/17] drm/tegra: dc: Support memory bandwidth management > config: arm-defconfig (attached as .config) > compiler: arm-linux-gnueabi-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 tegra-drm git://anongit.freedesktop.org/tegra/linux.git > git fetch --no-tags tegra-drm drm/tegra/for-next > git checkout 04d5d5df9df79f9045e76404775fc8a084aac23d > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm > > 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/tegra/dc.c: In function 'tegra_crtc_update_memory_bandwidth': >>> drivers/gpu/drm/tegra/dc.c:1843:53: warning: variable 'new_dc_state' set but not used [-Wunused-but-set-variable] > 1843 | const struct tegra_dc_state *old_dc_state, *new_dc_state; > | ^~~~~~~~~~~~ >>> drivers/gpu/drm/tegra/dc.c:1843:38: warning: variable 'old_dc_state' set but not used [-Wunused-but-set-variable] > 1843 | const struct tegra_dc_state *old_dc_state, *new_dc_state; > | ^~~~~~~~~~~~ > drivers/gpu/drm/tegra/dc.c: In function 'tegra_crtc_calculate_memory_bandwidth': >>> drivers/gpu/drm/tegra/dc.c:2223:38: warning: variable 'old_state' set but not used [-Wunused-but-set-variable] > 2223 | const struct drm_crtc_state *old_state; > | ^~~~~~~~~ > > > vim +/new_dc_state +1843 drivers/gpu/drm/tegra/dc.c > > 1836 > 1837 static void > 1838 tegra_crtc_update_memory_bandwidth(struct drm_crtc *crtc, > 1839 struct drm_atomic_state *state, > 1840 bool prepare_bandwidth_transition) > 1841 { > 1842 const struct tegra_plane_state *old_tegra_state, *new_tegra_state; >> 1843 const struct tegra_dc_state *old_dc_state, *new_dc_state; > 1844 u32 i, new_avg_bw, old_avg_bw, new_peak_bw, old_peak_bw; > 1845 const struct drm_plane_state *old_plane_state; > 1846 const struct drm_crtc_state *old_crtc_state; > 1847 struct tegra_dc_window window, old_window; > 1848 struct tegra_dc *dc = to_tegra_dc(crtc); > 1849 struct tegra_plane *tegra; > 1850 struct drm_plane *plane; > 1851 > 1852 if (dc->soc->has_nvdisplay) > 1853 return; > 1854 > 1855 old_crtc_state = drm_atomic_get_old_crtc_state(state, crtc); > 1856 old_dc_state = to_const_dc_state(old_crtc_state); > 1857 new_dc_state = to_const_dc_state(crtc->state); I probably should update compiler or set W=1 to get that warning. These variables were used in older versions of the patch and they can be removed now. Please amend the patch with this: diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c index 9ebb1b6840c6..e2b806369eac 100644 --- a/drivers/gpu/drm/tegra/dc.c +++ b/drivers/gpu/drm/tegra/dc.c @@ -1908,7 +1908,6 @@ tegra_crtc_update_memory_bandwidth(struct drm_crtc *crtc, bool prepare_bandwidth_transition) { const struct tegra_plane_state *old_tegra_state, *new_tegra_state; - const struct tegra_dc_state *old_dc_state, *new_dc_state; u32 i, new_avg_bw, old_avg_bw, new_peak_bw, old_peak_bw; const struct drm_plane_state *old_plane_state; const struct drm_crtc_state *old_crtc_state; @@ -1921,8 +1920,6 @@ tegra_crtc_update_memory_bandwidth(struct drm_crtc *crtc, return; old_crtc_state = drm_atomic_get_old_crtc_state(state, crtc); - old_dc_state = to_const_dc_state(old_crtc_state); - new_dc_state = to_const_dc_state(crtc->state); if (!crtc->state->active) { if (!old_crtc_state->active) diff --git a/drivers/gpu/drm/tegra/dc.h b/drivers/gpu/drm/tegra/dc.h index 26ad1e448c44..871cfb0cd31c 100644 --- a/drivers/gpu/drm/tegra/dc.h +++ b/drivers/gpu/drm/tegra/dc.h @@ -35,12 +35,6 @@ static inline struct tegra_dc_state *to_dc_state(struct drm_crtc_state *state) return NULL; } -static inline const struct tegra_dc_state * -to_const_dc_state(const struct drm_crtc_state *state) -{ - return to_dc_state((struct drm_crtc_state *)state); -} - struct tegra_dc_stats { unsigned long frames; unsigned long vblank;