Commit 71ba8e48 authored by Felix Fietkau's avatar Felix Fietkau Committed by Jakub Kicinski
Browse files

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: default avatarFelix Fietkau <nbd@nbd.name>
Link: https://lore.kernel.org/r/20221116080734.44013-4-nbd@nbd.name


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f4b2fa2c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4324,7 +4324,7 @@ static const struct mtk_soc_data mt7621_data = {
	.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 = {
@@ -4363,7 +4363,7 @@ static const struct mtk_soc_data mt7623_data = {
	.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 = {
+3 −1
Original line number Diff line number Diff line
@@ -175,6 +175,8 @@ int mtk_foe_entry_prepare(struct mtk_eth *eth, struct mtk_foe_entry *entry,
		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 *eth, struct mtk_foe_entry *entry,
		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);
	}