Message ID | 20240517050121.2174412-1-o.rempel@pengutronix.de (mailing list archive) |
---|---|
State | Accepted |
Commit | f0fa84116434b50a8d249d0da8852f410a21ba98 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v2,1/1] net: dsa: microchip: Correct initialization order for KSZ88x3 ports | expand |
On Fri, 2024-05-17 at 07:01 +0200, Oleksij Rempel wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you > know the content is safe > > Adjust the initialization sequence of KSZ88x3 switches to enable > 802.1p priority control on Port 2 before configuring Port 1. This > change ensures the apptrust functionality on Port 1 operates > correctly, as it depends on the priority settings of Port 2. The > prior initialization sequence incorrectly configured Port 1 first, > which could lead to functional discrepancies. > > Fixes: a1ea57710c9d ("net: dsa: microchip: dcb: add special handling > for KSZ88X3 family") > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> > Reviewed-by: Hariprasad Kelam <hkelam@marvell.com> Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Fri, 17 May 2024 07:01:21 +0200 you wrote: > Adjust the initialization sequence of KSZ88x3 switches to enable > 802.1p priority control on Port 2 before configuring Port 1. This > change ensures the apptrust functionality on Port 1 operates > correctly, as it depends on the priority settings of Port 2. The > prior initialization sequence incorrectly configured Port 1 first, > which could lead to functional discrepancies. > > [...] Here is the summary with links: - [net,v2,1/1] net: dsa: microchip: Correct initialization order for KSZ88x3 ports https://git.kernel.org/netdev/net/c/f0fa84116434 You are awesome, thank you!
diff --git a/drivers/net/dsa/microchip/ksz_dcb.c b/drivers/net/dsa/microchip/ksz_dcb.c index a971063275629..086bc9b3cf536 100644 --- a/drivers/net/dsa/microchip/ksz_dcb.c +++ b/drivers/net/dsa/microchip/ksz_dcb.c @@ -805,5 +805,15 @@ int ksz_dcb_init(struct ksz_device *dev) if (ret) return ret; + /* Enable 802.1p priority control on Port 2 during switch initialization. + * This setup is critical for the apptrust functionality on Port 1, which + * relies on the priority settings of Port 2. Note: Port 1 is naturally + * configured before Port 2, necessitating this configuration order. + */ + if (ksz_is_ksz88x3(dev)) + return ksz_prmw8(dev, KSZ_PORT_2, KSZ8_REG_PORT_1_CTRL_0, + KSZ8_PORT_802_1P_ENABLE, + KSZ8_PORT_802_1P_ENABLE); + return 0; }