aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-5.15
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2022-11-25 01:56:29 +0100
committerFelix Fietkau <nbd@nbd.name>2022-11-25 01:56:53 +0100
commit3dff6b53db1c568b957e7bde15eb5e049ea978ce (patch)
treebcf652598f6bc95e37775dd87b756b9fba3aae7f /target/linux/generic/pending-5.15
parentc1d1202e67dc929e58c4d6d1f2698363cbf1b6f7 (diff)
downloadupstream-3dff6b53db1c568b957e7bde15eb5e049ea978ce.tar.gz
upstream-3dff6b53db1c568b957e7bde15eb5e049ea978ce.tar.bz2
upstream-3dff6b53db1c568b957e7bde15eb5e049ea978ce.zip
kernel: fix mtk_eth_soc issue when using secondary GMAC on MT7621/MT7622
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 <nbd@nbd.name>
Diffstat (limited to 'target/linux/generic/pending-5.15')
-rw-r--r--target/linux/generic/pending-5.15/732-14-net-ethernet-mtk_eth_soc-drop-generic-vlan-rx-offloa.patch10
1 files changed, 3 insertions, 7 deletions
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 1a32c02f1d..42f98e6aff 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
@@ -111,7 +111,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
err = phylink_of_phy_connect(mac->phylink, mac->of_node, 0);
if (err) {
netdev_err(dev, "%s: could not attach PHY: %d\n", __func__,
-@@ -3215,6 +3160,39 @@ static int mtk_open(struct net_device *d
+@@ -3215,6 +3160,35 @@ static int mtk_open(struct net_device *d
phylink_start(mac->phylink);
netif_tx_start_all_queues(dev);
@@ -141,17 +141,13 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ val &= ~MTK_CDMP_STAG_EN;
+ mtk_w32(eth, val, MTK_CDMP_IG_CTRL);
+
-+ val = mtk_r32(eth, MTK_CDMQ_IG_CTRL);
-+ val &= ~MTK_CDMQ_STAG_EN;
-+ mtk_w32(eth, val, MTK_CDMQ_IG_CTRL);
-+
+ mtk_w32(eth, 0, MTK_CDMP_EG_CTRL);
+ }
+
return 0;
}
-@@ -3508,10 +3486,9 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -3508,10 +3482,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_CDMP_IG_CTRL);
mtk_w32(eth, val | MTK_CDMP_STAG_EN, MTK_CDMP_IG_CTRL);
@@ -164,7 +160,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* set interrupt delays based on current Net DIM sample */
mtk_dim_rx(&eth->rx_dim.work);
-@@ -4132,7 +4109,7 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -4132,7 +4105,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 &