From: kbuild test robot <lkp@intel.com>
To: "Ramuthevar,Vadivel MuruganX"
<vadivel.muruganx.ramuthevar@linux.intel.com>
Cc: kbuild-all@01.org, broonie@kernel.org, robh+dt@kernel.org,
mark.rutland@arm.com, linux-spi@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
cheol.yong.kim@intel.com, qi-ming.wu@intel.com,
Ramuthevar Vadivel Murugan
<vadivel.muruganx.ramuthevar@linux.intel.com>
Subject: Re: [PATCH v1 2/2] spi: cadence-qspi: Add QSPI support for Intel LGM SoC
Date: Mon, 16 Sep 2019 21:48:58 +0800 [thread overview]
Message-ID: <201909162126.lOqtYpbN%lkp@intel.com> (raw)
In-Reply-To: <20190916073843.39618-3-vadivel.muruganx.ramuthevar@linux.intel.com>
[-- Attachment #1: Type: text/plain, Size: 4608 bytes --]
Hi "Ramuthevar,Vadivel,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[cannot apply to v5.3 next-20190915]
[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/Ramuthevar-Vadivel-MuruganX/spi-cadence-qspi-Add-cadence-qspi-support-for-Intel-LGM-SoC/20190916-163033
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-11) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/spi/spi-cadence-qspi-apb.c: In function 'cqspi_apb_indirect_write_execute':
>> drivers/spi/spi-cadence-qspi-apb.c:382:7: warning: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Wparentheses]
if (!ret & (*irq_status & CQSPI_IRQ_STATUS_ERR)) {
^~~~
vim +382 drivers/spi/spi-cadence-qspi-apb.c
327
328 static int cqspi_apb_indirect_write_execute(struct struct_cqspi *cadence_qspi,
329 u32 txlen, const u8 *txbuf)
330 {
331 struct platform_device *pdev = cadence_qspi->pdev;
332 struct cqspi_platform_data *pdata = pdev->dev.platform_data;
333 struct cqspi_flash_pdata *f_pdata =
334 &pdata->f_pdata[cadence_qspi->current_cs];
335 unsigned int *irq_status = &cadence_qspi->irq_status;
336 void __iomem *reg_base = cadence_qspi->iobase;
337 void __iomem *ahb_base = cadence_qspi->qspi_ahb_virt;
338 unsigned int page_size = f_pdata->page_size;
339 int remaining = (int)txlen;
340 u32 write_bytes, timeout, reg;
341 int ret, status = 0;
342
343 writel(0xa, reg_base + CQSPI_REG_INDIRECTTRIGGERADDRRANGE);
344 writel(0x0, reg_base + CQSPI_REG_INDIRECTWRWATERMARK);
345 reg = readl(reg_base + CQSPI_REG_SIZE);
346 reg &= ~(CQSPI_REG_SIZE_PAGE_MASK << CQSPI_REG_SIZE_PAGE_LSB);
347 reg &= ~(CQSPI_REG_SIZE_BLOCK_MASK << CQSPI_REG_SIZE_BLOCK_LSB);
348 reg |= (f_pdata->page_size << CQSPI_REG_SIZE_PAGE_LSB);
349 reg |= (f_pdata->block_size << CQSPI_REG_SIZE_BLOCK_LSB);
350 writel(reg, reg_base + CQSPI_REG_SIZE);
351
352 writel(remaining, reg_base + CQSPI_REG_INDIRECTWRBYTES);
353 writel(CQSPI_REG_SRAM_PARTITION_WR, reg_base + CQSPI_REG_SRAMPARTITION);
354 /* Clear all interrupts. */
355 writel(CQSPI_IRQ_STATUS_MASK, reg_base + CQSPI_REG_IRQSTATUS);
356 writel(CQSPI_IRQ_MASK_WR, reg_base + CQSPI_REG_IRQMASK);
357 writel(CQSPI_REG_INDIRECTWR_START_MASK,
358 reg_base + CQSPI_REG_INDIRECTWR);
359
360 while (remaining > 0) {
361 size_t write_words, mod_bytes;
362
363 write_bytes = remaining > page_size ? page_size : remaining;
364 write_words = write_bytes / 4;
365 mod_bytes = write_bytes % 4;
366
367 if (write_words) {
368 iowrite32_rep(ahb_base, txbuf, write_words);
369 txbuf += (write_words * 4);
370 }
371 if (mod_bytes) {
372 unsigned int temp = 0xFFFFFFFF;
373
374 memcpy(&temp, txbuf, mod_bytes);
375 iowrite32(temp, ahb_base);
376 txbuf += mod_bytes;
377 }
378 ret = wait_event_interruptible_timeout(cadence_qspi->waitqueue,
379 *irq_status &
380 CQSPI_IRQ_MASK_WR,
381 CQSPI_TIMEOUT_MS);
> 382 if (!ret & (*irq_status & CQSPI_IRQ_STATUS_ERR)) {
383 ret = -ETIMEDOUT;
384 goto failwr;
385 } else {
386 ret = 0;
387 }
388 remaining -= write_bytes;
389 }
390
391 /* Check indirect done status */
392 timeout = cadence_qspi_init_timeout(CQSPI_TIMEOUT_MS);
393 while (cadence_qspi_check_timeout(timeout)) {
394 status = readl(reg_base + CQSPI_REG_INDIRECTWR);
395 if (status & CQSPI_REG_INDIRECTWR_DONE_MASK)
396 break;
397 }
398 if (!(status & CQSPI_REG_INDIRECTWR_DONE_MASK)) {
399 ret = -ETIMEDOUT;
400 goto failwr;
401 }
402 return 0;
403
404 failwr:
405 writel(0, reg_base + CQSPI_REG_IRQMASK);
406 writel(CQSPI_REG_INDIRECTWR_DONE_MASK,
407 reg_base + CQSPI_REG_INDIRECTWR);
408 if (ret)
409 writel(CQSPI_REG_INDIRECTWR_CANCEL_MASK,
410 reg_base + CQSPI_REG_INDIRECTWR);
411 return ret;
412 }
413
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 69489 bytes --]
next prev parent reply other threads:[~2019-09-16 13:48 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-16 7:38 [PATCH v1 0/2] spi: cadence-qspi: Add cadence-qspi support for Intel LGM SoC Ramuthevar,Vadivel MuruganX
2019-09-16 7:38 ` [PATCH v1 1/2] dt-bindings: spi: Add support for cadence-qspi IP " Ramuthevar,Vadivel MuruganX
2019-09-30 22:36 ` Rob Herring
2019-10-01 1:13 ` Ramuthevar, Vadivel MuruganX
2019-09-16 7:38 ` [PATCH v1 2/2] spi: cadence-qspi: Add QSPI support for " Ramuthevar,Vadivel MuruganX
2019-09-16 11:32 ` Mark Brown
[not found] ` <466b41c1-3d65-0bf4-6db7-d3b3e06b107b@linux.intel.com>
2019-09-17 15:36 ` Mark Brown
2019-09-18 5:59 ` Ramuthevar, Vadivel MuruganX
2019-09-18 12:08 ` Mark Brown
2019-09-19 5:45 ` Ramuthevar, Vadivel MuruganX
2019-09-16 13:48 ` kbuild test robot [this message]
2019-09-16 16:50 ` [PATCH v1 0/2] spi: cadence-qspi: Add cadence-qspi " Vignesh Raghavendra
2019-09-17 3:31 ` Ramuthevar, Vadivel MuruganX
2019-10-10 1:34 ` Ramuthevar, Vadivel MuruganX
2019-10-10 4:18 ` Vignesh Raghavendra
2019-10-10 5:08 ` Ramuthevar, Vadivel MuruganX
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201909162126.lOqtYpbN%lkp@intel.com \
--to=lkp@intel.com \
--cc=broonie@kernel.org \
--cc=cheol.yong.kim@intel.com \
--cc=devicetree@vger.kernel.org \
--cc=kbuild-all@01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=qi-ming.wu@intel.com \
--cc=robh+dt@kernel.org \
--cc=vadivel.muruganx.ramuthevar@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).