Message ID | 20240202-for-netnext-mt7530-improvements-2-v3-2-63d5adae99ca@arinc9.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | MT7530 DSA Subdriver Improvements Act II | expand |
On Fri, Feb 02, 2024 at 12:19:08PM +0300, Arınç ÜNAL via B4 Relay wrote: > From: Arınç ÜNAL <arinc.unal@arinc9.com> > > mt7530_pad_clk_setup() is called if port 6 is enabled. It used to do more > things than setting up port 6. That part was moved to more appropriate > locations, mt7530_setup() and mt7530_pll_setup(). > > Now that all it does is set up port 6, rename it to mt7530_setup_port6(), > and move it to a more appropriate location, under mt7530_mac_config(). > > Leave an empty mt7530_pad_clk_setup() to satisfy the pad_setup function > pointer. > > This is the code path for setting up the ports before: > > mt753x_phylink_mac_config() > -> mt753x_mac_config() > -> mt7530_mac_config() > -> mt7530_setup_port5() > -> mt753x_pad_setup() > -> mt7530_pad_clk_setup() > > This is after: > > mt753x_phylink_mac_config() > -> mt753x_mac_config() > -> mt7530_mac_config() > -> mt7530_setup_port5() > -> mt7530_setup_port6() > > Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> > Reviewed-by: Vladimir Oltean <olteanv@gmail.com> I hope that the "default" case in mt7530_setup_port6() is effectively unreachable - as long as mt7530_mac_port_get_caps() is paired with this and only sets the interface modes in supported_interfaces that mt7530_setup_port6() handles, then that will be fine. Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Thanks!
diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index 330e22abc076..2d468a5f2e70 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -415,7 +415,7 @@ mt753x_preferred_default_local_cpu_port(struct dsa_switch *ds) /* Setup port 6 interface mode and TRGMII TX circuit */ static int -mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface) +mt7530_setup_port6(struct dsa_switch *ds, phy_interface_t interface) { struct mt7530_priv *priv = ds->priv; u32 ncpo1, ssc_delta, trgint, xtal; @@ -487,6 +487,12 @@ mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface) return 0; } +static int +mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface) +{ + return 0; +} + static int mt7531_pad_setup(struct dsa_switch *ds, phy_interface_t interface) { @@ -2624,12 +2630,15 @@ mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode, phy_interface_t interface) { struct mt7530_priv *priv = ds->priv; + int ret; - /* Only need to setup port5. */ - if (port != 5) - return 0; - - mt7530_setup_port5(priv->ds, interface); + if (port == 5) { + mt7530_setup_port5(priv->ds, interface); + } else if (port == 6) { + ret = mt7530_setup_port6(priv->ds, interface); + if (ret) + return ret; + } return 0; }