From: Felix Fietkau Date: Wed, 23 Nov 2022 10:33:44 +0000 (+0100) Subject: kernel: fix regression on mt7986 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=eaba63cddee44e0761cee1b0f82e3dd359e2dac1;p=openwrt%2Fstaging%2Fsvanheule.git 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: 9b482ee22f3f ("kernel: add more fixes for mtk_eth_soc") Signed-off-by: Felix Fietkau --- diff --git a/target/linux/generic/pending-5.15/732-14-net-ethernet-mtk_eth_soc-drop-generic-vlan-rx-offloa.patch b/target/linux/generic/pending-5.15/732-14-net-ethernet-mtk_eth_soc-drop-generic-vlan-rx-offloa.patch index 4339321a96..1a32c02f1d 100644 --- a/target/linux/generic/pending-5.15/732-14-net-ethernet-mtk_eth_soc-drop-generic-vlan-rx-offloa.patch +++ b/target/linux/generic/pending-5.15/732-14-net-ethernet-mtk_eth_soc-drop-generic-vlan-rx-offloa.patch @@ -151,16 +151,8 @@ Signed-off-by: Felix Fietkau 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 /* 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 &