tg3: Restrict large prod ring cap devices
Future devices may or may not be capable of supporting larger rx producer rings. This patch changes the code so that this flag is set on an ASIC rev to ASIC rev basis. Also, this patch changes a place where the LRG_PROD_RING_CAP flag was not controlling how the rx standard producer ring size was set. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
513aa6ea39
commit
fa6b2aae6a
|
@ -8553,10 +8553,7 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
|
|||
}
|
||||
|
||||
if (tg3_flag(tp, 57765_PLUS)) {
|
||||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57765)
|
||||
val = TG3_RX_STD_MAX_SIZE_5700;
|
||||
else
|
||||
val = TG3_RX_STD_MAX_SIZE_5717;
|
||||
val = TG3_RX_STD_RING_SIZE(tp);
|
||||
val <<= BDINFO_FLAGS_MAXLEN_SHIFT;
|
||||
val |= (TG3_RX_STD_DMA_SZ << 2);
|
||||
} else
|
||||
|
@ -14008,7 +14005,9 @@ static int __devinit tg3_get_invariants(struct tg3 *tp)
|
|||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5719)
|
||||
tg3_flag_set(tp, 4K_FIFO_LIMIT);
|
||||
|
||||
if (tg3_flag(tp, 5717_PLUS))
|
||||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717 ||
|
||||
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5719 ||
|
||||
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5720)
|
||||
tg3_flag_set(tp, LRG_PROD_RING_CAP);
|
||||
|
||||
if (tg3_flag(tp, 57765_PLUS) &&
|
||||
|
|
Loading…
Reference in a new issue