[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <846b6171-2acd-1e03-8cd8-827bf5437636@ti.com>
Date: Thu, 24 Mar 2022 15:36:02 +0530
From: Siddharth Vadapalli <s-vadapalli@...com>
To: Raag Jadav <raagjadav@...il.com>
CC: "Russell King (Oracle)" <linux@...linux.org.uk>,
Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Steen Hegelund <steen.hegelund@...rochip.com>,
Bjarni Jonasson <bjarni.jonasson@...rochip.com>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] net: phy: mscc: enable MAC SerDes autonegotiation
Hi Raag,
On 26/02/22 12:53, Raag Jadav wrote:
> 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.
Could you please let me know if you plan to post the v2 patch?
The autonegotiation feature is also required for VSC8514, and has to be invoked
in vsc8514_config_init(). Let me know if you need my help for this.
Regards,
Siddharth
Powered by blists - more mailing lists