mirror of
https://github.com/torvalds/linux.git
synced 2024-11-08 13:11:45 +00:00
tg3: Don't allocate jumbo ring for 5780 class devs
The 5714, 5715, and 5780 devices do not have a separate rx jumbo producer ring. This patch changes the code so that resources are not allocated for it. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Reviewed-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f94e290eba
commit
4803572815
@ -6219,7 +6219,8 @@ static void tg3_rx_prodring_free(struct tg3 *tp,
|
|||||||
tg3_rx_skb_free(tp, &tpr->rx_std_buffers[i],
|
tg3_rx_skb_free(tp, &tpr->rx_std_buffers[i],
|
||||||
tp->rx_pkt_map_sz);
|
tp->rx_pkt_map_sz);
|
||||||
|
|
||||||
if (tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE) {
|
if ((tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE) &&
|
||||||
|
!(tp->tg3_flags2 & TG3_FLG2_5780_CLASS)) {
|
||||||
for (i = 0; i <= tp->rx_jmb_ring_mask; i++)
|
for (i = 0; i <= tp->rx_jmb_ring_mask; i++)
|
||||||
tg3_rx_skb_free(tp, &tpr->rx_jmb_buffers[i],
|
tg3_rx_skb_free(tp, &tpr->rx_jmb_buffers[i],
|
||||||
TG3_RX_JMB_MAP_SZ);
|
TG3_RX_JMB_MAP_SZ);
|
||||||
@ -6246,7 +6247,7 @@ static int tg3_rx_prodring_alloc(struct tg3 *tp,
|
|||||||
if (tpr != &tp->napi[0].prodring) {
|
if (tpr != &tp->napi[0].prodring) {
|
||||||
memset(&tpr->rx_std_buffers[0], 0,
|
memset(&tpr->rx_std_buffers[0], 0,
|
||||||
TG3_RX_STD_BUFF_RING_SIZE(tp));
|
TG3_RX_STD_BUFF_RING_SIZE(tp));
|
||||||
if (tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE)
|
if (tpr->rx_jmb_buffers)
|
||||||
memset(&tpr->rx_jmb_buffers[0], 0,
|
memset(&tpr->rx_jmb_buffers[0], 0,
|
||||||
TG3_RX_JMB_BUFF_RING_SIZE(tp));
|
TG3_RX_JMB_BUFF_RING_SIZE(tp));
|
||||||
goto done;
|
goto done;
|
||||||
@ -6289,7 +6290,8 @@ static int tg3_rx_prodring_alloc(struct tg3 *tp,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE))
|
if (!(tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE) ||
|
||||||
|
(tp->tg3_flags2 & TG3_FLG2_5780_CLASS))
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
memset(tpr->rx_jmb, 0, TG3_RX_JMB_RING_BYTES(tp));
|
memset(tpr->rx_jmb, 0, TG3_RX_JMB_RING_BYTES(tp));
|
||||||
@ -6361,7 +6363,8 @@ static int tg3_rx_prodring_init(struct tg3 *tp,
|
|||||||
if (!tpr->rx_std)
|
if (!tpr->rx_std)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
|
|
||||||
if (tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE) {
|
if ((tp->tg3_flags & TG3_FLAG_JUMBO_CAPABLE) &&
|
||||||
|
!(tp->tg3_flags2 & TG3_FLG2_5780_CLASS)) {
|
||||||
tpr->rx_jmb_buffers = kzalloc(TG3_RX_JMB_BUFF_RING_SIZE(tp),
|
tpr->rx_jmb_buffers = kzalloc(TG3_RX_JMB_BUFF_RING_SIZE(tp),
|
||||||
GFP_KERNEL);
|
GFP_KERNEL);
|
||||||
if (!tpr->rx_jmb_buffers)
|
if (!tpr->rx_jmb_buffers)
|
||||||
|
Loading…
Reference in New Issue
Block a user