diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-04-23 09:36:04 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-04-23 09:36:04 -0700 |
commit | 72f028bd71cc4f3ca223dda7b2791b3e36d05ace (patch) | |
tree | 139cce15f972ee87511b4bd6777500a2a2a7da69 | |
parent | 30574c54eb734d785455c43be188b79b6c6bd940 (diff) | |
download | stable-queue-72f028bd71cc4f3ca223dda7b2791b3e36d05ace.tar.gz |
6.1-stable patches
added patches:
net-dsa-introduce-preferred_default_local_cpu_port-and-use-on-mt7530.patch
net-dsa-mt7530-fix-enabling-eee-on-mt7531-switch-on-all-boards.patch
net-dsa-mt7530-fix-improper-frames-on-all-25mhz-and-40mhz-xtal-mt7530.patch
net-dsa-mt7530-set-all-cpu-ports-in-mt7531_cpu_pmap.patch
5 files changed, 438 insertions, 0 deletions
diff --git a/queue-6.1/net-dsa-introduce-preferred_default_local_cpu_port-and-use-on-mt7530.patch b/queue-6.1/net-dsa-introduce-preferred_default_local_cpu_port-and-use-on-mt7530.patch new file mode 100644 index 0000000000..aac2eca5b2 --- /dev/null +++ b/queue-6.1/net-dsa-introduce-preferred_default_local_cpu_port-and-use-on-mt7530.patch @@ -0,0 +1,171 @@ +From b79d7c14f48083abb3fb061370c0c64a569edf4c Mon Sep 17 00:00:00 2001 +From: Vladimir Oltean <olteanv@gmail.com> +Date: Sat, 17 Jun 2023 09:26:48 +0300 +Subject: net: dsa: introduce preferred_default_local_cpu_port and use on MT7530 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Vladimir Oltean <olteanv@gmail.com> + +commit b79d7c14f48083abb3fb061370c0c64a569edf4c upstream. + +Since the introduction of the OF bindings, DSA has always had a policy that +in case multiple CPU ports are present in the device tree, the numerically +smallest one is always chosen. + +The MT7530 switch family, except the switch on the MT7988 SoC, has 2 CPU +ports, 5 and 6, where port 6 is preferable on the MT7531BE switch because +it has higher bandwidth. + +The MT7530 driver developers had 3 options: +- to modify DSA when the MT7531 switch support was introduced, such as to + prefer the better port +- to declare both CPU ports in device trees as CPU ports, and live with the + sub-optimal performance resulting from not preferring the better port +- to declare just port 6 in the device tree as a CPU port + +Of course they chose the path of least resistance (3rd option), kicking the +can down the road. The hardware description in the device tree is supposed +to be stable - developers are not supposed to adopt the strategy of +piecemeal hardware description, where the device tree is updated in +lockstep with the features that the kernel currently supports. + +Now, as a result of the fact that they did that, any attempts to modify the +device tree and describe both CPU ports as CPU ports would make DSA change +its default selection from port 6 to 5, effectively resulting in a +performance degradation visible to users with the MT7531BE switch as can be +seen below. + +Without preferring port 6: + +[ ID][Role] Interval Transfer Bitrate Retr +[ 5][TX-C] 0.00-20.00 sec 374 MBytes 157 Mbits/sec 734 sender +[ 5][TX-C] 0.00-20.00 sec 373 MBytes 156 Mbits/sec receiver +[ 7][RX-C] 0.00-20.00 sec 1.81 GBytes 778 Mbits/sec 0 sender +[ 7][RX-C] 0.00-20.00 sec 1.81 GBytes 777 Mbits/sec receiver + +With preferring port 6: + +[ ID][Role] Interval Transfer Bitrate Retr +[ 5][TX-C] 0.00-20.00 sec 1.99 GBytes 856 Mbits/sec 273 sender +[ 5][TX-C] 0.00-20.00 sec 1.99 GBytes 855 Mbits/sec receiver +[ 7][RX-C] 0.00-20.00 sec 1.72 GBytes 737 Mbits/sec 15 sender +[ 7][RX-C] 0.00-20.00 sec 1.71 GBytes 736 Mbits/sec receiver + +Using one port for WAN and the other ports for LAN is a very popular use +case which is what this test emulates. + +As such, this change proposes that we retroactively modify stable kernels +(which don't support the modification of the CPU port assignments, so as to +let user space fix the problem and restore the throughput) to keep the +mt7530 driver preferring port 6 even with device trees where the hardware +is more fully described. + +Fixes: c288575f7810 ("net: dsa: mt7530: Add the support of MT7531 switch") +Signed-off-by: Vladimir Oltean <olteanv@gmail.com> +Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> +Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> +Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/net/dsa/mt7530.c | 15 +++++++++++++++ + include/net/dsa.h | 8 ++++++++ + net/dsa/dsa2.c | 24 +++++++++++++++++++++++- + 3 files changed, 46 insertions(+), 1 deletion(-) + +--- a/drivers/net/dsa/mt7530.c ++++ b/drivers/net/dsa/mt7530.c +@@ -419,6 +419,20 @@ static void mt7530_pll_setup(struct mt75 + core_set(priv, CORE_TRGMII_GSW_CLK_CG, REG_GSWCK_EN); + } + ++/* If port 6 is available as a CPU port, always prefer that as the default, ++ * otherwise don't care. ++ */ ++static struct dsa_port * ++mt753x_preferred_default_local_cpu_port(struct dsa_switch *ds) ++{ ++ struct dsa_port *cpu_dp = dsa_to_port(ds, 6); ++ ++ if (dsa_port_is_cpu(cpu_dp)) ++ return cpu_dp; ++ ++ return NULL; ++} ++ + /* Setup port 6 interface mode and TRGMII TX circuit */ + static int + mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface) +@@ -3405,6 +3419,7 @@ static int mt753x_set_mac_eee(struct dsa + static const struct dsa_switch_ops mt7530_switch_ops = { + .get_tag_protocol = mtk_get_tag_protocol, + .setup = mt753x_setup, ++ .preferred_default_local_cpu_port = mt753x_preferred_default_local_cpu_port, + .get_strings = mt7530_get_strings, + .get_ethtool_stats = mt7530_get_ethtool_stats, + .get_sset_count = mt7530_get_sset_count, +--- a/include/net/dsa.h ++++ b/include/net/dsa.h +@@ -969,6 +969,14 @@ struct dsa_switch_ops { + void (*port_disable)(struct dsa_switch *ds, int port); + + /* ++ * Compatibility between device trees defining multiple CPU ports and ++ * drivers which are not OK to use by default the numerically smallest ++ * CPU port of a switch for its local ports. This can return NULL, ++ * meaning "don't know/don't care". ++ */ ++ struct dsa_port *(*preferred_default_local_cpu_port)(struct dsa_switch *ds); ++ ++ /* + * Port's MAC EEE settings + */ + int (*set_mac_eee)(struct dsa_switch *ds, int port, +--- a/net/dsa/dsa2.c ++++ b/net/dsa/dsa2.c +@@ -425,6 +425,24 @@ static int dsa_tree_setup_default_cpu(st + return 0; + } + ++static struct dsa_port * ++dsa_switch_preferred_default_local_cpu_port(struct dsa_switch *ds) ++{ ++ struct dsa_port *cpu_dp; ++ ++ if (!ds->ops->preferred_default_local_cpu_port) ++ return NULL; ++ ++ cpu_dp = ds->ops->preferred_default_local_cpu_port(ds); ++ if (!cpu_dp) ++ return NULL; ++ ++ if (WARN_ON(!dsa_port_is_cpu(cpu_dp) || cpu_dp->ds != ds)) ++ return NULL; ++ ++ return cpu_dp; ++} ++ + /* Perform initial assignment of CPU ports to user ports and DSA links in the + * fabric, giving preference to CPU ports local to each switch. Default to + * using the first CPU port in the switch tree if the port does not have a CPU +@@ -432,12 +450,16 @@ static int dsa_tree_setup_default_cpu(st + */ + static int dsa_tree_setup_cpu_ports(struct dsa_switch_tree *dst) + { +- struct dsa_port *cpu_dp, *dp; ++ struct dsa_port *preferred_cpu_dp, *cpu_dp, *dp; + + list_for_each_entry(cpu_dp, &dst->ports, list) { + if (!dsa_port_is_cpu(cpu_dp)) + continue; + ++ preferred_cpu_dp = dsa_switch_preferred_default_local_cpu_port(cpu_dp->ds); ++ if (preferred_cpu_dp && preferred_cpu_dp != cpu_dp) ++ continue; ++ + /* Prefer a local CPU port */ + dsa_switch_for_each_port(dp, cpu_dp->ds) { + /* Prefer the first local CPU port found */ diff --git a/queue-6.1/net-dsa-mt7530-fix-enabling-eee-on-mt7531-switch-on-all-boards.patch b/queue-6.1/net-dsa-mt7530-fix-enabling-eee-on-mt7531-switch-on-all-boards.patch new file mode 100644 index 0000000000..b5d5d32da5 --- /dev/null +++ b/queue-6.1/net-dsa-mt7530-fix-enabling-eee-on-mt7531-switch-on-all-boards.patch @@ -0,0 +1,100 @@ +From 06dfcd4098cfdc4d4577d94793a4f9125386da8b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= <arinc.unal@arinc9.com> +Date: Mon, 8 Apr 2024 10:08:53 +0300 +Subject: net: dsa: mt7530: fix enabling EEE on MT7531 switch on all boards +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Arınç ÜNAL <arinc.unal@arinc9.com> + +commit 06dfcd4098cfdc4d4577d94793a4f9125386da8b upstream. + +The commit 40b5d2f15c09 ("net: dsa: mt7530: Add support for EEE features") +brought EEE support but did not enable EEE on MT7531 switch MACs. EEE is +enabled on MT7531 switch MACs by pulling the LAN2LED0 pin low on the board +(bootstrapping), unsetting the EEE_DIS bit on the trap register, or setting +the internal EEE switch bit on the CORE_PLL_GROUP4 register. Thanks to +SkyLake Huang (黃啟澤) from MediaTek for providing information on the +internal EEE switch bit. + +There are existing boards that were not designed to pull the pin low. +Because of that, the EEE status currently depends on the board design. + +The EEE_DIS bit on the trap pertains to the LAN2LED0 pin which is usually +used to control an LED. Once the bit is unset, the pin will be low. That +will make the active low LED turn on. The pin is controlled by the switch +PHY. It seems that the PHY controls the pin in the way that it inverts the +pin state. That means depending on the wiring of the LED connected to +LAN2LED0 on the board, the LED may be on without an active link. + +To not cause this unwanted behaviour whilst enabling EEE on all boards, set +the internal EEE switch bit on the CORE_PLL_GROUP4 register. + +My testing on MT7531 shows a certain amount of traffic loss when EEE is +enabled. That said, I haven't come across a board that enables EEE. So +enable EEE on the switch MACs but disable EEE advertisement on the switch +PHYs. This way, we don't change the behaviour of the majority of the boards +that have this switch. The mediatek-ge PHY driver already disables EEE +advertisement on the switch PHYs but my testing shows that it is somehow +enabled afterwards. Disabling EEE advertisement before the PHY driver +initialises keeps it off. + +With this change, EEE can now be enabled using ethtool. + +Fixes: 40b5d2f15c09 ("net: dsa: mt7530: Add support for EEE features") +Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> +Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> +Tested-by: Daniel Golle <daniel@makrotopia.org> +Reviewed-by: Daniel Golle <daniel@makrotopia.org> +Link: https://lore.kernel.org/r/20240408-for-net-mt7530-fix-eee-for-mt7531-mt7988-v3-1-84fdef1f008b@arinc9.com +Signed-off-by: Jakub Kicinski <kuba@kernel.org> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/net/dsa/mt7530.c | 17 ++++++++++++----- + drivers/net/dsa/mt7530.h | 1 + + 2 files changed, 13 insertions(+), 5 deletions(-) + +--- a/drivers/net/dsa/mt7530.c ++++ b/drivers/net/dsa/mt7530.c +@@ -2675,18 +2675,25 @@ mt7531_setup(struct dsa_switch *ds) + priv->p5_interface = PHY_INTERFACE_MODE_NA; + priv->p6_interface = PHY_INTERFACE_MODE_NA; + +- /* Enable PHY core PLL, since phy_device has not yet been created +- * provided for phy_[read,write]_mmd_indirect is called, we provide +- * our own mt7531_ind_mmd_phy_[read,write] to complete this +- * function. ++ /* Enable Energy-Efficient Ethernet (EEE) and PHY core PLL, since ++ * phy_device has not yet been created provided for ++ * phy_[read,write]_mmd_indirect is called, we provide our own ++ * mt7531_ind_mmd_phy_[read,write] to complete this function. + */ + val = mt7531_ind_c45_phy_read(priv, MT753X_CTRL_PHY_ADDR, + MDIO_MMD_VEND2, CORE_PLL_GROUP4); +- val |= MT7531_PHY_PLL_BYPASS_MODE; ++ val |= MT7531_RG_SYSPLL_DMY2 | MT7531_PHY_PLL_BYPASS_MODE; + val &= ~MT7531_PHY_PLL_OFF; + mt7531_ind_c45_phy_write(priv, MT753X_CTRL_PHY_ADDR, MDIO_MMD_VEND2, + CORE_PLL_GROUP4, val); + ++ /* Disable EEE advertisement on the switch PHYs. */ ++ for (i = MT753X_CTRL_PHY_ADDR; ++ i < MT753X_CTRL_PHY_ADDR + MT7530_NUM_PHYS; i++) { ++ mt7531_ind_c45_phy_write(priv, i, MDIO_MMD_AN, MDIO_AN_EEE_ADV, ++ 0); ++ } ++ + mt7531_setup_common(ds); + + /* Setup VLAN ID 0 for VLAN-unaware bridges */ +--- a/drivers/net/dsa/mt7530.h ++++ b/drivers/net/dsa/mt7530.h +@@ -673,6 +673,7 @@ enum mt7531_clk_skew { + #define RG_SYSPLL_DDSFBK_EN BIT(12) + #define RG_SYSPLL_BIAS_EN BIT(11) + #define RG_SYSPLL_BIAS_LPF_EN BIT(10) ++#define MT7531_RG_SYSPLL_DMY2 BIT(6) + #define MT7531_PHY_PLL_OFF BIT(5) + #define MT7531_PHY_PLL_BYPASS_MODE BIT(4) + diff --git a/queue-6.1/net-dsa-mt7530-fix-improper-frames-on-all-25mhz-and-40mhz-xtal-mt7530.patch b/queue-6.1/net-dsa-mt7530-fix-improper-frames-on-all-25mhz-and-40mhz-xtal-mt7530.patch new file mode 100644 index 0000000000..38371cdc80 --- /dev/null +++ b/queue-6.1/net-dsa-mt7530-fix-improper-frames-on-all-25mhz-and-40mhz-xtal-mt7530.patch @@ -0,0 +1,78 @@ +From 5f563c31ff0c40ce395d0bae7daa94c7950dac97 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= <arinc.unal@arinc9.com> +Date: Wed, 20 Mar 2024 23:45:30 +0300 +Subject: net: dsa: mt7530: fix improper frames on all 25MHz and 40MHz XTAL MT7530 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Arınç ÜNAL <arinc.unal@arinc9.com> + +commit 5f563c31ff0c40ce395d0bae7daa94c7950dac97 upstream. + +The MT7530 switch after reset initialises with a core clock frequency that +works with a 25MHz XTAL connected to it. For 40MHz XTAL, the core clock +frequency must be set to 500MHz. + +The mt7530_pll_setup() function is responsible of setting the core clock +frequency. Currently, it runs on MT7530 with 25MHz and 40MHz XTAL. This +causes MT7530 switch with 25MHz XTAL to egress and ingress frames +improperly. + +Introduce a check to run it only on MT7530 with 40MHz XTAL. + +The core clock frequency is set by writing to a switch PHY's register. +Access to the PHY's register is done via the MDIO bus the switch is also +on. Therefore, it works only when the switch makes switch PHYs listen on +the MDIO bus the switch is on. This is controlled either by the state of +the ESW_P1_LED_1 pin after reset deassertion or modifying bit 5 of the +modifiable trap register. + +When ESW_P1_LED_1 is pulled high, PHY indirect access is used. That means +accessing PHY registers via the PHY indirect access control register of the +switch. + +When ESW_P1_LED_1 is pulled low, PHY direct access is used. That means +accessing PHY registers via the MDIO bus the switch is on. + +For MT7530 switch with 40MHz XTAL on a board with ESW_P1_LED_1 pulled high, +the core clock frequency won't be set to 500MHz, causing the switch to +egress and ingress frames improperly. + +Run mt7530_pll_setup() after PHY direct access is set on the modifiable +trap register. + +With these two changes, all MT7530 switches with 25MHz and 40MHz, and +P1_LED_1 pulled high or low, will egress and ingress frames properly. + +Link: https://github.com/BPI-SINOVOIP/BPI-R2-bsp/blob/4a5dd143f2172ec97a2872fa29c7c4cd520f45b5/linux-mt/drivers/net/ethernet/mediatek/gsw_mt7623.c#L1039 +Fixes: b8f126a8d543 ("net-next: dsa: add dsa support for Mediatek MT7530 switch") +Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> +Link: https://lore.kernel.org/r/20240320-for-net-mt7530-fix-25mhz-xtal-with-direct-phy-access-v1-1-d92f605f1160@arinc9.com +Signed-off-by: Paolo Abeni <pabeni@redhat.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/net/dsa/mt7530.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/net/dsa/mt7530.c ++++ b/drivers/net/dsa/mt7530.c +@@ -2434,8 +2434,6 @@ mt7530_setup(struct dsa_switch *ds) + SYS_CTRL_PHY_RST | SYS_CTRL_SW_RST | + SYS_CTRL_REG_RST); + +- mt7530_pll_setup(priv); +- + /* Lower Tx driving for TRGMII path */ + for (i = 0; i < NUM_TRGMII_CTRL; i++) + mt7530_write(priv, MT7530_TRGMII_TD_ODT(i), +@@ -2453,6 +2451,9 @@ mt7530_setup(struct dsa_switch *ds) + + priv->p6_interface = PHY_INTERFACE_MODE_NA; + ++ if ((val & HWTRAP_XTAL_MASK) == HWTRAP_XTAL_40MHZ) ++ mt7530_pll_setup(priv); ++ + mt753x_trap_frames(priv); + + /* Enable and reset MIB counters */ diff --git a/queue-6.1/net-dsa-mt7530-set-all-cpu-ports-in-mt7531_cpu_pmap.patch b/queue-6.1/net-dsa-mt7530-set-all-cpu-ports-in-mt7531_cpu_pmap.patch new file mode 100644 index 0000000000..77f50e63a2 --- /dev/null +++ b/queue-6.1/net-dsa-mt7530-set-all-cpu-ports-in-mt7531_cpu_pmap.patch @@ -0,0 +1,85 @@ +From ff221029a51fd54cacac66e193e0c75e4de940e7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= <arinc.unal@arinc9.com> +Date: Sat, 17 Jun 2023 09:26:44 +0300 +Subject: net: dsa: mt7530: set all CPU ports in MT7531_CPU_PMAP +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Arınç ÜNAL <arinc.unal@arinc9.com> + +commit ff221029a51fd54cacac66e193e0c75e4de940e7 upstream. + +MT7531_CPU_PMAP represents the destination port mask for trapped-to-CPU +frames (further restricted by PCR_MATRIX). + +Currently the driver sets the first CPU port as the single port in this bit +mask, which works fine regardless of whether the device tree defines port +5, 6 or 5+6 as CPU ports. This is because the logic coincides with DSA's +logic of picking the first CPU port as the CPU port that all user ports are +affine to, by default. + +An upcoming change would like to influence DSA's selection of the default +CPU port to no longer be the first one, and in that case, this logic needs +adaptation. + +Since there is no observed leakage or duplication of frames if all CPU +ports are defined in this bit mask, simply include them all. + +Suggested-by: Russell King (Oracle) <linux@armlinux.org.uk> +Suggested-by: Vladimir Oltean <olteanv@gmail.com> +Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> +Reviewed-by: Vladimir Oltean <olteanv@gmail.com> +Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> +Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> +Signed-off-by: David S. Miller <davem@davemloft.net> +Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + drivers/net/dsa/mt7530.c | 15 +++++++-------- + drivers/net/dsa/mt7530.h | 1 + + 2 files changed, 8 insertions(+), 8 deletions(-) + +--- a/drivers/net/dsa/mt7530.c ++++ b/drivers/net/dsa/mt7530.c +@@ -1236,6 +1236,13 @@ mt753x_cpu_port_enable(struct dsa_switch + if (priv->id == ID_MT7530 || priv->id == ID_MT7621) + mt7530_rmw(priv, MT7530_MFC, CPU_MASK, CPU_EN | CPU_PORT(port)); + ++ /* Add the CPU port to the CPU port bitmap for MT7531. Trapped frames ++ * will be forwarded to the CPU port that is affine to the inbound user ++ * port. ++ */ ++ if (priv->id == ID_MT7531) ++ mt7530_set(priv, MT7531_CFC, MT7531_CPU_PMAP(BIT(port))); ++ + /* CPU port gets connected to all user ports of + * the switch. + */ +@@ -2534,16 +2541,8 @@ static int + mt7531_setup_common(struct dsa_switch *ds) + { + struct mt7530_priv *priv = ds->priv; +- struct dsa_port *cpu_dp; + int ret, i; + +- /* BPDU to CPU port */ +- dsa_switch_for_each_cpu_port(cpu_dp, ds) { +- mt7530_rmw(priv, MT7531_CFC, MT7531_CPU_PMAP_MASK, +- BIT(cpu_dp->index)); +- break; +- } +- + mt753x_trap_frames(priv); + + /* Enable and reset MIB counters */ +--- a/drivers/net/dsa/mt7530.h ++++ b/drivers/net/dsa/mt7530.h +@@ -57,6 +57,7 @@ enum mt753x_id { + #define MT7531_MIRROR_PORT_GET(x) (((x) >> 16) & MIRROR_MASK) + #define MT7531_MIRROR_PORT_SET(x) (((x) & MIRROR_MASK) << 16) + #define MT7531_CPU_PMAP_MASK GENMASK(7, 0) ++#define MT7531_CPU_PMAP(x) FIELD_PREP(MT7531_CPU_PMAP_MASK, x) + + #define MT753X_MIRROR_REG(id) (((id) == ID_MT7531) ? \ + MT7531_CFC : MT7530_MFC) diff --git a/queue-6.1/series b/queue-6.1/series index 31d4a7cf30..8a63c3c5c0 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -132,3 +132,7 @@ drm-vmwgfx-fix-crtc-s-atomic-check-conditional.patch nouveau-fix-instmem-race-condition-around-ptr-stores.patch bootconfig-use-memblock_free_late-to-free-xbc-memory-to-buddy.patch nilfs2-fix-oob-in-nilfs_set_de_type.patch +net-dsa-mt7530-set-all-cpu-ports-in-mt7531_cpu_pmap.patch +net-dsa-introduce-preferred_default_local_cpu_port-and-use-on-mt7530.patch +net-dsa-mt7530-fix-improper-frames-on-all-25mhz-and-40mhz-xtal-mt7530.patch +net-dsa-mt7530-fix-enabling-eee-on-mt7531-switch-on-all-boards.patch |