lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Thu, 25 Jun 2020 13:08:57 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: drivers/net/ethernet/ethoc.c:450:67: sparse: sparse: incorrect type
 in argument 2 (different address spaces)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3e08a95294a4fb3702bb3d35ed08028433c37fe6
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   7 days ago
config: powerpc64-randconfig-s031-20200624 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=powerpc64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

   drivers/net/ethernet/ethoc.c:313:13: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *vma @@     got void [noderef] __iomem *membase @@
   drivers/net/ethernet/ethoc.c:313:13: sparse:     expected void *vma
   drivers/net/ethernet/ethoc.c:313:13: sparse:     got void [noderef] __iomem *membase
>> drivers/net/ethernet/ethoc.c:450:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *s @@     got void *src @@
>> drivers/net/ethernet/ethoc.c:450:67: sparse:     expected void const volatile [noderef] __iomem *s
   drivers/net/ethernet/ethoc.c:450:67: sparse:     got void *src
>> drivers/net/ethernet/ethoc.c:908:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *[assigned] dest @@
>> drivers/net/ethernet/ethoc.c:908:21: sparse:     expected void volatile [noderef] __iomem *d
   drivers/net/ethernet/ethoc.c:908:21: sparse:     got void *[assigned] dest
   drivers/net/ethernet/ethoc.c:1108:31: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __iomem *membase @@     got void * @@
   drivers/net/ethernet/ethoc.c:1108:31: sparse:     expected void [noderef] __iomem *membase
   drivers/net/ethernet/ethoc.c:1108:31: sparse:     got void *
--
>> drivers/atm/horizon.c:1135:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void *[usertype] tx_addr @@     got void [noderef] __user *iov_base @@
   drivers/atm/horizon.c:1135:22: sparse:     expected void *[usertype] tx_addr
>> drivers/atm/horizon.c:1135:22: sparse:     got void [noderef] __user *iov_base
   drivers/atm/horizon.c:1173:49: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned int [usertype] data @@     got restricted __be32 [usertype] @@
   drivers/atm/horizon.c:1173:49: sparse:     expected unsigned int [usertype] data
   drivers/atm/horizon.c:1173:49: sparse:     got restricted __be32 [usertype]
   drivers/atm/horizon.c:1177:48: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned int [usertype] data @@     got restricted __be32 [usertype] @@
   drivers/atm/horizon.c:1177:48: sparse:     expected unsigned int [usertype] data
   drivers/atm/horizon.c:1177:48: sparse:     got restricted __be32 [usertype]
   drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
   drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
   drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
   drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
   drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
   drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
   drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
   drivers/atm/horizon.c:369:10: sparse: sparse: cast to restricted __le16
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short [usertype] val @@     got restricted __le16 [usertype] @@
   drivers/atm/horizon.c:365:9: sparse:     expected unsigned short [usertype] val
   drivers/atm/horizon.c:365:9: sparse:     got restricted __le16 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short [usertype] val @@     got restricted __le16 [usertype] @@
   drivers/atm/horizon.c:365:9: sparse:     expected unsigned short [usertype] val
   drivers/atm/horizon.c:365:9: sparse:     got restricted __le16 [usertype]
   drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short [usertype] val @@     got restricted __le16 [usertype] @@
   drivers/atm/horizon.c:365:9: sparse:     expected unsigned short [usertype] val
   drivers/atm/horizon.c:365:9: sparse:     got restricted __le16 [usertype]
   drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short [usertype] val @@     got restricted __le16 [usertype] @@
   drivers/atm/horizon.c:365:9: sparse:     expected unsigned short [usertype] val
   drivers/atm/horizon.c:365:9: sparse:     got restricted __le16 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:361:10: sparse: sparse: cast to restricted __le32
   drivers/atm/horizon.c:365:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short [usertype] val @@     got restricted __le16 [usertype] @@
   drivers/atm/horizon.c:365:9: sparse:     expected unsigned short [usertype] val
   drivers/atm/horizon.c:365:9: sparse:     got restricted __le16 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
   drivers/atm/horizon.c:357:9: sparse:     got restricted __le32 [usertype]
   drivers/atm/horizon.c:357:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] val @@     got restricted __le32 [usertype] @@
   drivers/atm/horizon.c:357:9: sparse:     expected unsigned int [usertype] val
--
   arch/powerpc/platforms/4xx/pci.c:115:54: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected restricted __be32 const [usertype] *cell @@     got unsigned int const [usertype] * @@
   arch/powerpc/platforms/4xx/pci.c:115:54: sparse:     expected restricted __be32 const [usertype] *cell
   arch/powerpc/platforms/4xx/pci.c:115:54: sparse:     got unsigned int const [usertype] *
   arch/powerpc/platforms/4xx/pci.c:116:74: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected restricted __be32 const [usertype] *in_addr @@     got unsigned int const [usertype] * @@
   arch/powerpc/platforms/4xx/pci.c:116:74: sparse:     expected restricted __be32 const [usertype] *in_addr
   arch/powerpc/platforms/4xx/pci.c:116:74: sparse:     got unsigned int const [usertype] *
   arch/powerpc/platforms/4xx/pci.c:117:52: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected restricted __be32 const [usertype] *cell @@     got unsigned int const [usertype] * @@
   arch/powerpc/platforms/4xx/pci.c:117:52: sparse:     expected restricted __be32 const [usertype] *cell
   arch/powerpc/platforms/4xx/pci.c:117:52: sparse:     got unsigned int const [usertype] *
>> arch/powerpc/platforms/4xx/pci.c:1630:30: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/powerpc/platforms/4xx/pci.c:1630:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned char const volatile [noderef] [usertype] __iomem *addr @@     got unsigned char [usertype] * @@
>> arch/powerpc/platforms/4xx/pci.c:1630:30: sparse:     expected unsigned char const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/pci.c:1630:30: sparse:     got unsigned char [usertype] *
   arch/powerpc/platforms/4xx/pci.c:1633:33: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/powerpc/platforms/4xx/pci.c:1633:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got unsigned short [usertype] * @@
>> arch/powerpc/platforms/4xx/pci.c:1633:33: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/pci.c:1633:33: sparse:     got unsigned short [usertype] *
   arch/powerpc/platforms/4xx/pci.c:1636:33: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/powerpc/platforms/4xx/pci.c:1636:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] * @@
>> arch/powerpc/platforms/4xx/pci.c:1636:33: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/pci.c:1636:33: sparse:     got unsigned int [usertype] *
   arch/powerpc/platforms/4xx/pci.c:1687:24: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/powerpc/platforms/4xx/pci.c:1687:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned char volatile [noderef] [usertype] __iomem *addr @@     got unsigned char [usertype] * @@
>> arch/powerpc/platforms/4xx/pci.c:1687:24: sparse:     expected unsigned char volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/pci.c:1687:24: sparse:     got unsigned char [usertype] *
   arch/powerpc/platforms/4xx/pci.c:1690:27: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/powerpc/platforms/4xx/pci.c:1690:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short [usertype] * @@
>> arch/powerpc/platforms/4xx/pci.c:1690:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/pci.c:1690:27: sparse:     got unsigned short [usertype] *
   arch/powerpc/platforms/4xx/pci.c:1693:27: sparse: sparse: cast removes address space '__iomem' of expression
>> arch/powerpc/platforms/4xx/pci.c:1693:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got unsigned int [usertype] * @@
>> arch/powerpc/platforms/4xx/pci.c:1693:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/pci.c:1693:27: sparse:     got unsigned int [usertype] *
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:148:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:143:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:148:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:143:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:143:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:148:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:148:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:148:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:148:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
--
>> arch/powerpc/platforms/4xx/gpio.c:63:28: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> arch/powerpc/platforms/4xx/gpio.c:63:28: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
>> arch/powerpc/platforms/4xx/gpio.c:63:28: sparse:     got restricted __be32 [noderef] __iomem *
>> arch/powerpc/platforms/4xx/gpio.c:103:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> arch/powerpc/platforms/4xx/gpio.c:103:9: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:103:9: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:103:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:103:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:103:9: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:106:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:106:9: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:106:9: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:106:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:106:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:106:9: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:110:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:110:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:110:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:110: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:110:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:110:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:111:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:111:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:111:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:111: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:111:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:111:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:113:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:113:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:113:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:113: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:113:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:113:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:114:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:114:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:114:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:114: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:114:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:114:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:136:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:136:9: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:136:9: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:136:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:136:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:136:9: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:139:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:139:9: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:139:9: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:139:9: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:139:9: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:139:9: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:143:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:143:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:143:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:143: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:143:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:143:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:144:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:144:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:144:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:144: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:144:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:144:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:146:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:146:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:146:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:146: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:146:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:146:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:147:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:147:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:147:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:147: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:147:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:147:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:73: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:75: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:73: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:73:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse:     got restricted __be32 [noderef] __iomem *
   arch/powerpc/platforms/4xx/gpio.c:75: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 * @@
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/4xx/gpio.c:75:17: sparse:     got restricted __be32 [noderef] __iomem *
--
>> drivers/video/fbdev/chipsfb.c:334:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void * @@     got char [noderef] __iomem *screen_base @@
   drivers/video/fbdev/chipsfb.c:334:17: sparse:     expected void *
   drivers/video/fbdev/chipsfb.c:334:17: sparse:     got char [noderef] __iomem *screen_base
   drivers/video/fbdev/chipsfb.c:334:15: sparse: sparse: memset with byte count of 1048576
--
>> drivers/net/wireless/intersil/prism54/isl_ioctl.c:2054:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __user *pointer @@     got char *[assigned] memptr @@
>> drivers/net/wireless/intersil/prism54/isl_ioctl.c:2054:27: sparse:     expected void [noderef] __user *pointer
   drivers/net/wireless/intersil/prism54/isl_ioctl.c:2054:27: sparse:     got char *[assigned] memptr
   drivers/net/wireless/intersil/prism54/isl_ioctl.c:2073:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected void [noderef] __user *pointer @@     got char *[assigned] memptr @@
   drivers/net/wireless/intersil/prism54/isl_ioctl.c:2073:27: sparse:     expected void [noderef] __user *pointer
   drivers/net/wireless/intersil/prism54/isl_ioctl.c:2073:27: sparse:     got char *[assigned] memptr
