From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Andrew Lunn <andrew@lunn.ch>
Cc: netdev <netdev@vger.kernel.org>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <vladimir.oltean@nxp.com>,
Sean Wang <sean.wang@mediatek.com>,
Landen Chao <Landen.Chao@mediatek.com>,
DENG Qingfang <dqfext@gmail.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Doug Berger <opendmb@gmail.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
Wei Fang <wei.fang@nxp.com>, Shenwei Wang <shenwei.wang@nxp.com>,
Clark Wang <xiaoning.wang@nxp.com>,
NXP Linux Team <linux-imx@nxp.com>,
UNGLinuxDriver@microchip.com, Byungho An <bh74.an@samsung.com>,
Giuseppe Cavallaro <peppe.cavallaro@st.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Jose Abreu <joabreu@synopsys.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Heiner Kallweit <hkallweit1@gmail.com>,
Woojung Huh <woojung.huh@microchip.com>,
Oleksij Rempel <linux@rempel-privat.de>
Subject: Re: [PATCH RFC 03/18] net: marvell: mvneta: Simplify EEE configuration
Date: Fri, 17 Feb 2023 11:59:39 +0000 [thread overview]
Message-ID: <Y+9sK/yN7JmQyTl0@shell.armlinux.org.uk> (raw)
In-Reply-To: <20230217034230.1249661-4-andrew@lunn.ch>
On Fri, Feb 17, 2023 at 04:42:15AM +0100, Andrew Lunn wrote:
> @@ -4221,10 +4218,8 @@ static void mvneta_mac_link_up(struct phylink_config *config,
>
> mvneta_port_up(pp);
>
> - if (phy && pp->eee_enabled) {
> - pp->eee_active = phy_init_eee(phy, false) >= 0;
> - mvneta_set_eee(pp, pp->eee_active && pp->tx_lpi_enabled);
> - }
> + if (phy)
> + mvneta_set_eee(pp, phy->eee_active && pp->tx_lpi_enabled);
Thinking about this a bit more, I'm not convinced this is properly safe.
What protects phy->eee_active from changing here? The phydev mutex won't
be held at this point.
As I mentioned in my reply to the cover letter about passing a flag to
mac_link_up() for EEE status, this would mean phylink could save the
EEE active status just like it does with the other phydev parameters
in phylink_phy_change() (which is called under the phydev mutex).
That ensures that we grab all the phylib state under the phydev mutex
and then use that state when bringing the MAC side up without needing
to worry about phydev mutexes.
It's way more invasive, as it requires the mac_link_up() method
signature to change, but I think it would be a cleaner approach
overall.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
next prev parent reply other threads:[~2023-02-17 11:59 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-17 3:42 [PATCH RFC 00/18] Rework MAC drivers EEE support Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 01/18] net: phy: Add phydev->eee_active to simplify adjust link callbacks Andrew Lunn
2023-02-17 9:09 ` Oleksij Rempel
2023-02-17 13:35 ` Andrew Lunn
2023-02-17 11:36 ` Russell King (Oracle)
2023-02-17 13:37 ` Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 02/18] net: phy: Add helper to set EEE Clock stop enable bit Andrew Lunn
2023-02-17 13:33 ` Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 03/18] net: marvell: mvneta: Simplify EEE configuration Andrew Lunn
2023-02-17 11:35 ` Russell King (Oracle)
2023-02-17 11:59 ` Russell King (Oracle) [this message]
2023-02-17 13:13 ` Russell King (Oracle)
2023-02-17 13:45 ` Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 04/18] net: stmmac: Drop usage of phy_init_eee() Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 05/18] net: stmmac: Simplify ethtool get eee Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 06/18] net: lan743x: Fixup EEE Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 07/18] net: fec: Move fec_enet_eee_mode_set() and helper earlier Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 08/18] net: FEC: Fixup EEE Andrew Lunn
2023-02-17 8:19 ` Oleksij Rempel
2023-02-17 12:32 ` Russell King (Oracle)
2023-02-17 13:58 ` Andrew Lunn
2023-02-18 2:00 ` Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 09/18] net: genet: " Andrew Lunn
2023-02-17 3:48 ` Florian Fainelli
2023-02-17 14:00 ` Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 10/18] net: sxgdb: " Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 11/18] net: dsa: mt7530: Swap to using phydev->eee_active Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 12/18] net: dsa: mt7530: Call phylib for set_eee and get_eee Andrew Lunn
2023-02-17 11:48 ` Russell King (Oracle)
2023-02-17 14:10 ` Andrew Lunn
2023-02-18 2:10 ` Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 13/18] net: dsa: b53: Swap to using phydev->eee_active Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 14/18] net: dsa: b53: Call phylib for set_eee and get_eee Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 15/18] net: phylink: Remove unused phylink_init_eee() Andrew Lunn
2023-02-17 11:42 ` Russell King (Oracle)
2023-02-17 3:42 ` [PATCH RFC 16/18] net: phylink: Update comment about configuring EEE in mac_link_up() Andrew Lunn
2023-02-17 11:43 ` Russell King (Oracle)
2023-02-17 3:42 ` [PATCH RFC 17/18] net: phy: remove unused phy_init_eee() Andrew Lunn
2023-02-17 3:42 ` [PATCH RFC 18/18] net: usb: lan78xx: Fixup EEE Andrew Lunn
2023-02-17 11:42 ` [PATCH RFC 00/18] Rework MAC drivers EEE support Russell King (Oracle)
2023-02-17 14:17 ` Andrew Lunn
2023-02-17 14:25 ` Russell King (Oracle)
2023-02-18 12:25 ` Oleksij Rempel
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=Y+9sK/yN7JmQyTl0@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=Landen.Chao@mediatek.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew@lunn.ch \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bh74.an@samsung.com \
--cc=dqfext@gmail.com \
--cc=f.fainelli@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=joabreu@synopsys.com \
--cc=linux-imx@nxp.com \
--cc=linux@rempel-privat.de \
--cc=matthias.bgg@gmail.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=opendmb@gmail.com \
--cc=peppe.cavallaro@st.com \
--cc=sean.wang@mediatek.com \
--cc=shenwei.wang@nxp.com \
--cc=vladimir.oltean@nxp.com \
--cc=wei.fang@nxp.com \
--cc=woojung.huh@microchip.com \
--cc=xiaoning.wang@nxp.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 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).