Hi Sergey, kernel test robot noticed the following build warnings: [auto build test WARNING on vkoul-dmaengine/next] [also build test WARNING on linus/master v6.6-rc4 next-20231005] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Sergey-Khimich/dmaengine-dw-axi-dmac-Add-support-DMAX_NUM_CHANNELS-16/20231006-002509 base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next patch link: https://lore.kernel.org/r/20231005113638.2039726-1-serghox%40gmail.com patch subject: [PATCH] dmaengine: dw-axi-dmac: Add support DMAX_NUM_CHANNELS > 16 config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20231006/202310060144.oLP6NoVL-lkp@xxxxxxxxx/config) compiler: m68k-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231006/202310060144.oLP6NoVL-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202310060144.oLP6NoVL-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c: In function 'axi_chan_disable': >> drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:202:33: warning: left shift count >= width of type [-Wshift-count-overflow] 202 | << (DMAC_CHAN_EN_SHIFT + DMAC_CHAN_BLOCK_SHIFT)); | ^~ drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:204:33: warning: left shift count >= width of type [-Wshift-count-overflow] 204 | << (DMAC_CHAN_EN2_WE_SHIFT + DMAC_CHAN_BLOCK_SHIFT); | ^~ drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c: In function 'axi_chan_enable': drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:229:33: warning: left shift count >= width of type [-Wshift-count-overflow] 229 | << (DMAC_CHAN_EN_SHIFT + DMAC_CHAN_BLOCK_SHIFT) | | ^~ drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:231:33: warning: left shift count >= width of type [-Wshift-count-overflow] 231 | << (DMAC_CHAN_EN2_WE_SHIFT + DMAC_CHAN_BLOCK_SHIFT); | ^~ drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c: In function 'axi_chan_is_hw_enable': drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:260:66: warning: left shift count >= width of type [-Wshift-count-overflow] 260 | return !!(val & ((BIT(chan->id) >> DMAC_CHAN_16) << DMAC_CHAN_BLOCK_SHIFT)); | ^~ drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c: In function 'dma_chan_pause': drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:1232:33: warning: left shift count >= width of type [-Wshift-count-overflow] 1232 | << (DMAC_CHAN_SUSP2_SHIFT + DMAC_CHAN_BLOCK_SHIFT) | | ^~ drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:1234:33: warning: left shift count >= width of type [-Wshift-count-overflow] 1234 | << (DMAC_CHAN_SUSP2_WE_SHIFT + DMAC_CHAN_BLOCK_SHIFT); | ^~ drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c: In function 'axi_chan_resume': drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:1279:33: warning: left shift count >= width of type [-Wshift-count-overflow] 1279 | << (DMAC_CHAN_SUSP2_SHIFT + DMAC_CHAN_BLOCK_SHIFT)); | ^~ drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:1281:33: warning: left shift count >= width of type [-Wshift-count-overflow] 1281 | << (DMAC_CHAN_SUSP2_WE_SHIFT + DMAC_CHAN_BLOCK_SHIFT)); | ^~ vim +202 drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c 193 194 static inline void axi_chan_disable(struct axi_dma_chan *chan) 195 { 196 u64 val; 197 198 if (chan->chip->dw->hdata->nr_channels >= DMAC_CHAN_16) { 199 val = axi_dma_ioread64(chan->chip, DMAC_CHEN); 200 if (chan->id >= DMAC_CHAN_16) { 201 val &= ~((BIT(chan->id) >> DMAC_CHAN_16) > 202 << (DMAC_CHAN_EN_SHIFT + DMAC_CHAN_BLOCK_SHIFT)); 203 val |= (BIT(chan->id) >> DMAC_CHAN_16) 204 << (DMAC_CHAN_EN2_WE_SHIFT + DMAC_CHAN_BLOCK_SHIFT); 205 } else { 206 val &= ~(BIT(chan->id) << DMAC_CHAN_EN_SHIFT); 207 val |= BIT(chan->id) << DMAC_CHAN_EN2_WE_SHIFT; 208 } 209 axi_dma_iowrite64(chan->chip, DMAC_CHEN, val); 210 } else { 211 val = axi_dma_ioread32(chan->chip, DMAC_CHEN); 212 val &= ~(BIT(chan->id) << DMAC_CHAN_EN_SHIFT); 213 if (chan->chip->dw->hdata->reg_map_8_channels) 214 val |= BIT(chan->id) << DMAC_CHAN_EN_WE_SHIFT; 215 else 216 val |= BIT(chan->id) << DMAC_CHAN_EN2_WE_SHIFT; 217 axi_dma_iowrite32(chan->chip, DMAC_CHEN, (u32)val); 218 } 219 } 220 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki