[PATCH 1/2] mtd: mtk-quadspi: add support for DMA reading

kbuild test robot lkp at intel.com
Tue Nov 12 00:06:48 PST 2019


Hi Chuanhong,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on arm-soc/for-next]
[cannot apply to v5.4-rc7 next-20191108]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Chuanhong-Guo/mtd-mtk-quadspi-add-support-for-DMA-reading/20191112-145019
base:   https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git for-next
config: x86_64-randconfig-a004-201945 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>

All warnings (new ones prefixed by >>):

   drivers/mtd/spi-nor/mtk-quadspi.c: In function 'mtk_nor_read_dma_bounce':
   drivers/mtd/spi-nor/mtk-quadspi.c:349:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     mem_unaligned_len = (u32)buf % MTK_NOR_DMA_ALIGN;
                         ^
   In file included from include/linux/err.h:5:0,
                    from include/linux/clk.h:12,
                    from drivers/mtd/spi-nor/mtk-quadspi.c:7:
   drivers/mtd/spi-nor/mtk-quadspi.c: In function 'mtk_nor_read':
   drivers/mtd/spi-nor/mtk-quadspi.c:369:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (u32)buffer % MTK_NOR_DMA_ALIGN || from % MTK_NOR_DMA_ALIGN)
         ^
   include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                       ^~~~
>> drivers/mtd/spi-nor/mtk-quadspi.c:368:2: note: in expansion of macro 'if'
     if (object_is_on_stack(buffer) || !virt_addr_valid(buffer) ||
     ^~
   drivers/mtd/spi-nor/mtk-quadspi.c:369:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (u32)buffer % MTK_NOR_DMA_ALIGN || from % MTK_NOR_DMA_ALIGN)
         ^
   include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
    #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                ^~~~
>> drivers/mtd/spi-nor/mtk-quadspi.c:368:2: note: in expansion of macro 'if'
     if (object_is_on_stack(buffer) || !virt_addr_valid(buffer) ||
     ^~
   drivers/mtd/spi-nor/mtk-quadspi.c:369:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
         (u32)buffer % MTK_NOR_DMA_ALIGN || from % MTK_NOR_DMA_ALIGN)
         ^
   include/linux/compiler.h:69:3: note: in definition of macro '__trace_if_value'
     (cond) ?     \
      ^~~~
   include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
    #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                               ^~~~~~~~~~~~~~
>> drivers/mtd/spi-nor/mtk-quadspi.c:368:2: note: in expansion of macro 'if'
     if (object_is_on_stack(buffer) || !virt_addr_valid(buffer) ||
     ^~

vim +/if +368 drivers/mtd/spi-nor/mtk-quadspi.c

   359	
   360	static ssize_t mtk_nor_read(struct spi_nor *nor, loff_t from, size_t length,
   361				    u_char *buffer)
   362	{
   363		struct mtk_nor *mtk_nor = nor->priv;
   364	
   365		if (length < MTK_NOR_DMA_ALIGN)
   366			return mtk_nor_read_pio(mtk_nor, from, length, buffer);
   367	
 > 368		if (object_is_on_stack(buffer) || !virt_addr_valid(buffer) ||
   369		    (u32)buffer % MTK_NOR_DMA_ALIGN || from % MTK_NOR_DMA_ALIGN)
   370			return mtk_nor_read_dma_bounce(mtk_nor, from, length, buffer);
   371	
   372		return mtk_nor_read_dma(mtk_nor, from, length, buffer);
   373	}
   374	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 32403 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20191112/4b28509d/attachment-0001.gz>


More information about the linux-mtd mailing list