aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r--drivers/net/ethernet/3com/3c574_cs.c1
-rw-r--r--drivers/net/ethernet/3com/3c589_cs.c1
-rw-r--r--drivers/net/ethernet/8390/3c503.c1
-rw-r--r--drivers/net/ethernet/8390/ac3200.c1
-rw-r--r--drivers/net/ethernet/8390/apne.c1
-rw-r--r--drivers/net/ethernet/8390/ax88796.c1
-rw-r--r--drivers/net/ethernet/8390/axnet_cs.c1
-rw-r--r--drivers/net/ethernet/8390/e2100.c1
-rw-r--r--drivers/net/ethernet/8390/es3210.c1
-rw-r--r--drivers/net/ethernet/8390/etherh.c2
-rw-r--r--drivers/net/ethernet/8390/hp-plus.c1
-rw-r--r--drivers/net/ethernet/8390/hp.c1
-rw-r--r--drivers/net/ethernet/8390/lib8390.c1
-rw-r--r--drivers/net/ethernet/8390/lne390.c1
-rw-r--r--drivers/net/ethernet/8390/mac8390.c1
-rw-r--r--drivers/net/ethernet/8390/ne-h8300.c1
-rw-r--r--drivers/net/ethernet/8390/ne.c1
-rw-r--r--drivers/net/ethernet/8390/ne2.c1
-rw-r--r--drivers/net/ethernet/8390/ne2k-pci.c1
-rw-r--r--drivers/net/ethernet/8390/ne3210.c1
-rw-r--r--drivers/net/ethernet/8390/pcnet_cs.c1
-rw-r--r--drivers/net/ethernet/8390/smc-mca.c1
-rw-r--r--drivers/net/ethernet/8390/smc-ultra.c1
-rw-r--r--drivers/net/ethernet/8390/smc-ultra32.c1
-rw-r--r--drivers/net/ethernet/8390/stnic.c1
-rw-r--r--drivers/net/ethernet/8390/wd.c1
-rw-r--r--drivers/net/ethernet/8390/zorro8390.c1
-rw-r--r--drivers/net/ethernet/alteon/acenic.c1
-rw-r--r--drivers/net/ethernet/amd/7990.c1
-rw-r--r--drivers/net/ethernet/amd/am79c961a.c1
-rw-r--r--drivers/net/ethernet/amd/amd8111e.c1
-rw-r--r--drivers/net/ethernet/amd/declance.c1
-rw-r--r--drivers/net/ethernet/amd/hplance.c1
-rw-r--r--drivers/net/ethernet/amd/mvme147.c1
-rw-r--r--drivers/net/ethernet/amd/nmclan_cs.c1
-rw-r--r--drivers/net/ethernet/amd/sunlance.c1
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c1
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h110
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c147
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h8
-rw-r--r--drivers/net/ethernet/broadcom/tg3.c5
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c9
-rw-r--r--drivers/net/ethernet/cirrus/cs89x0.c1
-rw-r--r--drivers/net/ethernet/cirrus/mac89x0.c1
-rw-r--r--drivers/net/ethernet/dlink/de600.c1
-rw-r--r--drivers/net/ethernet/dlink/de620.c1
-rw-r--r--drivers/net/ethernet/freescale/ucc_geth.c6
-rw-r--r--drivers/net/ethernet/fujitsu/at1700.c1
-rw-r--r--drivers/net/ethernet/fujitsu/eth16i.c1
-rw-r--r--drivers/net/ethernet/fujitsu/fmvj18x_cs.c1
-rw-r--r--drivers/net/ethernet/i825xx/3c507.c1
-rw-r--r--drivers/net/ethernet/i825xx/3c527.c1
-rw-r--r--drivers/net/ethernet/i825xx/eepro.c1
-rw-r--r--drivers/net/ethernet/i825xx/eexpress.c1
-rw-r--r--drivers/net/ethernet/i825xx/ether1.c1
-rw-r--r--drivers/net/ethernet/i825xx/znet.c1
-rw-r--r--drivers/net/ethernet/ibm/ibmveth.c7
-rw-r--r--drivers/net/ethernet/intel/e1000e/e1000.h6
-rw-r--r--drivers/net/ethernet/intel/e1000e/netdev.c26
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c164
-rw-r--r--drivers/net/ethernet/korina.c1
-rw-r--r--drivers/net/ethernet/marvell/mv643xx_eth.c1
-rw-r--r--drivers/net/ethernet/marvell/pxa168_eth.c1
-rw-r--r--drivers/net/ethernet/marvell/sky2.c18
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/mlx4_en.h5
-rw-r--r--drivers/net/ethernet/micrel/ks8842.c4
-rw-r--r--drivers/net/ethernet/natsemi/jazzsonic.c1
-rw-r--r--drivers/net/ethernet/natsemi/macsonic.c1
-rw-r--r--drivers/net/ethernet/natsemi/ns83820.c1
-rw-r--r--drivers/net/ethernet/neterion/s2io.c1
-rw-r--r--drivers/net/ethernet/nvidia/forcedeth.c1
-rw-r--r--drivers/net/ethernet/realtek/atp.c1
-rw-r--r--drivers/net/ethernet/realtek/r8169.c4
-rw-r--r--drivers/net/ethernet/renesas/sh_eth.c2
-rw-r--r--drivers/net/ethernet/renesas/sh_eth.h4
-rw-r--r--drivers/net/ethernet/seeq/ether3.c1
-rw-r--r--drivers/net/ethernet/seeq/seeq8005.c1
-rw-r--r--drivers/net/ethernet/sfc/mtd.c10
-rw-r--r--drivers/net/ethernet/smsc/smc91c92_cs.c1
-rw-r--r--drivers/net/ethernet/smsc/smc91x.c2
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/stmmac_main.c6
-rw-r--r--drivers/net/ethernet/sun/cassini.c1
-rw-r--r--drivers/net/ethernet/sun/sunbmac.c1
-rw-r--r--drivers/net/ethernet/sun/sungem.c1
-rw-r--r--drivers/net/ethernet/sun/sunhme.c1
-rw-r--r--drivers/net/ethernet/sun/sunqe.c1
-rw-r--r--drivers/net/ethernet/sun/sunvnet.c5
-rw-r--r--drivers/net/ethernet/tundra/tsi108_eth.c1
-rw-r--r--drivers/net/ethernet/via/via-rhine.c12
-rw-r--r--drivers/net/ethernet/xircom/xirc2ps_cs.c1
90 files changed, 342 insertions, 288 deletions
diff --git a/drivers/net/ethernet/3com/3c574_cs.c b/drivers/net/ethernet/3com/3c574_cs.c
index e61b2f82ba3a..66df93638085 100644
--- a/drivers/net/ethernet/3com/3c574_cs.c
+++ b/drivers/net/ethernet/3com/3c574_cs.c
@@ -95,7 +95,6 @@ earlier 3Com products.
95 95
96#include <asm/uaccess.h> 96#include <asm/uaccess.h>
97#include <asm/io.h> 97#include <asm/io.h>
98#include <asm/system.h>
99 98
100/*====================================================================*/ 99/*====================================================================*/
101 100
diff --git a/drivers/net/ethernet/3com/3c589_cs.c b/drivers/net/ethernet/3com/3c589_cs.c
index b23253b9f742..a556c01e011b 100644
--- a/drivers/net/ethernet/3com/3c589_cs.c
+++ b/drivers/net/ethernet/3com/3c589_cs.c
@@ -50,7 +50,6 @@
50 50
51#include <asm/uaccess.h> 51#include <asm/uaccess.h>
52#include <asm/io.h> 52#include <asm/io.h>
53#include <asm/system.h>
54 53
55/* To minimize the size of the driver source I only define operating 54/* To minimize the size of the driver source I only define operating
56 constants if they are used several times. You'll need the manual 55 constants if they are used several times. You'll need the manual
diff --git a/drivers/net/ethernet/8390/3c503.c b/drivers/net/ethernet/8390/3c503.c
index fbab1367505f..49d76bd0dc86 100644
--- a/drivers/net/ethernet/8390/3c503.c
+++ b/drivers/net/ethernet/8390/3c503.c
@@ -54,7 +54,6 @@ static const char version[] =
54 54
55#include <asm/uaccess.h> 55#include <asm/uaccess.h>
56#include <asm/io.h> 56#include <asm/io.h>
57#include <asm/system.h>
58#include <asm/byteorder.h> 57#include <asm/byteorder.h>
59 58
60#include "8390.h" 59#include "8390.h"
diff --git a/drivers/net/ethernet/8390/ac3200.c b/drivers/net/ethernet/8390/ac3200.c
index 5337dd0a59b0..ccf07942ff6e 100644
--- a/drivers/net/ethernet/8390/ac3200.c
+++ b/drivers/net/ethernet/8390/ac3200.c
@@ -34,7 +34,6 @@ static const char version[] =
34#include <linux/init.h> 34#include <linux/init.h>
35#include <linux/interrupt.h> 35#include <linux/interrupt.h>
36 36
37#include <asm/system.h>
38#include <asm/io.h> 37#include <asm/io.h>
39#include <asm/irq.h> 38#include <asm/irq.h>
40 39
diff --git a/drivers/net/ethernet/8390/apne.c b/drivers/net/ethernet/8390/apne.c
index 3ad5d2f9a49c..923959275a82 100644
--- a/drivers/net/ethernet/8390/apne.c
+++ b/drivers/net/ethernet/8390/apne.c
@@ -39,7 +39,6 @@
39#include <linux/interrupt.h> 39#include <linux/interrupt.h>
40#include <linux/jiffies.h> 40#include <linux/jiffies.h>
41 41
42#include <asm/system.h>
43#include <asm/io.h> 42#include <asm/io.h>
44#include <asm/setup.h> 43#include <asm/setup.h>
45#include <asm/amigaints.h> 44#include <asm/amigaints.h>
diff --git a/drivers/net/ethernet/8390/ax88796.c b/drivers/net/ethernet/8390/ax88796.c
index 211efbf82b56..203ff9dccadb 100644
--- a/drivers/net/ethernet/8390/ax88796.c
+++ b/drivers/net/ethernet/8390/ax88796.c
@@ -31,7 +31,6 @@
31 31
32#include <net/ax88796.h> 32#include <net/ax88796.h>
33 33
34#include <asm/system.h>
35 34
36/* Rename the lib8390.c functions to show that they are in this driver */ 35/* Rename the lib8390.c functions to show that they are in this driver */
37#define __ei_open ax_ei_open 36#define __ei_open ax_ei_open
diff --git a/drivers/net/ethernet/8390/axnet_cs.c b/drivers/net/ethernet/8390/axnet_cs.c
index c5bd8eb7a9f5..e1b3941bd149 100644
--- a/drivers/net/ethernet/8390/axnet_cs.c
+++ b/drivers/net/ethernet/8390/axnet_cs.c
@@ -46,7 +46,6 @@
46#include <pcmcia/cisreg.h> 46#include <pcmcia/cisreg.h>
47 47
48#include <asm/io.h> 48#include <asm/io.h>
49#include <asm/system.h>
50#include <asm/byteorder.h> 49#include <asm/byteorder.h>
51#include <asm/uaccess.h> 50#include <asm/uaccess.h>
52 51
diff --git a/drivers/net/ethernet/8390/e2100.c b/drivers/net/ethernet/8390/e2100.c
index d16dc53c1813..ed55ce85ebbf 100644
--- a/drivers/net/ethernet/8390/e2100.c
+++ b/drivers/net/ethernet/8390/e2100.c
@@ -48,7 +48,6 @@ static const char version[] =
48#include <linux/delay.h> 48#include <linux/delay.h>
49 49
50#include <asm/io.h> 50#include <asm/io.h>
51#include <asm/system.h>
52 51
53#include "8390.h" 52#include "8390.h"
54 53
diff --git a/drivers/net/ethernet/8390/es3210.c b/drivers/net/ethernet/8390/es3210.c
index 6428f9e7a554..ba1b5c95531f 100644
--- a/drivers/net/ethernet/8390/es3210.c
+++ b/drivers/net/ethernet/8390/es3210.c
@@ -59,7 +59,6 @@ static const char version[] =
59#include <linux/etherdevice.h> 59#include <linux/etherdevice.h>
60 60
61#include <asm/io.h> 61#include <asm/io.h>
62#include <asm/system.h>
63 62
64#include "8390.h" 63#include "8390.h"
65 64
diff --git a/drivers/net/ethernet/8390/etherh.c b/drivers/net/ethernet/8390/etherh.c
index 89cba45c35ca..8322c54972f3 100644
--- a/drivers/net/ethernet/8390/etherh.c
+++ b/drivers/net/ethernet/8390/etherh.c
@@ -45,9 +45,9 @@
45#include <linux/bitops.h> 45#include <linux/bitops.h>
46#include <linux/jiffies.h> 46#include <linux/jiffies.h>
47 47
48#include <asm/system.h>
49#include <asm/ecard.h> 48#include <asm/ecard.h>
50#include <asm/io.h> 49#include <asm/io.h>
50#include <asm/system_info.h>
51 51
52#define EI_SHIFT(x) (ei_local->reg_offset[x]) 52#define EI_SHIFT(x) (ei_local->reg_offset[x])
53 53
diff --git a/drivers/net/ethernet/8390/hp-plus.c b/drivers/net/ethernet/8390/hp-plus.c
index d42938b6b596..52f70f999c00 100644
--- a/drivers/net/ethernet/8390/hp-plus.c
+++ b/drivers/net/ethernet/8390/hp-plus.c
@@ -33,7 +33,6 @@ static const char version[] =
33#include <linux/interrupt.h> 33#include <linux/interrupt.h>
34#include <linux/delay.h> 34#include <linux/delay.h>
35 35
36#include <asm/system.h>
37#include <asm/io.h> 36#include <asm/io.h>
38 37
39#include "8390.h" 38#include "8390.h"
diff --git a/drivers/net/ethernet/8390/hp.c b/drivers/net/ethernet/8390/hp.c
index 113f1e075a26..37fa89aa4578 100644
--- a/drivers/net/ethernet/8390/hp.c
+++ b/drivers/net/ethernet/8390/hp.c
@@ -33,7 +33,6 @@ static const char version[] =
33#include <linux/interrupt.h> 33#include <linux/interrupt.h>
34#include <linux/delay.h> 34#include <linux/delay.h>
35 35
36#include <asm/system.h>
37#include <asm/io.h> 36#include <asm/io.h>
38 37
39#include "8390.h" 38#include "8390.h"
diff --git a/drivers/net/ethernet/8390/lib8390.c b/drivers/net/ethernet/8390/lib8390.c
index e77f624e8194..b329f5c0d62b 100644
--- a/drivers/net/ethernet/8390/lib8390.c
+++ b/drivers/net/ethernet/8390/lib8390.c
@@ -57,7 +57,6 @@
57#include <linux/types.h> 57#include <linux/types.h>
58#include <linux/string.h> 58#include <linux/string.h>
59#include <linux/bitops.h> 59#include <linux/bitops.h>
60#include <asm/system.h>
61#include <linux/uaccess.h> 60#include <linux/uaccess.h>
62#include <linux/io.h> 61#include <linux/io.h>
63#include <asm/irq.h> 62#include <asm/irq.h>
diff --git a/drivers/net/ethernet/8390/lne390.c b/drivers/net/ethernet/8390/lne390.c
index 69490ae018ea..479409bf2e3c 100644
--- a/drivers/net/ethernet/8390/lne390.c
+++ b/drivers/net/ethernet/8390/lne390.c
@@ -46,7 +46,6 @@ static const char *version =
46#include <linux/etherdevice.h> 46#include <linux/etherdevice.h>
47 47
48#include <asm/io.h> 48#include <asm/io.h>
49#include <asm/system.h>
50 49
51#include "8390.h" 50#include "8390.h"
52 51
diff --git a/drivers/net/ethernet/8390/mac8390.c b/drivers/net/ethernet/8390/mac8390.c
index af5d9822cad9..88ccc8b14f0a 100644
--- a/drivers/net/ethernet/8390/mac8390.c
+++ b/drivers/net/ethernet/8390/mac8390.c
@@ -37,7 +37,6 @@
37#include <linux/bitops.h> 37#include <linux/bitops.h>
38#include <linux/io.h> 38#include <linux/io.h>
39 39
40#include <asm/system.h>
41#include <asm/dma.h> 40#include <asm/dma.h>
42#include <asm/hwtest.h> 41#include <asm/hwtest.h>
43#include <asm/macints.h> 42#include <asm/macints.h>
diff --git a/drivers/net/ethernet/8390/ne-h8300.c b/drivers/net/ethernet/8390/ne-h8300.c
index 9b9c77d5a65c..7fc28f2d28a6 100644
--- a/drivers/net/ethernet/8390/ne-h8300.c
+++ b/drivers/net/ethernet/8390/ne-h8300.c
@@ -29,7 +29,6 @@ static const char version1[] =
29#include <linux/etherdevice.h> 29#include <linux/etherdevice.h>
30#include <linux/jiffies.h> 30#include <linux/jiffies.h>
31 31
32#include <asm/system.h>
33#include <asm/io.h> 32#include <asm/io.h>
34#include <asm/irq.h> 33#include <asm/irq.h>
35 34
diff --git a/drivers/net/ethernet/8390/ne.c b/drivers/net/ethernet/8390/ne.c
index f92ea2a65a57..d04911d33b64 100644
--- a/drivers/net/ethernet/8390/ne.c
+++ b/drivers/net/ethernet/8390/ne.c
@@ -53,7 +53,6 @@ static const char version2[] =
53#include <linux/jiffies.h> 53#include <linux/jiffies.h>
54#include <linux/platform_device.h> 54#include <linux/platform_device.h>
55 55
56#include <asm/system.h>
57#include <asm/io.h> 56#include <asm/io.h>
58 57
59#include "8390.h" 58#include "8390.h"
diff --git a/drivers/net/ethernet/8390/ne2.c b/drivers/net/ethernet/8390/ne2.c
index 922b32036c63..ef85839f43d8 100644
--- a/drivers/net/ethernet/8390/ne2.c
+++ b/drivers/net/ethernet/8390/ne2.c
@@ -76,7 +76,6 @@ static const char *version = "ne2.c:v0.91 Nov 16 1998 Wim Dumon <wimpie@kotnet.o
76#include <linux/bitops.h> 76#include <linux/bitops.h>
77#include <linux/jiffies.h> 77#include <linux/jiffies.h>
78 78
79#include <asm/system.h>
80#include <asm/io.h> 79#include <asm/io.h>
81#include <asm/dma.h> 80#include <asm/dma.h>
82 81
diff --git a/drivers/net/ethernet/8390/ne2k-pci.c b/drivers/net/ethernet/8390/ne2k-pci.c
index 3fab04a0034a..5e8845febfb8 100644
--- a/drivers/net/ethernet/8390/ne2k-pci.c
+++ b/drivers/net/ethernet/8390/ne2k-pci.c
@@ -54,7 +54,6 @@ static int options[MAX_UNITS];
54#include <linux/netdevice.h> 54#include <linux/netdevice.h>
55#include <linux/etherdevice.h> 55#include <linux/etherdevice.h>
56 56
57#include <asm/system.h>
58#include <asm/io.h> 57#include <asm/io.h>
59#include <asm/irq.h> 58#include <asm/irq.h>
60#include <asm/uaccess.h> 59#include <asm/uaccess.h>
diff --git a/drivers/net/ethernet/8390/ne3210.c b/drivers/net/ethernet/8390/ne3210.c
index 2a3e8057feae..a2f8b2b8e27c 100644
--- a/drivers/net/ethernet/8390/ne3210.c
+++ b/drivers/net/ethernet/8390/ne3210.c
@@ -39,7 +39,6 @@
39#include <linux/mm.h> 39#include <linux/mm.h>
40 40
41#include <asm/io.h> 41#include <asm/io.h>
42#include <asm/system.h>
43 42
44#include "8390.h" 43#include "8390.h"
45 44
diff --git a/drivers/net/ethernet/8390/pcnet_cs.c b/drivers/net/ethernet/8390/pcnet_cs.c
index f2a4e5de18c4..de1af0bfed4c 100644
--- a/drivers/net/ethernet/8390/pcnet_cs.c
+++ b/drivers/net/ethernet/8390/pcnet_cs.c
@@ -49,7 +49,6 @@
49#include <pcmcia/cisreg.h> 49#include <pcmcia/cisreg.h>
50 50
51#include <asm/io.h> 51#include <asm/io.h>
52#include <asm/system.h>
53#include <asm/byteorder.h> 52#include <asm/byteorder.h>
54#include <asm/uaccess.h> 53#include <asm/uaccess.h>
55 54
diff --git a/drivers/net/ethernet/8390/smc-mca.c b/drivers/net/ethernet/8390/smc-mca.c
index 77efec44fea0..7a68590f2804 100644
--- a/drivers/net/ethernet/8390/smc-mca.c
+++ b/drivers/net/ethernet/8390/smc-mca.c
@@ -47,7 +47,6 @@
47#include <linux/etherdevice.h> 47#include <linux/etherdevice.h>
48 48
49#include <asm/io.h> 49#include <asm/io.h>
50#include <asm/system.h>
51 50
52#include "8390.h" 51#include "8390.h"
53 52
diff --git a/drivers/net/ethernet/8390/smc-ultra.c b/drivers/net/ethernet/8390/smc-ultra.c
index 1cc306a83ff7..b0fbce39661a 100644
--- a/drivers/net/ethernet/8390/smc-ultra.c
+++ b/drivers/net/ethernet/8390/smc-ultra.c
@@ -69,7 +69,6 @@ static const char version[] =
69 69
70#include <asm/io.h> 70#include <asm/io.h>
71#include <asm/irq.h> 71#include <asm/irq.h>
72#include <asm/system.h>
73 72
74#include "8390.h" 73#include "8390.h"
75 74
diff --git a/drivers/net/ethernet/8390/smc-ultra32.c b/drivers/net/ethernet/8390/smc-ultra32.c
index bb87053eb3da..923e42aedcfd 100644
--- a/drivers/net/ethernet/8390/smc-ultra32.c
+++ b/drivers/net/ethernet/8390/smc-ultra32.c
@@ -57,7 +57,6 @@ static const char *version = "smc-ultra32.c: 06/97 v1.00\n";
57#include <linux/etherdevice.h> 57#include <linux/etherdevice.h>
58 58
59#include <asm/io.h> 59#include <asm/io.h>
60#include <asm/system.h>
61 60
62#include "8390.h" 61#include "8390.h"
63 62
diff --git a/drivers/net/ethernet/8390/stnic.c b/drivers/net/ethernet/8390/stnic.c
index 3b903759980a..8df4c4157230 100644
--- a/drivers/net/ethernet/8390/stnic.c
+++ b/drivers/net/ethernet/8390/stnic.c
@@ -17,7 +17,6 @@
17#include <linux/init.h> 17#include <linux/init.h>
18#include <linux/delay.h> 18#include <linux/delay.h>
19 19
20#include <asm/system.h>
21#include <asm/io.h> 20#include <asm/io.h>
22#include <mach-se/mach/se.h> 21#include <mach-se/mach/se.h>
23#include <asm/machvec.h> 22#include <asm/machvec.h>
diff --git a/drivers/net/ethernet/8390/wd.c b/drivers/net/ethernet/8390/wd.c
index c175fadb597b..03eb3eed49fa 100644
--- a/drivers/net/ethernet/8390/wd.c
+++ b/drivers/net/ethernet/8390/wd.c
@@ -39,7 +39,6 @@ static const char version[] =
39#include <linux/etherdevice.h> 39#include <linux/etherdevice.h>
40 40
41#include <asm/io.h> 41#include <asm/io.h>
42#include <asm/system.h>
43 42
44#include "8390.h" 43#include "8390.h"
45 44
diff --git a/drivers/net/ethernet/8390/zorro8390.c b/drivers/net/ethernet/8390/zorro8390.c
index bcd27323b203..7818e6397e91 100644
--- a/drivers/net/ethernet/8390/zorro8390.c
+++ b/drivers/net/ethernet/8390/zorro8390.c
@@ -31,7 +31,6 @@
31#include <linux/zorro.h> 31#include <linux/zorro.h>
32#include <linux/jiffies.h> 32#include <linux/jiffies.h>
33 33
34#include <asm/system.h>
35#include <asm/irq.h> 34#include <asm/irq.h>
36#include <asm/amigaints.h> 35#include <asm/amigaints.h>
37#include <asm/amigahw.h> 36#include <asm/amigahw.h>
diff --git a/drivers/net/ethernet/alteon/acenic.c b/drivers/net/ethernet/alteon/acenic.c
index 6c3b1c0adaa0..7219123fa0a4 100644
--- a/drivers/net/ethernet/alteon/acenic.c
+++ b/drivers/net/ethernet/alteon/acenic.c
@@ -78,7 +78,6 @@
78#include <net/sock.h> 78#include <net/sock.h>
79#include <net/ip.h> 79#include <net/ip.h>
80 80
81#include <asm/system.h>
82#include <asm/io.h> 81#include <asm/io.h>
83#include <asm/irq.h> 82#include <asm/irq.h>
84#include <asm/byteorder.h> 83#include <asm/byteorder.h>
diff --git a/drivers/net/ethernet/amd/7990.c b/drivers/net/ethernet/amd/7990.c
index 1b046f58d58f..6e722dc37db7 100644
--- a/drivers/net/ethernet/amd/7990.c
+++ b/drivers/net/ethernet/amd/7990.c
@@ -33,7 +33,6 @@
33#include <linux/socket.h> 33#include <linux/socket.h>
34#include <linux/bitops.h> 34#include <linux/bitops.h>
35 35
36#include <asm/system.h>
37#include <asm/io.h> 36#include <asm/io.h>
38#include <asm/dma.h> 37#include <asm/dma.h>
39#include <asm/pgtable.h> 38#include <asm/pgtable.h>
diff --git a/drivers/net/ethernet/amd/am79c961a.c b/drivers/net/ethernet/amd/am79c961a.c
index cc7b9e46780c..e10ffad525a7 100644
--- a/drivers/net/ethernet/amd/am79c961a.c
+++ b/drivers/net/ethernet/amd/am79c961a.c
@@ -30,7 +30,6 @@
30#include <linux/io.h> 30#include <linux/io.h>
31 31
32#include <mach/hardware.h> 32#include <mach/hardware.h>
33#include <asm/system.h>
34 33
35#define TX_BUFFERS 15 34#define TX_BUFFERS 15
36#define RX_BUFFERS 25 35#define RX_BUFFERS 25
diff --git a/drivers/net/ethernet/amd/amd8111e.c b/drivers/net/ethernet/amd/amd8111e.c
index 9f62504d0086..64d0d9c1afa2 100644
--- a/drivers/net/ethernet/amd/amd8111e.c
+++ b/drivers/net/ethernet/amd/amd8111e.c
@@ -88,7 +88,6 @@ Revision History:
88#include <linux/crc32.h> 88#include <linux/crc32.h>
89#include <linux/dma-mapping.h> 89#include <linux/dma-mapping.h>
90 90
91#include <asm/system.h>
92#include <asm/io.h> 91#include <asm/io.h>
93#include <asm/byteorder.h> 92#include <asm/byteorder.h>
94#include <asm/uaccess.h> 93#include <asm/uaccess.h>
diff --git a/drivers/net/ethernet/amd/declance.c b/drivers/net/ethernet/amd/declance.c
index 7dc508e5c72e..75299f500ee5 100644
--- a/drivers/net/ethernet/amd/declance.c
+++ b/drivers/net/ethernet/amd/declance.c
@@ -64,7 +64,6 @@
64#include <linux/types.h> 64#include <linux/types.h>
65 65
66#include <asm/addrspace.h> 66#include <asm/addrspace.h>
67#include <asm/system.h>
68 67
69#include <asm/dec/interrupts.h> 68#include <asm/dec/interrupts.h>
70#include <asm/dec/ioasic.h> 69#include <asm/dec/ioasic.h>
diff --git a/drivers/net/ethernet/amd/hplance.c b/drivers/net/ethernet/amd/hplance.c
index 4e2d68a4de8a..8baff4e5d964 100644
--- a/drivers/net/ethernet/amd/hplance.c
+++ b/drivers/net/ethernet/amd/hplance.c
@@ -22,7 +22,6 @@
22#include <linux/etherdevice.h> 22#include <linux/etherdevice.h>
23#include <linux/skbuff.h> 23#include <linux/skbuff.h>
24 24
25#include <asm/system.h>
26#include <asm/io.h> 25#include <asm/io.h>
27#include <asm/pgtable.h> 26#include <asm/pgtable.h>
28 27
diff --git a/drivers/net/ethernet/amd/mvme147.c b/drivers/net/ethernet/amd/mvme147.c
index 56bc47a94186..9af3c307862c 100644
--- a/drivers/net/ethernet/amd/mvme147.c
+++ b/drivers/net/ethernet/amd/mvme147.c
@@ -22,7 +22,6 @@
22#include <linux/etherdevice.h> 22#include <linux/etherdevice.h>
23#include <linux/skbuff.h> 23#include <linux/skbuff.h>
24 24
25#include <asm/system.h>
26#include <asm/io.h> 25#include <asm/io.h>
27#include <asm/pgtable.h> 26#include <asm/pgtable.h>
28#include <asm/mvme147hw.h> 27#include <asm/mvme147hw.h>
diff --git a/drivers/net/ethernet/amd/nmclan_cs.c b/drivers/net/ethernet/amd/nmclan_cs.c
index ebdb9e238a8d..9f59bf63514b 100644
--- a/drivers/net/ethernet/amd/nmclan_cs.c
+++ b/drivers/net/ethernet/amd/nmclan_cs.c
@@ -154,7 +154,6 @@ Include Files
154 154
155#include <asm/uaccess.h> 155#include <asm/uaccess.h>
156#include <asm/io.h> 156#include <asm/io.h>
157#include <asm/system.h>
158 157
159/* ---------------------------------------------------------------------------- 158/* ----------------------------------------------------------------------------
160Defines 159Defines
diff --git a/drivers/net/ethernet/amd/sunlance.c b/drivers/net/ethernet/amd/sunlance.c
index e3fe3504e198..d7a3533d990b 100644
--- a/drivers/net/ethernet/amd/sunlance.c
+++ b/drivers/net/ethernet/amd/sunlance.c
@@ -95,7 +95,6 @@ static char lancestr[] = "LANCE";
95#include <linux/of_device.h> 95#include <linux/of_device.h>
96#include <linux/gfp.h> 96#include <linux/gfp.h>
97 97
98#include <asm/system.h>
99#include <asm/io.h> 98#include <asm/io.h>
100#include <asm/dma.h> 99#include <asm/dma.h>
101#include <asm/pgtable.h> 100#include <asm/pgtable.h>
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
index 583da06e715d..5a58cff78dc2 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
@@ -1863,7 +1863,6 @@ int bnx2x_nic_load(struct bnx2x *bp, int load_mode)
1863 * bnx2x_periodic_task(). 1863 * bnx2x_periodic_task().
1864 */ 1864 */
1865 smp_mb(); 1865 smp_mb();
1866 queue_delayed_work(bnx2x_wq, &bp->period_task, 0);
1867 } else 1866 } else
1868 bp->port.pmf = 0; 1867 bp->port.pmf = 0;
1869 1868
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h
index cd6dfa9eaa3a..b9b263323436 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_fw_defs.h
@@ -25,31 +25,31 @@
25 (IRO[149].base + ((funcId) * IRO[149].m1)) 25 (IRO[149].base + ((funcId) * IRO[149].m1))
26#define CSTORM_IGU_MODE_OFFSET (IRO[157].base) 26#define CSTORM_IGU_MODE_OFFSET (IRO[157].base)
27#define CSTORM_ISCSI_CQ_SIZE_OFFSET(pfId) \ 27#define CSTORM_ISCSI_CQ_SIZE_OFFSET(pfId) \
28 (IRO[315].base + ((pfId) * IRO[315].m1))
29#define CSTORM_ISCSI_CQ_SQN_SIZE_OFFSET(pfId) \
30 (IRO[316].base + ((pfId) * IRO[316].m1)) 28 (IRO[316].base + ((pfId) * IRO[316].m1))
29#define CSTORM_ISCSI_CQ_SQN_SIZE_OFFSET(pfId) \
30 (IRO[317].base + ((pfId) * IRO[317].m1))
31#define CSTORM_ISCSI_EQ_CONS_OFFSET(pfId, iscsiEqId) \ 31#define CSTORM_ISCSI_EQ_CONS_OFFSET(pfId, iscsiEqId) \
32 (IRO[308].base + ((pfId) * IRO[308].m1) + ((iscsiEqId) * IRO[308].m2)) 32 (IRO[309].base + ((pfId) * IRO[309].m1) + ((iscsiEqId) * IRO[309].m2))
33#define CSTORM_ISCSI_EQ_NEXT_EQE_ADDR_OFFSET(pfId, iscsiEqId) \ 33#define CSTORM_ISCSI_EQ_NEXT_EQE_ADDR_OFFSET(pfId, iscsiEqId) \
34 (IRO[310].base + ((pfId) * IRO[310].m1) + ((iscsiEqId) * IRO[310].m2)) 34 (IRO[311].base + ((pfId) * IRO[311].m1) + ((iscsiEqId) * IRO[311].m2))
35#define CSTORM_ISCSI_EQ_NEXT_PAGE_ADDR_OFFSET(pfId, iscsiEqId) \ 35#define CSTORM_ISCSI_EQ_NEXT_PAGE_ADDR_OFFSET(pfId, iscsiEqId) \
36 (IRO[309].base + ((pfId) * IRO[309].m1) + ((iscsiEqId) * IRO[309].m2)) 36 (IRO[310].base + ((pfId) * IRO[310].m1) + ((iscsiEqId) * IRO[310].m2))
37#define CSTORM_ISCSI_EQ_NEXT_PAGE_ADDR_VALID_OFFSET(pfId, iscsiEqId) \ 37#define CSTORM_ISCSI_EQ_NEXT_PAGE_ADDR_VALID_OFFSET(pfId, iscsiEqId) \
38 (IRO[311].base + ((pfId) * IRO[311].m1) + ((iscsiEqId) * IRO[311].m2)) 38 (IRO[312].base + ((pfId) * IRO[312].m1) + ((iscsiEqId) * IRO[312].m2))
39#define CSTORM_ISCSI_EQ_PROD_OFFSET(pfId, iscsiEqId) \ 39#define CSTORM_ISCSI_EQ_PROD_OFFSET(pfId, iscsiEqId) \
40 (IRO[307].base + ((pfId) * IRO[307].m1) + ((iscsiEqId) * IRO[307].m2)) 40 (IRO[308].base + ((pfId) * IRO[308].m1) + ((iscsiEqId) * IRO[308].m2))
41#define CSTORM_ISCSI_EQ_SB_INDEX_OFFSET(pfId, iscsiEqId) \ 41#define CSTORM_ISCSI_EQ_SB_INDEX_OFFSET(pfId, iscsiEqId) \
42 (IRO[313].base + ((pfId) * IRO[313].m1) + ((iscsiEqId) * IRO[313].m2)) 42 (IRO[314].base + ((pfId) * IRO[314].m1) + ((iscsiEqId) * IRO[314].m2))
43#define CSTORM_ISCSI_EQ_SB_NUM_OFFSET(pfId, iscsiEqId) \ 43#define CSTORM_ISCSI_EQ_SB_NUM_OFFSET(pfId, iscsiEqId) \
44 (IRO[312].base + ((pfId) * IRO[312].m1) + ((iscsiEqId) * IRO[312].m2)) 44 (IRO[313].base + ((pfId) * IRO[313].m1) + ((iscsiEqId) * IRO[313].m2))
45#define CSTORM_ISCSI_HQ_SIZE_OFFSET(pfId) \ 45#define CSTORM_ISCSI_HQ_SIZE_OFFSET(pfId) \
46 (IRO[314].base + ((pfId) * IRO[314].m1)) 46 (IRO[315].base + ((pfId) * IRO[315].m1))
47#define CSTORM_ISCSI_NUM_OF_TASKS_OFFSET(pfId) \ 47#define CSTORM_ISCSI_NUM_OF_TASKS_OFFSET(pfId) \
48 (IRO[306].base + ((pfId) * IRO[306].m1)) 48 (IRO[307].base + ((pfId) * IRO[307].m1))
49#define CSTORM_ISCSI_PAGE_SIZE_LOG_OFFSET(pfId) \ 49#define CSTORM_ISCSI_PAGE_SIZE_LOG_OFFSET(pfId) \
50 (IRO[305].base + ((pfId) * IRO[305].m1)) 50 (IRO[306].base + ((pfId) * IRO[306].m1))
51#define CSTORM_ISCSI_PAGE_SIZE_OFFSET(pfId) \ 51#define CSTORM_ISCSI_PAGE_SIZE_OFFSET(pfId) \
52 (IRO[304].base + ((pfId) * IRO[304].m1)) 52 (IRO[305].base + ((pfId) * IRO[305].m1))
53#define CSTORM_RECORD_SLOW_PATH_OFFSET(funcId) \ 53#define CSTORM_RECORD_SLOW_PATH_OFFSET(funcId) \
54 (IRO[151].base + ((funcId) * IRO[151].m1)) 54 (IRO[151].base + ((funcId) * IRO[151].m1))
55#define CSTORM_SP_STATUS_BLOCK_DATA_OFFSET(pfId) \ 55#define CSTORM_SP_STATUS_BLOCK_DATA_OFFSET(pfId) \
@@ -96,37 +96,37 @@
96#define TSTORM_FUNC_EN_OFFSET(funcId) \ 96#define TSTORM_FUNC_EN_OFFSET(funcId) \
97 (IRO[103].base + ((funcId) * IRO[103].m1)) 97 (IRO[103].base + ((funcId) * IRO[103].m1))
98#define TSTORM_ISCSI_ERROR_BITMAP_OFFSET(pfId) \ 98#define TSTORM_ISCSI_ERROR_BITMAP_OFFSET(pfId) \
99 (IRO[271].base + ((pfId) * IRO[271].m1))
100#define TSTORM_ISCSI_L2_ISCSI_OOO_CID_TABLE_OFFSET(pfId) \
101 (IRO[272].base + ((pfId) * IRO[272].m1)) 99 (IRO[272].base + ((pfId) * IRO[272].m1))
102#define TSTORM_ISCSI_L2_ISCSI_OOO_CLIENT_ID_TABLE_OFFSET(pfId) \ 100#define TSTORM_ISCSI_L2_ISCSI_OOO_CID_TABLE_OFFSET(pfId) \
103 (IRO[273].base + ((pfId) * IRO[273].m1)) 101 (IRO[273].base + ((pfId) * IRO[273].m1))
104#define TSTORM_ISCSI_L2_ISCSI_OOO_PROD_OFFSET(pfId) \ 102#define TSTORM_ISCSI_L2_ISCSI_OOO_CLIENT_ID_TABLE_OFFSET(pfId) \
105 (IRO[274].base + ((pfId) * IRO[274].m1)) 103 (IRO[274].base + ((pfId) * IRO[274].m1))
104#define TSTORM_ISCSI_L2_ISCSI_OOO_PROD_OFFSET(pfId) \
105 (IRO[275].base + ((pfId) * IRO[275].m1))
106#define TSTORM_ISCSI_NUM_OF_TASKS_OFFSET(pfId) \ 106#define TSTORM_ISCSI_NUM_OF_TASKS_OFFSET(pfId) \
107 (IRO[270].base + ((pfId) * IRO[270].m1)) 107 (IRO[271].base + ((pfId) * IRO[271].m1))
108#define TSTORM_ISCSI_PAGE_SIZE_LOG_OFFSET(pfId) \ 108#define TSTORM_ISCSI_PAGE_SIZE_LOG_OFFSET(pfId) \
109 (IRO[269].base + ((pfId) * IRO[269].m1)) 109 (IRO[270].base + ((pfId) * IRO[270].m1))
110#define TSTORM_ISCSI_PAGE_SIZE_OFFSET(pfId) \ 110#define TSTORM_ISCSI_PAGE_SIZE_OFFSET(pfId) \
111 (IRO[268].base + ((pfId) * IRO[268].m1)) 111 (IRO[269].base + ((pfId) * IRO[269].m1))
112#define TSTORM_ISCSI_RQ_SIZE_OFFSET(pfId) \ 112#define TSTORM_ISCSI_RQ_SIZE_OFFSET(pfId) \
113 (IRO[267].base + ((pfId) * IRO[267].m1)) 113 (IRO[268].base + ((pfId) * IRO[268].m1))
114#define TSTORM_ISCSI_TCP_LOCAL_ADV_WND_OFFSET(pfId) \ 114#define TSTORM_ISCSI_TCP_LOCAL_ADV_WND_OFFSET(pfId) \
115 (IRO[276].base + ((pfId) * IRO[276].m1)) 115 (IRO[277].base + ((pfId) * IRO[277].m1))
116#define TSTORM_ISCSI_TCP_VARS_FLAGS_OFFSET(pfId) \ 116#define TSTORM_ISCSI_TCP_VARS_FLAGS_OFFSET(pfId) \
117 (IRO[263].base + ((pfId) * IRO[263].m1))
118#define TSTORM_ISCSI_TCP_VARS_LSB_LOCAL_MAC_ADDR_OFFSET(pfId) \
119 (IRO[264].base + ((pfId) * IRO[264].m1)) 117 (IRO[264].base + ((pfId) * IRO[264].m1))
120#define TSTORM_ISCSI_TCP_VARS_MID_LOCAL_MAC_ADDR_OFFSET(pfId) \ 118#define TSTORM_ISCSI_TCP_VARS_LSB_LOCAL_MAC_ADDR_OFFSET(pfId) \
121 (IRO[265].base + ((pfId) * IRO[265].m1)) 119 (IRO[265].base + ((pfId) * IRO[265].m1))
122#define TSTORM_ISCSI_TCP_VARS_MSB_LOCAL_MAC_ADDR_OFFSET(pfId) \ 120#define TSTORM_ISCSI_TCP_VARS_MID_LOCAL_MAC_ADDR_OFFSET(pfId) \
123 (IRO[266].base + ((pfId) * IRO[266].m1)) 121 (IRO[266].base + ((pfId) * IRO[266].m1))
122#define TSTORM_ISCSI_TCP_VARS_MSB_LOCAL_MAC_ADDR_OFFSET(pfId) \
123 (IRO[267].base + ((pfId) * IRO[267].m1))
124#define TSTORM_MAC_FILTER_CONFIG_OFFSET(pfId) \ 124#define TSTORM_MAC_FILTER_CONFIG_OFFSET(pfId) \
125 (IRO[202].base + ((pfId) * IRO[202].m1)) 125 (IRO[202].base + ((pfId) * IRO[202].m1))
126#define TSTORM_RECORD_SLOW_PATH_OFFSET(funcId) \ 126#define TSTORM_RECORD_SLOW_PATH_OFFSET(funcId) \
127 (IRO[105].base + ((funcId) * IRO[105].m1)) 127 (IRO[105].base + ((funcId) * IRO[105].m1))
128#define TSTORM_TCP_MAX_CWND_OFFSET(pfId) \ 128#define TSTORM_TCP_MAX_CWND_OFFSET(pfId) \
129 (IRO[216].base + ((pfId) * IRO[216].m1)) 129 (IRO[217].base + ((pfId) * IRO[217].m1))
130#define TSTORM_VF_TO_PF_OFFSET(funcId) \ 130#define TSTORM_VF_TO_PF_OFFSET(funcId) \
131 (IRO[104].base + ((funcId) * IRO[104].m1)) 131 (IRO[104].base + ((funcId) * IRO[104].m1))
132#define USTORM_AGG_DATA_OFFSET (IRO[206].base) 132#define USTORM_AGG_DATA_OFFSET (IRO[206].base)
@@ -140,29 +140,29 @@
140#define USTORM_ETH_PAUSE_ENABLED_OFFSET(portId) \ 140#define USTORM_ETH_PAUSE_ENABLED_OFFSET(portId) \
141 (IRO[183].base + ((portId) * IRO[183].m1)) 141 (IRO[183].base + ((portId) * IRO[183].m1))
142#define USTORM_FCOE_EQ_PROD_OFFSET(pfId) \ 142#define USTORM_FCOE_EQ_PROD_OFFSET(pfId) \
143 (IRO[317].base + ((pfId) * IRO[317].m1)) 143 (IRO[318].base + ((pfId) * IRO[318].m1))
144#define USTORM_FUNC_EN_OFFSET(funcId) \ 144#define USTORM_FUNC_EN_OFFSET(funcId) \
145 (IRO[178].base + ((funcId) * IRO[178].m1)) 145 (IRO[178].base + ((funcId) * IRO[178].m1))
146#define USTORM_ISCSI_CQ_SIZE_OFFSET(pfId) \ 146#define USTORM_ISCSI_CQ_SIZE_OFFSET(pfId) \
147 (IRO[281].base + ((pfId) * IRO[281].m1))
148#define USTORM_ISCSI_CQ_SQN_SIZE_OFFSET(pfId) \
149 (IRO[282].base + ((pfId) * IRO[282].m1)) 147 (IRO[282].base + ((pfId) * IRO[282].m1))
148#define USTORM_ISCSI_CQ_SQN_SIZE_OFFSET(pfId) \
149 (IRO[283].base + ((pfId) * IRO[283].m1))
150#define USTORM_ISCSI_ERROR_BITMAP_OFFSET(pfId) \ 150#define USTORM_ISCSI_ERROR_BITMAP_OFFSET(pfId) \
151 (IRO[286].base + ((pfId) * IRO[286].m1)) 151 (IRO[287].base + ((pfId) * IRO[287].m1))
152#define USTORM_ISCSI_GLOBAL_BUF_PHYS_ADDR_OFFSET(pfId) \ 152#define USTORM_ISCSI_GLOBAL_BUF_PHYS_ADDR_OFFSET(pfId) \
153 (IRO[283].base + ((pfId) * IRO[283].m1)) 153 (IRO[284].base + ((pfId) * IRO[284].m1))
154#define USTORM_ISCSI_NUM_OF_TASKS_OFFSET(pfId) \ 154#define USTORM_ISCSI_NUM_OF_TASKS_OFFSET(pfId) \
155 (IRO[279].base + ((pfId) * IRO[279].m1)) 155 (IRO[280].base + ((pfId) * IRO[280].m1))
156#define USTORM_ISCSI_PAGE_SIZE_LOG_OFFSET(pfId) \ 156#define USTORM_ISCSI_PAGE_SIZE_LOG_OFFSET(pfId) \
157 (IRO[278].base + ((pfId) * IRO[278].m1)) 157 (IRO[279].base + ((pfId) * IRO[279].m1))
158#define USTORM_ISCSI_PAGE_SIZE_OFFSET(pfId) \ 158#define USTORM_ISCSI_PAGE_SIZE_OFFSET(pfId) \
159 (IRO[277].base + ((pfId) * IRO[277].m1)) 159 (IRO[278].base + ((pfId) * IRO[278].m1))
160#define USTORM_ISCSI_R2TQ_SIZE_OFFSET(pfId) \ 160#define USTORM_ISCSI_R2TQ_SIZE_OFFSET(pfId) \
161 (IRO[280].base + ((pfId) * IRO[280].m1)) 161 (IRO[281].base + ((pfId) * IRO[281].m1))
162#define USTORM_ISCSI_RQ_BUFFER_SIZE_OFFSET(pfId) \ 162#define USTORM_ISCSI_RQ_BUFFER_SIZE_OFFSET(pfId) \
163 (IRO[284].base + ((pfId) * IRO[284].m1))
164#define USTORM_ISCSI_RQ_SIZE_OFFSET(pfId) \
165 (IRO[285].base + ((pfId) * IRO[285].m1)) 163 (IRO[285].base + ((pfId) * IRO[285].m1))
164#define USTORM_ISCSI_RQ_SIZE_OFFSET(pfId) \
165 (IRO[286].base + ((pfId) * IRO[286].m1))
166#define USTORM_MEM_WORKAROUND_ADDRESS_OFFSET(pfId) \ 166#define USTORM_MEM_WORKAROUND_ADDRESS_OFFSET(pfId) \
167 (IRO[182].base + ((pfId) * IRO[182].m1)) 167 (IRO[182].base + ((pfId) * IRO[182].m1))
168#define USTORM_RECORD_SLOW_PATH_OFFSET(funcId) \ 168#define USTORM_RECORD_SLOW_PATH_OFFSET(funcId) \
@@ -188,39 +188,39 @@
188#define XSTORM_FUNC_EN_OFFSET(funcId) \ 188#define XSTORM_FUNC_EN_OFFSET(funcId) \
189 (IRO[47].base + ((funcId) * IRO[47].m1)) 189 (IRO[47].base + ((funcId) * IRO[47].m1))
190#define XSTORM_ISCSI_HQ_SIZE_OFFSET(pfId) \ 190#define XSTORM_ISCSI_HQ_SIZE_OFFSET(pfId) \
191 (IRO[294].base + ((pfId) * IRO[294].m1)) 191 (IRO[295].base + ((pfId) * IRO[295].m1))
192#define XSTORM_ISCSI_LOCAL_MAC_ADDR0_OFFSET(pfId) \ 192#define XSTORM_ISCSI_LOCAL_MAC_ADDR0_OFFSET(pfId) \
193 (IRO[297].base + ((pfId) * IRO[297].m1))
194#define XSTORM_ISCSI_LOCAL_MAC_ADDR1_OFFSET(pfId) \
195 (IRO[298].base + ((pfId) * IRO[298].m1)) 193 (IRO[298].base + ((pfId) * IRO[298].m1))
196#define XSTORM_ISCSI_LOCAL_MAC_ADDR2_OFFSET(pfId) \ 194#define XSTORM_ISCSI_LOCAL_MAC_ADDR1_OFFSET(pfId) \
197 (IRO[299].base + ((pfId) * IRO[299].m1)) 195 (IRO[299].base + ((pfId) * IRO[299].m1))
198#define XSTORM_ISCSI_LOCAL_MAC_ADDR3_OFFSET(pfId) \ 196#define XSTORM_ISCSI_LOCAL_MAC_ADDR2_OFFSET(pfId) \
199 (IRO[300].base + ((pfId) * IRO[300].m1)) 197 (IRO[300].base + ((pfId) * IRO[300].m1))
200#define XSTORM_ISCSI_LOCAL_MAC_ADDR4_OFFSET(pfId) \ 198#define XSTORM_ISCSI_LOCAL_MAC_ADDR3_OFFSET(pfId) \
201 (IRO[301].base + ((pfId) * IRO[301].m1)) 199 (IRO[301].base + ((pfId) * IRO[301].m1))
202#define XSTORM_ISCSI_LOCAL_MAC_ADDR5_OFFSET(pfId) \ 200#define XSTORM_ISCSI_LOCAL_MAC_ADDR4_OFFSET(pfId) \
203 (IRO[302].base + ((pfId) * IRO[302].m1)) 201 (IRO[302].base + ((pfId) * IRO[302].m1))
204#define XSTORM_ISCSI_LOCAL_VLAN_OFFSET(pfId) \ 202#define XSTORM_ISCSI_LOCAL_MAC_ADDR5_OFFSET(pfId) \
205 (IRO[303].base + ((pfId) * IRO[303].m1)) 203 (IRO[303].base + ((pfId) * IRO[303].m1))
204#define XSTORM_ISCSI_LOCAL_VLAN_OFFSET(pfId) \
205 (IRO[304].base + ((pfId) * IRO[304].m1))
206#define XSTORM_ISCSI_NUM_OF_TASKS_OFFSET(pfId) \ 206#define XSTORM_ISCSI_NUM_OF_TASKS_OFFSET(pfId) \
207 (IRO[293].base + ((pfId) * IRO[293].m1)) 207 (IRO[294].base + ((pfId) * IRO[294].m1))
208#define XSTORM_ISCSI_PAGE_SIZE_LOG_OFFSET(pfId) \ 208#define XSTORM_ISCSI_PAGE_SIZE_LOG_OFFSET(pfId) \
209 (IRO[292].base + ((pfId) * IRO[292].m1)) 209 (IRO[293].base + ((pfId) * IRO[293].m1))
210#define XSTORM_ISCSI_PAGE_SIZE_OFFSET(pfId) \ 210#define XSTORM_ISCSI_PAGE_SIZE_OFFSET(pfId) \
211 (IRO[291].base + ((pfId) * IRO[291].m1)) 211 (IRO[292].base + ((pfId) * IRO[292].m1))
212#define XSTORM_ISCSI_R2TQ_SIZE_OFFSET(pfId) \ 212#define XSTORM_ISCSI_R2TQ_SIZE_OFFSET(pfId) \
213 (IRO[296].base + ((pfId) * IRO[296].m1)) 213 (IRO[297].base + ((pfId) * IRO[297].m1))
214#define XSTORM_ISCSI_SQ_SIZE_OFFSET(pfId) \ 214#define XSTORM_ISCSI_SQ_SIZE_OFFSET(pfId) \
215 (IRO[295].base + ((pfId) * IRO[295].m1)) 215 (IRO[296].base + ((pfId) * IRO[296].m1))
216#define XSTORM_ISCSI_TCP_VARS_ADV_WND_SCL_OFFSET(pfId) \ 216#define XSTORM_ISCSI_TCP_VARS_ADV_WND_SCL_OFFSET(pfId) \
217 (IRO[290].base + ((pfId) * IRO[290].m1)) 217 (IRO[291].base + ((pfId) * IRO[291].m1))
218#define XSTORM_ISCSI_TCP_VARS_FLAGS_OFFSET(pfId) \ 218#define XSTORM_ISCSI_TCP_VARS_FLAGS_OFFSET(pfId) \
219 (IRO[289].base + ((pfId) * IRO[289].m1)) 219 (IRO[290].base + ((pfId) * IRO[290].m1))
220#define XSTORM_ISCSI_TCP_VARS_TOS_OFFSET(pfId) \ 220#define XSTORM_ISCSI_TCP_VARS_TOS_OFFSET(pfId) \
221 (IRO[288].base + ((pfId) * IRO[288].m1)) 221 (IRO[289].base + ((pfId) * IRO[289].m1))
222#define XSTORM_ISCSI_TCP_VARS_TTL_OFFSET(pfId) \ 222#define XSTORM_ISCSI_TCP_VARS_TTL_OFFSET(pfId) \
223 (IRO[287].base + ((pfId) * IRO[287].m1)) 223 (IRO[288].base + ((pfId) * IRO[288].m1))
224#define XSTORM_RATE_SHAPING_PER_VN_VARS_OFFSET(pfId) \ 224#define XSTORM_RATE_SHAPING_PER_VN_VARS_OFFSET(pfId) \
225 (IRO[44].base + ((pfId) * IRO[44].m1)) 225 (IRO[44].base + ((pfId) * IRO[44].m1))
226#define XSTORM_RECORD_SLOW_PATH_OFFSET(funcId) \ 226#define XSTORM_RECORD_SLOW_PATH_OFFSET(funcId) \
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
index 71e5bd00e8be..ff882a482094 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c
@@ -1340,7 +1340,14 @@ static void bnx2x_update_pfc_xmac(struct link_params *params,
1340 pfc1_val |= XMAC_PFC_CTRL_HI_REG_PFC_REFRESH_EN | 1340 pfc1_val |= XMAC_PFC_CTRL_HI_REG_PFC_REFRESH_EN |
1341 XMAC_PFC_CTRL_HI_REG_PFC_STATS_EN | 1341 XMAC_PFC_CTRL_HI_REG_PFC_STATS_EN |
1342 XMAC_PFC_CTRL_HI_REG_RX_PFC_EN | 1342 XMAC_PFC_CTRL_HI_REG_RX_PFC_EN |
1343 XMAC_PFC_CTRL_HI_REG_TX_PFC_EN; 1343 XMAC_PFC_CTRL_HI_REG_TX_PFC_EN |
1344 XMAC_PFC_CTRL_HI_REG_FORCE_PFC_XON;
1345 /* Write pause and PFC registers */
1346 REG_WR(bp, xmac_base + XMAC_REG_PAUSE_CTRL, pause_val);
1347 REG_WR(bp, xmac_base + XMAC_REG_PFC_CTRL, pfc0_val);
1348 REG_WR(bp, xmac_base + XMAC_REG_PFC_CTRL_HI, pfc1_val);
1349 pfc1_val &= ~XMAC_PFC_CTRL_HI_REG_FORCE_PFC_XON;
1350
1344 } 1351 }
1345 1352
1346 /* Write pause and PFC registers */ 1353 /* Write pause and PFC registers */
@@ -3574,6 +3581,33 @@ static void bnx2x_ext_phy_update_adv_fc(struct bnx2x_phy *phy,
3574 if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE) { 3581 if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE) {
3575 bnx2x_cl22_read(bp, phy, 0x4, &ld_pause); 3582 bnx2x_cl22_read(bp, phy, 0x4, &ld_pause);
3576 bnx2x_cl22_read(bp, phy, 0x5, &lp_pause); 3583 bnx2x_cl22_read(bp, phy, 0x5, &lp_pause);
3584 } else if (CHIP_IS_E3(bp) &&
3585 SINGLE_MEDIA_DIRECT(params)) {
3586 u8 lane = bnx2x_get_warpcore_lane(phy, params);
3587 u16 gp_status, gp_mask;
3588 bnx2x_cl45_read(bp, phy,
3589 MDIO_AN_DEVAD, MDIO_WC_REG_GP2_STATUS_GP_2_4,
3590 &gp_status);
3591 gp_mask = (MDIO_WC_REG_GP2_STATUS_GP_2_4_CL73_AN_CMPL |
3592 MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_LP_AN_CAP) <<
3593 lane;
3594 if ((gp_status & gp_mask) == gp_mask) {
3595 bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
3596 MDIO_AN_REG_ADV_PAUSE, &ld_pause);
3597 bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
3598 MDIO_AN_REG_LP_AUTO_NEG, &lp_pause);
3599 } else {
3600 bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
3601 MDIO_AN_REG_CL37_FC_LD, &ld_pause);
3602 bnx2x_cl45_read(bp, phy, MDIO_AN_DEVAD,
3603 MDIO_AN_REG_CL37_FC_LP, &lp_pause);
3604 ld_pause = ((ld_pause &
3605 MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH)
3606 << 3);
3607 lp_pause = ((lp_pause &
3608 MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH)
3609 << 3);
3610 }
3577 } else { 3611 } else {
3578 bnx2x_cl45_read(bp, phy, 3612 bnx2x_cl45_read(bp, phy,
3579 MDIO_AN_DEVAD, 3613 MDIO_AN_DEVAD,
@@ -3625,7 +3659,23 @@ static void bnx2x_warpcore_enable_AN_KR(struct bnx2x_phy *phy,
3625 u16 val16 = 0, lane, bam37 = 0; 3659 u16 val16 = 0, lane, bam37 = 0;
3626 struct bnx2x *bp = params->bp; 3660 struct bnx2x *bp = params->bp;
3627 DP(NETIF_MSG_LINK, "Enable Auto Negotiation for KR\n"); 3661 DP(NETIF_MSG_LINK, "Enable Auto Negotiation for KR\n");
3628 3662 /* Set to default registers that may be overriden by 10G force */
3663 bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
3664 MDIO_WC_REG_SERDESDIGITAL_CONTROL1000X2, 0x7);
3665 bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
3666 MDIO_WC_REG_PAR_DET_10G_CTRL, 0);
3667 bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
3668 MDIO_WC_REG_CL72_USERB0_CL72_MISC1_CONTROL, 0);
3669 bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
3670 MDIO_WC_REG_XGXSBLK1_LANECTRL0, 0xff);
3671 bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
3672 MDIO_WC_REG_XGXSBLK1_LANECTRL1, 0x5555);
3673 bnx2x_cl45_write(bp, phy, MDIO_PMA_DEVAD,
3674 MDIO_WC_REG_IEEE0BLK_AUTONEGNP, 0x0);
3675 bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
3676 MDIO_WC_REG_RX66_CONTROL, 0x7415);
3677 bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
3678 MDIO_WC_REG_SERDESDIGITAL_MISC2, 0x6190);
3629 /* Disable Autoneg: re-enable it after adv is done. */ 3679 /* Disable Autoneg: re-enable it after adv is done. */
3630 bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD, 3680 bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
3631 MDIO_WC_REG_IEEE0BLK_MIICNTL, 0); 3681 MDIO_WC_REG_IEEE0BLK_MIICNTL, 0);
@@ -3868,13 +3918,13 @@ static void bnx2x_warpcore_set_10G_XFI(struct bnx2x_phy *phy,
3868 3918
3869 } else { 3919 } else {
3870 misc1_val |= 0x9; 3920 misc1_val |= 0x9;
3871 tap_val = ((0x12 << MDIO_WC_REG_TX_FIR_TAP_POST_TAP_OFFSET) | 3921 tap_val = ((0x0f << MDIO_WC_REG_TX_FIR_TAP_POST_TAP_OFFSET) |
3872 (0x2d << MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_OFFSET) | 3922 (0x2b << MDIO_WC_REG_TX_FIR_TAP_MAIN_TAP_OFFSET) |
3873 (0x00 << MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_OFFSET)); 3923 (0x02 << MDIO_WC_REG_TX_FIR_TAP_PRE_TAP_OFFSET));
3874 tx_driver_val = 3924 tx_driver_val =
3875 ((0x02 << MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_OFFSET) | 3925 ((0x03 << MDIO_WC_REG_TX0_TX_DRIVER_POST2_COEFF_OFFSET) |
3876 (0x02 << MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_OFFSET) | 3926 (0x02 << MDIO_WC_REG_TX0_TX_DRIVER_IDRIVER_OFFSET) |
3877 (0x02 << MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_OFFSET)); 3927 (0x06 << MDIO_WC_REG_TX0_TX_DRIVER_IPRE_DRIVER_OFFSET));
3878 } 3928 }
3879 bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD, 3929 bnx2x_cl45_write(bp, phy, MDIO_WC_DEVAD,
3880 MDIO_WC_REG_SERDESDIGITAL_MISC1, misc1_val); 3930 MDIO_WC_REG_SERDESDIGITAL_MISC1, misc1_val);
@@ -4290,7 +4340,7 @@ static void bnx2x_warpcore_config_init(struct bnx2x_phy *phy,
4290 switch (serdes_net_if) { 4340 switch (serdes_net_if) {
4291 case PORT_HW_CFG_NET_SERDES_IF_KR: 4341 case PORT_HW_CFG_NET_SERDES_IF_KR:
4292 /* Enable KR Auto Neg */ 4342 /* Enable KR Auto Neg */
4293 if (params->loopback_mode == LOOPBACK_NONE) 4343 if (params->loopback_mode != LOOPBACK_EXT)
4294 bnx2x_warpcore_enable_AN_KR(phy, params, vars); 4344 bnx2x_warpcore_enable_AN_KR(phy, params, vars);
4295 else { 4345 else {
4296 DP(NETIF_MSG_LINK, "Setting KR 10G-Force\n"); 4346 DP(NETIF_MSG_LINK, "Setting KR 10G-Force\n");
@@ -6076,12 +6126,14 @@ int bnx2x_set_led(struct link_params *params,
6076 6126
6077 tmp = EMAC_RD(bp, EMAC_REG_EMAC_LED); 6127 tmp = EMAC_RD(bp, EMAC_REG_EMAC_LED);
6078 if (params->phy[EXT_PHY1].type == 6128 if (params->phy[EXT_PHY1].type ==
6079 PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE) 6129 PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE)
6080 EMAC_WR(bp, EMAC_REG_EMAC_LED, tmp & 0xfff1); 6130 tmp &= ~(EMAC_LED_1000MB_OVERRIDE |
6081 else { 6131 EMAC_LED_100MB_OVERRIDE |
6082 EMAC_WR(bp, EMAC_REG_EMAC_LED, 6132 EMAC_LED_10MB_OVERRIDE);
6083 (tmp | EMAC_LED_OVERRIDE)); 6133 else
6084 } 6134 tmp |= EMAC_LED_OVERRIDE;
6135
6136 EMAC_WR(bp, EMAC_REG_EMAC_LED, tmp);
6085 break; 6137 break;
6086 6138
6087 case LED_MODE_OPER: 6139 case LED_MODE_OPER:
@@ -6131,10 +6183,15 @@ int bnx2x_set_led(struct link_params *params,
6131 hw_led_mode); 6183 hw_led_mode);
6132 } else if ((params->phy[EXT_PHY1].type == 6184 } else if ((params->phy[EXT_PHY1].type ==
6133 PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE) && 6185 PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE) &&
6134 (mode != LED_MODE_OPER)) { 6186 (mode == LED_MODE_ON)) {
6135 REG_WR(bp, NIG_REG_LED_MODE_P0 + port*4, 0); 6187 REG_WR(bp, NIG_REG_LED_MODE_P0 + port*4, 0);
6136 tmp = EMAC_RD(bp, EMAC_REG_EMAC_LED); 6188 tmp = EMAC_RD(bp, EMAC_REG_EMAC_LED);
6137 EMAC_WR(bp, EMAC_REG_EMAC_LED, tmp | 0x3); 6189 EMAC_WR(bp, EMAC_REG_EMAC_LED, tmp |
6190 EMAC_LED_OVERRIDE | EMAC_LED_1000MB_OVERRIDE);
6191 /* Break here; otherwise, it'll disable the
6192 * intended override.
6193 */
6194 break;
6138 } else 6195 } else
6139 REG_WR(bp, NIG_REG_LED_MODE_P0 + port*4, 6196 REG_WR(bp, NIG_REG_LED_MODE_P0 + port*4,
6140 hw_led_mode); 6197 hw_led_mode);
@@ -6149,13 +6206,9 @@ int bnx2x_set_led(struct link_params *params,
6149 LED_BLINK_RATE_VAL_E1X_E2); 6206 LED_BLINK_RATE_VAL_E1X_E2);
6150 REG_WR(bp, NIG_REG_LED_CONTROL_BLINK_RATE_ENA_P0 + 6207 REG_WR(bp, NIG_REG_LED_CONTROL_BLINK_RATE_ENA_P0 +
6151 port*4, 1); 6208 port*4, 1);
6152 if ((params->phy[EXT_PHY1].type != 6209 tmp = EMAC_RD(bp, EMAC_REG_EMAC_LED);
6153 PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM54618SE) && 6210 EMAC_WR(bp, EMAC_REG_EMAC_LED,
6154 (mode != LED_MODE_OPER)) { 6211 (tmp & (~EMAC_LED_OVERRIDE)));
6155 tmp = EMAC_RD(bp, EMAC_REG_EMAC_LED);
6156 EMAC_WR(bp, EMAC_REG_EMAC_LED,
6157 (tmp & (~EMAC_LED_OVERRIDE)));
6158 }
6159 6212
6160 if (CHIP_IS_E1(bp) && 6213 if (CHIP_IS_E1(bp) &&
6161 ((speed == SPEED_2500) || 6214 ((speed == SPEED_2500) ||
@@ -6736,6 +6789,12 @@ int bnx2x_link_update(struct link_params *params, struct link_vars *vars)
6736 SINGLE_MEDIA_DIRECT(params)) && 6789 SINGLE_MEDIA_DIRECT(params)) &&
6737 (phy_vars[active_external_phy].fault_detected == 0)); 6790 (phy_vars[active_external_phy].fault_detected == 0));
6738 6791
6792 /* Update the PFC configuration in case it was changed */
6793 if (params->feature_config_flags & FEATURE_CONFIG_PFC_ENABLED)
6794 vars->link_status |= LINK_STATUS_PFC_ENABLED;
6795 else
6796 vars->link_status &= ~LINK_STATUS_PFC_ENABLED;
6797
6739 if (vars->link_up) 6798 if (vars->link_up)
6740 rc = bnx2x_update_link_up(params, vars, link_10g_plus); 6799 rc = bnx2x_update_link_up(params, vars, link_10g_plus);
6741 else 6800 else
@@ -7909,7 +7968,9 @@ static int bnx2x_verify_sfp_module(struct bnx2x_phy *phy,
7909 netdev_err(bp->dev, "Warning: Unqualified SFP+ module detected," 7968 netdev_err(bp->dev, "Warning: Unqualified SFP+ module detected,"
7910 " Port %d from %s part number %s\n", 7969 " Port %d from %s part number %s\n",
7911 params->port, vendor_name, vendor_pn); 7970 params->port, vendor_name, vendor_pn);
7912 phy->flags |= FLAGS_SFP_NOT_APPROVED; 7971 if ((val & PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_MASK) !=
7972 PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_WARNING_MSG)
7973 phy->flags |= FLAGS_SFP_NOT_APPROVED;
7913 return -EINVAL; 7974 return -EINVAL;
7914} 7975}
7915 7976
@@ -8948,6 +9009,12 @@ static int bnx2x_8727_config_init(struct bnx2x_phy *phy,
8948 tmp2 &= 0xFFEF; 9009 tmp2 &= 0xFFEF;
8949 bnx2x_cl45_write(bp, phy, 9010 bnx2x_cl45_write(bp, phy,
8950 MDIO_PMA_DEVAD, MDIO_PMA_REG_8727_OPT_CFG_REG, tmp2); 9011 MDIO_PMA_DEVAD, MDIO_PMA_REG_8727_OPT_CFG_REG, tmp2);
9012 bnx2x_cl45_read(bp, phy,
9013 MDIO_PMA_DEVAD, MDIO_PMA_REG_PHY_IDENTIFIER,
9014 &tmp2);
9015 bnx2x_cl45_write(bp, phy,
9016 MDIO_PMA_DEVAD, MDIO_PMA_REG_PHY_IDENTIFIER,
9017 (tmp2 & 0x7fff));
8951 } 9018 }
8952 9019
8953 return 0; 9020 return 0;
@@ -9123,12 +9190,11 @@ static u8 bnx2x_8727_read_status(struct bnx2x_phy *phy,
9123 MDIO_PMA_DEVAD, MDIO_PMA_LASI_RXCTRL, 9190 MDIO_PMA_DEVAD, MDIO_PMA_LASI_RXCTRL,
9124 ((1<<5) | (1<<2))); 9191 ((1<<5) | (1<<2)));
9125 } 9192 }
9126 DP(NETIF_MSG_LINK, "Enabling 8727 TX laser if SFP is approved\n"); 9193
9127 bnx2x_8727_specific_func(phy, params, ENABLE_TX); 9194 if (!(phy->flags & FLAGS_SFP_NOT_APPROVED)) {
9128 /* If transmitter is disabled, ignore false link up indication */ 9195 DP(NETIF_MSG_LINK, "Enabling 8727 TX laser\n");
9129 bnx2x_cl45_read(bp, phy, 9196 bnx2x_sfp_set_transmitter(params, phy, 1);
9130 MDIO_PMA_DEVAD, MDIO_PMA_REG_PHY_IDENTIFIER, &val1); 9197 } else {
9131 if (val1 & (1<<15)) {
9132 DP(NETIF_MSG_LINK, "Tx is disabled\n"); 9198 DP(NETIF_MSG_LINK, "Tx is disabled\n");
9133 return 0; 9199 return 0;
9134 } 9200 }
@@ -9220,8 +9286,7 @@ static void bnx2x_save_848xx_spirom_version(struct bnx2x_phy *phy,
9220 9286
9221 if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84833) { 9287 if (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BCM84833) {
9222 bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD, 0x400f, &fw_ver1); 9288 bnx2x_cl45_read(bp, phy, MDIO_CTL_DEVAD, 0x400f, &fw_ver1);
9223 bnx2x_save_spirom_version(bp, port, 9289 bnx2x_save_spirom_version(bp, port, fw_ver1 & 0xfff,
9224 ((fw_ver1 & 0xf000)>>5) | (fw_ver1 & 0x7f),
9225 phy->ver_addr); 9290 phy->ver_addr);
9226 } else { 9291 } else {
9227 /* For 32-bit registers in 848xx, access via MDIO2ARM i/f. */ 9292 /* For 32-bit registers in 848xx, access via MDIO2ARM i/f. */
@@ -9642,6 +9707,15 @@ static int bnx2x_84833_hw_reset_phy(struct bnx2x_phy *phy,
9642 other_shmem_base_addr)); 9707 other_shmem_base_addr));
9643 9708
9644 u32 shmem_base_path[2]; 9709 u32 shmem_base_path[2];
9710
9711 /* Work around for 84833 LED failure inside RESET status */
9712 bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
9713 MDIO_AN_REG_8481_LEGACY_MII_CTRL,
9714 MDIO_AN_REG_8481_MII_CTRL_FORCE_1G);
9715 bnx2x_cl45_write(bp, phy, MDIO_AN_DEVAD,
9716 MDIO_AN_REG_8481_1G_100T_EXT_CTRL,
9717 MIDO_AN_REG_8481_EXT_CTRL_FORCE_LEDS_OFF);
9718
9645 shmem_base_path[0] = params->shmem_base; 9719 shmem_base_path[0] = params->shmem_base;
9646 shmem_base_path[1] = other_shmem_base_addr; 9720 shmem_base_path[1] = other_shmem_base_addr;
9647 9721
@@ -9951,7 +10025,7 @@ static void bnx2x_848x3_link_reset(struct bnx2x_phy *phy,
9951 u8 port; 10025 u8 port;
9952 u16 val16; 10026 u16 val16;
9953 10027
9954 if (!(CHIP_IS_E1(bp))) 10028 if (!(CHIP_IS_E1x(bp)))
9955 port = BP_PATH(bp); 10029 port = BP_PATH(bp);
9956 else 10030 else
9957 port = params->port; 10031 port = params->port;
@@ -9978,7 +10052,7 @@ static void bnx2x_848xx_set_link_led(struct bnx2x_phy *phy,
9978 u16 val; 10052 u16 val;
9979 u8 port; 10053 u8 port;
9980 10054
9981 if (!(CHIP_IS_E1(bp))) 10055 if (!(CHIP_IS_E1x(bp)))
9982 port = BP_PATH(bp); 10056 port = BP_PATH(bp);
9983 else 10057 else
9984 port = params->port; 10058 port = params->port;
@@ -11893,6 +11967,9 @@ int bnx2x_phy_init(struct link_params *params, struct link_vars *vars)
11893 11967
11894 bnx2x_emac_init(params, vars); 11968 bnx2x_emac_init(params, vars);
11895 11969
11970 if (params->feature_config_flags & FEATURE_CONFIG_PFC_ENABLED)
11971 vars->link_status |= LINK_STATUS_PFC_ENABLED;
11972
11896 if (params->num_phys == 0) { 11973 if (params->num_phys == 0) {
11897 DP(NETIF_MSG_LINK, "No phy found for initialization !!\n"); 11974 DP(NETIF_MSG_LINK, "No phy found for initialization !!\n");
11898 return -EINVAL; 11975 return -EINVAL;
@@ -11973,10 +12050,10 @@ int bnx2x_link_reset(struct link_params *params, struct link_vars *vars,
11973 * Hold it as vars low 12050 * Hold it as vars low
11974 */ 12051 */
11975 /* clear link led */ 12052 /* clear link led */
12053 bnx2x_set_mdio_clk(bp, params->chip_id, port);
11976 bnx2x_set_led(params, vars, LED_MODE_OFF, 0); 12054 bnx2x_set_led(params, vars, LED_MODE_OFF, 0);
11977 12055
11978 if (reset_ext_phy) { 12056 if (reset_ext_phy) {
11979 bnx2x_set_mdio_clk(bp, params->chip_id, port);
11980 for (phy_index = EXT_PHY1; phy_index < params->num_phys; 12057 for (phy_index = EXT_PHY1; phy_index < params->num_phys;
11981 phy_index++) { 12058 phy_index++) {
11982 if (params->phy[phy_index].link_reset) { 12059 if (params->phy[phy_index].link_reset) {
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
index 4532172c9fd6..bbd387492a80 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_reg.h
@@ -5359,6 +5359,7 @@
5359#define XMAC_CTRL_REG_TX_EN (0x1<<0) 5359#define XMAC_CTRL_REG_TX_EN (0x1<<0)
5360#define XMAC_PAUSE_CTRL_REG_RX_PAUSE_EN (0x1<<18) 5360#define XMAC_PAUSE_CTRL_REG_RX_PAUSE_EN (0x1<<18)
5361#define XMAC_PAUSE_CTRL_REG_TX_PAUSE_EN (0x1<<17) 5361#define XMAC_PAUSE_CTRL_REG_TX_PAUSE_EN (0x1<<17)
5362#define XMAC_PFC_CTRL_HI_REG_FORCE_PFC_XON (0x1<<1)
5362#define XMAC_PFC_CTRL_HI_REG_PFC_REFRESH_EN (0x1<<0) 5363#define XMAC_PFC_CTRL_HI_REG_PFC_REFRESH_EN (0x1<<0)
5363#define XMAC_PFC_CTRL_HI_REG_PFC_STATS_EN (0x1<<3) 5364#define XMAC_PFC_CTRL_HI_REG_PFC_STATS_EN (0x1<<3)
5364#define XMAC_PFC_CTRL_HI_REG_RX_PFC_EN (0x1<<4) 5365#define XMAC_PFC_CTRL_HI_REG_RX_PFC_EN (0x1<<4)
@@ -6825,10 +6826,13 @@ Theotherbitsarereservedandshouldbezero*/
6825 6826
6826#define MDIO_AN_REG_8481_10GBASE_T_AN_CTRL 0x0020 6827#define MDIO_AN_REG_8481_10GBASE_T_AN_CTRL 0x0020
6827#define MDIO_AN_REG_8481_LEGACY_MII_CTRL 0xffe0 6828#define MDIO_AN_REG_8481_LEGACY_MII_CTRL 0xffe0
6829#define MDIO_AN_REG_8481_MII_CTRL_FORCE_1G 0x40
6828#define MDIO_AN_REG_8481_LEGACY_MII_STATUS 0xffe1 6830#define MDIO_AN_REG_8481_LEGACY_MII_STATUS 0xffe1
6829#define MDIO_AN_REG_8481_LEGACY_AN_ADV 0xffe4 6831#define MDIO_AN_REG_8481_LEGACY_AN_ADV 0xffe4
6830#define MDIO_AN_REG_8481_LEGACY_AN_EXPANSION 0xffe6 6832#define MDIO_AN_REG_8481_LEGACY_AN_EXPANSION 0xffe6
6831#define MDIO_AN_REG_8481_1000T_CTRL 0xffe9 6833#define MDIO_AN_REG_8481_1000T_CTRL 0xffe9
6834#define MDIO_AN_REG_8481_1G_100T_EXT_CTRL 0xfff0
6835#define MIDO_AN_REG_8481_EXT_CTRL_FORCE_LEDS_OFF 0x0008
6832#define MDIO_AN_REG_8481_EXPANSION_REG_RD_RW 0xfff5 6836#define MDIO_AN_REG_8481_EXPANSION_REG_RD_RW 0xfff5
6833#define MDIO_AN_REG_8481_EXPANSION_REG_ACCESS 0xfff7 6837#define MDIO_AN_REG_8481_EXPANSION_REG_ACCESS 0xfff7
6834#define MDIO_AN_REG_8481_AUX_CTRL 0xfff8 6838#define MDIO_AN_REG_8481_AUX_CTRL 0xfff8
@@ -6948,6 +6952,10 @@ Theotherbitsarereservedandshouldbezero*/
6948#define MDIO_WC_REG_GP2_STATUS_GP_2_2 0x81d2 6952#define MDIO_WC_REG_GP2_STATUS_GP_2_2 0x81d2
6949#define MDIO_WC_REG_GP2_STATUS_GP_2_3 0x81d3 6953#define MDIO_WC_REG_GP2_STATUS_GP_2_3 0x81d3
6950#define MDIO_WC_REG_GP2_STATUS_GP_2_4 0x81d4 6954#define MDIO_WC_REG_GP2_STATUS_GP_2_4 0x81d4
6955#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL73_AN_CMPL 0x1000
6956#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CMPL 0x0100
6957#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_LP_AN_CAP 0x0010
6958#define MDIO_WC_REG_GP2_STATUS_GP_2_4_CL37_AN_CAP 0x1
6951#define MDIO_WC_REG_UC_INFO_B0_DEAD_TRAP 0x81EE 6959#define MDIO_WC_REG_UC_INFO_B0_DEAD_TRAP 0x81EE
6952#define MDIO_WC_REG_UC_INFO_B1_VERSION 0x81F0 6960#define MDIO_WC_REG_UC_INFO_B1_VERSION 0x81F0
6953#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE 0x81F2 6961#define MDIO_WC_REG_UC_INFO_B1_FIRMWARE_MODE 0x81F2
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 86097981e1e1..0c3e7c70ffbc 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -48,7 +48,6 @@
48#include <net/checksum.h> 48#include <net/checksum.h>
49#include <net/ip.h> 49#include <net/ip.h>
50 50
51#include <asm/system.h>
52#include <linux/io.h> 51#include <linux/io.h>
53#include <asm/byteorder.h> 52#include <asm/byteorder.h>
54#include <linux/uaccess.h> 53#include <linux/uaccess.h>
@@ -2779,7 +2778,9 @@ static void tg3_power_down_phy(struct tg3 *tp, bool do_low_power)
2779 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 || 2778 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 ||
2780 GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 || 2779 GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 ||
2781 (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780 && 2780 (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5780 &&
2782 (tp->phy_flags & TG3_PHYFLG_MII_SERDES))) 2781 (tp->phy_flags & TG3_PHYFLG_MII_SERDES)) ||
2782 (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717 &&
2783 !tp->pci_fn))
2783 return; 2784 return;
2784 2785
2785 if (GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5784_AX || 2786 if (GET_CHIP_REV(tp->pci_chip_rev_id) == CHIPREV_5784_AX ||
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 05ff076af06d..b126b98065a9 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -2000,13 +2000,6 @@ static const struct ethtool_ops cxgb_ethtool_ops = {
2000/* 2000/*
2001 * debugfs support 2001 * debugfs support
2002 */ 2002 */
2003
2004static int mem_open(struct inode *inode, struct file *file)
2005{
2006 file->private_data = inode->i_private;
2007 return 0;
2008}
2009
2010static ssize_t mem_read(struct file *file, char __user *buf, size_t count, 2003static ssize_t mem_read(struct file *file, char __user *buf, size_t count,
2011 loff_t *ppos) 2004 loff_t *ppos)
2012{ 2005{
@@ -2050,7 +2043,7 @@ static ssize_t mem_read(struct file *file, char __user *buf, size_t count,
2050 2043
2051static const struct file_operations mem_debugfs_fops = { 2044static const struct file_operations mem_debugfs_fops = {
2052 .owner = THIS_MODULE, 2045 .owner = THIS_MODULE,
2053 .open = mem_open, 2046 .open = simple_open,
2054 .read = mem_read, 2047 .read = mem_read,
2055 .llseek = default_llseek, 2048 .llseek = default_llseek,
2056}; 2049};
diff --git a/drivers/net/ethernet/cirrus/cs89x0.c b/drivers/net/ethernet/cirrus/cs89x0.c
index 30fee428c489..b9406cbfc180 100644
--- a/drivers/net/ethernet/cirrus/cs89x0.c
+++ b/drivers/net/ethernet/cirrus/cs89x0.c
@@ -148,7 +148,6 @@
148#include <linux/delay.h> 148#include <linux/delay.h>
149#include <linux/gfp.h> 149#include <linux/gfp.h>
150 150
151#include <asm/system.h>
152#include <asm/io.h> 151#include <asm/io.h>
153#include <asm/irq.h> 152#include <asm/irq.h>
154#include <linux/atomic.h> 153#include <linux/atomic.h>
diff --git a/drivers/net/ethernet/cirrus/mac89x0.c b/drivers/net/ethernet/cirrus/mac89x0.c
index 932fdccc339a..e285f384b096 100644
--- a/drivers/net/ethernet/cirrus/mac89x0.c
+++ b/drivers/net/ethernet/cirrus/mac89x0.c
@@ -99,7 +99,6 @@ static char *version =
99#include <linux/bitops.h> 99#include <linux/bitops.h>
100#include <linux/gfp.h> 100#include <linux/gfp.h>
101 101
102#include <asm/system.h>
103#include <asm/io.h> 102#include <asm/io.h>
104#include <asm/hwtest.h> 103#include <asm/hwtest.h>
105#include <asm/macints.h> 104#include <asm/macints.h>
diff --git a/drivers/net/ethernet/dlink/de600.c b/drivers/net/ethernet/dlink/de600.c
index 682750c052c8..414f0eea1049 100644
--- a/drivers/net/ethernet/dlink/de600.c
+++ b/drivers/net/ethernet/dlink/de600.c
@@ -46,7 +46,6 @@ static const char version[] = "de600.c: $Revision: 1.41-2.5 $, Bjorn Ekwall (bj
46#include <linux/interrupt.h> 46#include <linux/interrupt.h>
47#include <linux/ioport.h> 47#include <linux/ioport.h>
48#include <linux/in.h> 48#include <linux/in.h>
49#include <asm/system.h>
50#include <linux/errno.h> 49#include <linux/errno.h>
51#include <linux/init.h> 50#include <linux/init.h>
52#include <linux/delay.h> 51#include <linux/delay.h>
diff --git a/drivers/net/ethernet/dlink/de620.c b/drivers/net/ethernet/dlink/de620.c
index afc5aaac6b60..2e2bc60ee811 100644
--- a/drivers/net/ethernet/dlink/de620.c
+++ b/drivers/net/ethernet/dlink/de620.c
@@ -122,7 +122,6 @@ static const char version[] =
122#include <linux/skbuff.h> 122#include <linux/skbuff.h>
123 123
124#include <asm/io.h> 124#include <asm/io.h>
125#include <asm/system.h>
126 125
127/* Constant definitions for the DE-620 registers, commands and bits */ 126/* Constant definitions for the DE-620 registers, commands and bits */
128#include "de620.h" 127#include "de620.h"
diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c
index 4e3cd2f8debb..17a46e76123f 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -3945,6 +3945,8 @@ static int ucc_geth_probe(struct platform_device* ofdev)
3945 } 3945 }
3946 3946
3947 if (max_speed == SPEED_1000) { 3947 if (max_speed == SPEED_1000) {
3948 unsigned int snums = qe_get_num_of_snums();
3949
3948 /* configure muram FIFOs for gigabit operation */ 3950 /* configure muram FIFOs for gigabit operation */
3949 ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT; 3951 ug_info->uf_info.urfs = UCC_GETH_URFS_GIGA_INIT;
3950 ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT; 3952 ug_info->uf_info.urfet = UCC_GETH_URFET_GIGA_INIT;
@@ -3954,11 +3956,11 @@ static int ucc_geth_probe(struct platform_device* ofdev)
3954 ug_info->uf_info.utftt = UCC_GETH_UTFTT_GIGA_INIT; 3956 ug_info->uf_info.utftt = UCC_GETH_UTFTT_GIGA_INIT;
3955 ug_info->numThreadsTx = UCC_GETH_NUM_OF_THREADS_4; 3957 ug_info->numThreadsTx = UCC_GETH_NUM_OF_THREADS_4;
3956 3958
3957 /* If QE's snum number is 46 which means we need to support 3959 /* If QE's snum number is 46/76 which means we need to support
3958 * 4 UECs at 1000Base-T simultaneously, we need to allocate 3960 * 4 UECs at 1000Base-T simultaneously, we need to allocate
3959 * more Threads to Rx. 3961 * more Threads to Rx.
3960 */ 3962 */
3961 if (qe_get_num_of_snums() == 46) 3963 if ((snums == 76) || (snums == 46))
3962 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_6; 3964 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_6;
3963 else 3965 else
3964 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4; 3966 ug_info->numThreadsRx = UCC_GETH_NUM_OF_THREADS_4;
diff --git a/drivers/net/ethernet/fujitsu/at1700.c b/drivers/net/ethernet/fujitsu/at1700.c
index 586b46fd4eed..3d94797c8f9b 100644
--- a/drivers/net/ethernet/fujitsu/at1700.c
+++ b/drivers/net/ethernet/fujitsu/at1700.c
@@ -52,7 +52,6 @@
52#include <linux/crc32.h> 52#include <linux/crc32.h>
53#include <linux/bitops.h> 53#include <linux/bitops.h>
54 54
55#include <asm/system.h>
56#include <asm/io.h> 55#include <asm/io.h>
57#include <asm/dma.h> 56#include <asm/dma.h>
58 57
diff --git a/drivers/net/ethernet/fujitsu/eth16i.c b/drivers/net/ethernet/fujitsu/eth16i.c
index c3f0178fb5cb..a992d1f7e0d2 100644
--- a/drivers/net/ethernet/fujitsu/eth16i.c
+++ b/drivers/net/ethernet/fujitsu/eth16i.c
@@ -163,7 +163,6 @@ static char *version =
163#include <linux/jiffies.h> 163#include <linux/jiffies.h>
164#include <linux/io.h> 164#include <linux/io.h>
165 165
166#include <asm/system.h>
167#include <asm/dma.h> 166#include <asm/dma.h>
168 167
169 168
diff --git a/drivers/net/ethernet/fujitsu/fmvj18x_cs.c b/drivers/net/ethernet/fujitsu/fmvj18x_cs.c
index 0230319ddb59..2418faf2251a 100644
--- a/drivers/net/ethernet/fujitsu/fmvj18x_cs.c
+++ b/drivers/net/ethernet/fujitsu/fmvj18x_cs.c
@@ -57,7 +57,6 @@
57 57
58#include <asm/uaccess.h> 58#include <asm/uaccess.h>
59#include <asm/io.h> 59#include <asm/io.h>
60#include <asm/system.h>
61 60
62/*====================================================================*/ 61/*====================================================================*/
63 62
diff --git a/drivers/net/ethernet/i825xx/3c507.c b/drivers/net/ethernet/i825xx/3c507.c
index ed6925f11479..e8984b059905 100644
--- a/drivers/net/ethernet/i825xx/3c507.c
+++ b/drivers/net/ethernet/i825xx/3c507.c
@@ -63,7 +63,6 @@ static const char version[] =
63 63
64#include <asm/dma.h> 64#include <asm/dma.h>
65#include <asm/io.h> 65#include <asm/io.h>
66#include <asm/system.h>
67#include <asm/uaccess.h> 66#include <asm/uaccess.h>
68 67
69/* use 0 for production, 1 for verification, 2..7 for debug */ 68/* use 0 for production, 1 for verification, 2..7 for debug */
diff --git a/drivers/net/ethernet/i825xx/3c527.c b/drivers/net/ethernet/i825xx/3c527.c
index ef43f3e951c5..278e791afe00 100644
--- a/drivers/net/ethernet/i825xx/3c527.c
+++ b/drivers/net/ethernet/i825xx/3c527.c
@@ -106,7 +106,6 @@ DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE " Richard Procter <rnp@paradise.net.
106#include <linux/semaphore.h> 106#include <linux/semaphore.h>
107 107
108#include <asm/uaccess.h> 108#include <asm/uaccess.h>
109#include <asm/system.h>
110#include <asm/io.h> 109#include <asm/io.h>
111#include <asm/dma.h> 110#include <asm/dma.h>
112 111
diff --git a/drivers/net/ethernet/i825xx/eepro.c b/drivers/net/ethernet/i825xx/eepro.c
index 7a4ad4a07917..7f49fd54c521 100644
--- a/drivers/net/ethernet/i825xx/eepro.c
+++ b/drivers/net/ethernet/i825xx/eepro.c
@@ -148,7 +148,6 @@ static const char version[] =
148#include <linux/bitops.h> 148#include <linux/bitops.h>
149#include <linux/ethtool.h> 149#include <linux/ethtool.h>
150 150
151#include <asm/system.h>
152#include <asm/io.h> 151#include <asm/io.h>
153#include <asm/dma.h> 152#include <asm/dma.h>
154 153
diff --git a/drivers/net/ethernet/i825xx/eexpress.c b/drivers/net/ethernet/i825xx/eexpress.c
index 3fc649e54a32..cc2e66ad4436 100644
--- a/drivers/net/ethernet/i825xx/eexpress.c
+++ b/drivers/net/ethernet/i825xx/eexpress.c
@@ -116,7 +116,6 @@
116#include <linux/bitops.h> 116#include <linux/bitops.h>
117#include <linux/jiffies.h> 117#include <linux/jiffies.h>
118 118
119#include <asm/system.h>
120#include <asm/io.h> 119#include <asm/io.h>
121#include <asm/irq.h> 120#include <asm/irq.h>
122 121
diff --git a/drivers/net/ethernet/i825xx/ether1.c b/drivers/net/ethernet/i825xx/ether1.c
index 406a12b46404..067db3f13e91 100644
--- a/drivers/net/ethernet/i825xx/ether1.c
+++ b/drivers/net/ethernet/i825xx/ether1.c
@@ -48,7 +48,6 @@
48#include <linux/skbuff.h> 48#include <linux/skbuff.h>
49#include <linux/bitops.h> 49#include <linux/bitops.h>
50 50
51#include <asm/system.h>
52#include <asm/io.h> 51#include <asm/io.h>
53#include <asm/dma.h> 52#include <asm/dma.h>
54#include <asm/ecard.h> 53#include <asm/ecard.h>
diff --git a/drivers/net/ethernet/i825xx/znet.c b/drivers/net/ethernet/i825xx/znet.c
index a43649735a04..bd1f1ef91e19 100644
--- a/drivers/net/ethernet/i825xx/znet.c
+++ b/drivers/net/ethernet/i825xx/znet.c
@@ -100,7 +100,6 @@
100#include <linux/if_arp.h> 100#include <linux/if_arp.h>
101#include <linux/bitops.h> 101#include <linux/bitops.h>
102 102
103#include <asm/system.h>
104#include <asm/io.h> 103#include <asm/io.h>
105#include <asm/dma.h> 104#include <asm/dma.h>
106 105
diff --git a/drivers/net/ethernet/ibm/ibmveth.c b/drivers/net/ethernet/ibm/ibmveth.c
index e877371680a9..9010cea68bc3 100644
--- a/drivers/net/ethernet/ibm/ibmveth.c
+++ b/drivers/net/ethernet/ibm/ibmveth.c
@@ -1616,11 +1616,8 @@ static struct vio_driver ibmveth_driver = {
1616 .probe = ibmveth_probe, 1616 .probe = ibmveth_probe,
1617 .remove = ibmveth_remove, 1617 .remove = ibmveth_remove,
1618 .get_desired_dma = ibmveth_get_desired_dma, 1618 .get_desired_dma = ibmveth_get_desired_dma,
1619 .driver = { 1619 .name = ibmveth_driver_name,
1620 .name = ibmveth_driver_name, 1620 .pm = &ibmveth_pm_ops,
1621 .owner = THIS_MODULE,
1622 .pm = &ibmveth_pm_ops,
1623 }
1624}; 1621};
1625 1622
1626static int __init ibmveth_module_init(void) 1623static int __init ibmveth_module_init(void)
diff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h
index 86cdd4793992..b83897f76ee3 100644
--- a/drivers/net/ethernet/intel/e1000e/e1000.h
+++ b/drivers/net/ethernet/intel/e1000e/e1000.h
@@ -161,6 +161,12 @@ struct e1000_info;
161/* Time to wait before putting the device into D3 if there's no link (in ms). */ 161/* Time to wait before putting the device into D3 if there's no link (in ms). */
162#define LINK_TIMEOUT 100 162#define LINK_TIMEOUT 100
163 163
164/*
165 * Count for polling __E1000_RESET condition every 10-20msec.
166 * Experimentation has shown the reset can take approximately 210msec.
167 */
168#define E1000_CHECK_RESET_COUNT 25
169
164#define DEFAULT_RDTR 0 170#define DEFAULT_RDTR 0
165#define DEFAULT_RADV 8 171#define DEFAULT_RADV 8
166#define BURST_RDTR 0x20 172#define BURST_RDTR 0x20
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index f88dac614dec..851f7937db29 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -1060,6 +1060,13 @@ static void e1000_print_hw_hang(struct work_struct *work)
1060 ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD); 1060 ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
1061 /* execute the writes immediately */ 1061 /* execute the writes immediately */
1062 e1e_flush(); 1062 e1e_flush();
1063 /*
1064 * Due to rare timing issues, write to TIDV again to ensure
1065 * the write is successful
1066 */
1067 ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
1068 /* execute the writes immediately */
1069 e1e_flush();
1063 adapter->tx_hang_recheck = true; 1070 adapter->tx_hang_recheck = true;
1064 return; 1071 return;
1065 } 1072 }
@@ -3615,6 +3622,16 @@ static void e1000e_flush_descriptors(struct e1000_adapter *adapter)
3615 3622
3616 /* execute the writes immediately */ 3623 /* execute the writes immediately */
3617 e1e_flush(); 3624 e1e_flush();
3625
3626 /*
3627 * due to rare timing issues, write to TIDV/RDTR again to ensure the
3628 * write is successful
3629 */
3630 ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
3631 ew32(RDTR, adapter->rx_int_delay | E1000_RDTR_FPD);
3632
3633 /* execute the writes immediately */
3634 e1e_flush();
3618} 3635}
3619 3636
3620static void e1000e_update_stats(struct e1000_adapter *adapter); 3637static void e1000e_update_stats(struct e1000_adapter *adapter);
@@ -3967,6 +3984,10 @@ static int e1000_close(struct net_device *netdev)
3967{ 3984{
3968 struct e1000_adapter *adapter = netdev_priv(netdev); 3985 struct e1000_adapter *adapter = netdev_priv(netdev);
3969 struct pci_dev *pdev = adapter->pdev; 3986 struct pci_dev *pdev = adapter->pdev;
3987 int count = E1000_CHECK_RESET_COUNT;
3988
3989 while (test_bit(__E1000_RESETTING, &adapter->state) && count--)
3990 usleep_range(10000, 20000);
3970 3991
3971 WARN_ON(test_bit(__E1000_RESETTING, &adapter->state)); 3992 WARN_ON(test_bit(__E1000_RESETTING, &adapter->state));
3972 3993
@@ -5471,6 +5492,11 @@ static int __e1000_shutdown(struct pci_dev *pdev, bool *enable_wake,
5471 netif_device_detach(netdev); 5492 netif_device_detach(netdev);
5472 5493
5473 if (netif_running(netdev)) { 5494 if (netif_running(netdev)) {
5495 int count = E1000_CHECK_RESET_COUNT;
5496
5497 while (test_bit(__E1000_RESETTING, &adapter->state) && count--)
5498 usleep_range(10000, 20000);
5499
5474 WARN_ON(test_bit(__E1000_RESETTING, &adapter->state)); 5500 WARN_ON(test_bit(__E1000_RESETTING, &adapter->state));
5475 e1000e_down(adapter); 5501 e1000e_down(adapter);
5476 e1000_free_irq(adapter); 5502 e1000_free_irq(adapter);
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
index dde65f951400..652e4b09546d 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c
@@ -44,62 +44,94 @@
44#define DCB_NO_HW_CHG 1 /* DCB configuration did not change */ 44#define DCB_NO_HW_CHG 1 /* DCB configuration did not change */
45#define DCB_HW_CHG 2 /* DCB configuration changed, no reset */ 45#define DCB_HW_CHG 2 /* DCB configuration changed, no reset */
46 46
47int ixgbe_copy_dcb_cfg(struct ixgbe_dcb_config *src_dcb_cfg, 47int ixgbe_copy_dcb_cfg(struct ixgbe_dcb_config *scfg,
48 struct ixgbe_dcb_config *dst_dcb_cfg, int tc_max) 48 struct ixgbe_dcb_config *dcfg, int tc_max)
49{ 49{
50 struct tc_configuration *src_tc_cfg = NULL; 50 struct tc_configuration *src = NULL;
51 struct tc_configuration *dst_tc_cfg = NULL; 51 struct tc_configuration *dst = NULL;
52 int i; 52 int i, j;
53 int tx = DCB_TX_CONFIG;
54 int rx = DCB_RX_CONFIG;
55 int changes = 0;
53 56
54 if (!src_dcb_cfg || !dst_dcb_cfg) 57 if (!scfg || !dcfg)
55 return -EINVAL; 58 return changes;
56 59
57 for (i = DCB_PG_ATTR_TC_0; i < tc_max + DCB_PG_ATTR_TC_0; i++) { 60 for (i = DCB_PG_ATTR_TC_0; i < tc_max + DCB_PG_ATTR_TC_0; i++) {
58 src_tc_cfg = &src_dcb_cfg->tc_config[i - DCB_PG_ATTR_TC_0]; 61 src = &scfg->tc_config[i - DCB_PG_ATTR_TC_0];
59 dst_tc_cfg = &dst_dcb_cfg->tc_config[i - DCB_PG_ATTR_TC_0]; 62 dst = &dcfg->tc_config[i - DCB_PG_ATTR_TC_0];
60 63
61 dst_tc_cfg->path[DCB_TX_CONFIG].prio_type = 64 if (dst->path[tx].prio_type != src->path[tx].prio_type) {
62 src_tc_cfg->path[DCB_TX_CONFIG].prio_type; 65 dst->path[tx].prio_type = src->path[tx].prio_type;
66 changes |= BIT_PG_TX;
67 }
63 68
64 dst_tc_cfg->path[DCB_TX_CONFIG].bwg_id = 69 if (dst->path[tx].bwg_id != src->path[tx].bwg_id) {
65 src_tc_cfg->path[DCB_TX_CONFIG].bwg_id; 70 dst->path[tx].bwg_id = src->path[tx].bwg_id;
71 changes |= BIT_PG_TX;
72 }
66 73
67 dst_tc_cfg->path[DCB_TX_CONFIG].bwg_percent = 74 if (dst->path[tx].bwg_percent != src->path[tx].bwg_percent) {
68 src_tc_cfg->path[DCB_TX_CONFIG].bwg_percent; 75 dst->path[tx].bwg_percent = src->path[tx].bwg_percent;
76 changes |= BIT_PG_TX;
77 }
69 78
70 dst_tc_cfg->path[DCB_TX_CONFIG].up_to_tc_bitmap = 79 if (dst->path[tx].up_to_tc_bitmap !=
71 src_tc_cfg->path[DCB_TX_CONFIG].up_to_tc_bitmap; 80 src->path[tx].up_to_tc_bitmap) {
81 dst->path[tx].up_to_tc_bitmap =
82 src->path[tx].up_to_tc_bitmap;
83 changes |= (BIT_PG_TX | BIT_PFC | BIT_APP_UPCHG);
84 }
72 85
73 dst_tc_cfg->path[DCB_RX_CONFIG].prio_type = 86 if (dst->path[rx].prio_type != src->path[rx].prio_type) {
74 src_tc_cfg->path[DCB_RX_CONFIG].prio_type; 87 dst->path[rx].prio_type = src->path[rx].prio_type;
88 changes |= BIT_PG_RX;
89 }
75 90
76 dst_tc_cfg->path[DCB_RX_CONFIG].bwg_id = 91 if (dst->path[rx].bwg_id != src->path[rx].bwg_id) {
77 src_tc_cfg->path[DCB_RX_CONFIG].bwg_id; 92 dst->path[rx].bwg_id = src->path[rx].bwg_id;
93 changes |= BIT_PG_RX;
94 }
78 95
79 dst_tc_cfg->path[DCB_RX_CONFIG].bwg_percent = 96 if (dst->path[rx].bwg_percent != src->path[rx].bwg_percent) {
80 src_tc_cfg->path[DCB_RX_CONFIG].bwg_percent; 97 dst->path[rx].bwg_percent = src->path[rx].bwg_percent;
98 changes |= BIT_PG_RX;
99 }
81 100
82 dst_tc_cfg->path[DCB_RX_CONFIG].up_to_tc_bitmap = 101 if (dst->path[rx].up_to_tc_bitmap !=
83 src_tc_cfg->path[DCB_RX_CONFIG].up_to_tc_bitmap; 102 src->path[rx].up_to_tc_bitmap) {
103 dst->path[rx].up_to_tc_bitmap =
104 src->path[rx].up_to_tc_bitmap;
105 changes |= (BIT_PG_RX | BIT_PFC | BIT_APP_UPCHG);
106 }
84 } 107 }
85 108
86 for (i = DCB_PG_ATTR_BW_ID_0; i < DCB_PG_ATTR_BW_ID_MAX; i++) { 109 for (i = DCB_PG_ATTR_BW_ID_0; i < DCB_PG_ATTR_BW_ID_MAX; i++) {
87 dst_dcb_cfg->bw_percentage[DCB_TX_CONFIG] 110 j = i - DCB_PG_ATTR_BW_ID_0;
88 [i-DCB_PG_ATTR_BW_ID_0] = src_dcb_cfg->bw_percentage 111 if (dcfg->bw_percentage[tx][j] != scfg->bw_percentage[tx][j]) {
89 [DCB_TX_CONFIG][i-DCB_PG_ATTR_BW_ID_0]; 112 dcfg->bw_percentage[tx][j] = scfg->bw_percentage[tx][j];
90 dst_dcb_cfg->bw_percentage[DCB_RX_CONFIG] 113 changes |= BIT_PG_TX;
91 [i-DCB_PG_ATTR_BW_ID_0] = src_dcb_cfg->bw_percentage 114 }
92 [DCB_RX_CONFIG][i-DCB_PG_ATTR_BW_ID_0]; 115 if (dcfg->bw_percentage[rx][j] != scfg->bw_percentage[rx][j]) {
116 dcfg->bw_percentage[rx][j] = scfg->bw_percentage[rx][j];
117 changes |= BIT_PG_RX;
118 }
93 } 119 }
94 120
95 for (i = DCB_PFC_UP_ATTR_0; i < DCB_PFC_UP_ATTR_MAX; i++) { 121 for (i = DCB_PFC_UP_ATTR_0; i < DCB_PFC_UP_ATTR_MAX; i++) {
96 dst_dcb_cfg->tc_config[i - DCB_PFC_UP_ATTR_0].dcb_pfc = 122 j = i - DCB_PFC_UP_ATTR_0;
97 src_dcb_cfg->tc_config[i - DCB_PFC_UP_ATTR_0].dcb_pfc; 123 if (dcfg->tc_config[j].dcb_pfc != scfg->tc_config[j].dcb_pfc) {
124 dcfg->tc_config[j].dcb_pfc = scfg->tc_config[j].dcb_pfc;
125 changes |= BIT_PFC;
126 }
98 } 127 }
99 128
100 dst_dcb_cfg->pfc_mode_enable = src_dcb_cfg->pfc_mode_enable; 129 if (dcfg->pfc_mode_enable != scfg->pfc_mode_enable) {
130 dcfg->pfc_mode_enable = scfg->pfc_mode_enable;
131 changes |= BIT_PFC;
132 }
101 133
102 return 0; 134 return changes;
103} 135}
104 136
105static u8 ixgbe_dcbnl_get_state(struct net_device *netdev) 137static u8 ixgbe_dcbnl_get_state(struct net_device *netdev)
@@ -179,20 +211,6 @@ static void ixgbe_dcbnl_set_pg_tc_cfg_tx(struct net_device *netdev, int tc,
179 if (up_map != DCB_ATTR_VALUE_UNDEFINED) 211 if (up_map != DCB_ATTR_VALUE_UNDEFINED)
180 adapter->temp_dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap = 212 adapter->temp_dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap =
181 up_map; 213 up_map;
182
183 if ((adapter->temp_dcb_cfg.tc_config[tc].path[0].prio_type !=
184 adapter->dcb_cfg.tc_config[tc].path[0].prio_type) ||
185 (adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_id !=
186 adapter->dcb_cfg.tc_config[tc].path[0].bwg_id) ||
187 (adapter->temp_dcb_cfg.tc_config[tc].path[0].bwg_percent !=
188 adapter->dcb_cfg.tc_config[tc].path[0].bwg_percent) ||
189 (adapter->temp_dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap !=
190 adapter->dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap))
191 adapter->dcb_set_bitmap |= BIT_PG_TX;
192
193 if (adapter->temp_dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap !=
194 adapter->dcb_cfg.tc_config[tc].path[0].up_to_tc_bitmap)
195 adapter->dcb_set_bitmap |= BIT_PFC | BIT_APP_UPCHG;
196} 214}
197 215
198static void ixgbe_dcbnl_set_pg_bwg_cfg_tx(struct net_device *netdev, int bwg_id, 216static void ixgbe_dcbnl_set_pg_bwg_cfg_tx(struct net_device *netdev, int bwg_id,
@@ -201,10 +219,6 @@ static void ixgbe_dcbnl_set_pg_bwg_cfg_tx(struct net_device *netdev, int bwg_id,
201 struct ixgbe_adapter *adapter = netdev_priv(netdev); 219 struct ixgbe_adapter *adapter = netdev_priv(netdev);
202 220
203 adapter->temp_dcb_cfg.bw_percentage[0][bwg_id] = bw_pct; 221 adapter->temp_dcb_cfg.bw_percentage[0][bwg_id] = bw_pct;
204
205 if (adapter->temp_dcb_cfg.bw_percentage[0][bwg_id] !=
206 adapter->dcb_cfg.bw_percentage[0][bwg_id])
207 adapter->dcb_set_bitmap |= BIT_PG_TX;
208} 222}
209 223
210static void ixgbe_dcbnl_set_pg_tc_cfg_rx(struct net_device *netdev, int tc, 224static void ixgbe_dcbnl_set_pg_tc_cfg_rx(struct net_device *netdev, int tc,
@@ -223,20 +237,6 @@ static void ixgbe_dcbnl_set_pg_tc_cfg_rx(struct net_device *netdev, int tc,
223 if (up_map != DCB_ATTR_VALUE_UNDEFINED) 237 if (up_map != DCB_ATTR_VALUE_UNDEFINED)
224 adapter->temp_dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap = 238 adapter->temp_dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap =
225 up_map; 239 up_map;
226
227 if ((adapter->temp_dcb_cfg.tc_config[tc].path[1].prio_type !=
228 adapter->dcb_cfg.tc_config[tc].path[1].prio_type) ||
229 (adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_id !=
230 adapter->dcb_cfg.tc_config[tc].path[1].bwg_id) ||
231 (adapter->temp_dcb_cfg.tc_config[tc].path[1].bwg_percent !=
232 adapter->dcb_cfg.tc_config[tc].path[1].bwg_percent) ||
233 (adapter->temp_dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap !=
234 adapter->dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap))
235 adapter->dcb_set_bitmap |= BIT_PG_RX;
236
237 if (adapter->temp_dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap !=
238 adapter->dcb_cfg.tc_config[tc].path[1].up_to_tc_bitmap)
239 adapter->dcb_set_bitmap |= BIT_PFC;
240} 240}
241 241
242static void ixgbe_dcbnl_set_pg_bwg_cfg_rx(struct net_device *netdev, int bwg_id, 242static void ixgbe_dcbnl_set_pg_bwg_cfg_rx(struct net_device *netdev, int bwg_id,
@@ -245,10 +245,6 @@ static void ixgbe_dcbnl_set_pg_bwg_cfg_rx(struct net_device *netdev, int bwg_id,
245 struct ixgbe_adapter *adapter = netdev_priv(netdev); 245 struct ixgbe_adapter *adapter = netdev_priv(netdev);
246 246
247 adapter->temp_dcb_cfg.bw_percentage[1][bwg_id] = bw_pct; 247 adapter->temp_dcb_cfg.bw_percentage[1][bwg_id] = bw_pct;
248
249 if (adapter->temp_dcb_cfg.bw_percentage[1][bwg_id] !=
250 adapter->dcb_cfg.bw_percentage[1][bwg_id])
251 adapter->dcb_set_bitmap |= BIT_PG_RX;
252} 248}
253 249
254static void ixgbe_dcbnl_get_pg_tc_cfg_tx(struct net_device *netdev, int tc, 250static void ixgbe_dcbnl_get_pg_tc_cfg_tx(struct net_device *netdev, int tc,
@@ -298,10 +294,8 @@ static void ixgbe_dcbnl_set_pfc_cfg(struct net_device *netdev, int priority,
298 294
299 adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc = setting; 295 adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc = setting;
300 if (adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc != 296 if (adapter->temp_dcb_cfg.tc_config[priority].dcb_pfc !=
301 adapter->dcb_cfg.tc_config[priority].dcb_pfc) { 297 adapter->dcb_cfg.tc_config[priority].dcb_pfc)
302 adapter->dcb_set_bitmap |= BIT_PFC;
303 adapter->temp_dcb_cfg.pfc_mode_enable = true; 298 adapter->temp_dcb_cfg.pfc_mode_enable = true;
304 }
305} 299}
306 300
307static void ixgbe_dcbnl_get_pfc_cfg(struct net_device *netdev, int priority, 301static void ixgbe_dcbnl_get_pfc_cfg(struct net_device *netdev, int priority,
@@ -336,7 +330,8 @@ static void ixgbe_dcbnl_devreset(struct net_device *dev)
336static u8 ixgbe_dcbnl_set_all(struct net_device *netdev) 330static u8 ixgbe_dcbnl_set_all(struct net_device *netdev)
337{ 331{
338 struct ixgbe_adapter *adapter = netdev_priv(netdev); 332 struct ixgbe_adapter *adapter = netdev_priv(netdev);
339 int ret, i; 333 int ret = DCB_NO_HW_CHG;
334 int i;
340#ifdef IXGBE_FCOE 335#ifdef IXGBE_FCOE
341 struct dcb_app app = { 336 struct dcb_app app = {
342 .selector = DCB_APP_IDTYPE_ETHTYPE, 337 .selector = DCB_APP_IDTYPE_ETHTYPE,
@@ -355,12 +350,13 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev)
355 350
356 /* Fail command if not in CEE mode */ 351 /* Fail command if not in CEE mode */
357 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE)) 352 if (!(adapter->dcbx_cap & DCB_CAP_DCBX_VER_CEE))
358 return 1; 353 return ret;
359 354
360 ret = ixgbe_copy_dcb_cfg(&adapter->temp_dcb_cfg, &adapter->dcb_cfg, 355 adapter->dcb_set_bitmap |= ixgbe_copy_dcb_cfg(&adapter->temp_dcb_cfg,
361 MAX_TRAFFIC_CLASS); 356 &adapter->dcb_cfg,
362 if (ret) 357 MAX_TRAFFIC_CLASS);
363 return DCB_NO_HW_CHG; 358 if (!adapter->dcb_set_bitmap)
359 return ret;
364 360
365 if (adapter->dcb_cfg.pfc_mode_enable) { 361 if (adapter->dcb_cfg.pfc_mode_enable) {
366 switch (adapter->hw.mac.type) { 362 switch (adapter->hw.mac.type) {
@@ -420,6 +416,8 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev)
420 416
421 for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) 417 for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++)
422 netdev_set_prio_tc_map(netdev, i, prio_tc[i]); 418 netdev_set_prio_tc_map(netdev, i, prio_tc[i]);
419
420 ret = DCB_HW_CHG_RST;
423 } 421 }
424 422
425 if (adapter->dcb_set_bitmap & BIT_PFC) { 423 if (adapter->dcb_set_bitmap & BIT_PFC) {
@@ -430,7 +428,8 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev)
430 DCB_TX_CONFIG, prio_tc); 428 DCB_TX_CONFIG, prio_tc);
431 ixgbe_dcb_unpack_pfc(&adapter->dcb_cfg, &pfc_en); 429 ixgbe_dcb_unpack_pfc(&adapter->dcb_cfg, &pfc_en);
432 ixgbe_dcb_hw_pfc_config(&adapter->hw, pfc_en, prio_tc); 430 ixgbe_dcb_hw_pfc_config(&adapter->hw, pfc_en, prio_tc);
433 ret = DCB_HW_CHG; 431 if (ret != DCB_HW_CHG_RST)
432 ret = DCB_HW_CHG;
434 } 433 }
435 434
436 if (adapter->dcb_cfg.pfc_mode_enable) 435 if (adapter->dcb_cfg.pfc_mode_enable)
@@ -531,9 +530,6 @@ static void ixgbe_dcbnl_setpfcstate(struct net_device *netdev, u8 state)
531 struct ixgbe_adapter *adapter = netdev_priv(netdev); 530 struct ixgbe_adapter *adapter = netdev_priv(netdev);
532 531
533 adapter->temp_dcb_cfg.pfc_mode_enable = state; 532 adapter->temp_dcb_cfg.pfc_mode_enable = state;
534 if (adapter->temp_dcb_cfg.pfc_mode_enable !=
535 adapter->dcb_cfg.pfc_mode_enable)
536 adapter->dcb_set_bitmap |= BIT_PFC;
537} 533}
538 534
539/** 535/**
diff --git a/drivers/net/ethernet/korina.c b/drivers/net/ethernet/korina.c
index f30db1c46600..bc58f1dc22f5 100644
--- a/drivers/net/ethernet/korina.c
+++ b/drivers/net/ethernet/korina.c
@@ -55,7 +55,6 @@
55#include <linux/crc32.h> 55#include <linux/crc32.h>
56 56
57#include <asm/bootinfo.h> 57#include <asm/bootinfo.h>
58#include <asm/system.h>
59#include <asm/bitops.h> 58#include <asm/bitops.h>
60#include <asm/pgtable.h> 59#include <asm/pgtable.h>
61#include <asm/io.h> 60#include <asm/io.h>
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index 153d33210e89..c8950da60e6b 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -57,7 +57,6 @@
57#include <linux/types.h> 57#include <linux/types.h>
58#include <linux/inet_lro.h> 58#include <linux/inet_lro.h>
59#include <linux/slab.h> 59#include <linux/slab.h>
60#include <asm/system.h>
61 60
62static char mv643xx_eth_driver_name[] = "mv643xx_eth"; 61static char mv643xx_eth_driver_name[] = "mv643xx_eth";
63static char mv643xx_eth_driver_version[] = "1.4"; 62static char mv643xx_eth_driver_version[] = "1.4";
diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
index 44bad608eed7..1db023b075a1 100644
--- a/drivers/net/ethernet/marvell/pxa168_eth.c
+++ b/drivers/net/ethernet/marvell/pxa168_eth.c
@@ -43,7 +43,6 @@
43#include <linux/interrupt.h> 43#include <linux/interrupt.h>
44#include <linux/types.h> 44#include <linux/types.h>
45#include <asm/pgtable.h> 45#include <asm/pgtable.h>
46#include <asm/system.h>
47#include <asm/cacheflush.h> 46#include <asm/cacheflush.h>
48#include <linux/pxa168_eth.h> 47#include <linux/pxa168_eth.h>
49 48
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
index 20a59322c79d..7732474263da 100644
--- a/drivers/net/ethernet/marvell/sky2.c
+++ b/drivers/net/ethernet/marvell/sky2.c
@@ -1767,13 +1767,14 @@ static int sky2_open(struct net_device *dev)
1767 1767
1768 sky2_hw_up(sky2); 1768 sky2_hw_up(sky2);
1769 1769
1770 /* Enable interrupts from phy/mac for port */
1771 imask = sky2_read32(hw, B0_IMSK);
1772
1770 if (hw->chip_id == CHIP_ID_YUKON_OPT || 1773 if (hw->chip_id == CHIP_ID_YUKON_OPT ||
1771 hw->chip_id == CHIP_ID_YUKON_PRM || 1774 hw->chip_id == CHIP_ID_YUKON_PRM ||
1772 hw->chip_id == CHIP_ID_YUKON_OP_2) 1775 hw->chip_id == CHIP_ID_YUKON_OP_2)
1773 imask |= Y2_IS_PHY_QLNK; /* enable PHY Quick Link */ 1776 imask |= Y2_IS_PHY_QLNK; /* enable PHY Quick Link */
1774 1777
1775 /* Enable interrupts from phy/mac for port */
1776 imask = sky2_read32(hw, B0_IMSK);
1777 imask |= portirq_msk[port]; 1778 imask |= portirq_msk[port];
1778 sky2_write32(hw, B0_IMSK, imask); 1779 sky2_write32(hw, B0_IMSK, imask);
1779 sky2_read32(hw, B0_IMSK); 1780 sky2_read32(hw, B0_IMSK);
@@ -2468,6 +2469,17 @@ static int sky2_change_mtu(struct net_device *dev, int new_mtu)
2468 return err; 2469 return err;
2469} 2470}
2470 2471
2472static inline bool needs_copy(const struct rx_ring_info *re,
2473 unsigned length)
2474{
2475#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
2476 /* Some architectures need the IP header to be aligned */
2477 if (!IS_ALIGNED(re->data_addr + ETH_HLEN, sizeof(u32)))
2478 return true;
2479#endif
2480 return length < copybreak;
2481}
2482
2471/* For small just reuse existing skb for next receive */ 2483/* For small just reuse existing skb for next receive */
2472static struct sk_buff *receive_copy(struct sky2_port *sky2, 2484static struct sk_buff *receive_copy(struct sky2_port *sky2,
2473 const struct rx_ring_info *re, 2485 const struct rx_ring_info *re,
@@ -2598,7 +2610,7 @@ static struct sk_buff *sky2_receive(struct net_device *dev,
2598 goto error; 2610 goto error;
2599 2611
2600okay: 2612okay:
2601 if (length < copybreak) 2613 if (needs_copy(re, length))
2602 skb = receive_copy(sky2, re, length); 2614 skb = receive_copy(sky2, re, length);
2603 else 2615 else
2604 skb = receive_new(sky2, re, length); 2616 skb = receive_new(sky2, re, length);
diff --git a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
index 3879c5eee62b..47e1c0ff1775 100644
--- a/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
+++ b/drivers/net/ethernet/mellanox/mlx4/mlx4_en.h
@@ -86,8 +86,9 @@
86 86
87#define MLX4_EN_WATCHDOG_TIMEOUT (15 * HZ) 87#define MLX4_EN_WATCHDOG_TIMEOUT (15 * HZ)
88 88
89#define MLX4_EN_ALLOC_ORDER 2 89/* Use the maximum between 16384 and a single page */
90#define MLX4_EN_ALLOC_SIZE (PAGE_SIZE << MLX4_EN_ALLOC_ORDER) 90#define MLX4_EN_ALLOC_SIZE PAGE_ALIGN(16384)
91#define MLX4_EN_ALLOC_ORDER get_order(MLX4_EN_ALLOC_SIZE)
91 92
92#define MLX4_EN_MAX_LRO_DESCRIPTORS 32 93#define MLX4_EN_MAX_LRO_DESCRIPTORS 32
93 94
diff --git a/drivers/net/ethernet/micrel/ks8842.c b/drivers/net/ethernet/micrel/ks8842.c
index 0686b93f1857..f84dd2dc82b6 100644
--- a/drivers/net/ethernet/micrel/ks8842.c
+++ b/drivers/net/ethernet/micrel/ks8842.c
@@ -458,7 +458,7 @@ static int ks8842_tx_frame_dma(struct sk_buff *skb, struct net_device *netdev)
458 if (sg_dma_len(&ctl->sg) % 4) 458 if (sg_dma_len(&ctl->sg) % 4)
459 sg_dma_len(&ctl->sg) += 4 - sg_dma_len(&ctl->sg) % 4; 459 sg_dma_len(&ctl->sg) += 4 - sg_dma_len(&ctl->sg) % 4;
460 460
461 ctl->adesc = ctl->chan->device->device_prep_slave_sg(ctl->chan, 461 ctl->adesc = dmaengine_prep_slave_sg(ctl->chan,
462 &ctl->sg, 1, DMA_MEM_TO_DEV, 462 &ctl->sg, 1, DMA_MEM_TO_DEV,
463 DMA_PREP_INTERRUPT | DMA_COMPL_SKIP_SRC_UNMAP); 463 DMA_PREP_INTERRUPT | DMA_COMPL_SKIP_SRC_UNMAP);
464 if (!ctl->adesc) 464 if (!ctl->adesc)
@@ -570,7 +570,7 @@ static int __ks8842_start_new_rx_dma(struct net_device *netdev)
570 570
571 sg_dma_len(sg) = DMA_BUFFER_SIZE; 571 sg_dma_len(sg) = DMA_BUFFER_SIZE;
572 572
573 ctl->adesc = ctl->chan->device->device_prep_slave_sg(ctl->chan, 573 ctl->adesc = dmaengine_prep_slave_sg(ctl->chan,
574 sg, 1, DMA_DEV_TO_MEM, 574 sg, 1, DMA_DEV_TO_MEM,
575 DMA_PREP_INTERRUPT | DMA_COMPL_SKIP_SRC_UNMAP); 575 DMA_PREP_INTERRUPT | DMA_COMPL_SKIP_SRC_UNMAP);
576 576
diff --git a/drivers/net/ethernet/natsemi/jazzsonic.c b/drivers/net/ethernet/natsemi/jazzsonic.c
index 5b89fd377ae3..95dd39ffb230 100644
--- a/drivers/net/ethernet/natsemi/jazzsonic.c
+++ b/drivers/net/ethernet/natsemi/jazzsonic.c
@@ -38,7 +38,6 @@
38#include <linux/slab.h> 38#include <linux/slab.h>
39 39
40#include <asm/bootinfo.h> 40#include <asm/bootinfo.h>
41#include <asm/system.h>
42#include <asm/pgtable.h> 41#include <asm/pgtable.h>
43#include <asm/io.h> 42#include <asm/io.h>
44#include <asm/dma.h> 43#include <asm/dma.h>
diff --git a/drivers/net/ethernet/natsemi/macsonic.c b/drivers/net/ethernet/natsemi/macsonic.c
index e640e23460de..b9680ba5a325 100644
--- a/drivers/net/ethernet/natsemi/macsonic.c
+++ b/drivers/net/ethernet/natsemi/macsonic.c
@@ -53,7 +53,6 @@
53#include <linux/slab.h> 53#include <linux/slab.h>
54 54
55#include <asm/bootinfo.h> 55#include <asm/bootinfo.h>
56#include <asm/system.h>
57#include <asm/pgtable.h> 56#include <asm/pgtable.h>
58#include <asm/io.h> 57#include <asm/io.h>
59#include <asm/hwtest.h> 58#include <asm/hwtest.h>
diff --git a/drivers/net/ethernet/natsemi/ns83820.c b/drivers/net/ethernet/natsemi/ns83820.c
index c24b46cbfe27..d52728b3c436 100644
--- a/drivers/net/ethernet/natsemi/ns83820.c
+++ b/drivers/net/ethernet/natsemi/ns83820.c
@@ -121,7 +121,6 @@
121 121
122#include <asm/io.h> 122#include <asm/io.h>
123#include <asm/uaccess.h> 123#include <asm/uaccess.h>
124#include <asm/system.h>
125 124
126#define DRV_NAME "ns83820" 125#define DRV_NAME "ns83820"
127 126
diff --git a/drivers/net/ethernet/neterion/s2io.c b/drivers/net/ethernet/neterion/s2io.c
index eb2ab048cbca..bb367582c1e8 100644
--- a/drivers/net/ethernet/neterion/s2io.c
+++ b/drivers/net/ethernet/neterion/s2io.c
@@ -81,7 +81,6 @@
81#include <linux/prefetch.h> 81#include <linux/prefetch.h>
82#include <net/tcp.h> 82#include <net/tcp.h>
83 83
84#include <asm/system.h>
85#include <asm/div64.h> 84#include <asm/div64.h>
86#include <asm/irq.h> 85#include <asm/irq.h>
87 86
diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c
index 84952b308f83..d93a088debc3 100644
--- a/drivers/net/ethernet/nvidia/forcedeth.c
+++ b/drivers/net/ethernet/nvidia/forcedeth.c
@@ -69,7 +69,6 @@
69#include <linux/io.h> 69#include <linux/io.h>
70 70
71#include <asm/irq.h> 71#include <asm/irq.h>
72#include <asm/system.h>
73 72
74#define TX_WORK_PER_LOOP 64 73#define TX_WORK_PER_LOOP 64
75#define RX_WORK_PER_LOOP 64 74#define RX_WORK_PER_LOOP 64
diff --git a/drivers/net/ethernet/realtek/atp.c b/drivers/net/ethernet/realtek/atp.c
index 46c1932048cb..e02f04d7f3ad 100644
--- a/drivers/net/ethernet/realtek/atp.c
+++ b/drivers/net/ethernet/realtek/atp.c
@@ -140,7 +140,6 @@ static int xcvr[NUM_UNITS]; /* The data transfer mode. */
140#include <linux/delay.h> 140#include <linux/delay.h>
141#include <linux/bitops.h> 141#include <linux/bitops.h>
142 142
143#include <asm/system.h>
144#include <asm/io.h> 143#include <asm/io.h>
145#include <asm/dma.h> 144#include <asm/dma.h>
146 145
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 074a5741baf3..71393ea8ef51 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -29,7 +29,6 @@
29#include <linux/pci-aspm.h> 29#include <linux/pci-aspm.h>
30#include <linux/prefetch.h> 30#include <linux/prefetch.h>
31 31
32#include <asm/system.h>
33#include <asm/io.h> 32#include <asm/io.h>
34#include <asm/irq.h> 33#include <asm/irq.h>
35 34
@@ -5812,7 +5811,10 @@ static void __rtl8169_resume(struct net_device *dev)
5812 5811
5813 rtl_pll_power_up(tp); 5812 rtl_pll_power_up(tp);
5814 5813
5814 rtl_lock_work(tp);
5815 napi_enable(&tp->napi);
5815 set_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags); 5816 set_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags);
5817 rtl_unlock_work(tp);
5816 5818
5817 rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING); 5819 rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING);
5818} 5820}
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index 5999e961defa..be3c22179161 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -912,7 +912,7 @@ static int sh_eth_dev_init(struct net_device *ndev)
912 /* all sh_eth int mask */ 912 /* all sh_eth int mask */
913 sh_eth_write(ndev, 0, EESIPR); 913 sh_eth_write(ndev, 0, EESIPR);
914 914
915#if defined(__LITTLE_ENDIAN__) 915#if defined(__LITTLE_ENDIAN)
916 if (mdp->cd->hw_swap) 916 if (mdp->cd->hw_swap)
917 sh_eth_write(ndev, EDMR_EL, EDMR); 917 sh_eth_write(ndev, EDMR_EL, EDMR);
918 else 918 else
diff --git a/drivers/net/ethernet/renesas/sh_eth.h b/drivers/net/ethernet/renesas/sh_eth.h
index 2d80feadc861..57b8e1fc5d15 100644
--- a/drivers/net/ethernet/renesas/sh_eth.h
+++ b/drivers/net/ethernet/renesas/sh_eth.h
@@ -694,7 +694,7 @@ enum TSU_FWSLC_BIT {
694 */ 694 */
695struct sh_eth_txdesc { 695struct sh_eth_txdesc {
696 u32 status; /* TD0 */ 696 u32 status; /* TD0 */
697#if defined(CONFIG_CPU_LITTLE_ENDIAN) 697#if defined(__LITTLE_ENDIAN)
698 u16 pad0; /* TD1 */ 698 u16 pad0; /* TD1 */
699 u16 buffer_length; /* TD1 */ 699 u16 buffer_length; /* TD1 */
700#else 700#else
@@ -711,7 +711,7 @@ struct sh_eth_txdesc {
711 */ 711 */
712struct sh_eth_rxdesc { 712struct sh_eth_rxdesc {
713 u32 status; /* RD0 */ 713 u32 status; /* RD0 */
714#if defined(CONFIG_CPU_LITTLE_ENDIAN) 714#if defined(__LITTLE_ENDIAN)
715 u16 frame_length; /* RD1 */ 715 u16 frame_length; /* RD1 */
716 u16 buffer_length; /* RD1 */ 716 u16 buffer_length; /* RD1 */
717#else 717#else
diff --git a/drivers/net/ethernet/seeq/ether3.c b/drivers/net/ethernet/seeq/ether3.c
index 7b819bd8c416..df808ac8cb65 100644
--- a/drivers/net/ethernet/seeq/ether3.c
+++ b/drivers/net/ethernet/seeq/ether3.c
@@ -64,7 +64,6 @@
64#include <linux/delay.h> 64#include <linux/delay.h>
65#include <linux/bitops.h> 65#include <linux/bitops.h>
66 66
67#include <asm/system.h>
68#include <asm/ecard.h> 67#include <asm/ecard.h>
69#include <asm/io.h> 68#include <asm/io.h>
70 69
diff --git a/drivers/net/ethernet/seeq/seeq8005.c b/drivers/net/ethernet/seeq/seeq8005.c
index 798990774446..698edbbfc149 100644
--- a/drivers/net/ethernet/seeq/seeq8005.c
+++ b/drivers/net/ethernet/seeq/seeq8005.c
@@ -47,7 +47,6 @@ static const char version[] =
47#include <linux/bitops.h> 47#include <linux/bitops.h>
48#include <linux/jiffies.h> 48#include <linux/jiffies.h>
49 49
50#include <asm/system.h>
51#include <asm/io.h> 50#include <asm/io.h>
52#include <asm/dma.h> 51#include <asm/dma.h>
53 52
diff --git a/drivers/net/ethernet/sfc/mtd.c b/drivers/net/ethernet/sfc/mtd.c
index 26b3c23b0b6f..758148379b0e 100644
--- a/drivers/net/ethernet/sfc/mtd.c
+++ b/drivers/net/ethernet/sfc/mtd.c
@@ -193,7 +193,7 @@ static int efx_mtd_erase(struct mtd_info *mtd, struct erase_info *erase)
193 erase->state = MTD_ERASE_DONE; 193 erase->state = MTD_ERASE_DONE;
194 } else { 194 } else {
195 erase->state = MTD_ERASE_FAILED; 195 erase->state = MTD_ERASE_FAILED;
196 erase->fail_addr = 0xffffffff; 196 erase->fail_addr = MTD_FAIL_ADDR_UNKNOWN;
197 } 197 }
198 mtd_erase_callback(erase); 198 mtd_erase_callback(erase);
199 return rc; 199 return rc;
@@ -263,10 +263,10 @@ static int efx_mtd_probe_device(struct efx_nic *efx, struct efx_mtd *efx_mtd)
263 part->mtd.owner = THIS_MODULE; 263 part->mtd.owner = THIS_MODULE;
264 part->mtd.priv = efx_mtd; 264 part->mtd.priv = efx_mtd;
265 part->mtd.name = part->name; 265 part->mtd.name = part->name;
266 part->mtd.erase = efx_mtd_erase; 266 part->mtd._erase = efx_mtd_erase;
267 part->mtd.read = efx_mtd->ops->read; 267 part->mtd._read = efx_mtd->ops->read;
268 part->mtd.write = efx_mtd->ops->write; 268 part->mtd._write = efx_mtd->ops->write;
269 part->mtd.sync = efx_mtd_sync; 269 part->mtd._sync = efx_mtd_sync;
270 270
271 if (mtd_device_register(&part->mtd, NULL, 0)) 271 if (mtd_device_register(&part->mtd, NULL, 0))
272 goto fail; 272 goto fail;
diff --git a/drivers/net/ethernet/smsc/smc91c92_cs.c b/drivers/net/ethernet/smsc/smc91c92_cs.c
index d12e48a7861d..04393b5fef71 100644
--- a/drivers/net/ethernet/smsc/smc91c92_cs.c
+++ b/drivers/net/ethernet/smsc/smc91c92_cs.c
@@ -53,7 +53,6 @@
53#include <pcmcia/ss.h> 53#include <pcmcia/ss.h>
54 54
55#include <asm/io.h> 55#include <asm/io.h>
56#include <asm/system.h>
57#include <asm/uaccess.h> 56#include <asm/uaccess.h>
58 57
59/*====================================================================*/ 58/*====================================================================*/
diff --git a/drivers/net/ethernet/smsc/smc91x.c b/drivers/net/ethernet/smsc/smc91x.c
index 1dc4fad593e7..fee449355014 100644
--- a/drivers/net/ethernet/smsc/smc91x.c
+++ b/drivers/net/ethernet/smsc/smc91x.c
@@ -2280,7 +2280,7 @@ static int __devinit smc_drv_probe(struct platform_device *pdev)
2280 if (ret) 2280 if (ret)
2281 goto out_release_io; 2281 goto out_release_io;
2282#if defined(CONFIG_SA1100_ASSABET) 2282#if defined(CONFIG_SA1100_ASSABET)
2283 NCR_0 |= NCR_ENET_OSC_EN; 2283 neponset_ncr_set(NCR_ENET_OSC_EN);
2284#endif 2284#endif
2285 platform_set_drvdata(pdev, ndev); 2285 platform_set_drvdata(pdev, ndev);
2286 ret = smc_enable_device(pdev); 2286 ret = smc_enable_device(pdev);
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 90d5c4c75d25..a64f0d422e76 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -1784,10 +1784,12 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
1784 struct mac_device_info *mac; 1784 struct mac_device_info *mac;
1785 1785
1786 /* Identify the MAC HW device */ 1786 /* Identify the MAC HW device */
1787 if (priv->plat->has_gmac) 1787 if (priv->plat->has_gmac) {
1788 priv->dev->priv_flags |= IFF_UNICAST_FLT;
1788 mac = dwmac1000_setup(priv->ioaddr); 1789 mac = dwmac1000_setup(priv->ioaddr);
1789 else 1790 } else {
1790 mac = dwmac100_setup(priv->ioaddr); 1791 mac = dwmac100_setup(priv->ioaddr);
1792 }
1791 if (!mac) 1793 if (!mac)
1792 return -ENOMEM; 1794 return -ENOMEM;
1793 1795
diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c
index 3c2295560732..ce4df61b4b56 100644
--- a/drivers/net/ethernet/sun/cassini.c
+++ b/drivers/net/ethernet/sun/cassini.c
@@ -99,7 +99,6 @@
99#include <net/checksum.h> 99#include <net/checksum.h>
100 100
101#include <linux/atomic.h> 101#include <linux/atomic.h>
102#include <asm/system.h>
103#include <asm/io.h> 102#include <asm/io.h>
104#include <asm/byteorder.h> 103#include <asm/byteorder.h>
105#include <asm/uaccess.h> 104#include <asm/uaccess.h>
diff --git a/drivers/net/ethernet/sun/sunbmac.c b/drivers/net/ethernet/sun/sunbmac.c
index f359863b5340..2a83fc57edba 100644
--- a/drivers/net/ethernet/sun/sunbmac.c
+++ b/drivers/net/ethernet/sun/sunbmac.c
@@ -35,7 +35,6 @@
35#include <asm/openprom.h> 35#include <asm/openprom.h>
36#include <asm/oplib.h> 36#include <asm/oplib.h>
37#include <asm/pgtable.h> 37#include <asm/pgtable.h>
38#include <asm/system.h>
39 38
40#include "sunbmac.h" 39#include "sunbmac.h"
41 40
diff --git a/drivers/net/ethernet/sun/sungem.c b/drivers/net/ethernet/sun/sungem.c
index 8707d59ed545..dfd4b1d13a51 100644
--- a/drivers/net/ethernet/sun/sungem.c
+++ b/drivers/net/ethernet/sun/sungem.c
@@ -41,7 +41,6 @@
41#include <linux/mm.h> 41#include <linux/mm.h>
42#include <linux/gfp.h> 42#include <linux/gfp.h>
43 43
44#include <asm/system.h>
45#include <asm/io.h> 44#include <asm/io.h>
46#include <asm/byteorder.h> 45#include <asm/byteorder.h>
47#include <asm/uaccess.h> 46#include <asm/uaccess.h>
diff --git a/drivers/net/ethernet/sun/sunhme.c b/drivers/net/ethernet/sun/sunhme.c
index afb19a6d7c52..dfc00c4683e5 100644
--- a/drivers/net/ethernet/sun/sunhme.c
+++ b/drivers/net/ethernet/sun/sunhme.c
@@ -36,7 +36,6 @@
36#include <linux/bitops.h> 36#include <linux/bitops.h>
37#include <linux/dma-mapping.h> 37#include <linux/dma-mapping.h>
38 38
39#include <asm/system.h>
40#include <asm/io.h> 39#include <asm/io.h>
41#include <asm/dma.h> 40#include <asm/dma.h>
42#include <asm/byteorder.h> 41#include <asm/byteorder.h>
diff --git a/drivers/net/ethernet/sun/sunqe.c b/drivers/net/ethernet/sun/sunqe.c
index 139d6b410d68..7d4a040d84a2 100644
--- a/drivers/net/ethernet/sun/sunqe.c
+++ b/drivers/net/ethernet/sun/sunqe.c
@@ -28,7 +28,6 @@
28#include <linux/of.h> 28#include <linux/of.h>
29#include <linux/of_device.h> 29#include <linux/of_device.h>
30 30
31#include <asm/system.h>
32#include <asm/io.h> 31#include <asm/io.h>
33#include <asm/dma.h> 32#include <asm/dma.h>
34#include <asm/byteorder.h> 33#include <asm/byteorder.h>
diff --git a/drivers/net/ethernet/sun/sunvnet.c b/drivers/net/ethernet/sun/sunvnet.c
index 92a037a8228a..38e3ae9155b7 100644
--- a/drivers/net/ethernet/sun/sunvnet.c
+++ b/drivers/net/ethernet/sun/sunvnet.c
@@ -1259,10 +1259,7 @@ static struct vio_driver vnet_port_driver = {
1259 .id_table = vnet_port_match, 1259 .id_table = vnet_port_match,
1260 .probe = vnet_port_probe, 1260 .probe = vnet_port_probe,
1261 .remove = vnet_port_remove, 1261 .remove = vnet_port_remove,
1262 .driver = { 1262 .name = "vnet_port",
1263 .name = "vnet_port",
1264 .owner = THIS_MODULE,
1265 }
1266}; 1263};
1267 1264
1268static int __init vnet_init(void) 1265static int __init vnet_init(void)
diff --git a/drivers/net/ethernet/tundra/tsi108_eth.c b/drivers/net/ethernet/tundra/tsi108_eth.c
index 840e0e9031f5..277c93e9ff4d 100644
--- a/drivers/net/ethernet/tundra/tsi108_eth.c
+++ b/drivers/net/ethernet/tundra/tsi108_eth.c
@@ -50,7 +50,6 @@
50#include <linux/platform_device.h> 50#include <linux/platform_device.h>
51#include <linux/gfp.h> 51#include <linux/gfp.h>
52 52
53#include <asm/system.h>
54#include <asm/io.h> 53#include <asm/io.h>
55#include <asm/tsi108.h> 54#include <asm/tsi108.h>
56 55
diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
index 47b411fe3ecb..0459c096629f 100644
--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -503,30 +503,32 @@ static int rhine_vlan_rx_add_vid(struct net_device *dev, unsigned short vid);
503static int rhine_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid); 503static int rhine_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid);
504static void rhine_restart_tx(struct net_device *dev); 504static void rhine_restart_tx(struct net_device *dev);
505 505
506static void rhine_wait_bit(struct rhine_private *rp, u8 reg, u8 mask, bool high) 506static void rhine_wait_bit(struct rhine_private *rp, u8 reg, u8 mask, bool low)
507{ 507{
508 void __iomem *ioaddr = rp->base; 508 void __iomem *ioaddr = rp->base;
509 int i; 509 int i;
510 510
511 for (i = 0; i < 1024; i++) { 511 for (i = 0; i < 1024; i++) {
512 if (high ^ !!(ioread8(ioaddr + reg) & mask)) 512 bool has_mask_bits = !!(ioread8(ioaddr + reg) & mask);
513
514 if (low ^ has_mask_bits)
513 break; 515 break;
514 udelay(10); 516 udelay(10);
515 } 517 }
516 if (i > 64) { 518 if (i > 64) {
517 netif_dbg(rp, hw, rp->dev, "%s bit wait (%02x/%02x) cycle " 519 netif_dbg(rp, hw, rp->dev, "%s bit wait (%02x/%02x) cycle "
518 "count: %04d\n", high ? "high" : "low", reg, mask, i); 520 "count: %04d\n", low ? "low" : "high", reg, mask, i);
519 } 521 }
520} 522}
521 523
522static void rhine_wait_bit_high(struct rhine_private *rp, u8 reg, u8 mask) 524static void rhine_wait_bit_high(struct rhine_private *rp, u8 reg, u8 mask)
523{ 525{
524 rhine_wait_bit(rp, reg, mask, true); 526 rhine_wait_bit(rp, reg, mask, false);
525} 527}
526 528
527static void rhine_wait_bit_low(struct rhine_private *rp, u8 reg, u8 mask) 529static void rhine_wait_bit_low(struct rhine_private *rp, u8 reg, u8 mask)
528{ 530{
529 rhine_wait_bit(rp, reg, mask, false); 531 rhine_wait_bit(rp, reg, mask, true);
530} 532}
531 533
532static u32 rhine_get_events(struct rhine_private *rp) 534static u32 rhine_get_events(struct rhine_private *rp)
diff --git a/drivers/net/ethernet/xircom/xirc2ps_cs.c b/drivers/net/ethernet/xircom/xirc2ps_cs.c
index 5c69c6f93fb8..94a1f94f74b8 100644
--- a/drivers/net/ethernet/xircom/xirc2ps_cs.c
+++ b/drivers/net/ethernet/xircom/xirc2ps_cs.c
@@ -89,7 +89,6 @@
89#include <pcmcia/ciscode.h> 89#include <pcmcia/ciscode.h>
90 90
91#include <asm/io.h> 91#include <asm/io.h>
92#include <asm/system.h>
93#include <asm/uaccess.h> 92#include <asm/uaccess.h>
94 93
95#ifndef MANFID_COMPAQ 94#ifndef MANFID_COMPAQ