[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202209131435.MUDDgIvH-lkp@intel.com>
Date: Tue, 13 Sep 2022 14:18:29 +0800
From: kernel test robot <lkp@...el.com>
To: Neil Armstrong <narmstrong@...libre.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: [superna9999:v6.1/amlogic/spicc-dma 3/3]
drivers/spi/spi-meson-spicc.c:334:37: warning: format '%d' expects argument
of type 'int', but argument 3 has type 'long unsigned int'
tree: https://github.com/superna9999/linux v6.1/amlogic/spicc-dma
head: 683cea730cdabf850910c5cd1da3001da3cbb9d0
commit: 683cea730cdabf850910c5cd1da3001da3cbb9d0 [3/3] Add dma for spicc
config: riscv-randconfig-r042-20220911
compiler: riscv64-linux-gcc (GCC) 12.1.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/superna9999/linux/commit/683cea730cdabf850910c5cd1da3001da3cbb9d0
git remote add superna9999 https://github.com/superna9999/linux
git fetch --no-tags superna9999 v6.1/amlogic/spicc-dma
git checkout 683cea730cdabf850910c5cd1da3001da3cbb9d0
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/spi/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15,
from drivers/spi/spi-meson-spicc.c:13:
drivers/spi/spi-meson-spicc.c: In function 'meson_spicc_setup_dma_burst':
>> drivers/spi/spi-meson-spicc.c:334:37: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=]
334 | dev_info(&spicc->pdev->dev, "setting DMA burst (remain %d words %d req %d)\n", spicc->xfer_remain, words, req);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:150:58: note: in expansion of macro 'dev_fmt'
150 | dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/spi/spi-meson-spicc.c:334:9: note: in expansion of macro 'dev_info'
334 | dev_info(&spicc->pdev->dev, "setting DMA burst (remain %d words %d req %d)\n", spicc->xfer_remain, words, req);
| ^~~~~~~~
drivers/spi/spi-meson-spicc.c:334:65: note: format string is defined here
334 | dev_info(&spicc->pdev->dev, "setting DMA burst (remain %d words %d req %d)\n", spicc->xfer_remain, words, req);
| ~^
| |
| int
| %ld
drivers/spi/spi-meson-spicc.c: At top level:
drivers/spi/spi-meson-spicc.c:232:12: warning: 'meson_spicc_calc_dma_len' defined but not used [-Wunused-function]
232 | static u32 meson_spicc_calc_dma_len(struct meson_spicc_device *spicc, u32 *req)
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h: In function 'meson_spicc_setup_dma_burst':
>> include/linux/dev_printk.h:150:31: warning: 'req' is used uninitialized [-Wuninitialized]
150 | dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~
drivers/spi/spi-meson-spicc.c:319:29: note: 'req' was declared here
319 | unsigned int words, req;
| ^~~
vim +334 drivers/spi/spi-meson-spicc.c
263
264 #if 0
265 static void meson_spicc_setup_dma_burst(struct meson_spicc_device *spicc)
266 {
267 unsigned int words, req;
268 unsigned int count_en = 0;
269 unsigned int txfifo_thres = 0;
270 unsigned int read_req = 0;
271 unsigned int rxfifo_thres = 31;
272 unsigned int write_req = 0;
273 unsigned int ld_ctr1 = 0;
274
275 pr_info("%s: SPICC_DMAREG %x SPICC_LD_CNTL1 %x TESTREG %x\n", __func__, readl_relaxed(spicc->base + SPICC_DMAREG), readl_relaxed(spicc->base + SPICC_LD_CNTL1), readl_relaxed(spicc->base + SPICC_TESTREG) & 0x3ff);
276
277 words = meson_spicc_calc_dma_len(spicc, &req);
278
279 dev_info(&spicc->pdev->dev, "setting DMA burst (remain %d words %d req %d)\n", spicc->xfer_remain, words, req);
280
281 /* Setup Xfer variables */
282 spicc->xfer_remain -= words * spicc->bytes_per_word;
283
284 //words /= req;
285 if (spicc->tx_buf) {
286 count_en |= DMA_WRITE_COUNTER_EN;
287 txfifo_thres = req - 1; //spicc->bytes_per_word; //req; //spicc->data->fifo_size + 1 - req;
288 write_req = 0;
289 ld_ctr1 |= FIELD_PREP(DMA_WRITE_COUNTER, words);
290 }
291
292 if (spicc->rx_buf) {
293 count_en |= DMA_READ_COUNTER_EN;
294 rxfifo_thres = 0; //req - 1;
295 read_req = req - 1;
296 ld_ctr1 |= FIELD_PREP(DMA_READ_COUNTER, words << 1);
297 }
298
299 dev_info(&spicc->pdev->dev, "setting DMA conf (txfifo_thres %d rxfifo_thres %d read_req %d write_req %d)\n", txfifo_thres, rxfifo_thres, read_req, write_req);
300
301 /* Enable DMA write/read counter */
302 writel_relaxed(count_en, spicc->base + SPICC_LD_CNTL0);
303
304 /* Setup burst length */
305 writel_relaxed(ld_ctr1, spicc->base + SPICC_LD_CNTL1);
306
307 writel_relaxed(SPICC_DMA_ENABLE | SPICC_DMA_URGENT |
308 FIELD_PREP(SPICC_TXFIFO_THRESHOLD_MASK, txfifo_thres) |
309 FIELD_PREP(SPICC_READ_BURST_MASK, read_req) |
310 FIELD_PREP(SPICC_RXFIFO_THRESHOLD_MASK, rxfifo_thres) |
311 FIELD_PREP(SPICC_WRITE_BURST_MASK, write_req),
312 spicc->base + SPICC_DMAREG);
313
314 pr_info("%s: SPICC_DMAREG %x\n", __func__, readl_relaxed(spicc->base + SPICC_DMAREG));
315 }
316 #else
317 static void meson_spicc_setup_dma_burst(struct meson_spicc_device *spicc)
318 {
319 unsigned int words, req;
320 unsigned int count_en = 0;
321 unsigned int txfifo_thres = 0;
322 unsigned int read_req = 1;
323 unsigned int rxfifo_thres = 31;
324 unsigned int write_req = 1;
325 unsigned int ld_ctr1 = 0;
326
327 pr_info("%s: SPICC_DMAREG %x SPICC_LD_CNTL1 %x TESTREG %x\n", __func__, readl_relaxed(spicc->base + SPICC_DMAREG), readl_relaxed(spicc->base + SPICC_LD_CNTL1), readl_relaxed(spicc->base + SPICC_TESTREG) & 0x3ff);
328
329 //words = meson_spicc_calc_dma_len(spicc, &req);
330 words = min_t(unsigned int,
331 spicc->xfer_remain / spicc->bytes_per_word,
332 spicc->data->fifo_size);
333
> 334 dev_info(&spicc->pdev->dev, "setting DMA burst (remain %d words %d req %d)\n", spicc->xfer_remain, words, req);
335
336 writel_bits_relaxed(SPICC_BURSTLENGTH_MASK,
337 FIELD_PREP(SPICC_BURSTLENGTH_MASK,
338 words - 1),
339 spicc->base + SPICC_CONREG);
340
341 /* Setup Xfer variables */
342 spicc->xfer_remain -= words * spicc->bytes_per_word;
343
344 //words /= req;
345 if (spicc->tx_buf) {
346 count_en |= DMA_WRITE_COUNTER_EN;
347 txfifo_thres = spicc->bytes_per_word - 1;
348 write_req = words - 1;
349 ld_ctr1 |= FIELD_PREP(DMA_WRITE_COUNTER, 1);
350 }
351
352 if (spicc->rx_buf) {
353 count_en |= DMA_READ_COUNTER_EN;
354 rxfifo_thres = words - 1;
355 read_req = words - 1;
356 ld_ctr1 |= FIELD_PREP(DMA_READ_COUNTER, 1);
357 }
358
359 dev_info(&spicc->pdev->dev, "setting DMA conf (txfifo_thres %d rxfifo_thres %d read_req %d write_req %d)\n", txfifo_thres, rxfifo_thres, read_req, write_req);
360
361 /* Enable DMA write/read counter */
362 writel_relaxed(count_en, spicc->base + SPICC_LD_CNTL0);
363
364 /* Setup burst length */
365 writel_relaxed(ld_ctr1, spicc->base + SPICC_LD_CNTL1);
366
367 writel_relaxed(SPICC_DMA_ENABLE | SPICC_DMA_URGENT |
368 FIELD_PREP(SPICC_TXFIFO_THRESHOLD_MASK, txfifo_thres) |
369 FIELD_PREP(SPICC_READ_BURST_MASK, read_req) |
370 FIELD_PREP(SPICC_RXFIFO_THRESHOLD_MASK, rxfifo_thres) |
371 FIELD_PREP(SPICC_WRITE_BURST_MASK, write_req),
372 spicc->base + SPICC_DMAREG);
373
374 pr_info("%s: SPICC_DMAREG %x\n", __func__, readl_relaxed(spicc->base + SPICC_DMAREG));
375 }
376 #endif
377
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (176768 bytes)
Powered by blists - more mailing lists