tg3: Prevent send BD corruption
On rare occasions, send BD corruptions can occur. This patch fixes the problem by increasing the L1 entry threshold to 4 milliseconds. 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>
This commit is contained in:
committed by
David S. Miller
parent
df259d8cba
commit
33466d938f
@ -6717,6 +6717,13 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
|
||||
tw32(TG3_CPMU_HST_ACC, val);
|
||||
}
|
||||
|
||||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57780) {
|
||||
val = tr32(PCIE_PWR_MGMT_THRESH) & ~PCIE_PWR_MGMT_L1_THRESH_MSK;
|
||||
val |= PCIE_PWR_MGMT_EXT_ASPM_TMR_EN |
|
||||
PCIE_PWR_MGMT_L1_THRESH_4MS;
|
||||
tw32(PCIE_PWR_MGMT_THRESH, val);
|
||||
}
|
||||
|
||||
/* This works around an issue with Athlon chipsets on
|
||||
* B3 tigon3 silicon. This bit has no effect on any
|
||||
* other revision. But do not set this on PCI Express
|
||||
|
@ -1697,6 +1697,8 @@
|
||||
|
||||
#define PCIE_PWR_MGMT_THRESH 0x00007d28
|
||||
#define PCIE_PWR_MGMT_L1_THRESH_MSK 0x0000ff00
|
||||
#define PCIE_PWR_MGMT_L1_THRESH_4MS 0x0000ff00
|
||||
#define PCIE_PWR_MGMT_EXT_ASPM_TMR_EN 0x01000000
|
||||
|
||||
|
||||
/* OTP bit definitions */
|
||||
|
Reference in New Issue
Block a user