net: stmmac: Do not disable interrupts when cleaning TX
This is a performance killer and anyways the interrupts are being disabled by RX NAPI so no need to disable them again. Signed-off-by: Jose Abreu <joabreu@synopsys.com> Cc: Joao Pinto <jpinto@synopsys.com> Cc: David S. Miller <davem@davemloft.net> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com> Cc: Alexandre Torgue <alexandre.torgue@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5b0d7d7da6
commit
a66b58849f
|
@ -2061,10 +2061,8 @@ static int stmmac_napi_check(struct stmmac_priv *priv, u32 chan)
|
|||
napi_schedule_irqoff(&ch->rx_napi);
|
||||
}
|
||||
|
||||
if ((status & handle_tx) && (chan < priv->plat->tx_queues_to_use)) {
|
||||
stmmac_disable_dma_irq(priv, priv->ioaddr, chan);
|
||||
if ((status & handle_tx) && (chan < priv->plat->tx_queues_to_use))
|
||||
napi_schedule_irqoff(&ch->tx_napi);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@ -3570,8 +3568,8 @@ static int stmmac_napi_poll_tx(struct napi_struct *napi, int budget)
|
|||
work_done = stmmac_tx_clean(priv, DMA_TX_SIZE, chan);
|
||||
work_done = min(work_done, budget);
|
||||
|
||||
if (work_done < budget && napi_complete_done(napi, work_done))
|
||||
stmmac_enable_dma_irq(priv, priv->ioaddr, chan);
|
||||
if (work_done < budget)
|
||||
napi_complete_done(napi, work_done);
|
||||
|
||||
/* Force transmission restart */
|
||||
tx_q = &priv->tx_queue[chan];
|
||||
|
|
Loading…
Reference in New Issue