|
@@ -129,7 +129,7 @@
|
|
|
#define RX_JUMBO_PKT_BUF_SZ (9046 + tp->rx_offset + 64)
|
|
|
|
|
|
/* minimum number of free TX descriptors required to wake up TX process */
|
|
|
-#define TG3_TX_WAKEUP_THRESH (TG3_TX_RING_SIZE / 4)
|
|
|
+#define TG3_TX_WAKEUP_THRESH(tp) ((tp)->tx_pending / 4)
|
|
|
|
|
|
/* number of ETHTOOL_GSTATS u64's */
|
|
|
#define TG3_NUM_STATS (sizeof(struct tg3_ethtool_stats)/sizeof(u64))
|
|
@@ -3075,10 +3075,10 @@ static void tg3_tx(struct tg3 *tp)
|
|
|
smp_mb();
|
|
|
|
|
|
if (unlikely(netif_queue_stopped(tp->dev) &&
|
|
|
- (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH))) {
|
|
|
+ (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH(tp)))) {
|
|
|
netif_tx_lock(tp->dev);
|
|
|
if (netif_queue_stopped(tp->dev) &&
|
|
|
- (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH))
|
|
|
+ (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH(tp)))
|
|
|
netif_wake_queue(tp->dev);
|
|
|
netif_tx_unlock(tp->dev);
|
|
|
}
|
|
@@ -3928,7 +3928,7 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
|
tp->tx_prod = entry;
|
|
|
if (unlikely(tg3_tx_avail(tp) <= (MAX_SKB_FRAGS + 1))) {
|
|
|
netif_stop_queue(dev);
|
|
|
- if (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH)
|
|
|
+ if (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH(tp))
|
|
|
netif_wake_queue(tp->dev);
|
|
|
}
|
|
|
|
|
@@ -4143,7 +4143,7 @@ static int tg3_start_xmit_dma_bug(struct sk_buff *skb, struct net_device *dev)
|
|
|
tp->tx_prod = entry;
|
|
|
if (unlikely(tg3_tx_avail(tp) <= (MAX_SKB_FRAGS + 1))) {
|
|
|
netif_stop_queue(dev);
|
|
|
- if (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH)
|
|
|
+ if (tg3_tx_avail(tp) > TG3_TX_WAKEUP_THRESH(tp))
|
|
|
netif_wake_queue(tp->dev);
|
|
|
}
|
|
|
|