diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2009-08-14 15:36:41 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-14 15:36:41 -0700 |
commit | 0ea065e52eb6a0f029b5fa5ed2f142be1b66a153 (patch) | |
tree | f18bfc3027224f724ec00c6f4c0557e3f6861035 /drivers/net/sky2.h | |
parent | 481cea4a4d72aabe76dbb86b1a64f4e8931eca25 (diff) | |
download | op-kernel-dev-0ea065e52eb6a0f029b5fa5ed2f142be1b66a153.zip op-kernel-dev-0ea065e52eb6a0f029b5fa5ed2f142be1b66a153.tar.gz |
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 4486b06..c9548d6 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h @@ -1583,7 +1583,6 @@ enum { }; #define GM_GPCR_SPEED_1000 (GM_GPCR_GIGS_ENA | GM_GPCR_SPEED_100) -#define GM_GPCR_AU_ALL_DIS (GM_GPCR_AU_DUP_DIS | GM_GPCR_AU_FCT_DIS|GM_GPCR_AU_SPD_DIS) /* GM_TX_CTRL 16 bit r/w Transmit Control Register */ enum { @@ -2042,15 +2041,18 @@ struct sky2_port { u8 fifo_lev; } check; - dma_addr_t rx_le_map; dma_addr_t tx_le_map; + u16 advertising; /* ADVERTISED_ bits */ - u16 speed; /* SPEED_1000, SPEED_100, ... */ - u8 autoneg; /* AUTONEG_ENABLE, AUTONEG_DISABLE */ - u8 duplex; /* DUPLEX_HALF, DUPLEX_FULL */ - u8 rx_csum; - u8 wol; + u16 speed; /* SPEED_1000, SPEED_100, ... */ + u8 wol; /* WAKE_ bits */ + u8 duplex; /* DUPLEX_HALF, DUPLEX_FULL */ + u16 flags; +#define SKY2_FLAG_RX_CHECKSUM 0x0001 +#define SKY2_FLAG_AUTO_SPEED 0x0002 +#define SKY2_FLAG_AUTO_PAUSE 0x0004 + u8 restarting; enum flow_control flow_mode; enum flow_control flow_status; |