Re: [PATCH v12 2/4] dmaengine: tegra: Add tegra gpcdma driver

From: kernel test robot
Date: Wed Nov 17 2021 - 12:57:47 EST


Hi Akhil,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on robh/for-next]
[also build test ERROR on vkoul-dmaengine/next arm64/for-next/core v5.16-rc1 next-20211117]
[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]

url: https://github.com/0day-ci/linux/commits/Akhil-R/dt-bindings-dmaengine-Add-doc-for-tegra-gpcdma/20211109-233646
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: sparc64-randconfig-p002-20211115 (attached as .config)
compiler: sparc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/faf61a8fc90e3ea731c65a8cebce3eb6c0444d21
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Akhil-R/dt-bindings-dmaengine-Add-doc-for-tegra-gpcdma/20211109-233646
git checkout faf61a8fc90e3ea731c65a8cebce3eb6c0444d21
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=sparc64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

drivers/dma/tegra186-gpc-dma.c: In function 'tegra_dma_sid_free':
drivers/dma/tegra186-gpc-dma.c:326:9: warning: enumeration value 'DMA_MEM_TO_MEM' not handled in switch [-Wswitch]
326 | switch (tdc->sid_dir) {
| ^~~~~~
drivers/dma/tegra186-gpc-dma.c:326:9: warning: enumeration value 'DMA_DEV_TO_DEV' not handled in switch [-Wswitch]
drivers/dma/tegra186-gpc-dma.c:326:9: warning: enumeration value 'DMA_TRANS_NONE' not handled in switch [-Wswitch]
drivers/dma/tegra186-gpc-dma.c: In function 'tegra_dma_desc_free':
>> drivers/dma/tegra186-gpc-dma.c:340:9: error: implicit declaration of function 'kfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration]
340 | kfree(container_of(vd, struct tegra_dma_desc, vd));
| ^~~~~
| kvfree
drivers/dma/tegra186-gpc-dma.c: In function 'tegra_dma_reset_client':
drivers/dma/tegra186-gpc-dma.c:55:41: error: implicit declaration of function 'FIELD_PREP' [-Werror=implicit-function-declaration]
55 | FIELD_PREP(TEGRA_GPCDMA_CSR_REQ_SEL_MASK, 4)
| ^~~~~~~~~~
drivers/dma/tegra186-gpc-dma.c:535:16: note: in expansion of macro 'TEGRA_GPCDMA_CSR_REQ_SEL_UNUSED'
535 | csr |= TEGRA_GPCDMA_CSR_REQ_SEL_UNUSED;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/dma/tegra186-gpc-dma.c: In function 'tegra_dma_prep_dma_memset':
>> drivers/dma/tegra186-gpc-dma.c:776:20: error: implicit declaration of function 'kzalloc'; did you mean 'kvzalloc'? [-Werror=implicit-function-declaration]
776 | dma_desc = kzalloc(sizeof(*dma_desc), GFP_NOWAIT);
| ^~~~~~~
| kvzalloc
>> drivers/dma/tegra186-gpc-dma.c:776:18: warning: assignment to 'struct tegra_dma_desc *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
776 | dma_desc = kzalloc(sizeof(*dma_desc), GFP_NOWAIT);
| ^
drivers/dma/tegra186-gpc-dma.c: In function 'tegra_dma_prep_dma_memcpy':
drivers/dma/tegra186-gpc-dma.c:843:18: warning: assignment to 'struct tegra_dma_desc *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
843 | dma_desc = kzalloc(sizeof(*dma_desc), GFP_NOWAIT);
| ^
drivers/dma/tegra186-gpc-dma.c: In function 'tegra_dma_prep_slave_sg':
drivers/dma/tegra186-gpc-dma.c:932:18: warning: assignment to 'struct tegra_dma_desc *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
932 | dma_desc = kzalloc(sizeof(*dma_desc), GFP_NOWAIT);
| ^
cc1: some warnings being treated as errors


vim +340 drivers/dma/tegra186-gpc-dma.c

320
321 static void tegra_dma_sid_free(struct tegra_dma_channel *tdc)
322 {
323 struct tegra_dma *tdma = tdc->tdma;
324 unsigned int sid = tdc->slave_id;
325
> 326 switch (tdc->sid_dir) {
327 case DMA_MEM_TO_DEV:
328 clear_bit(sid, &tdma->sid_m2d_reserved);
329 break;
330 case DMA_DEV_TO_MEM:
331 clear_bit(sid, &tdma->sid_d2m_reserved);
332 break;
333 }
334
335 tdc->sid_dir = DMA_TRANS_NONE;
336 }
337
338 static void tegra_dma_desc_free(struct virt_dma_desc *vd)
339 {
> 340 kfree(container_of(vd, struct tegra_dma_desc, vd));
341 }
342

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip