From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:596:48: sparse: sparse: cast removes address space '__iomem' of expression
Date: Mon, 17 May 2021 02:39:51 +0800 [thread overview]
Message-ID: <202105170249.QeQcAXak-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 32130 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 63d1cb53e26a9a4168b84a8981b225c0a9cfa235
commit: ea29b20a828511de3348334e529a3d046a180416 init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
date: 9 weeks ago
config: s390-randconfig-s032-20210517 (attached as .config)
compiler: s390-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=ea29b20a828511de3348334e529a3d046a180416
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ea29b20a828511de3348334e529a3d046a180416
# 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=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:596:48: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:646:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *hwbase @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:646:35: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:646:35: sparse: got void *hwbase
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1155:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned long long [usertype] *ptr @@ got void [noderef] __iomem * @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1155:21: sparse: expected unsigned long long [usertype] *ptr
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1155:21: sparse: got void [noderef] __iomem *
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1180:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned long long [usertype] *ptr @@ got void [noderef] __iomem * @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1180:21: sparse: expected unsigned long long [usertype] *ptr
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1180:21: sparse: got void [noderef] __iomem *
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c: note: in included file (through arch/s390/include/asm/io.h, include/linux/io.h, include/linux/pci.h):
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
--
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:26:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:29:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:39:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:42:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:720:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c: note: in included file (through arch/s390/include/asm/io.h, include/linux/io.h, include/linux/pci.h):
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: too many warnings
--
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:554:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] iplen @@ got restricted __be16 [usertype] @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:554:31: sparse: expected unsigned short [usertype] iplen
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:554:31: sparse: got restricted __be16 [usertype]
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:556:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] tot_len @@ got unsigned short [usertype] iplen @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:556:54: sparse: expected restricted __be16 [usertype] tot_len
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:556:54: sparse: got unsigned short [usertype] iplen
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:559:60: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] payload_len @@ got unsigned short [usertype] iplen @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:559:60: sparse: expected restricted __be16 [usertype] payload_len
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:559:60: sparse: got unsigned short [usertype] iplen
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c: note: in included file (through arch/s390/include/asm/io.h, include/linux/scatterlist.h, include/linux/dma-mapping.h, ...):
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
vim +/__iomem +596 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
d424b6c024157f Sunil Goutham 2020-03-21 567
d424b6c024157f Sunil Goutham 2020-03-21 568 static int otx2_pfvf_mbox_init(struct otx2_nic *pf, int numvfs)
d424b6c024157f Sunil Goutham 2020-03-21 569 {
d424b6c024157f Sunil Goutham 2020-03-21 570 void __iomem *hwbase;
d424b6c024157f Sunil Goutham 2020-03-21 571 struct mbox *mbox;
d424b6c024157f Sunil Goutham 2020-03-21 572 int err, vf;
d424b6c024157f Sunil Goutham 2020-03-21 573 u64 base;
d424b6c024157f Sunil Goutham 2020-03-21 574
d424b6c024157f Sunil Goutham 2020-03-21 575 if (!numvfs)
d424b6c024157f Sunil Goutham 2020-03-21 576 return -EINVAL;
d424b6c024157f Sunil Goutham 2020-03-21 577
d424b6c024157f Sunil Goutham 2020-03-21 578 pf->mbox_pfvf = devm_kcalloc(&pf->pdev->dev, numvfs,
d424b6c024157f Sunil Goutham 2020-03-21 579 sizeof(struct mbox), GFP_KERNEL);
d424b6c024157f Sunil Goutham 2020-03-21 580 if (!pf->mbox_pfvf)
d424b6c024157f Sunil Goutham 2020-03-21 581 return -ENOMEM;
d424b6c024157f Sunil Goutham 2020-03-21 582
d424b6c024157f Sunil Goutham 2020-03-21 583 pf->mbox_pfvf_wq = alloc_workqueue("otx2_pfvf_mailbox",
d424b6c024157f Sunil Goutham 2020-03-21 584 WQ_UNBOUND | WQ_HIGHPRI |
d424b6c024157f Sunil Goutham 2020-03-21 585 WQ_MEM_RECLAIM, 1);
d424b6c024157f Sunil Goutham 2020-03-21 586 if (!pf->mbox_pfvf_wq)
d424b6c024157f Sunil Goutham 2020-03-21 587 return -ENOMEM;
d424b6c024157f Sunil Goutham 2020-03-21 588
facede8209ef0d Subbaraya Sundeep 2021-02-11 589 /* On CN10K platform, PF <-> VF mailbox region follows after
facede8209ef0d Subbaraya Sundeep 2021-02-11 590 * PF <-> AF mailbox region.
facede8209ef0d Subbaraya Sundeep 2021-02-11 591 */
facede8209ef0d Subbaraya Sundeep 2021-02-11 592 if (test_bit(CN10K_MBOX, &pf->hw.cap_flag))
facede8209ef0d Subbaraya Sundeep 2021-02-11 593 base = pci_resource_start(pf->pdev, PCI_MBOX_BAR_NUM) +
facede8209ef0d Subbaraya Sundeep 2021-02-11 594 MBOX_SIZE;
facede8209ef0d Subbaraya Sundeep 2021-02-11 595 else
facede8209ef0d Subbaraya Sundeep 2021-02-11 @596 base = readq((void __iomem *)((u64)pf->reg_base +
facede8209ef0d Subbaraya Sundeep 2021-02-11 597 RVU_PF_VF_BAR4_ADDR));
d424b6c024157f Sunil Goutham 2020-03-21 598
facede8209ef0d Subbaraya Sundeep 2021-02-11 599 hwbase = ioremap_wc(base, MBOX_SIZE * pf->total_vfs);
d424b6c024157f Sunil Goutham 2020-03-21 600 if (!hwbase) {
d424b6c024157f Sunil Goutham 2020-03-21 601 err = -ENOMEM;
d424b6c024157f Sunil Goutham 2020-03-21 602 goto free_wq;
d424b6c024157f Sunil Goutham 2020-03-21 603 }
d424b6c024157f Sunil Goutham 2020-03-21 604
d424b6c024157f Sunil Goutham 2020-03-21 605 mbox = &pf->mbox_pfvf[0];
d424b6c024157f Sunil Goutham 2020-03-21 606 err = otx2_mbox_init(&mbox->mbox, hwbase, pf->pdev, pf->reg_base,
d424b6c024157f Sunil Goutham 2020-03-21 607 MBOX_DIR_PFVF, numvfs);
d424b6c024157f Sunil Goutham 2020-03-21 608 if (err)
d424b6c024157f Sunil Goutham 2020-03-21 609 goto free_iomem;
d424b6c024157f Sunil Goutham 2020-03-21 610
d424b6c024157f Sunil Goutham 2020-03-21 611 err = otx2_mbox_init(&mbox->mbox_up, hwbase, pf->pdev, pf->reg_base,
d424b6c024157f Sunil Goutham 2020-03-21 612 MBOX_DIR_PFVF_UP, numvfs);
d424b6c024157f Sunil Goutham 2020-03-21 613 if (err)
d424b6c024157f Sunil Goutham 2020-03-21 614 goto free_iomem;
d424b6c024157f Sunil Goutham 2020-03-21 615
d424b6c024157f Sunil Goutham 2020-03-21 616 for (vf = 0; vf < numvfs; vf++) {
d424b6c024157f Sunil Goutham 2020-03-21 617 mbox->pfvf = pf;
d424b6c024157f Sunil Goutham 2020-03-21 618 INIT_WORK(&mbox->mbox_wrk, otx2_pfvf_mbox_handler);
d424b6c024157f Sunil Goutham 2020-03-21 619 INIT_WORK(&mbox->mbox_up_wrk, otx2_pfvf_mbox_up_handler);
d424b6c024157f Sunil Goutham 2020-03-21 620 mbox++;
d424b6c024157f Sunil Goutham 2020-03-21 621 }
d424b6c024157f Sunil Goutham 2020-03-21 622
d424b6c024157f Sunil Goutham 2020-03-21 623 return 0;
d424b6c024157f Sunil Goutham 2020-03-21 624
d424b6c024157f Sunil Goutham 2020-03-21 625 free_iomem:
d424b6c024157f Sunil Goutham 2020-03-21 626 if (hwbase)
d424b6c024157f Sunil Goutham 2020-03-21 627 iounmap(hwbase);
d424b6c024157f Sunil Goutham 2020-03-21 628 free_wq:
d424b6c024157f Sunil Goutham 2020-03-21 629 destroy_workqueue(pf->mbox_pfvf_wq);
d424b6c024157f Sunil Goutham 2020-03-21 630 return err;
d424b6c024157f Sunil Goutham 2020-03-21 631 }
d424b6c024157f Sunil Goutham 2020-03-21 632
d424b6c024157f Sunil Goutham 2020-03-21 633 static void otx2_pfvf_mbox_destroy(struct otx2_nic *pf)
d424b6c024157f Sunil Goutham 2020-03-21 634 {
d424b6c024157f Sunil Goutham 2020-03-21 635 struct mbox *mbox = &pf->mbox_pfvf[0];
d424b6c024157f Sunil Goutham 2020-03-21 636
d424b6c024157f Sunil Goutham 2020-03-21 637 if (!mbox)
d424b6c024157f Sunil Goutham 2020-03-21 638 return;
d424b6c024157f Sunil Goutham 2020-03-21 639
d424b6c024157f Sunil Goutham 2020-03-21 640 if (pf->mbox_pfvf_wq) {
d424b6c024157f Sunil Goutham 2020-03-21 641 destroy_workqueue(pf->mbox_pfvf_wq);
d424b6c024157f Sunil Goutham 2020-03-21 642 pf->mbox_pfvf_wq = NULL;
d424b6c024157f Sunil Goutham 2020-03-21 643 }
d424b6c024157f Sunil Goutham 2020-03-21 644
d424b6c024157f Sunil Goutham 2020-03-21 645 if (mbox->mbox.hwbase)
d424b6c024157f Sunil Goutham 2020-03-21 @646 iounmap(mbox->mbox.hwbase);
d424b6c024157f Sunil Goutham 2020-03-21 647
d424b6c024157f Sunil Goutham 2020-03-21 648 otx2_mbox_destroy(&mbox->mbox);
d424b6c024157f Sunil Goutham 2020-03-21 649 }
d424b6c024157f Sunil Goutham 2020-03-21 650
:::::: The code at line 596 was first introduced by commit
:::::: facede8209ef0dee84557c036e8502a99bb20a91 octeontx2-pf: cn10k: Add mbox support for CN10K
:::::: TO: Subbaraya Sundeep <sbhatta@marvell.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30538 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Linux Memory Management List <linux-mm@kvack.org>
Subject: drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:596:48: sparse: sparse: cast removes address space '__iomem' of expression
Date: Mon, 17 May 2021 02:39:51 +0800 [thread overview]
Message-ID: <202105170249.QeQcAXak-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 31769 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 63d1cb53e26a9a4168b84a8981b225c0a9cfa235
commit: ea29b20a828511de3348334e529a3d046a180416 init/Kconfig: make COMPILE_TEST depend on HAS_IOMEM
date: 9 weeks ago
config: s390-randconfig-s032-20210517 (attached as .config)
compiler: s390-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=ea29b20a828511de3348334e529a3d046a180416
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout ea29b20a828511de3348334e529a3d046a180416
# 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=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:596:48: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:646:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void *hwbase @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:646:35: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:646:35: sparse: got void *hwbase
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1155:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned long long [usertype] *ptr @@ got void [noderef] __iomem * @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1155:21: sparse: expected unsigned long long [usertype] *ptr
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1155:21: sparse: got void [noderef] __iomem *
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1180:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned long long [usertype] *ptr @@ got void [noderef] __iomem * @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1180:21: sparse: expected unsigned long long [usertype] *ptr
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:1180:21: sparse: got void [noderef] __iomem *
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c: note: in included file (through arch/s390/include/asm/io.h, include/linux/io.h, include/linux/pci.h):
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
--
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:26:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:29:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:39:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:42:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c:720:16: sparse: sparse: cast removes address space '__iomem' of expression
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c: note: in included file (through arch/s390/include/asm/io.h, include/linux/io.h, include/linux/pci.h):
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: cast to restricted __le64
include/asm-generic/io.h:193:15: sparse: sparse: too many warnings
--
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:554:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] iplen @@ got restricted __be16 [usertype] @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:554:31: sparse: expected unsigned short [usertype] iplen
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:554:31: sparse: got restricted __be16 [usertype]
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:556:54: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] tot_len @@ got unsigned short [usertype] iplen @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:556:54: sparse: expected restricted __be16 [usertype] tot_len
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:556:54: sparse: got unsigned short [usertype] iplen
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:559:60: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [usertype] payload_len @@ got unsigned short [usertype] iplen @@
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:559:60: sparse: expected restricted __be16 [usertype] payload_len
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c:559:60: sparse: got unsigned short [usertype] iplen
drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c: note: in included file (through arch/s390/include/asm/io.h, include/linux/scatterlist.h, include/linux/dma-mapping.h, ...):
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
include/asm-generic/io.h:236:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned long long [usertype] val @@ got restricted __le64 [usertype] @@
include/asm-generic/io.h:236:22: sparse: expected unsigned long long [usertype] val
include/asm-generic/io.h:236:22: sparse: got restricted __le64 [usertype]
vim +/__iomem +596 drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
d424b6c024157f Sunil Goutham 2020-03-21 567
d424b6c024157f Sunil Goutham 2020-03-21 568 static int otx2_pfvf_mbox_init(struct otx2_nic *pf, int numvfs)
d424b6c024157f Sunil Goutham 2020-03-21 569 {
d424b6c024157f Sunil Goutham 2020-03-21 570 void __iomem *hwbase;
d424b6c024157f Sunil Goutham 2020-03-21 571 struct mbox *mbox;
d424b6c024157f Sunil Goutham 2020-03-21 572 int err, vf;
d424b6c024157f Sunil Goutham 2020-03-21 573 u64 base;
d424b6c024157f Sunil Goutham 2020-03-21 574
d424b6c024157f Sunil Goutham 2020-03-21 575 if (!numvfs)
d424b6c024157f Sunil Goutham 2020-03-21 576 return -EINVAL;
d424b6c024157f Sunil Goutham 2020-03-21 577
d424b6c024157f Sunil Goutham 2020-03-21 578 pf->mbox_pfvf = devm_kcalloc(&pf->pdev->dev, numvfs,
d424b6c024157f Sunil Goutham 2020-03-21 579 sizeof(struct mbox), GFP_KERNEL);
d424b6c024157f Sunil Goutham 2020-03-21 580 if (!pf->mbox_pfvf)
d424b6c024157f Sunil Goutham 2020-03-21 581 return -ENOMEM;
d424b6c024157f Sunil Goutham 2020-03-21 582
d424b6c024157f Sunil Goutham 2020-03-21 583 pf->mbox_pfvf_wq = alloc_workqueue("otx2_pfvf_mailbox",
d424b6c024157f Sunil Goutham 2020-03-21 584 WQ_UNBOUND | WQ_HIGHPRI |
d424b6c024157f Sunil Goutham 2020-03-21 585 WQ_MEM_RECLAIM, 1);
d424b6c024157f Sunil Goutham 2020-03-21 586 if (!pf->mbox_pfvf_wq)
d424b6c024157f Sunil Goutham 2020-03-21 587 return -ENOMEM;
d424b6c024157f Sunil Goutham 2020-03-21 588
facede8209ef0d Subbaraya Sundeep 2021-02-11 589 /* On CN10K platform, PF <-> VF mailbox region follows after
facede8209ef0d Subbaraya Sundeep 2021-02-11 590 * PF <-> AF mailbox region.
facede8209ef0d Subbaraya Sundeep 2021-02-11 591 */
facede8209ef0d Subbaraya Sundeep 2021-02-11 592 if (test_bit(CN10K_MBOX, &pf->hw.cap_flag))
facede8209ef0d Subbaraya Sundeep 2021-02-11 593 base = pci_resource_start(pf->pdev, PCI_MBOX_BAR_NUM) +
facede8209ef0d Subbaraya Sundeep 2021-02-11 594 MBOX_SIZE;
facede8209ef0d Subbaraya Sundeep 2021-02-11 595 else
facede8209ef0d Subbaraya Sundeep 2021-02-11 @596 base = readq((void __iomem *)((u64)pf->reg_base +
facede8209ef0d Subbaraya Sundeep 2021-02-11 597 RVU_PF_VF_BAR4_ADDR));
d424b6c024157f Sunil Goutham 2020-03-21 598
facede8209ef0d Subbaraya Sundeep 2021-02-11 599 hwbase = ioremap_wc(base, MBOX_SIZE * pf->total_vfs);
d424b6c024157f Sunil Goutham 2020-03-21 600 if (!hwbase) {
d424b6c024157f Sunil Goutham 2020-03-21 601 err = -ENOMEM;
d424b6c024157f Sunil Goutham 2020-03-21 602 goto free_wq;
d424b6c024157f Sunil Goutham 2020-03-21 603 }
d424b6c024157f Sunil Goutham 2020-03-21 604
d424b6c024157f Sunil Goutham 2020-03-21 605 mbox = &pf->mbox_pfvf[0];
d424b6c024157f Sunil Goutham 2020-03-21 606 err = otx2_mbox_init(&mbox->mbox, hwbase, pf->pdev, pf->reg_base,
d424b6c024157f Sunil Goutham 2020-03-21 607 MBOX_DIR_PFVF, numvfs);
d424b6c024157f Sunil Goutham 2020-03-21 608 if (err)
d424b6c024157f Sunil Goutham 2020-03-21 609 goto free_iomem;
d424b6c024157f Sunil Goutham 2020-03-21 610
d424b6c024157f Sunil Goutham 2020-03-21 611 err = otx2_mbox_init(&mbox->mbox_up, hwbase, pf->pdev, pf->reg_base,
d424b6c024157f Sunil Goutham 2020-03-21 612 MBOX_DIR_PFVF_UP, numvfs);
d424b6c024157f Sunil Goutham 2020-03-21 613 if (err)
d424b6c024157f Sunil Goutham 2020-03-21 614 goto free_iomem;
d424b6c024157f Sunil Goutham 2020-03-21 615
d424b6c024157f Sunil Goutham 2020-03-21 616 for (vf = 0; vf < numvfs; vf++) {
d424b6c024157f Sunil Goutham 2020-03-21 617 mbox->pfvf = pf;
d424b6c024157f Sunil Goutham 2020-03-21 618 INIT_WORK(&mbox->mbox_wrk, otx2_pfvf_mbox_handler);
d424b6c024157f Sunil Goutham 2020-03-21 619 INIT_WORK(&mbox->mbox_up_wrk, otx2_pfvf_mbox_up_handler);
d424b6c024157f Sunil Goutham 2020-03-21 620 mbox++;
d424b6c024157f Sunil Goutham 2020-03-21 621 }
d424b6c024157f Sunil Goutham 2020-03-21 622
d424b6c024157f Sunil Goutham 2020-03-21 623 return 0;
d424b6c024157f Sunil Goutham 2020-03-21 624
d424b6c024157f Sunil Goutham 2020-03-21 625 free_iomem:
d424b6c024157f Sunil Goutham 2020-03-21 626 if (hwbase)
d424b6c024157f Sunil Goutham 2020-03-21 627 iounmap(hwbase);
d424b6c024157f Sunil Goutham 2020-03-21 628 free_wq:
d424b6c024157f Sunil Goutham 2020-03-21 629 destroy_workqueue(pf->mbox_pfvf_wq);
d424b6c024157f Sunil Goutham 2020-03-21 630 return err;
d424b6c024157f Sunil Goutham 2020-03-21 631 }
d424b6c024157f Sunil Goutham 2020-03-21 632
d424b6c024157f Sunil Goutham 2020-03-21 633 static void otx2_pfvf_mbox_destroy(struct otx2_nic *pf)
d424b6c024157f Sunil Goutham 2020-03-21 634 {
d424b6c024157f Sunil Goutham 2020-03-21 635 struct mbox *mbox = &pf->mbox_pfvf[0];
d424b6c024157f Sunil Goutham 2020-03-21 636
d424b6c024157f Sunil Goutham 2020-03-21 637 if (!mbox)
d424b6c024157f Sunil Goutham 2020-03-21 638 return;
d424b6c024157f Sunil Goutham 2020-03-21 639
d424b6c024157f Sunil Goutham 2020-03-21 640 if (pf->mbox_pfvf_wq) {
d424b6c024157f Sunil Goutham 2020-03-21 641 destroy_workqueue(pf->mbox_pfvf_wq);
d424b6c024157f Sunil Goutham 2020-03-21 642 pf->mbox_pfvf_wq = NULL;
d424b6c024157f Sunil Goutham 2020-03-21 643 }
d424b6c024157f Sunil Goutham 2020-03-21 644
d424b6c024157f Sunil Goutham 2020-03-21 645 if (mbox->mbox.hwbase)
d424b6c024157f Sunil Goutham 2020-03-21 @646 iounmap(mbox->mbox.hwbase);
d424b6c024157f Sunil Goutham 2020-03-21 647
d424b6c024157f Sunil Goutham 2020-03-21 648 otx2_mbox_destroy(&mbox->mbox);
d424b6c024157f Sunil Goutham 2020-03-21 649 }
d424b6c024157f Sunil Goutham 2020-03-21 650
:::::: The code at line 596 was first introduced by commit
:::::: facede8209ef0dee84557c036e8502a99bb20a91 octeontx2-pf: cn10k: Add mbox support for CN10K
:::::: TO: Subbaraya Sundeep <sbhatta@marvell.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30538 bytes --]
next reply other threads:[~2021-05-16 18:39 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-16 18:39 kernel test robot [this message]
2021-05-16 18:39 ` drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c:596:48: sparse: sparse: cast removes address space '__iomem' of expression kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202105170249.QeQcAXak-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.