| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- From: Felix Fietkau <[email protected]>
 
- Date: Mon, 21 Mar 2022 20:39:59 +0100
 
- Subject: [PATCH] net: ethernet: mtk_eth_soc: enable threaded NAPI
 
- This can improve performance under load by ensuring that NAPI processing is
 
- not pinned on CPU 0.
 
- Signed-off-by: Felix Fietkau <[email protected]>
 
- ---
 
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 
- @@ -3095,8 +3095,8 @@ static irqreturn_t mtk_handle_irq_rx(int
 
-  
 
-  	eth->rx_events++;
 
-  	if (likely(napi_schedule_prep(ð->rx_napi))) {
 
- -		__napi_schedule(ð->rx_napi);
 
-  		mtk_rx_irq_disable(eth, eth->soc->txrx.rx_irq_done_mask);
 
- +		__napi_schedule(ð->rx_napi);
 
-  	}
 
-  
 
-  	return IRQ_HANDLED;
 
- @@ -3108,8 +3108,8 @@ static irqreturn_t mtk_handle_irq_tx(int
 
-  
 
-  	eth->tx_events++;
 
-  	if (likely(napi_schedule_prep(ð->tx_napi))) {
 
- -		__napi_schedule(ð->tx_napi);
 
-  		mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
 
- +		__napi_schedule(ð->tx_napi);
 
-  	}
 
-  
 
-  	return IRQ_HANDLED;
 
- @@ -4883,6 +4883,8 @@ static int mtk_probe(struct platform_dev
 
-  	 * for NAPI to work
 
-  	 */
 
-  	init_dummy_netdev(ð->dummy_dev);
 
- +	eth->dummy_dev.threaded = 1;
 
- +	strcpy(eth->dummy_dev.name, "mtk_eth");
 
-  	netif_napi_add(ð->dummy_dev, ð->tx_napi, mtk_napi_tx,
 
-  		       NAPI_POLL_WEIGHT);
 
-  	netif_napi_add(ð->dummy_dev, ð->rx_napi, mtk_napi_rx,
 
 
  |