[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202203091609.CXcUV5hY-lkp@intel.com>
Date: Wed, 9 Mar 2022 16:13:05 +0800
From: kernel test robot <lkp@...el.com>
To: "sw.multimedia" <sw.multimedia@...rfivetech.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
Emil Renner Berthing <kernel@...il.dk>,
"jack.zhu" <jack.zhu@...rfivetech.com>,
"keith.zhao" <keith.zhao@...rfivetech.com>
Subject: [esmil:visionfive 47/61]
drivers/gpu/drm/starfive/starfive_drm_crtc.c:216:13: warning: variable 'ret'
set but not used
tree: https://github.com/esmil/linux visionfive
head: b75fcbba0e03fd9655bc4c8854422d51474664d3
commit: e9eb272297e1c4a48b53b76bf382053e5e518f37 [47/61] drm/starfive: Add StarFive drm driver
config: riscv-allyesconfig (https://download.01.org/0day-ci/archive/20220309/202203091609.CXcUV5hY-lkp@intel.com/config)
compiler: riscv64-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
# https://github.com/esmil/linux/commit/e9eb272297e1c4a48b53b76bf382053e5e518f37
git remote add esmil https://github.com/esmil/linux
git fetch --no-tags esmil visionfive
git checkout e9eb272297e1c4a48b53b76bf382053e5e518f37
# 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=riscv SHELL=/bin/bash drivers/gpu/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/starfive/starfive_drm_crtc.c: In function 'starfive_crtc_atomic_flush':
>> drivers/gpu/drm/starfive/starfive_drm_crtc.c:216:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
216 | int ret;
| ^~~
drivers/gpu/drm/starfive/starfive_drm_crtc.c: In function 'starfive_crtc_atomic_enable':
drivers/gpu/drm/starfive/starfive_drm_crtc.c:233:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
233 | int ret;
| ^~~
drivers/gpu/drm/starfive/starfive_drm_crtc.c: At top level:
>> drivers/gpu/drm/starfive/starfive_drm_crtc.c:284:5: warning: no previous prototype for 'starfive_crtc_create' [-Wmissing-prototypes]
284 | int starfive_crtc_create(struct drm_device *drm_dev,
| ^~~~~~~~~~~~~~~~~~~~
--
drivers/gpu/drm/starfive/starfive_drm_vpp.c: In function 'vpp1_isr_handler':
>> drivers/gpu/drm/starfive/starfive_drm_vpp.c:598:13: warning: variable 'intr_status' set but not used [-Wunused-but-set-variable]
598 | u32 intr_status = 0;
| ^~~~~~~~~~~
vim +/ret +216 drivers/gpu/drm/starfive/starfive_drm_crtc.c
211
212 static void starfive_crtc_atomic_flush(struct drm_crtc *crtc,
213 struct drm_atomic_state *old_crtc_state)
214 {
215 struct starfive_crtc *crtcp = to_starfive_crtc(crtc);
> 216 int ret;
217
218 //starfive_flush_dcache(crtcp->dma_addr, 1920*1080*2);
219 DRM_DEBUG_DRIVER("ddr_format_change [%d], dma_addr_change [%d]\n",
220 crtcp->ddr_format_change, crtcp->dma_addr_change);
221 if (crtcp->ddr_format_change || crtcp->dma_addr_change) {
222 ret = ddrfmt_to_ppfmt(crtcp);
223 starfive_pp_update(crtcp);
224 } else {
225 DRM_DEBUG_DRIVER("%s with no change\n", __func__);
226 }
227 }
228
229 static void starfive_crtc_atomic_enable(struct drm_crtc *crtc,
230 struct drm_atomic_state *state)
231 {
232 struct starfive_crtc *crtcp = to_starfive_crtc(crtc);
233 int ret;
234
235 // enable crtc HW
236 #ifdef CONFIG_DRM_STARFIVE_MIPI_DSI
237 dsitx_vout_init(crtcp);
238 lcdc_dsi_sel(crtcp);
239 #else
240 vout_reset(crtcp);
241 #endif
242 ret = ddrfmt_to_ppfmt(crtcp);
243 starfive_pp_enable(crtcp);
244 starfive_lcdc_enable(crtcp);
245 crtcp->is_enabled = true; // should before
246 }
247
248 static void starfive_crtc_atomic_disable(struct drm_crtc *crtc,
249 struct drm_atomic_state *state)
250 {
251 struct starfive_crtc *crtcp = to_starfive_crtc(crtc);
252 int pp_id;
253
254 for (pp_id = 0; pp_id < PP_NUM; pp_id++) {
255 if (crtcp->pp[pp_id].inited == 1) {
256 pp_disable_intr(crtcp, pp_id);
257 vout_disable(crtcp); // disable crtc HW
258 }
259 }
260 crtcp->is_enabled = false;
261 }
262
263 static enum drm_mode_status starfive_crtc_mode_valid(struct drm_crtc *crtc,
264 const struct drm_display_mode *mode)
265 {
266 int refresh = drm_mode_vrefresh(mode);
267
268 if (refresh > 60) //lcdc miss support 60+ fps
269 return MODE_BAD;
270 else
271 return MODE_OK;
272 }
273
274 static const struct drm_crtc_helper_funcs starfive_crtc_helper_funcs = {
275 .mode_fixup = starfive_crtc_mode_fixup,
276 .atomic_check = starfive_crtc_atomic_check,
277 .atomic_begin = starfive_crtc_atomic_begin,
278 .atomic_flush = starfive_crtc_atomic_flush,
279 .atomic_enable = starfive_crtc_atomic_enable,
280 .atomic_disable = starfive_crtc_atomic_disable,
281 .mode_valid = starfive_crtc_mode_valid,
282 };
283
> 284 int starfive_crtc_create(struct drm_device *drm_dev,
285 struct starfive_crtc *starfive_crtc,
286 const struct drm_crtc_funcs *crtc_funcs,
287 const struct drm_crtc_helper_funcs *crtc_helper_funcs)
288 {
289 struct drm_crtc *crtc = &starfive_crtc->crtc;
290 struct device *dev = drm_dev->dev;
291 struct device_node *port;
292 int ret;
293
294 starfive_crtc->planes = devm_kzalloc(dev, sizeof(struct drm_plane), GFP_KERNEL);
295 ret = starfive_plane_init(drm_dev, starfive_crtc, DRM_PLANE_TYPE_PRIMARY);
296 if (ret) {
297 dev_err(drm_dev->dev, "failed to construct primary plane\n");
298 return ret;
299 }
300
301 drm_crtc_init_with_planes(drm_dev, crtc, starfive_crtc->planes, NULL,
302 crtc_funcs, NULL);
303 drm_crtc_helper_add(crtc, crtc_helper_funcs);
304 port = of_get_child_by_name(starfive_crtc->dev->of_node, "port");
305 if (!port) {
306 DRM_ERROR("no port node found in %s\n", dev->of_node->full_name);
307 ret = -ENOENT;
308 }
309
310 crtc->port = port;
311 return 0;
312 }
313
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists