[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202007092001.hIoc1tHy%lkp@intel.com>
Date: Thu, 9 Jul 2020 20:51:14 +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/aeroflex/greth.c:362:9: 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: 0bddd227f3dc55975e2b8dfa7fc6f959b062a2c7
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 3 weeks ago
config: sparc-randconfig-s032-20200709 (attached as .config)
compiler: sparc-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-37-gc9676a3b-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sparc
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/aeroflex/greth.c:362:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:362:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:362:9: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/aeroflex/greth.c:362:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
>> drivers/net/ethernet/aeroflex/greth.c:362:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:362:9: sparse: got unsigned int *
>> drivers/net/ethernet/aeroflex/greth.c:406:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
>> drivers/net/ethernet/aeroflex/greth.c:406:24: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:406:24: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:406:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:409:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:409:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:409:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:409:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:409:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:409:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:752:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:752:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:752:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:752:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:752:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:752:17: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:869:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:869:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:869:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:869:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:869:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:869:17: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:627:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:627:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:627:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:627:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:627:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:627:17: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:692:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:692:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:692:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:692:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:692:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:692:17: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:594:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:594:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:594:18: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:594:18: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:600:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:600:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:600:16: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:600:16: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1029:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1030:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1066:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1066:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1066:15: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1066:15: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1074:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1075:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1077:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1083:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1091:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:328:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:328:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:328:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:328:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:328:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:328:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:329:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:329:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:329:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:329:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:329:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:329:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:991:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:991:24: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:991:24: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:991:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:994:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:994:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:994:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:994:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:994:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:994:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:999:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:999:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:999:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:999:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:999:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:999:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1003:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1003:21: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1003:21: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1003:21: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1004:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1056:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1057:9: sparse: got unsigned int *
>> drivers/net/ethernet/aeroflex/greth.c:1128:52: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected unsigned int [usertype] *bd @@ got unsigned int [noderef] [usertype] __iomem * @@
drivers/net/ethernet/aeroflex/greth.c:1128:52: sparse: expected unsigned int [usertype] *bd
>> drivers/net/ethernet/aeroflex/greth.c:1128:52: sparse: got unsigned int [noderef] [usertype] __iomem *
drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1168:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1173:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1173:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1173:15: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1173:15: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1174:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1174:25: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1174:25: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1174:25: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1189:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1211:32: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1211:32: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1211:32: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1211:32: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1222:25: sparse: got unsigned int *
>> drivers/net/ethernet/aeroflex/greth.c:1367:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct greth_regs *regs @@ got void [noderef] __iomem * @@
drivers/net/ethernet/aeroflex/greth.c:1367:21: sparse: expected struct greth_regs *regs
>> drivers/net/ethernet/aeroflex/greth.c:1367:21: sparse: got void [noderef] __iomem *
drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1388:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1392:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1392:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1392:16: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1392:16: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1402:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1402:27: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1402:27: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1402:27: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1405:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1405:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1405:15: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1405:15: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1416:17: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1478:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1479:9: sparse: got unsigned int *
drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:1483:9: sparse: got unsigned int *
>> drivers/net/ethernet/aeroflex/greth.c:1521:46: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *base @@ got struct greth_regs *regs @@
>> drivers/net/ethernet/aeroflex/greth.c:1521:46: sparse: expected void [noderef] __iomem *base
drivers/net/ethernet/aeroflex/greth.c:1521:46: sparse: got struct greth_regs *regs
drivers/net/ethernet/aeroflex/greth.c:1544:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *base @@ got struct greth_regs *regs @@
drivers/net/ethernet/aeroflex/greth.c:1544:47: sparse: expected void [noderef] __iomem *base
drivers/net/ethernet/aeroflex/greth.c:1544:47: sparse: got struct greth_regs *regs
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] *bd @@
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: got unsigned int [usertype] *bd
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] *bd @@
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: got unsigned int [usertype] *bd
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] *bd @@
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: got unsigned int [usertype] *bd
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] *bd @@
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: got unsigned int [usertype] *bd
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int [usertype] *bd @@
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: got unsigned int [usertype] *bd
drivers/net/ethernet/aeroflex/greth.c:162:16: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/aeroflex/greth.c:157:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:157:22: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:157:22: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/aeroflex/greth.c:157:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int [usertype] *bd @@
drivers/net/ethernet/aeroflex/greth.c:157:40: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/aeroflex/greth.c:157:40: sparse: got unsigned int [usertype] *bd
drivers/net/ethernet/aeroflex/greth.c:157:22: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/aeroflex/greth.c:157:22: sparse: expected unsigned int [usertype] value
drivers/net/ethernet/aeroflex/greth.c:157:22: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/aeroflex/greth.c:157:40: sparse: sparse: too many warnings
vim +362 drivers/net/ethernet/aeroflex/greth.c
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 337
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 338 static int greth_open(struct net_device *dev)
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 339 {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 340 struct greth_private *greth = netdev_priv(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 341 int err;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 342
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 343 err = greth_init_rings(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 344 if (err) {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 345 if (netif_msg_ifup(greth))
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 346 dev_err(&dev->dev, "Could not allocate memory for DMA rings\n");
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 347 return err;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 348 }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 349
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 350 err = request_irq(greth->irq, greth_interrupt, 0, "eth", (void *) dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 351 if (err) {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 352 if (netif_msg_ifup(greth))
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 353 dev_err(&dev->dev, "Could not allocate interrupt %d\n", dev->irq);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 354 greth_clean_rings(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 355 return err;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 356 }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 357
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 358 if (netif_msg_ifup(greth))
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 359 dev_dbg(&dev->dev, " starting queue\n");
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 360 netif_start_queue(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 361
bbe9e637330abe drivers/net/greth.c Daniel Hellstrom 2011-01-14 @362 GRETH_REGSAVE(greth->regs->status, 0xFF);
bbe9e637330abe drivers/net/greth.c Daniel Hellstrom 2011-01-14 363
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 364 napi_enable(&greth->napi);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 365
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 366 greth_enable_irqs(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 367 greth_enable_tx(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 368 greth_enable_rx(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 369 return 0;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 370
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 371 }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 372
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 373 static int greth_close(struct net_device *dev)
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 374 {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 375 struct greth_private *greth = netdev_priv(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 376
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 377 napi_disable(&greth->napi);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 378
bbe9e637330abe drivers/net/greth.c Daniel Hellstrom 2011-01-14 379 greth_disable_irqs(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 380 greth_disable_tx(greth);
bbe9e637330abe drivers/net/greth.c Daniel Hellstrom 2011-01-14 381 greth_disable_rx(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 382
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 383 netif_stop_queue(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 384
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 385 free_irq(greth->irq, (void *) dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 386
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 387 greth_clean_rings(greth);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 388
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 389 return 0;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 390 }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 391
41a655ba5654e4 drivers/net/greth.c kirjanov@...il.com 2010-02-24 392 static netdev_tx_t
41a655ba5654e4 drivers/net/greth.c kirjanov@...il.com 2010-02-24 393 greth_start_xmit(struct sk_buff *skb, struct net_device *dev)
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 394 {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 395 struct greth_private *greth = netdev_priv(dev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 396 struct greth_bd *bdp;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 397 int err = NETDEV_TX_OK;
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 398 u32 status, dma_addr, ctrl;
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 399 unsigned long flags;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 400
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 401 /* Clean TX Ring */
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 402 greth_clean_tx(greth->netdev);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 403
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 404 if (unlikely(greth->tx_free <= 0)) {
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 405 spin_lock_irqsave(&greth->devlock, flags);/*save from poll/irq*/
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 @406 ctrl = GRETH_REGLOAD(greth->regs->control);
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 407 /* Enable TX IRQ only if not already in poll() routine */
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 408 if (ctrl & GRETH_RXI)
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 409 GRETH_REGSAVE(greth->regs->control, ctrl | GRETH_TXI);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 410 netif_stop_queue(dev);
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 411 spin_unlock_irqrestore(&greth->devlock, flags);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 412 return NETDEV_TX_BUSY;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 413 }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 414
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 415 if (netif_msg_pktdata(greth))
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 416 greth_print_tx_packet(skb);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 417
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 418
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 419 if (unlikely(skb->len > MAX_FRAME_SIZE)) {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 420 dev->stats.tx_errors++;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 421 goto out;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 422 }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 423
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 424 bdp = greth->tx_bd_base + greth->tx_next;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 425 dma_addr = greth_read_bd(&bdp->addr);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 426
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 427 memcpy((unsigned char *) phys_to_virt(dma_addr), skb->data, skb->len);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 428
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 429 dma_sync_single_for_device(greth->dev, dma_addr, skb->len, DMA_TO_DEVICE);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 430
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 431 status = GRETH_BD_EN | GRETH_BD_IE | (skb->len & GRETH_BD_LEN);
6af29a963cecf4 drivers/net/greth.c Daniel Hellstrom 2011-09-08 432 greth->tx_bufs_length[greth->tx_next] = skb->len & GRETH_BD_LEN;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 433
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 434 /* Wrap around descriptor ring */
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 435 if (greth->tx_next == GRETH_TXBD_NUM_MASK) {
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 436 status |= GRETH_BD_WR;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 437 }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 438
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 439 greth->tx_next = NEXT_TX(greth->tx_next);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 440 greth->tx_free--;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 441
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 442 /* Write descriptor control word and enable transmission */
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 443 greth_write_bd(&bdp->stat, status);
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 444 spin_lock_irqsave(&greth->devlock, flags); /*save from poll/irq*/
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 445 greth_enable_tx(greth);
0f73f2c5a3ebb9 drivers/net/greth.c Daniel Hellstrom 2011-01-14 446 spin_unlock_irqrestore(&greth->devlock, flags);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 447
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 448 out:
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 449 dev_kfree_skb(skb);
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 450 return err;
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 451 }
d4c41139df6e74 drivers/net/greth.c Kristoffer Glembo 2010-02-15 452
:::::: The code at line 362 was first introduced by commit
:::::: bbe9e637330abe55442aebe799425e224086959f GRETH: fix opening/closing
:::::: TO: Daniel Hellstrom <daniel@...sler.com>
:::::: 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" (30028 bytes)
Powered by blists - more mailing lists