linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC net-next 1/2] net: phy: allow mdio bus to probe for c45 devices before c22
@ 2021-05-25  5:58 Wong Vee Khee
  2021-05-25  8:31 ` Russell King (Oracle)
  0 siblings, 1 reply; 3+ messages in thread
From: Wong Vee Khee @ 2021-05-25  5:58 UTC (permalink / raw)
  To: Andrew Lunn, Heiner Kallweit, Russell King; +Cc: netdev, linux-kernel

Some MAC controllers that is able to pair with  external PHY devices
such as the Synopsys MAC Controller (STMMAC) support both Clause-22 and
Clause-45 access.

When paired with PHY devices that only accessible via Clause-45, such as
the Marvell 88E2110, any attempts to access the PHY devices via
Clause-22 will get a PHY ID of all zeroes.

To fix this, we introduce MDIOBUS_C45_C22 which the MAC controller will
try with Clause-45 access before going to Clause-22.

Signed-off-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
---
 include/linux/phy.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/phy.h b/include/linux/phy.h
index 60d2b26026a2..9b0e2c76e19b 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -368,6 +368,7 @@ struct mii_bus {
 		MDIOBUS_C22,
 		MDIOBUS_C45,
 		MDIOBUS_C22_C45,
+		MDIOBUS_C45_C22,
 	} probe_capabilities;
 
 	/** @shared_lock: protect access to the shared element */
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [RFC net-next 1/2] net: phy: allow mdio bus to probe for c45 devices before c22
  2021-05-25  5:58 [RFC net-next 1/2] net: phy: allow mdio bus to probe for c45 devices before c22 Wong Vee Khee
@ 2021-05-25  8:31 ` Russell King (Oracle)
  2021-06-01 10:52   ` Wong Vee Khee
  0 siblings, 1 reply; 3+ messages in thread
From: Russell King (Oracle) @ 2021-05-25  8:31 UTC (permalink / raw)
  To: Wong Vee Khee; +Cc: Andrew Lunn, Heiner Kallweit, netdev, linux-kernel

On Tue, May 25, 2021 at 01:58:39PM +0800, Wong Vee Khee wrote:
> Some MAC controllers that is able to pair with  external PHY devices
> such as the Synopsys MAC Controller (STMMAC) support both Clause-22 and
> Clause-45 access.
> 
> When paired with PHY devices that only accessible via Clause-45, such as
> the Marvell 88E2110, any attempts to access the PHY devices via
> Clause-22 will get a PHY ID of all zeroes.
> 
> To fix this, we introduce MDIOBUS_C45_C22 which the MAC controller will
> try with Clause-45 access before going to Clause-22.
> 
> Signed-off-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
> ---
>  include/linux/phy.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/linux/phy.h b/include/linux/phy.h
> index 60d2b26026a2..9b0e2c76e19b 100644
> --- a/include/linux/phy.h
> +++ b/include/linux/phy.h
> @@ -368,6 +368,7 @@ struct mii_bus {
>  		MDIOBUS_C22,
>  		MDIOBUS_C45,
>  		MDIOBUS_C22_C45,
> +		MDIOBUS_C45_C22,
>  	} probe_capabilities;
>  
>  	/** @shared_lock: protect access to the shared element */

The new definition doesn't seem to be used anywhere, so this patch
merely adds the definition. It doesn't do what it says in the subject
line. Any driver that sets the capabilities to MDIOBUS_C45_C22 will
end up not doing any probing of the PHY.

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC net-next 1/2] net: phy: allow mdio bus to probe for c45 devices before c22
  2021-05-25  8:31 ` Russell King (Oracle)
@ 2021-06-01 10:52   ` Wong Vee Khee
  0 siblings, 0 replies; 3+ messages in thread
From: Wong Vee Khee @ 2021-06-01 10:52 UTC (permalink / raw)
  To: Russell King (Oracle); +Cc: Andrew Lunn, Heiner Kallweit, netdev, linux-kernel

On Tue, May 25, 2021 at 09:31:17AM +0100, Russell King (Oracle) wrote:
> On Tue, May 25, 2021 at 01:58:39PM +0800, Wong Vee Khee wrote:
> > Some MAC controllers that is able to pair with  external PHY devices
> > such as the Synopsys MAC Controller (STMMAC) support both Clause-22 and
> > Clause-45 access.
> > 
> > When paired with PHY devices that only accessible via Clause-45, such as
> > the Marvell 88E2110, any attempts to access the PHY devices via
> > Clause-22 will get a PHY ID of all zeroes.
> > 
> > To fix this, we introduce MDIOBUS_C45_C22 which the MAC controller will
> > try with Clause-45 access before going to Clause-22.
> > 
> > Signed-off-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
> > ---
> >  include/linux/phy.h | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/include/linux/phy.h b/include/linux/phy.h
> > index 60d2b26026a2..9b0e2c76e19b 100644
> > --- a/include/linux/phy.h
> > +++ b/include/linux/phy.h
> > @@ -368,6 +368,7 @@ struct mii_bus {
> >  		MDIOBUS_C22,
> >  		MDIOBUS_C45,
> >  		MDIOBUS_C22_C45,
> > +		MDIOBUS_C45_C22,
> >  	} probe_capabilities;
> >  
> >  	/** @shared_lock: protect access to the shared element */
> 
> The new definition doesn't seem to be used anywhere, so this patch
> merely adds the definition. It doesn't do what it says in the subject
> line. Any driver that sets the capabilities to MDIOBUS_C45_C22 will
> end up not doing any probing of the PHY.
>

You are right. I left out the required changes in drivers/net/mdio_bus.c:-

diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 6045ad3def12..fbf9b8f1f47c 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -684,6 +684,11 @@ struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr)
                if (IS_ERR(phydev))
                        phydev = get_phy_device(bus, addr, true);
                break;
+       case MDIOBUS_C45_C22:
+               phydev = get_phy_device(bus, addr, true);
+               if (IS_ERR(phydev))
+                       phydev = get_phy_device(bus, addr, false);
+               break;
        }

        if (IS_ERR(phydev))


VK 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-01 10:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-25  5:58 [RFC net-next 1/2] net: phy: allow mdio bus to probe for c45 devices before c22 Wong Vee Khee
2021-05-25  8:31 ` Russell King (Oracle)
2021-06-01 10:52   ` Wong Vee Khee

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).