tg3: Reduce 57765 core clock when link at 10Mbps
authorMatt Carlson <mcarlson@broadcom.com>
Mon, 12 Apr 2010 06:58:26 +0000 (06:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Apr 2010 09:25:44 +0000 (02:25 -0700)
This patch reduces the core clock to 6.25MHz when operating at 10Mbps
link speed.  This is needed to prevent a bug that will ultimately cause
transmits to cease.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c

index a0ab89eb8bcc3fc52d352244cb91120e38995fe6..3e893231fef32c2266ae7ec4c9b9982cbd9aef97 100644 (file)
@@ -7654,6 +7654,11 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
                     val | TG3_PCIE_PL_LO_PHYCTL5_DIS_L2CLKREQ);
 
                tw32(GRC_MODE, grc_mode);
+
+               val = tr32(TG3_CPMU_LSPD_10MB_CLK);
+               val &= ~CPMU_LSPD_10MB_MACCLK_MASK;
+               val |= CPMU_LSPD_10MB_MACCLK_6_25;
+               tw32(TG3_CPMU_LSPD_10MB_CLK, val);
        }
 
        /* This works around an issue with Athlon chipsets on