Subject: Re: [PATCH] net: phy: mscc: enable MAC SerDes autonegotiation

From: Raag Jadav <[email-masked]>
Date: Sat, 26 Feb 2022 12:53:27 +0530

On Thu, Feb 24, 2022 at 10:48:57AM +0000, Russell King (Oracle) wrote:
> Sorry for the late comment on this patch.
> 
> On Sat, Feb 05, 2022 at 12:14:52PM +0530, Raag Jadav wrote:
> > +static int vsc85xx_config_inband_aneg(struct phy_device *phydev, bool enabled)
> > +{
> > +	int rc;
> > +	u16 reg_val = 0;
> > +
> > +	if (enabled)
> > +		reg_val = MSCC_PHY_SERDES_ANEG;
> > +
> > +	mutex_lock(&phydev->lock);
> > +
> > +	rc = phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_3,
> > +			      MSCC_PHY_SERDES_PCS_CTRL, MSCC_PHY_SERDES_ANEG,
> > +			      reg_val);
> > +
> > +	mutex_unlock(&phydev->lock);
> 
> What is the reason for the locking here?
> 
> phy_modify_paged() itself is safe due to the MDIO bus lock, so you
> shouldn't need locking around it.
> 

True.

My initial thought was to have serialized access at PHY level,
as we have multiple ports to work with.
But I guess MDIO bus lock could do the job as well.

Will fix it in v2 if required.

I've gone through Vladimir's patches and they look more promising
than this approach.
Let me know if I could be of any help.

Cheers,
Raag

> Thanks.
> 
> -- 
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!