Removed because they are upstream:
generic/backport-5.15/704-15-v5.19-net-mtk_eth_soc-move-MAC_MCR-setting-to-mac_finish.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=c5c0760adc260d55265c086b9efb350ea6dda38b
generic/pending-5.15/735-net-mediatek-mtk_eth_soc-release-MAC_MCR_FORCE_LINK-.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=448cc8b5f743985f6d1d98aa4efb386fef4c3bf2
generic/pending-5.15/736-net-ethernet-mtk_eth_soc-fix-PPE-hanging-issue.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=9fcadd125044007351905d40c405fadc2d3bb6d6
Add new configuration symbols for tegra target.
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit fb2c6e9d4d)
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: Lorenzo Bianconi <lorenzo@kernel.org>
 | 
						|
Date: Mon, 6 Jun 2022 21:49:00 +0200
 | 
						|
Subject: [PATCH] net: ethernet: mtk_eth_soc: enable rx cksum offload for
 | 
						|
 MTK_NETSYS_V2
 | 
						|
 | 
						|
Enable rx checksum offload for mt7986 chipset.
 | 
						|
 | 
						|
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
 | 
						|
Link: https://lore.kernel.org/r/c8699805c18f7fd38315fcb8da2787676d83a32c.1654544585.git.lorenzo@kernel.org
 | 
						|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 | 
						|
---
 | 
						|
 | 
						|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 | 
						|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 | 
						|
@@ -1473,8 +1473,8 @@ static int mtk_poll_rx(struct napi_struc
 | 
						|
 	int done = 0, bytes = 0;
 | 
						|
 
 | 
						|
 	while (done < budget) {
 | 
						|
+		unsigned int pktlen, *rxdcsum;
 | 
						|
 		struct net_device *netdev;
 | 
						|
-		unsigned int pktlen;
 | 
						|
 		dma_addr_t dma_addr;
 | 
						|
 		u32 hash, reason;
 | 
						|
 		int mac = 0;
 | 
						|
@@ -1541,7 +1541,13 @@ static int mtk_poll_rx(struct napi_struc
 | 
						|
 		pktlen = RX_DMA_GET_PLEN0(trxd.rxd2);
 | 
						|
 		skb->dev = netdev;
 | 
						|
 		skb_put(skb, pktlen);
 | 
						|
-		if (trxd.rxd4 & eth->soc->txrx.rx_dma_l4_valid)
 | 
						|
+
 | 
						|
+		if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2))
 | 
						|
+			rxdcsum = &trxd.rxd3;
 | 
						|
+		else
 | 
						|
+			rxdcsum = &trxd.rxd4;
 | 
						|
+
 | 
						|
+		if (*rxdcsum & eth->soc->txrx.rx_dma_l4_valid)
 | 
						|
 			skb->ip_summed = CHECKSUM_UNNECESSARY;
 | 
						|
 		else
 | 
						|
 			skb_checksum_none_assert(skb);
 | 
						|
@@ -3765,6 +3771,7 @@ static const struct mtk_soc_data mt7986_
 | 
						|
 		.txd_size = sizeof(struct mtk_tx_dma_v2),
 | 
						|
 		.rxd_size = sizeof(struct mtk_rx_dma_v2),
 | 
						|
 		.rx_irq_done_mask = MTK_RX_DONE_INT_V2,
 | 
						|
+		.rx_dma_l4_valid = RX_DMA_L4_VALID_V2,
 | 
						|
 		.dma_max_len = MTK_TX_DMA_BUF_LEN_V2,
 | 
						|
 		.dma_len_offset = 8,
 | 
						|
 	},
 |