Re: [PATCH 2/2] spi: spi-ti-qspi: Use bounce buffer if read buffer is not DMA'ble

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Vignesh,

[auto build test WARNING on spi/for-next]
[also build test WARNING on v4.11-rc4 next-20170331]
[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/Vignesh-R/spi-ti-qspi-Handle-vmalloc-d-buffers/20170403-030332
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   include/linux/compiler.h:264:8: sparse: attribute 'no_sanitize_address': unknown attribute
   drivers/spi/spi-ti-qspi.c:449:35: sparse: incompatible types in comparison expression (different type sizes)
   drivers/spi/spi-ti-qspi.c: In function 'ti_qspi_dma_bounce_buffer':
>> drivers/spi/spi-ti-qspi.c:440:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     unsigned int to = (unsigned int)msg->buf;
                       ^
   In file included from drivers/spi/spi-ti-qspi.c:16:0:
   include/linux/kernel.h:755:16: warning: comparison of distinct pointer types lacks a cast
     (void) (&min1 == &min2);   \
                   ^
   include/linux/kernel.h:758:2: note: in expansion of macro '__min'
     __min(typeof(x), typeof(y),   \
     ^~~~~
>> drivers/spi/spi-ti-qspi.c:449:21: note: in expansion of macro 'min'
      size_t xfer_len = min(QSPI_DMA_BUFFER_SIZE, readsize);
                        ^~~
>> drivers/spi/spi-ti-qspi.c:455:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      memcpy((void *)to, qspi->rx_bb_addr, xfer_len);
             ^

sparse warnings: (new ones prefixed by >>)

   include/linux/compiler.h:264:8: sparse: attribute 'no_sanitize_address': unknown attribute
>> drivers/spi/spi-ti-qspi.c:449:35: sparse: incompatible types in comparison expression (different type sizes)
   drivers/spi/spi-ti-qspi.c: In function 'ti_qspi_dma_bounce_buffer':
   drivers/spi/spi-ti-qspi.c:440:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     unsigned int to = (unsigned int)msg->buf;
                       ^
   In file included from drivers/spi/spi-ti-qspi.c:16:0:
   include/linux/kernel.h:755:16: warning: comparison of distinct pointer types lacks a cast
     (void) (&min1 == &min2);   \
                   ^
   include/linux/kernel.h:758:2: note: in expansion of macro '__min'
     __min(typeof(x), typeof(y),   \
     ^~~~~
   drivers/spi/spi-ti-qspi.c:449:21: note: in expansion of macro 'min'
      size_t xfer_len = min(QSPI_DMA_BUFFER_SIZE, readsize);
                        ^~~
   drivers/spi/spi-ti-qspi.c:455:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
      memcpy((void *)to, qspi->rx_bb_addr, xfer_len);
             ^

vim +440 drivers/spi/spi-ti-qspi.c

   434	}
   435	
   436	static int ti_qspi_dma_bounce_buffer(struct ti_qspi *qspi,
   437					     struct spi_flash_read_message *msg)
   438	{
   439		size_t readsize = msg->len;
 > 440		unsigned int to = (unsigned int)msg->buf;
   441		dma_addr_t dma_src = qspi->mmap_phys_base + msg->from;
   442		int ret = 0;
   443	
   444		/*
   445		 * Use bounce buffer as FS like jffs2, ubifs may pass
   446		 * buffers that does not belong to kernel lowmem region.
   447		 */
   448		while (readsize != 0) {
 > 449			size_t xfer_len = min(QSPI_DMA_BUFFER_SIZE, readsize);
   450	
   451			ret = ti_qspi_dma_xfer(qspi, qspi->rx_bb_dma_addr,
   452					       dma_src, xfer_len);
   453			if (ret != 0)
   454				return ret;
 > 455			memcpy((void *)to, qspi->rx_bb_addr, xfer_len);
   456			readsize -= xfer_len;
   457			dma_src += xfer_len;
   458			to += xfer_len;

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux