aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.h
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@vyatta.com>2009-08-14 18:36:41 -0400
committerDavid S. Miller <davem@davemloft.net>2009-08-14 18:36:41 -0400
commit0ea065e52eb6a0f029b5fa5ed2f142be1b66a153 (patch)
treef18bfc3027224f724ec00c6f4c0557e3f6861035 /drivers/net/sky2.h
parent481cea4a4d72aabe76dbb86b1a64f4e8931eca25 (diff)
sky2: fix pause negotiation
The sky2 driver combines auto speed negotiation with automatic negotiation of pause parameters; but the ethtool interface expects them to be split. This patch allows autonegotiation to be used for speed, but manually disable flow control. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r--drivers/net/sky2.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h
index 4486b066b43..c9548d6d567 100644
--- a/drivers/net/sky2.h
+++ b/drivers/net/sky2.h
@@ -1583,7 +1583,6 @@ enum {
1583}; 1583};
1584 1584
1585#define GM_GPCR_SPEED_1000 (GM_GPCR_GIGS_ENA | GM_GPCR_SPEED_100) 1585#define GM_GPCR_SPEED_1000 (GM_GPCR_GIGS_ENA | GM_GPCR_SPEED_100)
1586#define GM_GPCR_AU_ALL_DIS (GM_GPCR_AU_DUP_DIS | GM_GPCR_AU_FCT_DIS|GM_GPCR_AU_SPD_DIS)
1587 1586
1588/* GM_TX_CTRL 16 bit r/w Transmit Control Register */ 1587/* GM_TX_CTRL 16 bit r/w Transmit Control Register */
1589enum { 1588enum {
@@ -2042,15 +2041,18 @@ struct sky2_port {
2042 u8 fifo_lev; 2041 u8 fifo_lev;
2043 } check; 2042 } check;
2044 2043
2045
2046 dma_addr_t rx_le_map; 2044 dma_addr_t rx_le_map;
2047 dma_addr_t tx_le_map; 2045 dma_addr_t tx_le_map;
2046
2048 u16 advertising; /* ADVERTISED_ bits */ 2047 u16 advertising; /* ADVERTISED_ bits */
2049 u16 speed; /* SPEED_1000, SPEED_100, ... */ 2048 u16 speed; /* SPEED_1000, SPEED_100, ... */
2050 u8 autoneg; /* AUTONEG_ENABLE, AUTONEG_DISABLE */ 2049 u8 wol; /* WAKE_ bits */
2051 u8 duplex; /* DUPLEX_HALF, DUPLEX_FULL */ 2050 u8 duplex; /* DUPLEX_HALF, DUPLEX_FULL */
2052 u8 rx_csum; 2051 u16 flags;
2053 u8 wol; 2052#define SKY2_FLAG_RX_CHECKSUM 0x0001
2053#define SKY2_FLAG_AUTO_SPEED 0x0002
2054#define SKY2_FLAG_AUTO_PAUSE 0x0004
2055
2054 u8 restarting; 2056 u8 restarting;
2055 enum flow_control flow_mode; 2057 enum flow_control flow_mode;
2056 enum flow_control flow_status; 2058 enum flow_control flow_status;