kernel: fix regression on mt7986
The CDMQ ingress special tag flag needs to be set for 7986 even without DSA
untag offload, otherwise tx checksum offload seems to break
Fixes: 9b482ee22f ("kernel: add more fixes for mtk_eth_soc")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
			
			
This commit is contained in:
		| @@ -151,16 +151,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|  	return 0; | ||||
|  } | ||||
|   | ||||
| @@ -3503,15 +3481,15 @@ static int mtk_hw_init(struct mtk_eth *e | ||||
|  	/* Indicates CDM to parse the MTK special tag from CPU | ||||
|  	 * which also is working out for untag packets. | ||||
|  	 */ | ||||
| -	val = mtk_r32(eth, MTK_CDMQ_IG_CTRL); | ||||
| -	mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL); | ||||
| @@ -3508,10 +3486,9 @@ static int mtk_hw_init(struct mtk_eth *e | ||||
|  	if (!MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { | ||||
| +		val = mtk_r32(eth, MTK_CDMQ_IG_CTRL); | ||||
| +		mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL); | ||||
| + | ||||
|  		val = mtk_r32(eth, MTK_CDMP_IG_CTRL); | ||||
|  		mtk_w32(eth, val | MTK_CDMP_STAG_EN, MTK_CDMP_IG_CTRL); | ||||
| -	} | ||||
| @@ -172,7 +164,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | ||||
|   | ||||
|  	/* set interrupt delays based on current Net DIM sample */ | ||||
|  	mtk_dim_rx(ð->rx_dim.work); | ||||
| @@ -4132,7 +4110,7 @@ static int mtk_add_mac(struct mtk_eth *e | ||||
| @@ -4132,7 +4109,7 @@ static int mtk_add_mac(struct mtk_eth *e | ||||
|  		eth->netdev[id]->hw_features |= NETIF_F_LRO; | ||||
|   | ||||
|  	eth->netdev[id]->vlan_features = eth->soc->hw_features & | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau