[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aa773849b84297679f4eb4b3743518856ca5b71a.camel@collabora.com>
Date: Tue, 07 Dec 2021 14:20:28 +0000
From: Martyn Welch <martyn.welch@...labora.com>
To: "Russell King (Oracle)" <linux@...linux.org.uk>
Cc: Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>, netdev@...r.kernel.org
Subject: Re: [PATCH RFC net] net: dsa: mv88e6xxx: allow use of PHYs on CPU
and DSA ports
On Tue, 2021-12-07 at 12:58 +0000, Russell King (Oracle) wrote:
> On Tue, Dec 07, 2021 at 12:47:35PM +0000, Martyn Welch wrote:
> > Sorry Russell, but unfortunately this patch doesn't seem to be
> > resolving the issue for me.
> >
> > I've dumped in a bit of debug around this change to see if I could
> > determine what was going on here, it seems that in my case the
> > function
> > is being exited before this at:
> >
> > /* FIXME: is this the correct test? If we're in fixed mode on an
> > * internal port, why should we process this any different from
> > * PHY mode? On the other hand, the port may be automedia between
> > * an internal PHY and the serdes...
> > */
> > if ((mode == MLO_AN_PHY) && mv88e6xxx_phy_is_internal(ds, port))
> > return;
>
> Oh, I was going to remove that, but clearly forgot, sorry. Please can
> you try again with that removed? Meanwhile, I'll update the patch at
> my end.
>
Yes! That makes it work for me.
To be clear, the additional change I made was:
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c
b/drivers/net/dsa/mv88e6xxx/chip.c
index b033e653d3f4..14f87f6ac479 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -702,14 +702,6 @@ static void mv88e6xxx_mac_config(struct dsa_switch
*ds, int port,
p = &chip->ports[port];
- /* FIXME: is this the correct test? If we're in fixed mode on
an
- * internal port, why should we process this any different from
- * PHY mode? On the other hand, the port may be automedia
between
- * an internal PHY and the serdes...
- */
- if ((mode == MLO_AN_PHY) && mv88e6xxx_phy_is_internal(ds,
port))
- return;
-
mv88e6xxx_reg_lock(chip);
if (mode != MLO_AN_PHY || !mv88e6xxx_phy_is_internal(ds, port))
{
Assuming that's also what you've done:
Tested-by: Martyn Welch <martyn.welch@...labora.com>
Thanks for your help!
Martyn
Powered by blists - more mailing lists