Re: [PATCH v2 3/4] dmaengine: sun6i: Add support for 34-bit physical addresses

From: kernel test robot
Date: Mon Apr 11 2022 - 08:04:20 EST


Hi Samuel,

I love your patch! Perhaps something to improve:

[auto build test WARNING on vkoul-dmaengine/next]
[also build test WARNING on sunxi/sunxi/for-next v5.18-rc2 next-20220411]
[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/intel-lab-lkp/linux/commits/Samuel-Holland/dmaengine-sun6i-Allwinner-D1-support/20220411-124826
base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next
config: nios2-randconfig-r011-20220410 (https://download.01.org/0day-ci/archive/20220411/202204111937.ZQ1e600D-lkp@xxxxxxxxx/config)
compiler: nios2-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/intel-lab-lkp/linux/commit/2e9c7977b871d504bca4e9ee88d3b322a21f3fb7
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Samuel-Holland/dmaengine-sun6i-Allwinner-D1-support/20220411-124826
git checkout 2e9c7977b871d504bca4e9ee88d3b322a21f3fb7
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=nios2 SHELL=/bin/bash drivers/dma/

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

All warnings (new ones prefixed by >>):

In file included from include/linux/device.h:15,
from include/linux/dmaengine.h:8,
from drivers/dma/sun6i-dma.c:12:
drivers/dma/sun6i-dma.c: In function 'sun6i_dma_dump_chan_regs':
drivers/dma/sun6i-dma.c:259:34: warning: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'int' [-Wformat=]
259 | dev_dbg(sdev->slave.dev, "Chan %d reg: 0x%lx\n"
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:129:41: note: in definition of macro 'dev_printk'
129 | _dev_printk(level, dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:158:37: note: in expansion of macro 'dev_fmt'
158 | dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/dma/sun6i-dma.c:259:9: note: in expansion of macro 'dev_dbg'
259 | dev_dbg(sdev->slave.dev, "Chan %d reg: 0x%lx\n"
| ^~~~~~~
drivers/dma/sun6i-dma.c:259:52: note: format string is defined here
259 | dev_dbg(sdev->slave.dev, "Chan %d reg: 0x%lx\n"
| ~~^
| |
| long unsigned int
| %x
drivers/dma/sun6i-dma.c: In function 'sun6i_dma_prep_dma_memcpy':
>> drivers/dma/sun6i-dma.c:99:48: warning: right shift count >= width of type [-Wshift-count-overflow]
99 | #define SET_SRC_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 16)
| ^~
drivers/dma/sun6i-dma.c:674:32: note: in expansion of macro 'SET_SRC_HIGH_ADDR'
674 | v_lli->para |= SET_SRC_HIGH_ADDR(src) |
| ^~~~~~~~~~~~~~~~~
drivers/dma/sun6i-dma.c:100:48: warning: right shift count >= width of type [-Wshift-count-overflow]
100 | #define SET_DST_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 18)
| ^~
drivers/dma/sun6i-dma.c:675:32: note: in expansion of macro 'SET_DST_HIGH_ADDR'
675 | SET_DST_HIGH_ADDR(dest);
| ^~~~~~~~~~~~~~~~~
drivers/dma/sun6i-dma.c: In function 'sun6i_dma_prep_slave_sg':
>> drivers/dma/sun6i-dma.c:99:48: warning: right shift count >= width of type [-Wshift-count-overflow]
99 | #define SET_SRC_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 16)
| ^~
drivers/dma/sun6i-dma.c:737:48: note: in expansion of macro 'SET_SRC_HIGH_ADDR'
737 | v_lli->para |= SET_SRC_HIGH_ADDR(sg_dma_address(sg)) |
| ^~~~~~~~~~~~~~~~~
drivers/dma/sun6i-dma.c:100:48: warning: right shift count >= width of type [-Wshift-count-overflow]
100 | #define SET_DST_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 18)
| ^~
drivers/dma/sun6i-dma.c:738:48: note: in expansion of macro 'SET_DST_HIGH_ADDR'
738 | SET_DST_HIGH_ADDR(sconfig->dst_addr);
| ^~~~~~~~~~~~~~~~~
>> drivers/dma/sun6i-dma.c:99:48: warning: right shift count >= width of type [-Wshift-count-overflow]
99 | #define SET_SRC_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 16)
| ^~
drivers/dma/sun6i-dma.c:753:48: note: in expansion of macro 'SET_SRC_HIGH_ADDR'
753 | v_lli->para |= SET_SRC_HIGH_ADDR(sconfig->src_addr) |
| ^~~~~~~~~~~~~~~~~
drivers/dma/sun6i-dma.c:100:48: warning: right shift count >= width of type [-Wshift-count-overflow]
100 | #define SET_DST_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 18)
| ^~
drivers/dma/sun6i-dma.c:754:48: note: in expansion of macro 'SET_DST_HIGH_ADDR'
754 | SET_DST_HIGH_ADDR(sg_dma_address(sg));
| ^~~~~~~~~~~~~~~~~
drivers/dma/sun6i-dma.c: In function 'sun6i_dma_prep_dma_cyclic':
>> drivers/dma/sun6i-dma.c:99:48: warning: right shift count >= width of type [-Wshift-count-overflow]
99 | #define SET_SRC_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 16)
| ^~
drivers/dma/sun6i-dma.c:826:48: note: in expansion of macro 'SET_SRC_HIGH_ADDR'
826 | v_lli->para |= SET_SRC_HIGH_ADDR(buf_addr + period_len * i) |
| ^~~~~~~~~~~~~~~~~
drivers/dma/sun6i-dma.c:100:48: warning: right shift count >= width of type [-Wshift-count-overflow]
100 | #define SET_DST_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 18)
| ^~
drivers/dma/sun6i-dma.c:827:48: note: in expansion of macro 'SET_DST_HIGH_ADDR'
827 | SET_DST_HIGH_ADDR(sconfig->dst_addr);
| ^~~~~~~~~~~~~~~~~
>> drivers/dma/sun6i-dma.c:99:48: warning: right shift count >= width of type [-Wshift-count-overflow]
99 | #define SET_SRC_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 16)
| ^~
drivers/dma/sun6i-dma.c:835:48: note: in expansion of macro 'SET_SRC_HIGH_ADDR'
835 | v_lli->para |= SET_SRC_HIGH_ADDR(sconfig->src_addr) |
| ^~~~~~~~~~~~~~~~~
drivers/dma/sun6i-dma.c:100:48: warning: right shift count >= width of type [-Wshift-count-overflow]
100 | #define SET_DST_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 18)
| ^~
drivers/dma/sun6i-dma.c:836:48: note: in expansion of macro 'SET_DST_HIGH_ADDR'
836 | SET_DST_HIGH_ADDR(buf_addr + period_len * i);
| ^~~~~~~~~~~~~~~~~


vim +99 drivers/dma/sun6i-dma.c

92
93 /*
94 * LLI address mangling
95 *
96 * The LLI link physical address is also mangled, but we avoid dealing
97 * with that by allocating LLIs from the DMA32 zone.
98 */
> 99 #define SET_SRC_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 16)
100 #define SET_DST_HIGH_ADDR(x) ((((x) >> 32) & 0x3U) << 18)
101

--
0-DAY CI Kernel Test Service
https://01.org/lkp