kernel: fix mtk_eth_soc throughput regressions on gigabit PHY ports
[openwrt/openwrt.git] / target / linux / generic / backport-5.15 / 704-05-v5.17-net-mtk_eth_soc-mark-as-a-legacy_pre_march2020-drive.patch
1 From b06515367facfadcf5e70cf6f39db749cf4eb5e3 Mon Sep 17 00:00:00 2001
2 From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
3 Date: Thu, 9 Dec 2021 13:11:43 +0000
4 Subject: [PATCH] net: mtk_eth_soc: mark as a legacy_pre_march2020 driver
5
6 mtk_eth_soc has not been updated for commit 7cceb599d15d ("net: phylink:
7 avoid mac_config calls"), and makes use of state->speed and
8 state->duplex in contravention of the phylink documentation. This makes
9 reliant on the legacy behaviours, so mark it as a legacy driver.
10
11 Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
12 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
13 ---
14 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++
15 1 file changed, 4 insertions(+)
16
17 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
18 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
19 @@ -3269,6 +3269,10 @@ static int mtk_add_mac(struct mtk_eth *e
20
21 mac->phylink_config.dev = &eth->netdev[id]->dev;
22 mac->phylink_config.type = PHYLINK_NETDEV;
23 + /* This driver makes use of state->speed/state->duplex in
24 + * mac_config
25 + */
26 + mac->phylink_config.legacy_pre_march2020 = true;
27 mac->phylink_config.mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE |
28 MAC_10 | MAC_100 | MAC_1000 | MAC_2500FD;
29