Re: [PATCH v1 10/12] dmaengine: fsl-edma: move tcd into struct fsl_dma_chan

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

 



Hi Frank,

kernel test robot noticed the following build warnings:

[auto build test WARNING on vkoul-dmaengine/next]
[also build test WARNING on robh/for-next linus/master v6.4-rc3 next-20230525]
[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-clean-up-EXPORT_SYMBOL_GPL-in-fsl-edma-common-c/20230526-224442
base:   https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next
patch link:    https://lore.kernel.org/r/20230526143639.1037099-11-Frank.Li%40nxp.com
patch subject: [PATCH v1 10/12] dmaengine: fsl-edma: move tcd into struct fsl_dma_chan
config: i386-randconfig-s003-20230526 (https://download.01.org/0day-ci/archive/20230527/202305271951.gmRobs3a-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://github.com/intel-lab-lkp/linux/commit/913c495a6c017a70bd6d7a518a9edbd361212985
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Frank-Li/dmaengine-fsl-edma-clean-up-EXPORT_SYMBOL_GPL-in-fsl-edma-common-c/20230526-224442
        git checkout 913c495a6c017a70bd6d7a518a9edbd361212985
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 olddefconfig
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/dma/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202305271951.gmRobs3a-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
   drivers/dma/fsl-edma-common.c:367:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:367:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:368:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:368:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:370:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:370:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:371:9: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned short [usertype] val @@     got restricted __le16 [usertype] soff @@
   drivers/dma/fsl-edma-common.c:371:9: sparse:     expected unsigned short [usertype] val
   drivers/dma/fsl-edma-common.c:371:9: sparse:     got restricted __le16 [usertype] soff
>> drivers/dma/fsl-edma-common.c:371:9: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le16 [usertype] soff @@
   drivers/dma/fsl-edma-common.c:371:9: sparse:     expected unsigned int [usertype] val
   drivers/dma/fsl-edma-common.c:371:9: sparse:     got restricted __le16 [usertype] soff
   drivers/dma/fsl-edma-common.c:373:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:373:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:374:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:374:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:376:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:376:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:377:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:377:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:378:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:378:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:380:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:380:9: sparse: sparse: cast from restricted __le32
   drivers/dma/fsl-edma-common.c:388:9: sparse: sparse: cast from restricted __le16
   drivers/dma/fsl-edma-common.c:388:9: sparse: sparse: cast from restricted __le16

vim +371 drivers/dma/fsl-edma-common.c

   353	
   354	static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan,
   355					  struct fsl_edma_hw_tcd *tcd)
   356	{
   357		u16 csr = 0;
   358	
   359		/*
   360		 * TCD parameters are stored in struct fsl_edma_hw_tcd in little
   361		 * endian format. However, we need to load the TCD registers in
   362		 * big- or little-endian obeying the eDMA engine model endian,
   363		 * and this is performed from specific edma_write functions
   364		 */
   365		edma_write_tcdreg(fsl_chan, 0, csr);
   366	
   367		edma_write_tcdreg(fsl_chan, (s32)tcd->saddr, saddr);
   368		edma_write_tcdreg(fsl_chan, (s32)tcd->daddr, daddr);
   369	
   370		edma_write_tcdreg(fsl_chan, (s16)tcd->attr, attr);
 > 371		edma_write_tcdreg(fsl_chan, tcd->soff, soff);
   372	
   373		edma_write_tcdreg(fsl_chan, (s32)tcd->nbytes, nbytes);
   374		edma_write_tcdreg(fsl_chan, (s32)tcd->slast, slast);
   375	
   376		edma_write_tcdreg(fsl_chan, (s16)tcd->citer, citer);
   377		edma_write_tcdreg(fsl_chan, (s16)tcd->biter, biter);
   378		edma_write_tcdreg(fsl_chan, (s16)tcd->doff, doff);
   379	
   380		edma_write_tcdreg(fsl_chan, (s32)tcd->dlast_sga, dlast_sga);
   381	
   382		if (fsl_chan->is_sw) {
   383			csr = le16_to_cpu(tcd->csr);
   384			csr |= EDMA_TCD_CSR_START;
   385			tcd->csr = cpu_to_le16(csr);
   386		}
   387	
   388		edma_write_tcdreg(fsl_chan, (s16)tcd->csr, csr);
   389	}
   390	

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



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux