[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250416131923.40cf0a06@fedora.home>
Date: Wed, 16 Apr 2025 13:19:23 +0200
From: Maxime Chevallier <maxime.chevallier@...tlin.com>
To: "Russell King (Oracle)" <linux@...linux.org.uk>
Cc: Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>, Andrew Lunn
<andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
linux-arm-kernel@...ts.infradead.org,
linux-stm32@...md-mailman.stormreply.com, Maxime Coquelin
<mcoquelin.stm32@...il.com>, netdev@...r.kernel.org, Paolo Abeni
<pabeni@...hat.com>
Subject: Re: [PATCH net-next v2 0/5] net: stmmac: socfpga: fix init ordering
and cleanups
Hello Russell,
On Wed, 16 Apr 2025 10:31:44 +0100
"Russell King (Oracle)" <linux@...linux.org.uk> wrote:
> Hi,
>
> This series fixes the init ordering of the socfpga probe function.
> The standard rule is to do all setup before publishing any device,
> and socfpga violates that. I can see no reason for this, but these
> patches have not been tested on hardware.
>
> Address this by moving the initialisation of dwmac->stmmac_rst
> along with all the other dwmac initialisers - there's no reason
> for this to be late as plat_dat->stmmac_rst has already been
> populated.
>
> Next, replace the call to ops->set_phy_mode() with an init function
> socfpga_dwmac_init() which will then be linked in to plat_dat->init.
>
> Then, add this to plat_dat->init, and switch to stmmac_pltfr_pm_ops
> from the private ops. The runtime suspend/resume socfpga implementations
> are identical to the platform ones, but misses the noirq versions
> which this will add.
>
> Before we swap the order of socfpga_dwmac_init() and
> stmmac_dvr_probe(), we need to change the way the interface is
> obtained, as that uses driver data and the struct net_device which
> haven't been initialised. Save a pointer to plat_dat in the socfpga
> private data, and use that to get the interface mode. We can then swap
> the order of the init and probe functions.
>
> Finally, convert to devm_stmmac_pltfr_probe() by moving the call
> to ops->set_phy_mode() into an init function appropriately populating
> plat_dat->init.
>
> v2: fix oops when calling set_phy_mode() early.
>
> .../net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 79 +++++-----------------
> 1 file changed, 16 insertions(+), 63 deletions(-)
Feel free to CC: me for dwmac-socfpga stuff, I have some HW to test this
on :)
Thanks for this work, it's working fine :)
For the series,
Reviewed-by: Maxime Chevallier <maxime.chevallier@...tlin.com>
Tested-by: Maxime Chevallier <maxime.chevallier@...tlin.com>
Maxime
Powered by blists - more mailing lists