Re: [PATCH 4/4] dmaengine: fsl-edma: integrate TCD64 support for i.MX95

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

 



Hi Frank,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20231109]
[also build test ERROR on linus/master v6.6]
[cannot apply to vkoul-dmaengine/next v6.6 v6.6-rc7 v6.6-rc6]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Frank-Li/dmaengine-fsl-edma-involve-help-macro-fsl_edma_set-get-_tcd/20231110-053023
base:   next-20231109
patch link:    https://lore.kernel.org/r/20231109212059.1894646-5-Frank.Li%40nxp.com
patch subject: [PATCH 4/4] dmaengine: fsl-edma: integrate TCD64 support for i.MX95
config: csky-allmodconfig (https://download.01.org/0day-ci/archive/20231110/202311101713.0LTPV63a-lkp@xxxxxxxxx/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231110/202311101713.0LTPV63a-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311101713.0LTPV63a-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   In file included from include/linux/swab.h:5,
                    from include/uapi/linux/byteorder/little_endian.h:14,
                    from include/linux/byteorder/little_endian.h:5,
                    from arch/csky/include/uapi/asm/byteorder.h:6,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/csky/include/asm/bitops.h:77,
                    from include/linux/bitops.h:68,
                    from include/linux/log2.h:12,
                    from include/asm-generic/div64.h:55,
                    from ./arch/csky/include/generated/asm/div64.h:1,
                    from include/linux/math.h:6,
                    from include/linux/math64.h:6,
                    from include/linux/time.h:6,
                    from include/linux/stat.h:19,
                    from include/linux/module.h:13,
                    from drivers/dma/fsl-edma-main.c:12:
   drivers/dma/fsl-edma-common.h: In function 'edma_readq':
>> drivers/dma/fsl-edma-common.h:344:31: error: implicit declaration of function 'readq'; did you mean 'readw'? [-Werror=implicit-function-declaration]
     344 |                 return swab64(readq(addr));
         |                               ^~~~~
   include/uapi/linux/swab.h:128:54: note: in definition of macro '__swab64'
     128 | #define __swab64(x) (__u64)__builtin_bswap64((__u64)(x))
         |                                                      ^
   drivers/dma/fsl-edma-common.h:344:24: note: in expansion of macro 'swab64'
     344 |                 return swab64(readq(addr));
         |                        ^~~~~~
   In file included from drivers/dma/fsl-edma-main.c:22:
   drivers/dma/fsl-edma-common.h: In function 'edma_writeq':
>> drivers/dma/fsl-edma-common.h:399:17: error: implicit declaration of function 'writeq'; did you mean 'writel'? [-Werror=implicit-function-declaration]
     399 |                 writeq(swab64(val), addr);
         |                 ^~~~~~
         |                 writel
   cc1: some warnings being treated as errors
--
   In file included from include/linux/swab.h:5,
                    from include/uapi/linux/byteorder/little_endian.h:14,
                    from include/linux/byteorder/little_endian.h:5,
                    from arch/csky/include/uapi/asm/byteorder.h:6,
                    from include/asm-generic/bitops/le.h:6,
                    from arch/csky/include/asm/bitops.h:77,
                    from include/linux/bitops.h:68,
                    from include/linux/log2.h:12,
                    from include/asm-generic/div64.h:55,
                    from ./arch/csky/include/generated/asm/div64.h:1,
                    from include/linux/math.h:6,
                    from include/linux/math64.h:6,
                    from include/linux/time.h:6,
                    from include/linux/stat.h:19,
                    from include/linux/module.h:13,
                    from drivers/dma/mcf-edma-main.c:6:
   drivers/dma/fsl-edma-common.h: In function 'edma_readq':
>> drivers/dma/fsl-edma-common.h:344:31: error: implicit declaration of function 'readq'; did you mean 'readw'? [-Werror=implicit-function-declaration]
     344 |                 return swab64(readq(addr));
         |                               ^~~~~
   include/uapi/linux/swab.h:128:54: note: in definition of macro '__swab64'
     128 | #define __swab64(x) (__u64)__builtin_bswap64((__u64)(x))
         |                                                      ^
   drivers/dma/fsl-edma-common.h:344:24: note: in expansion of macro 'swab64'
     344 |                 return swab64(readq(addr));
         |                        ^~~~~~
   In file included from drivers/dma/mcf-edma-main.c:12:
   drivers/dma/fsl-edma-common.h: In function 'edma_writeq':
>> drivers/dma/fsl-edma-common.h:399:17: error: implicit declaration of function 'writeq'; did you mean 'writel'? [-Werror=implicit-function-declaration]
     399 |                 writeq(swab64(val), addr);
         |                 ^~~~~~
         |                 writel
   drivers/dma/mcf-edma-main.c: In function 'mcf_edma_probe':
   drivers/dma/mcf-edma-main.c:205:46: warning: dereferencing 'void *' pointer
     205 |                 iowrite32(0x0, &mcf_chan->tcd->csr);
         |                                              ^~
   drivers/dma/mcf-edma-main.c:205:46: error: request for member 'csr' in something not a structure or union
   cc1: some warnings being treated as errors


vim +344 drivers/dma/fsl-edma-common.h

   333	
   334	/*
   335	 * R/W functions for big- or little-endian registers:
   336	 * The eDMA controller's endian is independent of the CPU core's endian.
   337	 * For the big-endian IP module, the offset for 8-bit or 16-bit registers
   338	 * should also be swapped opposite to that in little-endian IP.
   339	 */
   340	static inline u64 edma_readq(struct fsl_edma_engine *edma, void __iomem *addr)
   341	{
   342		/* ioread64 and ioread64be was not defined at some platform */
   343		if (edma->big_endian)
 > 344			return swab64(readq(addr));
   345		else
   346			return readq(addr);
   347	}
   348	
   349	static inline u32 edma_readl(struct fsl_edma_engine *edma, void __iomem *addr)
   350	{
   351		if (edma->big_endian)
   352			return ioread32be(addr);
   353		else
   354			return ioread32(addr);
   355	}
   356	
   357	static inline u16 edma_readw(struct fsl_edma_engine *edma, void __iomem *addr)
   358	{
   359		if (edma->big_endian)
   360			return ioread16be(addr);
   361		else
   362			return ioread16(addr);
   363	}
   364	
   365	static inline void edma_writeb(struct fsl_edma_engine *edma,
   366				       u8 val, void __iomem *addr)
   367	{
   368		/* swap the reg offset for these in big-endian mode */
   369		if (edma->big_endian)
   370			iowrite8(val, (void __iomem *)((unsigned long)addr ^ 0x3));
   371		else
   372			iowrite8(val, addr);
   373	}
   374	
   375	static inline void edma_writew(struct fsl_edma_engine *edma,
   376				       u16 val, void __iomem *addr)
   377	{
   378		/* swap the reg offset for these in big-endian mode */
   379		if (edma->big_endian)
   380			iowrite16be(val, (void __iomem *)((unsigned long)addr ^ 0x2));
   381		else
   382			iowrite16(val, addr);
   383	}
   384	
   385	static inline void edma_writel(struct fsl_edma_engine *edma,
   386				       u32 val, void __iomem *addr)
   387	{
   388		if (edma->big_endian)
   389			iowrite32be(val, addr);
   390		else
   391			iowrite32(val, addr);
   392	}
   393	
   394	static inline void edma_writeq(struct fsl_edma_engine *edma,
   395				       u64 val, void __iomem *addr)
   396	{
   397		/* iowrite64 and iowrite64be was not defined at some platform */
   398		if (edma->big_endian)
 > 399			writeq(swab64(val), addr);
   400		else
   401			writeq(val, addr);
   402	}
   403	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[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 PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux