linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).