From: Lukasz Majewski <lukma@denx.de>
To: "Russell King (Oracle)" <linux@armlinux.org.uk>
Cc: Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC] net: dsa: slave: Advertise correct EEE capabilities at slave PHY setup
Date: Tue, 30 May 2023 16:57:03 +0200 [thread overview]
Message-ID: <20230530165703.5bd980e2@wsk> (raw)
In-Reply-To: <ZHYGv7zcJd/Ad4hH@shell.armlinux.org.uk>
[-- Attachment #1: Type: text/plain, Size: 3230 bytes --]
Hi Russell,
> On Tue, May 30, 2023 at 04:07:43PM +0200, Lukasz Majewski wrote:
> > Hi Russell,
> >
> > > On Tue, May 30, 2023 at 02:26:21PM +0200, Lukasz Majewski wrote:
> > > > One can disable in device tree advertising of EEE capabilities
> > > > of PHY when 'eee-broken-100tx' property is present in DTS.
> > > >
> > > > With DSA switch it also may happen that one would need to
> > > > disable EEE due to some network issues.
> > > >
> > > > Corresponding switch DTS description:
> > > >
> > > > switch@0 {
> > > > ports {
> > > > port@0 {
> > > > reg = <0>;
> > > > label = "lan1";
> > > > phy-handle = <&switchphy0>;
> > > > };
> > > > }
> > > > mdio {
> > > > switchphy0: switchphy@0 {
> > > > reg = <0>;
> > > > eee-broken-100tx;
> > > > };
> > > > };
> > > >
> > > > This patch adjusts the content of MDIO_AN_EEE_ADV in MDIO_MMD_AN
> > > > "device" so the phydev->eee_broken_modes are taken into account
> > > > from the start of the slave PHYs.
> > >
> > > This should be handled by phylib today in recent kernels without
> > > the need for any patch (as I describe below, because the
> > > config_aneg PHY method should be programming it.) Are you seeing
> > > a problem with it in 6.4-rc?
> >
> > Unfortunately, for this project I use LTS 5.15.z kernel.
> >
> > My impression is that the mv88e6xxx driver is not handling EEE setup
> > during initialization (even with v6.4-rc).
> >
> > I've tried to replace genphy_config_eee_advert() with phy_init_eee,
> > but it lacks the part to program PCS advertise registers.
>
> Firstly, I would advise backporting the EEE changes. The older EEE
> implementation was IMHO not particularly good (I think you can find
> a record in the archives of me stating that the old interfaces were
> just too quirky.)
Ok.
>
> Secondly, even if you program the PHY for EEE, unless you have
> something like an Atheros AR803x PHY with its SmartEEE, EEE needs
> the support of both the PHY and the MAC to which its connected to
> in order to work. It's the MAC which is the "client" which says
> to the PHY "I'm idle" and when both ends tell their PHYs that
> they're idle, the media link can then drop into the low power
> state.
For now - I just wanted to disable the advertisement of EEE (in my use
case EEE can be sacrifice for reliability)
(However, thanks for detailed insights).
>
> The 88e6xxx internal PHYs will communicate their EEE negotiation
> state back to the MACs,
Yes, internal PHYs are used for mv88e6071.
> but for an external PHY, that won't happen,
> and there is no code in the 88e6xxx driver to configure the MAC to
> program the MAC to do EEE.
Ok. I see.
>
> So, I'm wondering what's actually going on here... can you give
> any more details about the hardware setup?
>
I'm using standard mv88e6071 setup (it is recognized as fixed-link PHY
from imx8 fec side).
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2023-05-30 14:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-30 12:26 [RFC] net: dsa: slave: Advertise correct EEE capabilities at slave PHY setup Lukasz Majewski
2023-05-30 12:59 ` Russell King (Oracle)
2023-05-30 14:07 ` Lukasz Majewski
2023-05-30 14:22 ` Russell King (Oracle)
2023-05-30 14:26 ` Andrew Lunn
2023-05-30 14:41 ` Russell King (Oracle)
2023-05-31 8:16 ` Lukasz Majewski
2023-05-31 8:37 ` Russell King (Oracle)
2023-05-30 14:47 ` Lukasz Majewski
2023-05-30 15:08 ` Russell King (Oracle)
2023-05-31 8:43 ` Lukasz Majewski
2023-05-31 12:56 ` Andrew Lunn
2023-05-30 14:57 ` Lukasz Majewski [this message]
2023-05-30 14:23 ` Andrew Lunn
2023-05-30 14:40 ` Lukasz Majewski
2023-05-30 17:15 ` Andrew Lunn
2023-05-31 8:44 ` Lukasz Majewski
2023-05-30 13:17 ` Andrew Lunn
2023-05-30 13:40 ` Lukasz Majewski
2023-05-31 8:12 ` Oleksij Rempel
2023-05-31 9:31 ` Lukasz Majewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230530165703.5bd980e2@wsk \
--to=lukma@denx.de \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.