On Sat, 2019-02-16 at 17:03 +0800, kbuild test robot wrote: > My bad here. I took this patch from our kernel tree and sent it. I assumed it works, since it works in our tree. I'll take a look and see about the order of patches, and which one(s) need(s) to be sent before this one Thanks Alex > > 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: nds32-allyesconfig (attached as .config) > compiler: nds32le-linux-gcc (GCC) 6.4.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=6.4.0 make.cross ARCH=nds32 > > 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' [-Werror=implicit-function-declaration] > > num_sgs = sg_nents_for_dma(sgl, sg_len, chan->max_length); > ^~~~~~~~~~~~~~~~ > cc1: some warnings being treated as errors > > vim +/sg_nents_for_dma +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