diff options
author | Greg Rose <gregory.v.rose@intel.com> | 2010-04-27 07:31:45 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-27 17:35:55 -0400 |
commit | 3203df043263e1bb64d8ba970eb17b0810945504 (patch) | |
tree | 258afcdc36e4f8d4354283c3aabdf23bdb485762 /drivers/net/ixgbevf | |
parent | a9cbd588fdb71ea415754c885e2f9f03e6bf1ba0 (diff) |
ixgbevf: Fix link speed display
The ixgbevf driver would always report 10Gig speeds even when the link
speed is downshifted to 1Gig. This patch fixes that problem.
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbevf')
-rw-r--r-- | drivers/net/ixgbevf/defines.h | 12 | ||||
-rw-r--r-- | drivers/net/ixgbevf/vf.c | 3 |
2 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/ixgbevf/defines.h b/drivers/net/ixgbevf/defines.h index c44fdb05447a..ca2c81f49a05 100644 --- a/drivers/net/ixgbevf/defines.h +++ b/drivers/net/ixgbevf/defines.h | |||
@@ -41,11 +41,13 @@ typedef u32 ixgbe_link_speed; | |||
41 | #define IXGBE_LINK_SPEED_1GB_FULL 0x0020 | 41 | #define IXGBE_LINK_SPEED_1GB_FULL 0x0020 |
42 | #define IXGBE_LINK_SPEED_10GB_FULL 0x0080 | 42 | #define IXGBE_LINK_SPEED_10GB_FULL 0x0080 |
43 | 43 | ||
44 | #define IXGBE_CTRL_RST 0x04000000 /* Reset (SW) */ | 44 | #define IXGBE_CTRL_RST 0x04000000 /* Reset (SW) */ |
45 | #define IXGBE_RXDCTL_ENABLE 0x02000000 /* Enable specific Rx Queue */ | 45 | #define IXGBE_RXDCTL_ENABLE 0x02000000 /* Enable specific Rx Queue */ |
46 | #define IXGBE_TXDCTL_ENABLE 0x02000000 /* Enable specific Tx Queue */ | 46 | #define IXGBE_TXDCTL_ENABLE 0x02000000 /* Enable specific Tx Queue */ |
47 | #define IXGBE_LINKS_UP 0x40000000 | 47 | #define IXGBE_LINKS_UP 0x40000000 |
48 | #define IXGBE_LINKS_SPEED 0x20000000 | 48 | #define IXGBE_LINKS_SPEED_82599 0x30000000 |
49 | #define IXGBE_LINKS_SPEED_10G_82599 0x30000000 | ||
50 | #define IXGBE_LINKS_SPEED_1G_82599 0x20000000 | ||
49 | 51 | ||
50 | /* Number of Transmit and Receive Descriptors must be a multiple of 8 */ | 52 | /* Number of Transmit and Receive Descriptors must be a multiple of 8 */ |
51 | #define IXGBE_REQ_TX_DESCRIPTOR_MULTIPLE 8 | 53 | #define IXGBE_REQ_TX_DESCRIPTOR_MULTIPLE 8 |
diff --git a/drivers/net/ixgbevf/vf.c b/drivers/net/ixgbevf/vf.c index 852e9c4fd934..f6f929958ba0 100644 --- a/drivers/net/ixgbevf/vf.c +++ b/drivers/net/ixgbevf/vf.c | |||
@@ -359,7 +359,8 @@ static s32 ixgbevf_check_mac_link_vf(struct ixgbe_hw *hw, | |||
359 | else | 359 | else |
360 | *link_up = false; | 360 | *link_up = false; |
361 | 361 | ||
362 | if (links_reg & IXGBE_LINKS_SPEED) | 362 | if ((links_reg & IXGBE_LINKS_SPEED_82599) == |
363 | IXGBE_LINKS_SPEED_10G_82599) | ||
363 | *speed = IXGBE_LINK_SPEED_10GB_FULL; | 364 | *speed = IXGBE_LINK_SPEED_10GB_FULL; |
364 | else | 365 | else |
365 | *speed = IXGBE_LINK_SPEED_1GB_FULL; | 366 | *speed = IXGBE_LINK_SPEED_1GB_FULL; |