[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <27d544f7-9eef-b74a-47d1-bf05718b3abf@mind.be>
Date: Tue, 7 Dec 2021 14:41:13 +0100
From: Maarten Zanders <maarten.zanders@...d.be>
To: "Russell King (Oracle)" <rmk+kernel@...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>,
Maxime Chevallier <maxime.chevallier@...tlin.com>,
netdev@...r.kernel.org
Subject: Re: [PATCH net] net: dsa: mv88e6xxx: fix "don't use PHY_DETECT on
internal PHY's"
On 12/7/21 11:32, Russell King (Oracle) wrote:
> This commit fixes a misunderstanding in commit 4a3e0aeddf09 ("net: dsa:
> mv88e6xxx: don't use PHY_DETECT on internal PHY's").
>
> For Marvell DSA switches with the PHY_DETECT bit (for non-6250 family
> devices), controls whether the PPU polls the PHY to retrieve the link,
> speed, duplex and pause status to update the port configuration. This
> applies for both internal and external PHYs.
>
> For some switches such as 88E6352 and 88E6390X, PHY_DETECT has an
> additional function of enabling auto-media mode between the internal
> PHY and SERDES blocks depending on which first gains link.
>
> The original intention of commit 5d5b231da7ac (net: dsa: mv88e6xxx: use
> PHY_DETECT in mac_link_up/mac_link_down) was to allow this bit to be
> used to detect when this propagation is enabled, and allow software to
> update the port configuration. This has found to be necessary for some
> switches which do not automatically propagate status from the SERDES to
> the port, which includes the 88E6390. However, commit 4a3e0aeddf09
> ("net: dsa: mv88e6xxx: don't use PHY_DETECT on internal PHY's") breaks
> this assumption.
>
> Maarten Zanders has confirmed that the issue he was addressing was for
> an 88E6250 switch, which does not have a PHY_DETECT bit in bit 12, but
> instead a link status bit. Therefore, mv88e6xxx_port_ppu_updates() does
> not report correctly.
>
> This patch resolves the above issues by reverting Maarten's change and
> instead making mv88e6xxx_port_ppu_updates() indicate whether the port
> is internal for the 88E6250 family of switches.
>
> Yes, you're right, I'm targeting the 6250 family. And yes, your
> suggestion would solve my case and is a better implementation for
> the other devices (as far as I can see).
>
> Fixes: 4a3e0aeddf09 ("net: dsa: mv88e6xxx: don't use PHY_DETECT on internal PHY's")
> Signed-off-by: Russell King <rmk+kernel@...linux.org.uk>
Tested-by: Maarten Zanders <maarten.zanders@...d.be>
Thanks Russell
Powered by blists - more mailing lists