diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2010-06-05 13:24:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-06 20:56:01 -0400 |
commit | 57d8b88030ca9f295bb72ef65228c6d86bed22f6 (patch) | |
tree | 3cafb558c5027cb092080d136d946eee55284305 /drivers/net/tg3.c | |
parent | 2430b031be8d3eb57f22f2df6fb3784564109db0 (diff) |
tg3: 5717: Allow serdes link via parallel detect
The 5717 serdes phy brings link up via parallel detection without any
additional help from the driver. This patch changes the
tg3_setup_fiber_mii_phy() function to detect and allow the use of this
feature.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.c')
-rw-r--r-- | drivers/net/tg3.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index d169337bc7ef..2dcde1343cc7 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -4206,6 +4206,8 @@ static int tg3_setup_fiber_mii_phy(struct tg3 *tp, int force_reset) | |||
4206 | current_duplex = DUPLEX_FULL; | 4206 | current_duplex = DUPLEX_FULL; |
4207 | else | 4207 | else |
4208 | current_duplex = DUPLEX_HALF; | 4208 | current_duplex = DUPLEX_HALF; |
4209 | } else if (!(tp->tg3_flags2 & TG3_FLG2_5780_CLASS)) { | ||
4210 | /* Link is up via parallel detect */ | ||
4209 | } else { | 4211 | } else { |
4210 | current_link_up = 0; | 4212 | current_link_up = 0; |
4211 | } | 4213 | } |
@@ -8531,8 +8533,10 @@ static void tg3_timer(unsigned long __opaque) | |||
8531 | } | 8533 | } |
8532 | tg3_setup_phy(tp, 0); | 8534 | tg3_setup_phy(tp, 0); |
8533 | } | 8535 | } |
8534 | } else if (tp->tg3_flags2 & TG3_FLG2_MII_SERDES) | 8536 | } else if ((tp->tg3_flags2 & TG3_FLG2_MII_SERDES) && |
8537 | !(tp->tg3_flags2 & TG3_FLG2_5780_CLASS)) { | ||
8535 | tg3_serdes_parallel_detect(tp); | 8538 | tg3_serdes_parallel_detect(tp); |
8539 | } | ||
8536 | 8540 | ||
8537 | tp->timer_counter = tp->timer_multiplier; | 8541 | tp->timer_counter = tp->timer_multiplier; |
8538 | } | 8542 | } |