drivers/dma/ppc4xx/adma.c:688:38: sparse: sparse: incorrect type in argument 2 (different address spaces)

From: kernel test robot
Date: Mon May 17 2021 - 23:55:33 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8ac91e6c6033ebc12c5c1e4aa171b81a662bd70f
commit: 894fa235eb4ca0bfa692dbe4932c2f940cdc8c1e powerpc: inline iomap accessors
date: 6 months ago
config: powerpc64-randconfig-s032-20210518 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-341-g8af24329-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=894fa235eb4ca0bfa692dbe4932c2f940cdc8c1e
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 894fa235eb4ca0bfa692dbe4932c2f940cdc8c1e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=powerpc64

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


sparse warnings: (new ones prefixed by >>)
drivers/dma/ppc4xx/adma.c:73:1: sparse: sparse: symbol 'ppc440spe_adma_chan_list' was not declared. Should it be static?
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:140:17: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:543:35: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sg1l @@ got restricted __le32 [usertype] @@
drivers/dma/ppc4xx/adma.c:543:35: sparse: expected unsigned int [usertype] sg1l
drivers/dma/ppc4xx/adma.c:543:35: sparse: got restricted __le32 [usertype]
drivers/dma/ppc4xx/adma.c:544:35: sparse: sparse: invalid assignment: |=
drivers/dma/ppc4xx/adma.c:544:35: sparse: left side has type unsigned int
drivers/dma/ppc4xx/adma.c:544:35: sparse: right side has type restricted __le32
drivers/dma/ppc4xx/adma.c:590:23: sparse: sparse: invalid assignment: |=
drivers/dma/ppc4xx/adma.c:590:23: sparse: left side has type unsigned int
drivers/dma/ppc4xx/adma.c:590:23: sparse: right side has type restricted __le32
drivers/dma/ppc4xx/adma.c:629:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __le32 [usertype] @@
drivers/dma/ppc4xx/adma.c:629:23: sparse: expected unsigned int [usertype]
drivers/dma/ppc4xx/adma.c:629:23: sparse: got restricted __le32 [usertype]
drivers/dma/ppc4xx/adma.c:630:23: sparse: sparse: invalid assignment: |=
drivers/dma/ppc4xx/adma.c:630:23: sparse: left side has type unsigned int
drivers/dma/ppc4xx/adma.c:630:23: sparse: right side has type restricted __le32
drivers/dma/ppc4xx/adma.c:655:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] cnt @@ got restricted __le32 [usertype] @@
drivers/dma/ppc4xx/adma.c:655:34: sparse: expected unsigned int [usertype] cnt
drivers/dma/ppc4xx/adma.c:655:34: sparse: got restricted __le32 [usertype]
>> drivers/dma/ppc4xx/adma.c:688:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:688:38: sparse: expected void volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:688:38: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:689:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:689:38: sparse: expected void volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:689:38: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:690:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:690:38: sparse: expected void volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:690:38: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:691:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:691:39: sparse: expected void volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:691:39: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:738:69: sparse: sparse: Using plain integer as NULL pointer
drivers/dma/ppc4xx/adma.c:1187:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@
drivers/dma/ppc4xx/adma.c:1187:25: sparse: expected struct dma_regs *dma_reg
drivers/dma/ppc4xx/adma.c:1187:25: sparse: got struct dma_regs [noderef] __iomem *dma_reg
>> drivers/dma/ppc4xx/adma.c:1188:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1188:34: sparse: expected void const volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1188:34: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1190:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@
drivers/dma/ppc4xx/adma.c:1190:25: sparse: expected struct xor_regs *xor_reg
drivers/dma/ppc4xx/adma.c:1190:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg
>> drivers/dma/ppc4xx/adma.c:1191:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1191:36: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1191:36: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1138:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@
drivers/dma/ppc4xx/adma.c:1138:25: sparse: expected struct xor_regs *xor_reg
drivers/dma/ppc4xx/adma.c:1138:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg
drivers/dma/ppc4xx/adma.c:1147:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1147:35: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1147:35: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1157:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1157:49: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1157:49: sparse: got unsigned int *
>> drivers/dma/ppc4xx/adma.c:1159:38: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1159:38: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1159:38: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:911:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@
drivers/dma/ppc4xx/adma.c:911:25: sparse: expected struct dma_regs *dma_reg
drivers/dma/ppc4xx/adma.c:911:25: sparse: got struct dma_regs [noderef] __iomem *dma_reg
drivers/dma/ppc4xx/adma.c:912:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:912:40: sparse: expected void const volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:912:40: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:929:37: sparse: sparse: cast to restricted __le32
drivers/dma/ppc4xx/adma.c:974:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:974:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:974:32: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:979:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:979:40: sparse: expected void volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:979:40: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:984:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@
drivers/dma/ppc4xx/adma.c:984:25: sparse: expected struct xor_regs *xor_reg
drivers/dma/ppc4xx/adma.c:984:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg
drivers/dma/ppc4xx/adma.c:985:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:985:34: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:985:34: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:986:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:986:34: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:986:34: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:993:55: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:993:55: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:993:55: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:995:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:995:51: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:995:51: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:997:51: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:997:51: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:997:51: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:999:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:999:46: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:999:46: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1008:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1008:35: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1008:35: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1027:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@
drivers/dma/ppc4xx/adma.c:1027:25: sparse: expected struct dma_regs *dma_reg
drivers/dma/ppc4xx/adma.c:1027:25: sparse: got struct dma_regs [noderef] __iomem *dma_reg
>> drivers/dma/ppc4xx/adma.c:1031:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned short * @@
drivers/dma/ppc4xx/adma.c:1031:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1031:31: sparse: got unsigned short *
drivers/dma/ppc4xx/adma.c:1031:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned short * @@
drivers/dma/ppc4xx/adma.c:1031:60: sparse: expected void const volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1031:60: sparse: got unsigned short *
drivers/dma/ppc4xx/adma.c:1032:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned short * @@
drivers/dma/ppc4xx/adma.c:1032:31: sparse: expected void const volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1032:31: sparse: got unsigned short *
drivers/dma/ppc4xx/adma.c:1032:60: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned short * @@
drivers/dma/ppc4xx/adma.c:1032:60: sparse: expected void const volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1032:60: sparse: got unsigned short *
drivers/dma/ppc4xx/adma.c:1038:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@
drivers/dma/ppc4xx/adma.c:1038:25: sparse: expected struct xor_regs *xor_reg
drivers/dma/ppc4xx/adma.c:1038:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg
drivers/dma/ppc4xx/adma.c:1039:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1039:37: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1039:37: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1053:48: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@
drivers/dma/ppc4xx/adma.c:1053:48: sparse: expected struct xor_regs *xor_reg
drivers/dma/ppc4xx/adma.c:1053:48: sparse: got struct xor_regs [noderef] __iomem *xor_reg
drivers/dma/ppc4xx/adma.c:1055:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1055:25: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1055:25: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1062:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1062:41: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1062:41: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1064:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1064:39: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1064:39: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1065:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1065:25: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1065:25: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1066:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1066:33: sparse: expected void const [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1066:33: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1067:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1067:22: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1067:22: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1080:48: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct dma_regs *dma_reg @@ got struct dma_regs [noderef] __iomem *dma_reg @@
drivers/dma/ppc4xx/adma.c:1080:48: sparse: expected struct dma_regs *dma_reg
drivers/dma/ppc4xx/adma.c:1080:48: sparse: got struct dma_regs [noderef] __iomem *dma_reg
drivers/dma/ppc4xx/adma.c:1090:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1090:26: sparse: expected void volatile [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1090:26: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:1210:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct xor_regs *xor_reg @@ got struct xor_regs [noderef] __iomem *xor_reg @@
drivers/dma/ppc4xx/adma.c:1210:25: sparse: expected struct xor_regs *xor_reg
drivers/dma/ppc4xx/adma.c:1210:25: sparse: got struct xor_regs [noderef] __iomem *xor_reg
drivers/dma/ppc4xx/adma.c:1214:30: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got unsigned int * @@
drivers/dma/ppc4xx/adma.c:1214:30: sparse: expected void [noderef] __iomem *addr
drivers/dma/ppc4xx/adma.c:1214:30: sparse: got unsigned int *
drivers/dma/ppc4xx/adma.c:2777:62: sparse: sparse: Using plain integer as NULL pointer
drivers/dma/ppc4xx/adma.c:4094:14: sparse: sparse: too many warnings

vim +688 drivers/dma/ppc4xx/adma.c

12458ea06efd7b Anatolij Gustschin 2009-12-11 599
12458ea06efd7b Anatolij Gustschin 2009-12-11 600 /**
12458ea06efd7b Anatolij Gustschin 2009-12-11 601 * ppc440spe_desc_set_dest_addr - set destination address into the descriptor
12458ea06efd7b Anatolij Gustschin 2009-12-11 602 */
12458ea06efd7b Anatolij Gustschin 2009-12-11 603 static void ppc440spe_desc_set_dest_addr(struct ppc440spe_adma_desc_slot *desc,
12458ea06efd7b Anatolij Gustschin 2009-12-11 604 struct ppc440spe_adma_chan *chan,
12458ea06efd7b Anatolij Gustschin 2009-12-11 605 dma_addr_t addrh, dma_addr_t addrl,
12458ea06efd7b Anatolij Gustschin 2009-12-11 606 u32 dst_idx)
12458ea06efd7b Anatolij Gustschin 2009-12-11 607 {
12458ea06efd7b Anatolij Gustschin 2009-12-11 608 struct dma_cdb *dma_hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 609 struct xor_cb *xor_hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 610 phys_addr_t addr64, tmphi, tmplow;
12458ea06efd7b Anatolij Gustschin 2009-12-11 611 u32 *psgu, *psgl;
12458ea06efd7b Anatolij Gustschin 2009-12-11 612
12458ea06efd7b Anatolij Gustschin 2009-12-11 613 switch (chan->device->id) {
12458ea06efd7b Anatolij Gustschin 2009-12-11 614 case PPC440SPE_DMA0_ID:
12458ea06efd7b Anatolij Gustschin 2009-12-11 615 case PPC440SPE_DMA1_ID:
12458ea06efd7b Anatolij Gustschin 2009-12-11 616 if (!addrh) {
12458ea06efd7b Anatolij Gustschin 2009-12-11 617 addr64 = addrl;
12458ea06efd7b Anatolij Gustschin 2009-12-11 618 tmphi = (addr64 >> 32);
12458ea06efd7b Anatolij Gustschin 2009-12-11 619 tmplow = (addr64 & 0xFFFFFFFF);
12458ea06efd7b Anatolij Gustschin 2009-12-11 620 } else {
12458ea06efd7b Anatolij Gustschin 2009-12-11 621 tmphi = addrh;
12458ea06efd7b Anatolij Gustschin 2009-12-11 622 tmplow = addrl;
12458ea06efd7b Anatolij Gustschin 2009-12-11 623 }
12458ea06efd7b Anatolij Gustschin 2009-12-11 624 dma_hw_desc = desc->hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 625
12458ea06efd7b Anatolij Gustschin 2009-12-11 626 psgu = dst_idx ? &dma_hw_desc->sg3u : &dma_hw_desc->sg2u;
12458ea06efd7b Anatolij Gustschin 2009-12-11 627 psgl = dst_idx ? &dma_hw_desc->sg3l : &dma_hw_desc->sg2l;
12458ea06efd7b Anatolij Gustschin 2009-12-11 628
12458ea06efd7b Anatolij Gustschin 2009-12-11 @629 *psgl = cpu_to_le32((u32)tmplow);
12458ea06efd7b Anatolij Gustschin 2009-12-11 630 *psgu |= cpu_to_le32((u32)tmphi);
12458ea06efd7b Anatolij Gustschin 2009-12-11 631 break;
12458ea06efd7b Anatolij Gustschin 2009-12-11 632 case PPC440SPE_XOR_ID:
12458ea06efd7b Anatolij Gustschin 2009-12-11 633 xor_hw_desc = desc->hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 634 xor_hw_desc->cbtal = addrl;
12458ea06efd7b Anatolij Gustschin 2009-12-11 635 xor_hw_desc->cbtah |= addrh;
12458ea06efd7b Anatolij Gustschin 2009-12-11 636 break;
12458ea06efd7b Anatolij Gustschin 2009-12-11 637 }
12458ea06efd7b Anatolij Gustschin 2009-12-11 638 }
12458ea06efd7b Anatolij Gustschin 2009-12-11 639
12458ea06efd7b Anatolij Gustschin 2009-12-11 640 /**
12458ea06efd7b Anatolij Gustschin 2009-12-11 641 * ppc440spe_desc_set_byte_count - set number of data bytes involved
12458ea06efd7b Anatolij Gustschin 2009-12-11 642 * into the operation
12458ea06efd7b Anatolij Gustschin 2009-12-11 643 */
12458ea06efd7b Anatolij Gustschin 2009-12-11 644 static void ppc440spe_desc_set_byte_count(struct ppc440spe_adma_desc_slot *desc,
12458ea06efd7b Anatolij Gustschin 2009-12-11 645 struct ppc440spe_adma_chan *chan,
12458ea06efd7b Anatolij Gustschin 2009-12-11 646 u32 byte_count)
12458ea06efd7b Anatolij Gustschin 2009-12-11 647 {
12458ea06efd7b Anatolij Gustschin 2009-12-11 648 struct dma_cdb *dma_hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 649 struct xor_cb *xor_hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 650
12458ea06efd7b Anatolij Gustschin 2009-12-11 651 switch (chan->device->id) {
12458ea06efd7b Anatolij Gustschin 2009-12-11 652 case PPC440SPE_DMA0_ID:
12458ea06efd7b Anatolij Gustschin 2009-12-11 653 case PPC440SPE_DMA1_ID:
12458ea06efd7b Anatolij Gustschin 2009-12-11 654 dma_hw_desc = desc->hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 655 dma_hw_desc->cnt = cpu_to_le32(byte_count);
12458ea06efd7b Anatolij Gustschin 2009-12-11 656 break;
12458ea06efd7b Anatolij Gustschin 2009-12-11 657 case PPC440SPE_XOR_ID:
12458ea06efd7b Anatolij Gustschin 2009-12-11 658 xor_hw_desc = desc->hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 659 xor_hw_desc->cbbc = byte_count;
12458ea06efd7b Anatolij Gustschin 2009-12-11 660 break;
12458ea06efd7b Anatolij Gustschin 2009-12-11 661 }
12458ea06efd7b Anatolij Gustschin 2009-12-11 662 }
12458ea06efd7b Anatolij Gustschin 2009-12-11 663
12458ea06efd7b Anatolij Gustschin 2009-12-11 664 /**
12458ea06efd7b Anatolij Gustschin 2009-12-11 665 * ppc440spe_desc_set_rxor_block_size - set RXOR block size
12458ea06efd7b Anatolij Gustschin 2009-12-11 666 */
12458ea06efd7b Anatolij Gustschin 2009-12-11 667 static inline void ppc440spe_desc_set_rxor_block_size(u32 byte_count)
12458ea06efd7b Anatolij Gustschin 2009-12-11 668 {
12458ea06efd7b Anatolij Gustschin 2009-12-11 669 /* assume that byte_count is aligned on the 512-boundary;
12458ea06efd7b Anatolij Gustschin 2009-12-11 670 * thus write it directly to the register (bits 23:31 are
12458ea06efd7b Anatolij Gustschin 2009-12-11 671 * reserved there).
12458ea06efd7b Anatolij Gustschin 2009-12-11 672 */
12458ea06efd7b Anatolij Gustschin 2009-12-11 673 dcr_write(ppc440spe_mq_dcr_host, DCRN_MQ0_CF2H, byte_count);
12458ea06efd7b Anatolij Gustschin 2009-12-11 674 }
12458ea06efd7b Anatolij Gustschin 2009-12-11 675
12458ea06efd7b Anatolij Gustschin 2009-12-11 676 /**
12458ea06efd7b Anatolij Gustschin 2009-12-11 677 * ppc440spe_desc_set_dcheck - set CHECK pattern
12458ea06efd7b Anatolij Gustschin 2009-12-11 678 */
12458ea06efd7b Anatolij Gustschin 2009-12-11 679 static void ppc440spe_desc_set_dcheck(struct ppc440spe_adma_desc_slot *desc,
12458ea06efd7b Anatolij Gustschin 2009-12-11 680 struct ppc440spe_adma_chan *chan, u8 *qword)
12458ea06efd7b Anatolij Gustschin 2009-12-11 681 {
12458ea06efd7b Anatolij Gustschin 2009-12-11 682 struct dma_cdb *dma_hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 683
12458ea06efd7b Anatolij Gustschin 2009-12-11 684 switch (chan->device->id) {
12458ea06efd7b Anatolij Gustschin 2009-12-11 685 case PPC440SPE_DMA0_ID:
12458ea06efd7b Anatolij Gustschin 2009-12-11 686 case PPC440SPE_DMA1_ID:
12458ea06efd7b Anatolij Gustschin 2009-12-11 687 dma_hw_desc = desc->hw_desc;
12458ea06efd7b Anatolij Gustschin 2009-12-11 @688 iowrite32(qword[0], &dma_hw_desc->sg3l);
12458ea06efd7b Anatolij Gustschin 2009-12-11 689 iowrite32(qword[4], &dma_hw_desc->sg3u);
12458ea06efd7b Anatolij Gustschin 2009-12-11 @690 iowrite32(qword[8], &dma_hw_desc->sg2l);
12458ea06efd7b Anatolij Gustschin 2009-12-11 691 iowrite32(qword[12], &dma_hw_desc->sg2u);
12458ea06efd7b Anatolij Gustschin 2009-12-11 692 break;
12458ea06efd7b Anatolij Gustschin 2009-12-11 693 default:
12458ea06efd7b Anatolij Gustschin 2009-12-11 694 BUG();
12458ea06efd7b Anatolij Gustschin 2009-12-11 695 }
12458ea06efd7b Anatolij Gustschin 2009-12-11 696 }
12458ea06efd7b Anatolij Gustschin 2009-12-11 697

:::::: The code at line 688 was first introduced by commit
:::::: 12458ea06efd7b44281e68fe59c950ec7d59c649 ppc440spe-adma: adds updated ppc440spe adma driver

:::::: TO: Anatolij Gustschin <agust@xxxxxxx>
:::::: CC: Dan Williams <dan.j.williams@xxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip