mediatek/ramips: add patch to avoid unnecessary rearming of interrupts
[openwrt/openwrt.git] / target / linux / generic / pending-5.4 / 770-11-net-ethernet-mtk_eth_soc-avoid-rearming-interrupt-if.pa
1 From: Felix Fietkau <nbd@nbd.name>
2 Date: Fri, 4 Sep 2020 18:14:05 +0200
3 Subject: [PATCH] net: ethernet: mtk_eth_soc: avoid rearming interrupt if
4 napi_complete returns false
5
6 Reduces unnecessary interrupts
7
8 Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 ---
10
11 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
12 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
13 @@ -1512,8 +1512,8 @@ static int mtk_napi_tx(struct napi_struc
14 if (status & MTK_TX_DONE_INT)
15 return budget;
16
17 - napi_complete(napi);
18 - mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
19 + if (napi_complete(napi))
20 + mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
21
22 return tx_done;
23 }
24 @@ -1546,8 +1546,9 @@ poll_again:
25 remain_budget -= rx_done;
26 goto poll_again;
27 }
28 - napi_complete(napi);
29 - mtk_rx_irq_enable(eth, MTK_RX_DONE_INT);
30 +
31 + if (napi_complete(napi))
32 + mtk_rx_irq_enable(eth, MTK_RX_DONE_INT);
33
34 return rx_done + budget - remain_budget;
35 }