drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h:588:21: sparse: sparse: cast removes address space '__iomem' of expression

From: kernel test robot
Date: Sun May 16 2021 - 15:53:02 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 28183dbf54edba614a90ceb6a1e9464b27845309
commit: d991bb1c8da842a2a0b9dc83b1005e655783f861 include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*()
date: 2 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=d991bb1c8da842a2a0b9dc83b1005e655783f861
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d991bb1c8da842a2a0b9dc83b1005e655783f861
# 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@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
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: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]
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c: note: in included file:
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h:588:21: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h:588:21: 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

vim +/__iomem +588 drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h

4c236d5dc8b862 Geetha sowjanya 2021-02-11 584
caa2da34fd25a3 Sunil Goutham 2020-01-27 585 /* Alloc pointer from pool/aura */
caa2da34fd25a3 Sunil Goutham 2020-01-27 586 static inline u64 otx2_aura_allocptr(struct otx2_nic *pfvf, int aura)
caa2da34fd25a3 Sunil Goutham 2020-01-27 587 {
caa2da34fd25a3 Sunil Goutham 2020-01-27 @588 u64 *ptr = (u64 *)otx2_get_regaddr(pfvf,
caa2da34fd25a3 Sunil Goutham 2020-01-27 589 NPA_LF_AURA_OP_ALLOCX(0));
caa2da34fd25a3 Sunil Goutham 2020-01-27 590 u64 incr = (u64)aura | BIT_ULL(63);
caa2da34fd25a3 Sunil Goutham 2020-01-27 591
caa2da34fd25a3 Sunil Goutham 2020-01-27 592 return otx2_atomic64_add(incr, ptr);
caa2da34fd25a3 Sunil Goutham 2020-01-27 593 }
caa2da34fd25a3 Sunil Goutham 2020-01-27 594

:::::: The code at line 588 was first introduced by commit
:::::: caa2da34fd25a37e9fd43343b6966fb9d730a6d5 octeontx2-pf: Initialize and config queues

:::::: TO: Sunil Goutham <sgoutham@xxxxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip