mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-06-10 16:56:25 +02:00
Manually rebased: backport-5.15/704-15-v5.19-net-mtk_eth_soc-move-MAC_MCR-setting-to-mac_finish.patch Removed upstreamed: backport-5.15/060-v6.0-01-tools-build-Add-feature-test-for-init_disassemble_in.patch[1] backport-5.15/060-v6.0-02-tools-include-add-dis-asm-compat.h-to-handle-version.patch[2] backport-5.15/060-v6.0-03-tools-perf-Fix-compilation-error-with-new-binutils.patch[3] backport-5.15/060-v6.0-04-tools-bpf_jit_disasm-Fix-compilation-error-with-new-.patch[4] backport-5.15/060-v6.0-05-tools-bpftool-Fix-compilation-error-with-new-binutil.patch[5] pending-5.15/733-02-net-ethernet-mtk_eth_soc-fix-RX-data-corruption-issu.patch[6] bcm47xx/patches-5.15/170-bgmac-fix-initial-chip-reset-to-support-BCM5358.patch[7] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=51b99dc38c1a053e2e732d7f9e2740e343ae7eae 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=451c9d7b16169645ed291ebb2ca9844caa088f2d 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=97f005c0bdbaf656a7808586d234965385a06c58 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=1c27fab243333821375e4d63128d60093fdbe149 5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=4441a90091931fd81607567961dc122f24f735bb 6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=2adc29350a5b4669544566f71f208d2abaec60ab 7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.103&id=04bfc5bcdfc0fdb73587487c71b04d63807ae15a Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
55 lines
2.1 KiB
Diff
55 lines
2.1 KiB
Diff
From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= <arinc.unal@arinc9.com>
|
||
Date: Sun, 5 Feb 2023 20:53:31 +0300
|
||
Subject: [PATCH] net: ethernet: mtk_eth_soc: enable special tag when any MAC
|
||
uses DSA
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
The special tag is only enabled when the first MAC uses DSA. However, it
|
||
must be enabled when any MAC uses DSA. Change the check accordingly.
|
||
|
||
This fixes hardware DSA untagging not working on the second MAC of the
|
||
MT7621 and MT7623 SoCs, and likely other SoCs too. Therefore, remove the
|
||
check that disables hardware DSA untagging for the second MAC of the MT7621
|
||
and MT7623 SoCs.
|
||
|
||
Fixes: a1f47752fd62 ("net: ethernet: mtk_eth_soc: disable hardware DSA untagging for second MAC")
|
||
Co-developed-by: Richard van Schagen <richard@routerhints.com>
|
||
Signed-off-by: Richard van Schagen <richard@routerhints.com>
|
||
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
---
|
||
|
||
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
||
@@ -3078,7 +3078,7 @@ static void mtk_gdm_config(struct mtk_et
|
||
|
||
val |= config;
|
||
|
||
- if (!i && eth->netdev[0] && netdev_uses_dsa(eth->netdev[0]))
|
||
+ if (eth->netdev[i] && netdev_uses_dsa(eth->netdev[i]))
|
||
val |= MTK_GDMA_SPECIAL_TAG;
|
||
|
||
mtk_w32(eth, val, MTK_GDMA_FWD_CFG(i));
|
||
@@ -3143,8 +3143,7 @@ static int mtk_open(struct net_device *d
|
||
struct mtk_eth *eth = mac->hw;
|
||
int i, err;
|
||
|
||
- if ((mtk_uses_dsa(dev) && !eth->prog) &&
|
||
- !(mac->id == 1 && MTK_HAS_CAPS(eth->soc->caps, MTK_GMAC1_TRGMII))) {
|
||
+ if (mtk_uses_dsa(dev) && !eth->prog) {
|
||
for (i = 0; i < ARRAY_SIZE(eth->dsa_meta); i++) {
|
||
struct metadata_dst *md_dst = eth->dsa_meta[i];
|
||
|
||
@@ -3161,8 +3160,7 @@ static int mtk_open(struct net_device *d
|
||
}
|
||
} else {
|
||
/* Hardware special tag parsing needs to be disabled if at least
|
||
- * one MAC does not use DSA, or the second MAC of the MT7621 and
|
||
- * MT7623 SoCs is being used.
|
||
+ * one MAC does not use DSA.
|
||
*/
|
||
u32 val = mtk_r32(eth, MTK_CDMP_IG_CTRL);
|
||
val &= ~MTK_CDMP_STAG_EN;
|