Re: [PATCH 07/15] spi: qup: Fix transaction done signaling

From: kbuild test robot
Date: Sat Jun 17 2017 - 22:13:15 EST


Hi Varadarajan,

[auto build test ERROR on spi/for-next]
[also build test ERROR on v4.12-rc5 next-20170616]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Varadarajan-Narayanan/spi-qup-Fixes-and-add-support-for-64k-transfers/20170618-072148
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=arm64

Note: the linux-review/Varadarajan-Narayanan/spi-qup-Fixes-and-add-support-for-64k-transfers/20170618-072148 HEAD 6d576268af40336063b1df090673a480642ce26d builds fine.
It only hurts bisectibility.

All errors (new ones prefixed by >>):

drivers/spi/spi-qup.c: In function 'spi_qup_do_pio':
drivers/spi/spi-qup.c:382:24: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
dev_warn(qup->dev, "%s(%d): cannot set RUN state\n");
^
drivers/spi/spi-qup.c:382:27: warning: format '%d' expects a matching 'int' argument [-Wformat=]
dev_warn(qup->dev, "%s(%d): cannot set RUN state\n");
^
drivers/spi/spi-qup.c:388:24: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
dev_warn(qup->dev, "%s(%d): cannot set PAUSE state\n");
^
drivers/spi/spi-qup.c:388:27: warning: format '%d' expects a matching 'int' argument [-Wformat=]
dev_warn(qup->dev, "%s(%d): cannot set PAUSE state\n");
^
drivers/spi/spi-qup.c:396:24: warning: format '%s' expects a matching 'char *' argument [-Wformat=]
dev_warn(qup->dev, "%s(%d): cannot set RUN state\n");
^
drivers/spi/spi-qup.c:396:27: warning: format '%d' expects a matching 'int' argument [-Wformat=]
dev_warn(qup->dev, "%s(%d): cannot set RUN state\n");
^
drivers/spi/spi-qup.c: In function 'spi_qup_qup_irq':
>> drivers/spi/spi-qup.c:445:34: error: 'xfer' undeclared (first use in this function)
spi_qup_fifo_read(controller, xfer);
^~~~
drivers/spi/spi-qup.c:445:34: note: each undeclared identifier is reported only once for each function it appears in

vim +/xfer +445 drivers/spi/spi-qup.c

