RE: [PATCH v5 3/3] drivers: dma: sh: Add DMAC driver for RZ/G2L SoC
From: Biju Das <biju.das.jz@bp.renesas.com>
Date: 2021-07-29 13:26:56
Also in:
linux-renesas-soc
Hi All, Looks like there is compiler issue with nios2 cross compilation toolchain. As per the kernel documentation %pad is the format specifier for dma_addr_t. This toolchain does not like it. Please let me know if I am missing any thing here. The changes I made to fix the issue reported by bot:- -------------------
+++ b/drivers/dma/sh/rz-dmac.c@@ -475,7 +475,7 @@ rz_dmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, struct rz_dmac *dmac = to_rz_dmac(chan->device); struct rz_dmac_desc *desc; - dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", + dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n", __func__, channel->index, src, dest, len); if (list_empty(&channel->ld_free))
compilation logs:-
------------------
dasb@ree-du1sdd5:~/dmaengine$ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 ~/bin/make.cross ARCH=nios2
Compiler will be installed in /data/dasb/0day
make --keep-going CONFIG_OF_ALL_DTBS=y CONFIG_DTC=y CROSS_COMPILE=/data/dasb/0day/gcc-10.3.0-nolibc/nios2-linux/bin/nios2-linux- --jobs=48 ARCH=nios2
CALL scripts/atomic/check-atomics.sh
CALL scripts/checksyscalls.sh
<stdin>:1515:2: warning: #warning syscall clone3 not implemented [-Wcpp]
CHK include/generated/compile.h
make[1]: *** No rule to make target 'arch/nios2/boot/dts/""', needed by 'arch/nios2/boot/dts/built-in.a'.
make[1]: Target '__build' not remade because of errors.
make: *** [Makefile:1842: arch/nios2/boot/dts] Error 2
CC drivers/dma/sh/rz-dmac.o
In file included from ./include/linux/printk.h:456,
from ./include/asm-generic/bug.h:22,
from ./arch/nios2/include/generated/asm/bug.h:1,
from ./include/linux/bug.h:5,
from ./include/linux/thread_info.h:13,
from ./include/asm-generic/current.h:5,
from ./arch/nios2/include/generated/asm/current.h:1,
from ./include/linux/sched.h:12,
from ./include/linux/ratelimit.h:6,
from ./include/linux/dev_printk.h:16,
from ./include/linux/device.h:15,
from ./include/linux/dma-mapping.h:7,
from drivers/dma/sh/rz-dmac.c:12:
drivers/dma/sh/rz-dmac.c: In function 'rz_dmac_prep_dma_memcpy':
drivers/dma/sh/rz-dmac.c:478:21: warning: format '%p' expects argument of type 'void *', but argument 6 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=]
478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call'
134 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
./include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call'
166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \
| ^~~~~~~~~~~~~~~~~~
./include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
./include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg'
478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n",
| ^~~~~~~
drivers/dma/sh/rz-dmac.c:478:42: note: format string is defined here
478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n",
| ~^
| |
| void *
| %d
In file included from ./include/linux/printk.h:456,
from ./include/asm-generic/bug.h:22,
from ./arch/nios2/include/generated/asm/bug.h:1,
from ./include/linux/bug.h:5,
from ./include/linux/thread_info.h:13,
from ./include/asm-generic/current.h:5,
from ./arch/nios2/include/generated/asm/current.h:1,
from ./include/linux/sched.h:12,
from ./include/linux/ratelimit.h:6,
from ./include/linux/dev_printk.h:16,
from ./include/linux/device.h:15,
from ./include/linux/dma-mapping.h:7,
from drivers/dma/sh/rz-dmac.c:12:
drivers/dma/sh/rz-dmac.c:478:21: warning: format '%p' expects argument of type 'void *', but argument 7 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=]
478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call'
134 | func(&id, ##__VA_ARGS__); \
| ^~~~~~~~~~~
./include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call'
166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \
| ^~~~~~~~~~~~~~~~~~
./include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~
./include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt'
123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg'
478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n",
| ^~~~~~~
drivers/dma/sh/rz-dmac.c:478:51: note: format string is defined here
478 | dev_dbg(dmac->dev, "%s channel: %d src=%pad dst=%pad len=%zx\n",
| ~^
| |
| void *
| %d
CHK kernel/kheaders_data.tar.xz
AR drivers/dma/sh/built-in.a
AR drivers/dma/built-in.a
AR drivers/built-in.a
make: Target '__all' not remade because of errors.
Regards,
Biju
-----Original Message----- From: kernel test robot <redacted> Sent: 29 July 2021 12:34 To: Biju Das <biju.das.jz@bp.renesas.com>; Vinod Koul <vkoul@kernel.org> Cc: kbuild-all@lists.01.org; Biju Das <biju.das.jz@bp.renesas.com>; Prabhakar Mahadev Lad [off-list ref]; Chris Paterson [off-list ref]; Geert Uytterhoeven [off-list ref]; dmaengine@vger.kernel.org; Chris Brandt [off-list ref]; linux-renesas-soc@vger.kernel.org Subject: Re: [PATCH v5 3/3] drivers: dma: sh: Add DMAC driver for RZ/G2L SoC Hi Biju, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on vkoul-dmaengine/next] [also build test WARNING on robh/for-next v5.14-rc3 next-20210728] [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://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit- scm.com%2Fdocs%2Fgit-format- patch&data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f488c2f ef08d95284c66f%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C63763155516672 5253%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I k1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TJFcD19oJIJ3tWbNwldGo4xy2aaAouJnopP yZQ2tixo%3D&reserved=0] url: https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c om%2F0day-ci%2Flinux%2Fcommits%2FBiju-Das%2FAdd-RZ-G2L-DMAC- support%2F20210729- 162632&data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f488c2 fef08d95284c66f%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C6376315551667 25253%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6 Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=%2Bg8o5Ec95AfQ5n39E6cJ6lnsziARXpVw g%2BRoQgBYQks%3D&reserved=0 base: https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.kern el.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fvkoul%2Fdmaengine.git&data =04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f488c2fef08d95284c66f %7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637631555166725253%7CUnknown %7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI 6Mn0%3D%7C1000&sdata=PLRxI4C7cMH0H4QS6Dv045x8zx%2BIlFeb0mV0QLwfNbQ%3D& amp;reserved=0 next config: nios2-allyesconfig (attached as .config) compiler: nios2-linux-gcc (GCC) 10.3.0 reproduce (this is a W=1 build): wget https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fraw.gith ubusercontent.com%2Fintel%2Flkp- tests%2Fmaster%2Fsbin%2Fmake.cross&data=04%7C01%7Cbiju.das.jz%40bp.ren esas.com%7C542bfff2887f488c2fef08d95284c66f%7C53d82571da1947e49cb4625a166a 4a2a%7C0%7C0%7C637631555166725253%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAw MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=mRWtzY YmV9%2B8br%2BnBcClZz1roSj4GAxaesZbrtMNjYw%3D&reserved=0 -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c om%2F0day- ci%2Flinux%2Fcommit%2Fcfd03e1dedb6793c62ca9acb9642dd314d44ac8e&data=04 %7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f488c2fef08d95284c66f%7C 53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637631555166725253%7CUnknown%7C TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn 0%3D%7C1000&sdata=rVtsa8DjyZ4TY2hpwlKz%2F6e3kBSubO6VM58rh8ioiNA%3D& ;reserved=0 git remote add linux-review https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c om%2F0day- ci%2Flinux&data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bfff2887f4 88c2fef08d95284c66f%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C637631555 166735210%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB TiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Jb9197GDbxvSzKoZHxgDzTAXnLAqPL 8KrH%2Bp7xJHu1A%3D&reserved=0 git fetch --no-tags linux-review Biju-Das/Add-RZ-G2L-DMAC- support/20210729-162632 git checkout cfd03e1dedb6793c62ca9acb9642dd314d44ac8e # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=nios2 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:456, from include/asm-generic/bug.h:22, from ./arch/nios2/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:13, from include/asm-generic/current.h:5, from ./arch/nios2/include/generated/asm/current.h:1, from include/linux/sched.h:12, from include/linux/ratelimit.h:6, from include/linux/dev_printk.h:16, from include/linux/device.h:15, from include/linux/dma-mapping.h:7, from drivers/dma/sh/rz-dmac.c:12: drivers/dma/sh/rz-dmac.c: In function 'rz_dmac_prep_dma_memcpy':quoted
quoted
drivers/dma/sh/rz-dmac.c:478:21: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 6 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=]478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call' 134 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call' 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ | ^~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg' 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:46: note: format string is defined here 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ~~~^ | | | long long unsigned int | %x In file included from include/linux/printk.h:456, from include/asm-generic/bug.h:22, from ./arch/nios2/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:13, from include/asm-generic/current.h:5, from ./arch/nios2/include/generated/asm/current.h:1, from include/linux/sched.h:12, from include/linux/ratelimit.h:6, from include/linux/dev_printk.h:16, from include/linux/device.h:15, from include/linux/dma-mapping.h:7, from drivers/dma/sh/rz-dmac.c:12: drivers/dma/sh/rz-dmac.c:478:21: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 7 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=] 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call' 134 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call' 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ | ^~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg' 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:57: note: format string is defined here 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ~~~^ | | | long long unsigned int | %x In file included from include/linux/printk.h:456, from include/asm-generic/bug.h:22, from ./arch/nios2/include/generated/asm/bug.h:1, from include/linux/bug.h:5, from include/linux/thread_info.h:13, from include/asm-generic/current.h:5, from ./arch/nios2/include/generated/asm/current.h:1, from include/linux/sched.h:12, from include/linux/ratelimit.h:6, from include/linux/dev_printk.h:16, from include/linux/device.h:15, from include/linux/dma-mapping.h:7, from drivers/dma/sh/rz-dmac.c:12:quoted
quoted
drivers/dma/sh/rz-dmac.c:478:21: warning: format '%ld' expects argument of type 'long int', but argument 8 has type 'size_t' {aka 'unsigned int'} [-Wformat=]478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/dynamic_debug.h:134:15: note: in definition of macro '__dynamic_func_call' 134 | func(&id, ##__VA_ARGS__); \ | ^~~~~~~~~~~ include/linux/dynamic_debug.h:166:2: note: in expansion of macro '_dynamic_func_call' 166 | _dynamic_func_call(fmt,__dynamic_dev_dbg, \ | ^~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:123:2: note: in expansion of macro 'dynamic_dev_dbg' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ include/linux/dev_printk.h:123:23: note: in expansion of macro 'dev_fmt' 123 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:2: note: in expansion of macro 'dev_dbg' 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ^~~~~~~ drivers/dma/sh/rz-dmac.c:478:65: note: format string is defined here 478 | dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", | ~~^ | | | long int | %d vim +478 drivers/dma/sh/rz-dmac.c 469 470 static struct dma_async_tx_descriptor * 471 rz_dmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, 472 size_t len, unsigned long flags) 473 { 474 struct rz_dmac_chan *channel = to_rz_dmac_chan(chan); 475 struct rz_dmac *dmac = to_rz_dmac(chan->device); 476 struct rz_dmac_desc *desc; 477 > 478 dev_dbg(dmac->dev, "%s channel: %d src=0x%llx dst=0x%llx len=%ld\n", 479 __func__, channel->index, src, dest, len); 480 481 if (list_empty(&channel->ld_free)) 482 return NULL; 483 484 desc = list_first_entry(&channel->ld_free, struct rz_dmac_desc, node); 485 486 desc->type = RZ_DMAC_DESC_MEMCPY; 487 desc->src = src; 488 desc->dest = dest; 489 desc->len = len; 490 desc->direction = DMA_MEM_TO_MEM; 491 492 list_move_tail(channel->ld_free.next, &channel-quoted
ld_queue);493 return vchan_tx_prep(&channel->vc, &desc->vd, flags); 494 } 495 --- 0-DAY CI Kernel Test Service, Intel Corporation https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.01 .org%2Fhyperkitty%2Flist%2Fkbuild- all%40lists.01.org&data=04%7C01%7Cbiju.das.jz%40bp.renesas.com%7C542bf ff2887f488c2fef08d95284c66f%7C53d82571da1947e49cb4625a166a4a2a%7C0%7C0%7C6 37631555166735210%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2lu MzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Iaa%2FyiTehgWr7ygHm6xV 0xspg7HWa79nPlkqUH0HVj0%3D&reserved=0