diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2009-08-14 18:36:41 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-14 18:36:41 -0400 |
commit | 0ea065e52eb6a0f029b5fa5ed2f142be1b66a153 (patch) | |
tree | f18bfc3027224f724ec00c6f4c0557e3f6861035 /drivers/net/sky2.h | |
parent | 481cea4a4d72aabe76dbb86b1a64f4e8931eca25 (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.h | 16 |
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 */ |
1589 | enum { | 1588 | enum { |
@@ -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; |