drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Thu Dec 07 2023 - 04:14:04 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: bee0e7762ad2c6025b9f5245c040fcc36ef2bde8
commit: 90db9dbedd26ce029f3a0f8d2cbd3a142f452408 kasan, powerpc: don't rename memintrinsics if compiler adds prefixes
date: 9 months ago
config: powerpc-randconfig-r123-20231207 (https://download.01.org/0day-ci/archive/20231207/202312071708.7bFCHqVF-lkp@xxxxxxxxx/config)
compiler: powerpc-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231207/202312071708.7bFCHqVF-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312071708.7bFCHqVF-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
drivers/net/ethernet/freescale/ucc_geth.c:243:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:243:21: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:243:21: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:404:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:404:22: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:404:22: sparse: got restricted __be16 [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:405:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:405:22: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:405:22: sparse: got restricted __be16 [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:406:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short volatile [noderef] [usertype] __iomem *addr @@ got restricted __be16 [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:406:22: sparse: expected unsigned short volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:406:22: sparse: got restricted __be16 [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:448:23: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __be16 [noderef] [usertype] __iomem *reg @@ got unsigned short [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:448:23: sparse: expected restricted __be16 [noderef] [usertype] __iomem *reg
drivers/net/ethernet/freescale/ucc_geth.c:448:23: sparse: got unsigned short [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1316:26: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1316:26: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1316:26: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1343:19: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1343:19: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1343:19: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1389:9: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:1390:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:1390:22: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1390:22: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:1401:36: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:1401:36: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1401:36: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:1570:38: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1570:38: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1570:38: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1635:35: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1635:35: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1635:35: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1823:41: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1823:41: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1823:41: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1838:50: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *objp @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1838:50: sparse: expected void const *objp
drivers/net/ethernet/freescale/ucc_geth.c:1838:50: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1863:33: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1863:33: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1863:33: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1875:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *objp @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1875:42: sparse: expected void const *objp
drivers/net/ethernet/freescale/ucc_geth.c:1875:42: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1964:17: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:1966:17: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2012:29: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:2012:29: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2012:29: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:2015:29: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:2015:29: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2015:29: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:2159:40: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem * @@ got void * @@
drivers/net/ethernet/freescale/ucc_geth.c:2159:40: sparse: expected unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2159:40: sparse: got void *
>> drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: expected void const *
drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: got unsigned char [noderef] [usertype] __iomem *
>> drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const * @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: expected void const *
drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: got unsigned char [noderef] [usertype] __iomem *
>> drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: expected void *p
drivers/net/ethernet/freescale/ucc_geth.c:2167:17: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2187:37: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2187:37: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2187:37: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2220:40: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem * @@ got void * @@
drivers/net/ethernet/freescale/ucc_geth.c:2220:40: sparse: expected unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2220:40: sparse: got void *
drivers/net/ethernet/freescale/ucc_geth.c:2247:37: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2247:37: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2247:37: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2309:32: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *upsmr_register @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2309:32: sparse: expected unsigned int [noderef] [usertype] __iomem *upsmr_register
drivers/net/ethernet/freescale/ucc_geth.c:2309:32: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2315:57: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *upsmr_register @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2315:57: sparse: expected unsigned int [noderef] [usertype] __iomem *upsmr_register
drivers/net/ethernet/freescale/ucc_geth.c:2315:57: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2327:35: sparse: sparse: incorrect type in argument 6 (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *upsmr_register @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2327:35: sparse: expected unsigned int [noderef] [usertype] __iomem *upsmr_register
drivers/net/ethernet/freescale/ucc_geth.c:2327:35: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2375:37: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected unsigned int [noderef] [usertype] __iomem *upsmr_register @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2375:37: sparse: expected unsigned int [noderef] [usertype] __iomem *upsmr_register
drivers/net/ethernet/freescale/ucc_geth.c:2375:37: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2453:64: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile *address @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2453:64: sparse: expected void volatile *address
drivers/net/ethernet/freescale/ucc_geth.c:2453:64: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2456:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile *address @@ got unsigned char [noderef] [usertype] __iomem *[assigned] endOfRing @@
drivers/net/ethernet/freescale/ucc_geth.c:2456:45: sparse: expected void volatile *address
drivers/net/ethernet/freescale/ucc_geth.c:2456:45: sparse: got unsigned char [noderef] [usertype] __iomem *[assigned] endOfRing
drivers/net/ethernet/freescale/ucc_geth.c:2676:64: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile *address @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2676:64: sparse: expected void volatile *address
drivers/net/ethernet/freescale/ucc_geth.c:2676:64: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:2943:21: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:2943:21: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:2943:21: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:3009:46: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] __iomem * @@
drivers/net/ethernet/freescale/ucc_geth.c:3009:46: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3009:46: sparse: got restricted __be32 [noderef] __iomem *
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3137:17: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3158:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:3158:34: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3158:34: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:3159:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3159:34: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3159:34: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3161:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_ucce @@
drivers/net/ethernet/freescale/ucc_geth.c:3161:22: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3161:22: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_ucce
drivers/net/ethernet/freescale/ucc_geth.c:3167:38: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3167:38: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3167:38: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3413:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3413:17: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3413:17: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3413:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3413:17: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3413:17: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3436:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3436:25: sparse: expected unsigned int volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3436:25: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm
drivers/net/ethernet/freescale/ucc_geth.c:3436:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@ got restricted __be32 [noderef] [usertype] __iomem *p_uccm @@
drivers/net/ethernet/freescale/ucc_geth.c:3436:25: sparse: expected unsigned int const volatile [noderef] [usertype] __iomem *addr
drivers/net/ethernet/freescale/ucc_geth.c:3436:25: sparse: got restricted __be32 [noderef] [usertype] __iomem *p_uccm

vim +2167 drivers/net/ethernet/freescale/ucc_geth.c

728de4c927a354 drivers/net/ucc_geth.c Kim Phillips 2007-04-13 2137
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2138 static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth)
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2139 {
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2140 struct ucc_geth_info *ug_info;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2141 struct ucc_fast_info *uf_info;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2142 int length;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2143 u16 i, j;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2144 u8 __iomem *bd;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2145
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2146 ug_info = ugeth->ug_info;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2147 uf_info = &ug_info->uf_info;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2148
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2149 /* Allocate Tx bds */
53f49d86ea2108 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2150 for (j = 0; j < ucc_geth_tx_queues(ug_info); j++) {
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2151 u32 align = max(UCC_GETH_TX_BD_RING_ALIGNMENT,
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2152 UCC_GETH_TX_BD_RING_SIZE_MEMORY_ALIGNMENT);
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2153 u32 alloc;
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2154
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2155 length = ug_info->bdRingLenTx[j] * sizeof(struct qe_bd);
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2156 alloc = round_up(length, align);
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2157 alloc = roundup_pow_of_two(alloc);
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2158
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2159 ugeth->p_tx_bd_ring[j] = kmalloc(alloc, GFP_KERNEL);
64a99fe596f9cb drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2160
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2161 if (!ugeth->p_tx_bd_ring[j]) {
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2162 if (netif_msg_ifup(ugeth))
c84d8055e0c997 drivers/net/ethernet/freescale/ucc_geth.c Joe Perches 2013-04-13 2163 pr_err("Can not allocate memory for Tx bd rings\n");
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2164 return -ENOMEM;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2165 }
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2166 /* Zero unused end of bd ring, according to spec */
9b0dfef4755301 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 @2167 memset(ugeth->p_tx_bd_ring[j] + length, 0, alloc - length);
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2168 }
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2169
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2170 /* Init Tx bds */
53f49d86ea2108 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2171 for (j = 0; j < ucc_geth_tx_queues(ug_info); j++) {
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2172 /* Setup the skbuff rings */
6da2ec56059c3c drivers/net/ethernet/freescale/ucc_geth.c Kees Cook 2018-06-12 2173 ugeth->tx_skbuff[j] =
33deb13c87e561 drivers/net/ethernet/freescale/ucc_geth.c Rasmus Villemoes 2021-01-19 2174 kcalloc(ugeth->ug_info->bdRingLenTx[j],
6da2ec56059c3c drivers/net/ethernet/freescale/ucc_geth.c Kees Cook 2018-06-12 2175 sizeof(struct sk_buff *), GFP_KERNEL);
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2176
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2177 if (ugeth->tx_skbuff[j] == NULL) {
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2178 if (netif_msg_ifup(ugeth))
c84d8055e0c997 drivers/net/ethernet/freescale/ucc_geth.c Joe Perches 2013-04-13 2179 pr_err("Could not allocate tx_skbuff\n");
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2180 return -ENOMEM;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2181 }
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2182
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2183 ugeth->skb_curtx[j] = ugeth->skb_dirtytx[j] = 0;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2184 bd = ugeth->confBd[j] = ugeth->txBd[j] = ugeth->p_tx_bd_ring[j];
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2185 for (i = 0; i < ug_info->bdRingLenTx[j]; i++) {
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2186 /* clear bd buffer */
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2187 out_be32(&((struct qe_bd __iomem *)bd)->buf, 0);
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2188 /* set bd status and length */
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2189 out_be32((u32 __iomem *)bd, 0);
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2190 bd += sizeof(struct qe_bd);
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2191 }
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2192 bd -= sizeof(struct qe_bd);
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2193 /* set bd status and length */
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2194 out_be32((u32 __iomem *)bd, T_W); /* for last BD set Wrap bit */
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2195 }
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2196
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2197 return 0;
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2198 }
e19a82c18f0e63 drivers/net/ethernet/freescale/ucc_geth.c Paul Gortmaker 2012-02-27 2199

:::::: The code at line 2167 was first introduced by commit
:::::: 9b0dfef4755301d9f7fcef63e2f64d23649bebb4 ethernet: ucc_geth: simplify rx/tx allocations

:::::: TO: Rasmus Villemoes <rasmus.villemoes@xxxxxxxxx>
:::::: CC: Jakub Kicinski <kuba@xxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki