Re: [PATCH] dma: axi-dmac: Split too large segments

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

 



Hi Lars-Peter,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.0-rc4 next-20190215]
[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/Alexandru-Ardelean/dma-axi-dmac-Split-too-large-segments/20190216-160002
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 8.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.2.0 make.cross ARCH=xtensa 

All errors (new ones prefixed by >>):

   drivers/dma/dma-axi-dmac.c: In function 'axi_dmac_prep_slave_sg':
>> drivers/dma/dma-axi-dmac.c:443:12: error: implicit declaration of function 'sg_nents_for_dma'; did you mean 'sg_nents_for_len'? [-Werror=implicit-function-declaration]
     num_sgs = sg_nents_for_dma(sgl, sg_len, chan->max_length);
               ^~~~~~~~~~~~~~~~
               sg_nents_for_len
   cc1: some warnings being treated as errors

vim +443 drivers/dma/dma-axi-dmac.c

   427	
   428	static struct dma_async_tx_descriptor *axi_dmac_prep_slave_sg(
   429		struct dma_chan *c, struct scatterlist *sgl,
   430		unsigned int sg_len, enum dma_transfer_direction direction,
   431		unsigned long flags, void *context)
   432	{
   433		struct axi_dmac_chan *chan = to_axi_dmac_chan(c);
   434		struct axi_dmac_desc *desc;
   435		struct axi_dmac_sg *dsg;
   436		struct scatterlist *sg;
   437		unsigned int num_sgs;
   438		unsigned int i;
   439	
   440		if (direction != chan->direction)
   441			return NULL;
   442	
 > 443		num_sgs = sg_nents_for_dma(sgl, sg_len, chan->max_length);
   444		desc = axi_dmac_alloc_desc(num_sgs);
   445		if (!desc)
   446			return NULL;
   447	
   448		dsg = desc->sg;
   449	
   450		for_each_sg(sgl, sg, sg_len, i) {
   451			if (!axi_dmac_check_addr(chan, sg_dma_address(sg)) ||
   452			    !axi_dmac_check_len(chan, sg_dma_len(sg))) {
   453				kfree(desc);
   454				return NULL;
   455			}
   456	
   457			dsg = axi_dmac_fill_linear_sg(chan, direction, sg_dma_address(sg), 1,
   458				sg_dma_len(sg), dsg);
   459		}
   460	
   461		desc->cyclic = false;
   462	
   463		return vchan_tx_prep(&chan->vchan, &desc->vdesc, flags);
   464	}
   465	

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

  Powered by Linux