Message ID | 20240204-for-netnext-mt7530-improvements-2-v4-4-02bf0abaadb8@arinc9.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | MT7530 DSA Subdriver Improvements Act II | expand |
On 4.02.2024 19:34, 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(). > > Change mt7530_setup_port6() to void as there're no error cases. > > 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: > > dsa_switch_ops :: phylink_mac_config() -> mt753x_phylink_mac_config() > -> mt753x_mac_config() > -> mt753x_info :: mac_port_config() -> mt7530_mac_config() > -> mt7530_setup_port5() > -> mt753x_pad_setup() > -> mt753x_info :: pad_setup() -> mt7530_pad_clk_setup() > > This is after: > > dsa_switch_ops :: phylink_mac_config() -> mt753x_phylink_mac_config() > -> mt753x_mac_config() > -> mt753x_info :: mac_port_config() -> mt7530_mac_config() > -> mt7530_setup_port5() > -> mt7530_setup_port6() > > Reviewed-by: Vladimir Oltean <olteanv@gmail.com> > Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> > Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com> > --- > drivers/net/dsa/mt7530.c | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c > index 82e90da1e52b..18842c759b63 100644 > --- a/drivers/net/dsa/mt7530.c > +++ b/drivers/net/dsa/mt7530.c > @@ -414,8 +414,8 @@ 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) > +static void > +mt7530_setup_port6(struct dsa_switch *ds, phy_interface_t interface) > { > struct mt7530_priv *priv = ds->priv; > u32 ncpo1, ssc_delta, xtal; > @@ -465,7 +465,11 @@ mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface) > > /* Enable the MT7530 TRGMII clocks */ > core_set(priv, CORE_TRGMII_GSW_CLK_CG, REG_TRGMIICK_EN); > +} > > +static int > +mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface) > +{ > return 0; > } > > @@ -2613,11 +2617,10 @@ mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode, > { > struct mt7530_priv *priv = ds->priv; > > - /* Only need to setup port5. */ > - if (port != 5) > - return 0; > - > - mt7530_setup_port5(priv->ds, interface); > + if (port == 5) { Stray brace, will remove. Arınç
diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index 82e90da1e52b..18842c759b63 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -414,8 +414,8 @@ 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) +static void +mt7530_setup_port6(struct dsa_switch *ds, phy_interface_t interface) { struct mt7530_priv *priv = ds->priv; u32 ncpo1, ssc_delta, xtal; @@ -465,7 +465,11 @@ mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface) /* Enable the MT7530 TRGMII clocks */ core_set(priv, CORE_TRGMII_GSW_CLK_CG, REG_TRGMIICK_EN); +} +static int +mt7530_pad_clk_setup(struct dsa_switch *ds, phy_interface_t interface) +{ return 0; } @@ -2613,11 +2617,10 @@ mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode, { struct mt7530_priv *priv = ds->priv; - /* 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) + mt7530_setup_port6(priv->ds, interface); return 0; }