diff options
-rw-r--r-- | drivers/net/tg3.c | 12 | ||||
-rw-r--r-- | drivers/net/tg3.h | 1 |
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index b944cc64a409..d6d081716af0 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -8108,8 +8108,9 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy) | |||
8108 | /* Program the jumbo buffer descriptor ring control | 8108 | /* Program the jumbo buffer descriptor ring control |
8109 | * blocks on those devices that have them. | 8109 | * blocks on those devices that have them. |
8110 | */ | 8110 | */ |
8111 | if ((tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE) && | 8111 | if (tp->pci_chip_rev_id == CHIPREV_ID_5719_A0 || |
8112 | !(tp->tg3_flags2 & TG3_FLG2_5780_CLASS)) { | 8112 | ((tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE) && |
8113 | !(tp->tg3_flags2 & TG3_FLG2_5780_CLASS))) { | ||
8113 | /* Setup replenish threshold. */ | 8114 | /* Setup replenish threshold. */ |
8114 | tw32(RCVBDI_JUMBO_THRESH, tp->rx_jumbo_pending / 8); | 8115 | tw32(RCVBDI_JUMBO_THRESH, tp->rx_jumbo_pending / 8); |
8115 | 8116 | ||
@@ -13329,7 +13330,9 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) | |||
13329 | } | 13330 | } |
13330 | 13331 | ||
13331 | /* Determine TSO capabilities */ | 13332 | /* Determine TSO capabilities */ |
13332 | if (tp->tg3_flags3 & TG3_FLG3_5717_PLUS) | 13333 | if (tp->pci_chip_rev_id == CHIPREV_ID_5719_A0) |
13334 | ; /* Do nothing. HW bug. */ | ||
13335 | else if (tp->tg3_flags3 & TG3_FLG3_5717_PLUS) | ||
13333 | tp->tg3_flags2 |= TG3_FLG2_HW_TSO_3; | 13336 | tp->tg3_flags2 |= TG3_FLG2_HW_TSO_3; |
13334 | else if ((tp->tg3_flags3 & TG3_FLG3_5755_PLUS) || | 13337 | else if ((tp->tg3_flags3 & TG3_FLG3_5755_PLUS) || |
13335 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) | 13338 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) |
@@ -13380,7 +13383,8 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) | |||
13380 | tp->tg3_flags3 |= TG3_FLG3_40BIT_DMA_LIMIT_BUG; | 13383 | tp->tg3_flags3 |= TG3_FLG3_40BIT_DMA_LIMIT_BUG; |
13381 | } | 13384 | } |
13382 | 13385 | ||
13383 | if (tp->tg3_flags3 & TG3_FLG3_5717_PLUS) | 13386 | if ((tp->tg3_flags3 & TG3_FLG3_5717_PLUS) && |
13387 | tp->pci_chip_rev_id != CHIPREV_ID_5719_A0) | ||
13384 | tp->tg3_flags3 |= TG3_FLG3_USE_JUMBO_BDFLAG; | 13388 | tp->tg3_flags3 |= TG3_FLG3_USE_JUMBO_BDFLAG; |
13385 | 13389 | ||
13386 | if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS) || | 13390 | if (!(tp->tg3_flags2 & TG3_FLG2_5705_PLUS) || |
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 0a0987aeb32e..52ae6441af75 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h | |||
@@ -141,6 +141,7 @@ | |||
141 | #define CHIPREV_ID_57780_A1 0x57780001 | 141 | #define CHIPREV_ID_57780_A1 0x57780001 |
142 | #define CHIPREV_ID_5717_A0 0x05717000 | 142 | #define CHIPREV_ID_5717_A0 0x05717000 |
143 | #define CHIPREV_ID_57765_A0 0x57785000 | 143 | #define CHIPREV_ID_57765_A0 0x57785000 |
144 | #define CHIPREV_ID_5719_A0 0x05719000 | ||
144 | #define GET_ASIC_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 12) | 145 | #define GET_ASIC_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 12) |
145 | #define ASIC_REV_5700 0x07 | 146 | #define ASIC_REV_5700 0x07 |
146 | #define ASIC_REV_5701 0x00 | 147 | #define ASIC_REV_5701 0x00 |