summaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.h
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-10-17 10:24:13 -0700
committerStephen Hemminger <shemminger@osdl.org>2006-10-17 10:24:13 -0700
commit16ad91e1c686734aaa5664cd08af0b5e9bf3af61 (patch)
tree2e4c5d3e4932c66d2c00eddee81b2df0667970fe /drivers/net/sky2.h
parent7800fddcd05a7dc89276389b96664af4f7890ea7 (diff)
sky2: flow control setting fixes
The result of flow control negotiation should not limit the next negotiatition. If board is plugged into an old half duplex 10Mbit port, without pause, then replugged into a gigabit port, it should negotiate what is desired, not inherit that last negotiation. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r--drivers/net/sky2.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h
index 0a8d8210679..3f05492da70 100644
--- a/drivers/net/sky2.h
+++ b/drivers/net/sky2.h
@@ -1828,6 +1828,13 @@ struct rx_ring_info {
dma_addr_t frag_addr[ETH_JUMBO_MTU >> PAGE_SHIFT];
};
+enum flow_control {
+ FC_NONE = 0,
+ FC_TX = 1,
+ FC_RX = 2,
+ FC_BOTH = 3,
+};
+
struct sky2_port {
struct sky2_hw *hw;
struct net_device *netdev;
@@ -1864,9 +1871,9 @@ struct sky2_port {
u16 speed; /* SPEED_1000, SPEED_100, ... */
u8 autoneg; /* AUTONEG_ENABLE, AUTONEG_DISABLE */
u8 duplex; /* DUPLEX_HALF, DUPLEX_FULL */
- u8 rx_pause;
- u8 tx_pause;
u8 rx_csum;
+ enum flow_control flow_mode;
+ enum flow_control flow_status;
struct net_device_stats net_stats;