612762e8 Andy Gross 2015-03-04 390 }
612762e8 Andy Gross 2015-03-04 391
612762e8 Andy Gross 2015-03-04 392 spi_qup_fifo_write(qup, xfer);
612762e8 Andy Gross 2015-03-04 393
4c05e25b Varadarajan Narayanan 2017-06-16 394 ret = spi_qup_set_state(qup, QUP_STATE_RUN);
4c05e25b Varadarajan Narayanan 2017-06-16 395 if (ret) {
4c05e25b Varadarajan Narayanan 2017-06-16 @396 dev_warn(qup->dev, "%s(%d): cannot set RUN state\n");
4c05e25b Varadarajan Narayanan 2017-06-16 397 return ret;
4c05e25b Varadarajan Narayanan 2017-06-16 398 }
4c05e25b Varadarajan Narayanan 2017-06-16 399
dd4ce14d Varadarajan Narayanan 2017-06-16 400 if (!wait_for_completion_timeout(&qup->done, timeout))
dd4ce14d Varadarajan Narayanan 2017-06-16 401 return -ETIMEDOUT;
dd4ce14d Varadarajan Narayanan 2017-06-16 402
612762e8 Andy Gross 2015-03-04 403 return 0;
612762e8 Andy Gross 2015-03-04 404 }
612762e8 Andy Gross 2015-03-04 405
64ff247a Ivan T. Ivanov 2014-02-13 406 static irqreturn_t spi_qup_qup_irq(int irq, void *dev_id)
64ff247a Ivan T. Ivanov 2014-02-13 407 {
64ff247a Ivan T. Ivanov 2014-02-13 408 struct spi_qup *controller = dev_id;
64ff247a Ivan T. Ivanov 2014-02-13 409 u32 opflags, qup_err, spi_err;
64ff247a Ivan T. Ivanov 2014-02-13 410 int error = 0;
64ff247a Ivan T. Ivanov 2014-02-13 411
64ff247a Ivan T. Ivanov 2014-02-13 412 qup_err = readl_relaxed(controller->base + QUP_ERROR_FLAGS);
64ff247a Ivan T. Ivanov 2014-02-13 413 spi_err = readl_relaxed(controller->base + SPI_ERROR_FLAGS);
64ff247a Ivan T. Ivanov 2014-02-13 414 opflags = readl_relaxed(controller->base + QUP_OPERATIONAL);
64ff247a Ivan T. Ivanov 2014-02-13 415
64ff247a Ivan T. Ivanov 2014-02-13 416 writel_relaxed(qup_err, controller->base + QUP_ERROR_FLAGS);
64ff247a Ivan T. Ivanov 2014-02-13 417 writel_relaxed(spi_err, controller->base + SPI_ERROR_FLAGS);
64ff247a Ivan T. Ivanov 2014-02-13 418
64ff247a Ivan T. Ivanov 2014-02-13 419 if (qup_err) {
64ff247a Ivan T. Ivanov 2014-02-13 420 if (qup_err & QUP_ERROR_OUTPUT_OVER_RUN)
64ff247a Ivan T. Ivanov 2014-02-13 421 dev_warn(controller->dev, "OUTPUT_OVER_RUN\n");
64ff247a Ivan T. Ivanov 2014-02-13 422 if (qup_err & QUP_ERROR_INPUT_UNDER_RUN)
64ff247a Ivan T. Ivanov 2014-02-13 423 dev_warn(controller->dev, "INPUT_UNDER_RUN\n");
64ff247a Ivan T. Ivanov 2014-02-13 424 if (qup_err & QUP_ERROR_OUTPUT_UNDER_RUN)
64ff247a Ivan T. Ivanov 2014-02-13 425 dev_warn(controller->dev, "OUTPUT_UNDER_RUN\n");
64ff247a Ivan T. Ivanov 2014-02-13 426 if (qup_err & QUP_ERROR_INPUT_OVER_RUN)
64ff247a Ivan T. Ivanov 2014-02-13 427 dev_warn(controller->dev, "INPUT_OVER_RUN\n");
64ff247a Ivan T. Ivanov 2014-02-13 428
64ff247a Ivan T. Ivanov 2014-02-13 429 error = -EIO;
64ff247a Ivan T. Ivanov 2014-02-13 430 }
64ff247a Ivan T. Ivanov 2014-02-13 431
64ff247a Ivan T. Ivanov 2014-02-13 432 if (spi_err) {
64ff247a Ivan T. Ivanov 2014-02-13 433 if (spi_err & SPI_ERROR_CLK_OVER_RUN)
64ff247a Ivan T. Ivanov 2014-02-13 434 dev_warn(controller->dev, "CLK_OVER_RUN\n");
64ff247a Ivan T. Ivanov 2014-02-13 435 if (spi_err & SPI_ERROR_CLK_UNDER_RUN)
64ff247a Ivan T. Ivanov 2014-02-13 436 dev_warn(controller->dev, "CLK_UNDER_RUN\n");
64ff247a Ivan T. Ivanov 2014-02-13 437
64ff247a Ivan T. Ivanov 2014-02-13 438 error = -EIO;
64ff247a Ivan T. Ivanov 2014-02-13 439 }
64ff247a Ivan T. Ivanov 2014-02-13 440
c812cf10 Varadarajan Narayanan 2017-06-16 441 if (spi_qup_is_dma_xfer(controller->mode)) {
c812cf10 Varadarajan Narayanan 2017-06-16 442 writel_relaxed(opflags, controller->base + QUP_OPERATIONAL);
c812cf10 Varadarajan Narayanan 2017-06-16 443 } else {
64ff247a Ivan T. Ivanov 2014-02-13 444 if (opflags & QUP_OP_IN_SERVICE_FLAG)
64ff247a Ivan T. Ivanov 2014-02-13 @445 spi_qup_fifo_read(controller, xfer);
64ff247a Ivan T. Ivanov 2014-02-13 446
64ff247a Ivan T. Ivanov 2014-02-13 447 if (opflags & QUP_OP_OUT_SERVICE_FLAG)
64ff247a Ivan T. Ivanov 2014-02-13 448 spi_qup_fifo_write(controller, xfer);

:::::: The code at line 445 was first introduced by commit
:::::: 64ff247a978facc437d40f0c9b754675846a98f0 spi: Add Qualcomm QUP SPI controller support

:::::: TO: Ivan T. Ivanov <iivanov@xxxxxxxxxx>
:::::: CC: Mark Brown <broonie@xxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip