8590531048
Manually rebased: bcm4908/patches-5.15/071-v6.1-0001-net-broadcom-bcm4908_enet-handle-EPROBE_DEFER-when-g.patch bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch ipq40xx/patches-5.15/902-dts-ipq4019-ap-dk04.1.patch[*] Removed upstreamed: backport-5.15/735-v6.5-net-bgmac-postpone-turning-IRQs-off-to-avoid-SoC-han.patch[1] backport-5.15/817-v6.5-01-leds-trigger-netdev-Recheck-NETDEV_LED_MODE_LINKUP-o.patch[2] pending-5.15/143-jffs2-reduce-stack-usage-in-jffs2_build_xattr_subsys.patch[3] pending-5.15/160-workqueue-fix-enum-type-for-gcc-13.patch[4] bcm53xx/patches-5.15/036-v6.5-0003-ARM-dts-BCM5301X-Drop-clock-names-from-the-SPI-node.patch[5] bcm53xx/patches-5.15/036-v6.5-0015-ARM-dts-BCM5301X-fix-duplex-full-full-duplex.patch[6] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=02474292a44205c1eb5a03634ead155a3c9134f4 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=86b93cbfe104e99fd3d25a49748b99fb88101573 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=79b9ab357b6f5675007f4c02ff8765cbd8dc06a2 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=d528faa9e828b9fc46dfb684a2a9fd8c2e860ed8 5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=5899bc4058e89d5110a23797ff94439c53b77c25 6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.123&id=95afd2c7c7d26087730dc938709e025a303e5499 Build system: x86/64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Co-authored-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: John Audia <therealgraysky@proton.me> [rebased ipq40xx/patches-5.15/902-dts-ipq4019-ap-dk04.1.patch ] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
53 lines
1.9 KiB
Diff
53 lines
1.9 KiB
Diff
From: Felix Fietkau <nbd@nbd.name>
|
|
Date: Fri, 4 Nov 2022 19:49:08 +0100
|
|
Subject: [PATCH] net: ethernet: mtk_eth_soc: avoid port_mg assignment on
|
|
MT7622 and newer
|
|
|
|
On newer chips, this field is unused and contains some bits related to queue
|
|
assignment. Initialize it to 0 in those cases.
|
|
Fix offload_version on MT7621 and MT7623, which still need the previous value.
|
|
|
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|
---
|
|
|
|
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
|
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
|
|
@@ -4421,7 +4421,7 @@ static const struct mtk_soc_data mt7621_
|
|
.hw_features = MTK_HW_FEATURES,
|
|
.required_clks = MT7621_CLKS_BITMAP,
|
|
.required_pctl = false,
|
|
- .offload_version = 2,
|
|
+ .offload_version = 1,
|
|
.hash_offset = 2,
|
|
.foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
|
|
.txrx = {
|
|
@@ -4460,7 +4460,7 @@ static const struct mtk_soc_data mt7623_
|
|
.hw_features = MTK_HW_FEATURES,
|
|
.required_clks = MT7623_CLKS_BITMAP,
|
|
.required_pctl = true,
|
|
- .offload_version = 2,
|
|
+ .offload_version = 1,
|
|
.hash_offset = 2,
|
|
.foe_entry_size = sizeof(struct mtk_foe_entry) - 16,
|
|
.txrx = {
|
|
--- a/drivers/net/ethernet/mediatek/mtk_ppe.c
|
|
+++ b/drivers/net/ethernet/mediatek/mtk_ppe.c
|
|
@@ -175,6 +175,8 @@ int mtk_foe_entry_prepare(struct mtk_eth
|
|
val = FIELD_PREP(MTK_FOE_IB2_DEST_PORT_V2, pse_port) |
|
|
FIELD_PREP(MTK_FOE_IB2_PORT_AG_V2, 0xf);
|
|
} else {
|
|
+ int port_mg = eth->soc->offload_version > 1 ? 0 : 0x3f;
|
|
+
|
|
val = FIELD_PREP(MTK_FOE_IB1_STATE, MTK_FOE_STATE_BIND) |
|
|
FIELD_PREP(MTK_FOE_IB1_PACKET_TYPE, type) |
|
|
FIELD_PREP(MTK_FOE_IB1_UDP, l4proto == IPPROTO_UDP) |
|
|
@@ -182,7 +184,7 @@ int mtk_foe_entry_prepare(struct mtk_eth
|
|
entry->ib1 = val;
|
|
|
|
val = FIELD_PREP(MTK_FOE_IB2_DEST_PORT, pse_port) |
|
|
- FIELD_PREP(MTK_FOE_IB2_PORT_MG, 0x3f) |
|
|
+ FIELD_PREP(MTK_FOE_IB2_PORT_MG, port_mg) |
|
|
FIELD_PREP(MTK_FOE_IB2_PORT_AG, 0x1f);
|
|
}
|
|
|