--
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t ( *poll )( ... ) @@     got unsigned int ( * )( ... ) @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse:     expected restricted __poll_t ( *poll )( ... )
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:138:17: sparse:     got unsigned int ( * )( ... )
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__pu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse:     expected unsigned int [noderef] __user *__pu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:257:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__gu_addr @@     got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse:     expected unsigned int [noderef] __user *__gu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:259:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__pu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse:     expected unsigned int [noderef] __user *__pu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:346:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__gu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse:     expected unsigned int [noderef] __user *__gu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:400:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__pu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse:     expected unsigned int [noderef] __user *__pu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:457:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__gu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse:     expected unsigned int [noderef] __user *__gu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:511:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__pu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse:     expected unsigned int [noderef] __user *__pu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:568:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__gu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse:     expected unsigned int [noderef] __user *__gu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:622:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__pu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse:     expected unsigned int [noderef] __user *__pu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:719:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected signed int [noderef] __user *__pu_addr @@     got signed int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse:     expected signed int [noderef] __user *__pu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse:     got signed int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:793:29: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__pu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse:     expected unsigned int [noderef] __user *__pu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:875:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__pu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse:     expected unsigned int [noderef] __user *__pu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:968:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1012:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1012:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1012:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1012:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__gu_addr @@     got unsigned int [usertype] * @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1012:21: sparse:     expected unsigned int [noderef] __user *__gu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c:1012:21: sparse:     got unsigned int [usertype] *
--
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:210:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:210:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:210:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:210:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:210:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:210:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:215:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:215:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:215:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:215:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:215:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:215:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:216:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:216:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:216:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:216:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:216:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:216:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:241:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:241:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:241:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:241:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:241:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:241:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:242:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:242:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:242:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:242:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:242:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:242:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:243:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:243:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:243:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:243:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:243:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:243:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:249:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:249:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:249:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:249:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:249:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:249:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:255:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:255:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:255:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:255:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:255:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:255:28: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:384:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *s @@     got void *[assigned] ptr @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:384:67: sparse:     expected void const volatile [noderef] __iomem *s
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:384:67: sparse:     got void *[assigned] ptr
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:409:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *[assigned] ptr @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:409:37: sparse:     expected void volatile [noderef] __iomem *d
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:409:37: sparse:     got void *[assigned] ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:418:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:418:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:418:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:418:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:418:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:418:42: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:419:62: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *cpu_addr @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:419:62: sparse:     expected void volatile [noderef] __iomem *d
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:419:62: sparse:     got void *cpu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:420:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:420:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:420:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:420:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:420:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:420:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:421:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:421:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:421:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:421:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:421:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:421:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:422:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:422:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:422:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:422:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:422:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:422:40: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:424:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *a @@     got void *[assigned] ptr @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:424:35: sparse:     expected void volatile [noderef] __iomem *a
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:424:35: sparse:     got void *[assigned] ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:683:35: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:683:35: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:683:35: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:683:35: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:683:35: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:683:35: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1151:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1151:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1151:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1152:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1152:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1152:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1153:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1153:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1153:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1154:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1154:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1154:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1155:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1155:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1155:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1156:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1156:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1156:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1157:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1157:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1157:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1158:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1158:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1158:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1159:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1159:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1159:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1160:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1160:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1160:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1161:17: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1161:17: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1161:17: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1163:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1163:24: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1163:24: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1183:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1183:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1183:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1184:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1184:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1184:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1185:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1185:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1185:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1186:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1186:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1186:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1188:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1188:24: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c:1188:24: sparse:     got restricted __le32 [usertype]
--
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:177:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:177:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:177:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:177:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:177:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:177:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:314:18: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:314:18: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:314:18: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:314:18: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:314:18: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:314:18: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:315:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *[addressable] cpu_addr @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:315:21: sparse:     expected void volatile [noderef] __iomem *d
   drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c:315:21: sparse:     got void *[addressable] cpu_addr
--
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:456:25: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:567:51: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *s @@     got void *ptr @@
>> drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:567:51: sparse:     expected void const volatile [noderef] __iomem *s
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:567:51: sparse:     got void *ptr
>> drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:589:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *ptr @@
>> drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:589:29: sparse:     expected void volatile [noderef] __iomem *d
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:589:29: sparse:     got void *ptr
   drivers/gpu/drm/amd/amdgpu/vce_v4_0.c:1044:27: sparse: sparse: symbol 'vce_v4_0_ip_funcs' was not declared. Should it be static?
--
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:131:32: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:131:32: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:131:32: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:131:32: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:131:32: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:131:32: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:139:21: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:143:26: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:143:26: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:143:26: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:143:26: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:143:26: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:143:26: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:144:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:144:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:144:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:144:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:144:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:144:30: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:146:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:146:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:146:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:146:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:146:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:146:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:24: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:24: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:24: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:24: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:24: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:147:24: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:153:29: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:153:29: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:153:29: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:153:29: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:153:29: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:153:29: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:154:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:155:34: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:28: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:162:28: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:260:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *s @@     got void *[assigned] ptr @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:260:59: sparse:     expected void const volatile [noderef] __iomem *s
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:260:59: sparse:     got void *[assigned] ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:271:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected void const volatile [noderef] __iomem *s @@     got void *[assigned] ptr @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:271:63: sparse:     expected void const volatile [noderef] __iomem *s
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:271:63: sparse:     got void *[assigned] ptr
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:292:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *[assigned] ptr @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:292:37: sparse:     expected void volatile [noderef] __iomem *d
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:292:37: sparse:     got void *[assigned] ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:301:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:301:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:301:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:301:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:301:42: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:301:42: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:302:62: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *cpu_addr @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:302:62: sparse:     expected void volatile [noderef] __iomem *d
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:302:62: sparse:     got void *cpu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:303:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:303:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:303:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:303:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:303:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:303:45: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:304:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:304:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:304:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:304:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:304:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:304:41: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:305:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:305:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:305:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:305:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:305:40: sparse: sparse: cast to restricted __le32
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:305:40: sparse: sparse: cast to restricted __le32
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:307:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *a @@     got void *[assigned] ptr @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:307:35: sparse:     expected void volatile [noderef] __iomem *a
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:307:35: sparse:     got void *[assigned] ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:317:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *[assigned] ptr @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:317:37: sparse:     expected void volatile [noderef] __iomem *d
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:317:37: sparse:     got void *[assigned] ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:319:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *a @@     got void *[assigned] ptr @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:319:35: sparse:     expected void volatile [noderef] __iomem *a
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:319:35: sparse:     got void *[assigned] ptr
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:503:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:503:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:503:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:504:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:504:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:504:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:505:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:505:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:505:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:506:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:506:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:506:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:507:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:507:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:507:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:508:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:508:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:508:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:509:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:509:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:509:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:510:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] @@     got restricted __le32 [usertype] @@
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:510:16: sparse:     expected unsigned int [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:510:16: sparse:     got restricted __le32 [usertype]
   drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c:511:16: sparse: sparse: too many warnings
--
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:65:25: sparse: sparse: cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:74:26: sparse: sparse: cast to restricted __be32
>> drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:408:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got void *kaddr @@
>> drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:408:44: sparse:     expected void volatile [noderef] __iomem *d
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:408:44: sparse:     got void *kaddr
--
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:819:42: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:1094:5: sparse: sparse: symbol 'amdgpu_ttm_gart_bind' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected unsigned int [noderef] __user *__gu_addr @@     got unsigned int [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse:     expected unsigned int [noderef] __user *__gu_addr
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse:     got unsigned int [usertype] *
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c:2353:21: sparse: sparse: cast removes address space '__user' of expression
--
   drivers/usb/host/ehci-q.c:1389:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __hc32 [usertype] old_current @@     got int @@
   drivers/usb/host/ehci-q.c:1389:27: sparse:     expected restricted __hc32 [usertype] old_current
   drivers/usb/host/ehci-q.c:1389:27: sparse:     got int
   drivers/usb/host/ehci-mem.c:188:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __hc32 [usertype] *periodic @@     got restricted __le32 [usertype] * @@
   drivers/usb/host/ehci-mem.c:188:24: sparse:     expected restricted __hc32 [usertype] *periodic
   drivers/usb/host/ehci-mem.c:188:24: sparse:     got restricted __le32 [usertype] *
   drivers/usb/host/ehci-hcd.c:566:27: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __hc32 [usertype] old_current @@     got int @@
   drivers/usb/host/ehci-hcd.c:566:27: sparse:     expected restricted __hc32 [usertype] old_current
   drivers/usb/host/ehci-hcd.c:566:27: sparse:     got int
>> drivers/usb/host/ehci-ppc-of.c:140:47: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected restricted __hc32 [usertype] *ohci_hcctrl_reg @@     got void [noderef] __iomem * @@
   drivers/usb/host/ehci-ppc-of.c:140:47: sparse:     expected restricted __hc32 [usertype] *ohci_hcctrl_reg
>> drivers/usb/host/ehci-ppc-of.c:140:47: sparse:     got void [noderef] __iomem *
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:144:1: sparse: sparse: dereference of noderef expression
   arch/powerpc/include/asm/io.h:149:1: sparse: sparse: too many warnings

vim +450 drivers/net/ethernet/ethoc.c

a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  415  
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  416  static int ethoc_rx(struct net_device *dev, int limit)
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  417  {
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  418  	struct ethoc *priv = netdev_priv(dev);
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  419  	int count;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  420  
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  421  	for (count = 0; count < limit; ++count) {
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  422  		unsigned int entry;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  423  		struct ethoc_bd bd;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  424  
6a632625c7da75 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  425  		entry = priv->num_tx + priv->cur_rx;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  426  		ethoc_read_bd(priv, entry, &bd);
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  427  		if (bd.stat & RX_BD_EMPTY) {
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  428  			ethoc_ack_irq(priv, INT_MASK_RX);
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  429  			/* If packet (interrupt) came in between checking
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  430  			 * BD_EMTPY and clearing the interrupt source, then we
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  431  			 * risk missing the packet as the RX interrupt won't
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  432  			 * trigger right away when we reenable it; hence, check
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  433  			 * BD_EMTPY here again to make sure there isn't such a
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  434  			 * packet waiting for us...
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  435  			 */
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  436  			ethoc_read_bd(priv, entry, &bd);
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  437  			if (bd.stat & RX_BD_EMPTY)
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  438  				break;
20f70ddd6558a3 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  439  		}
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  440  
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  441  		if (ethoc_update_rx_stats(priv, &bd) == 0) {
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  442  			int size = bd.stat >> 16;
89d71a66c40d62 drivers/net/ethoc.c          Eric Dumazet    2009-10-13  443  			struct sk_buff *skb;
050f91dcd9a45a drivers/net/ethoc.c          Thomas Chou     2009-10-04  444  
050f91dcd9a45a drivers/net/ethoc.c          Thomas Chou     2009-10-04  445  			size -= 4; /* strip the CRC */
89d71a66c40d62 drivers/net/ethoc.c          Eric Dumazet    2009-10-13  446  			skb = netdev_alloc_skb_ip_align(dev, size);
050f91dcd9a45a drivers/net/ethoc.c          Thomas Chou     2009-10-04  447  
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  448  			if (likely(skb)) {
f8555ad0cfb0ba drivers/net/ethoc.c          Jonas Bonn      2010-06-11  449  				void *src = priv->vma[entry];
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27 @450  				memcpy_fromio(skb_put(skb, size), src, size);
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  451  				skb->protocol = eth_type_trans(skb, dev);
57616ee4405b82 drivers/net/ethoc.c          Kulikov Vasiliy 2010-07-05  452  				dev->stats.rx_packets++;
57616ee4405b82 drivers/net/ethoc.c          Kulikov Vasiliy 2010-07-05  453  				dev->stats.rx_bytes += size;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  454  				netif_receive_skb(skb);
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  455  			} else {
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  456  				if (net_ratelimit())
72aa8e1b29ecae drivers/net/ethernet/ethoc.c Barry Grussling 2013-01-27  457  					dev_warn(&dev->dev,
72aa8e1b29ecae drivers/net/ethernet/ethoc.c Barry Grussling 2013-01-27  458  					    "low on memory - packet dropped\n");
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  459  
57616ee4405b82 drivers/net/ethoc.c          Kulikov Vasiliy 2010-07-05  460  				dev->stats.rx_dropped++;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  461  				break;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  462  			}
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  463  		}
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  464  
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  465  		/* clear the buffer descriptor so it can be reused */
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  466  		bd.stat &= ~RX_BD_STATS;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  467  		bd.stat |=  RX_BD_EMPTY;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  468  		ethoc_write_bd(priv, entry, &bd);
6a632625c7da75 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  469  		if (++priv->cur_rx == priv->num_rx)
6a632625c7da75 drivers/net/ethoc.c          Jonas Bonn      2010-11-25  470  			priv->cur_rx = 0;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  471  	}
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  472  
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  473  	return count;
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  474  }
a1702857724fb3 drivers/net/ethoc.c          Thierry Reding  2009-03-27  475  

:::::: The code at line 450 was first introduced by commit
:::::: a1702857724fb39cb68ce581490010df99168fd0 net: Add support for the OpenCores 10/100 Mbps Ethernet MAC.

:::::: TO: Thierry Reding <thierry.reding@...onic-design.de>
:::::: CC: David S. Miller <davem@...emloft.net>

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

Download attachment ".config.gz" of type "application/gzip" (35164 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