RE: [PATCH net-next] net: stmmac: dwmac-renesas-gbeth: Add PM suspend/resume callbacks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Russell King <linux@xxxxxxxxxxxxxxx>
> Sent: 06 July 2025 11:11
> To: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> Cc: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>; Andrew Lunn
> <andrew+netdev@xxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>;
> Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; Maxime Coquelin
> <mcoquelin.stm32@xxxxxxxxx>; Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx;
> linux-renesas-soc@xxxxxxxxxxxxxxx; linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Geert Uytterhoeven
> <geert+renesas@xxxxxxxxx>; biju.das.au <biju.das.au@xxxxxxxxx>
> Subject: Re: [PATCH net-next] net: stmmac: dwmac-renesas-gbeth: Add PM suspend/resume callbacks
> 
> On Sun, Jul 06, 2025 at 09:55:28AM +0000, Biju Das wrote:
> > Just adding some logs:
> > Currently PHY resume is called twice
> > [   35.754933]  kszphy_resume+0x3c/0xf0
> > [   35.754940]  phy_resume+0x3c/0x74
> > [   35.754949]  phylink_prepare_resume+0x58/0xa0
> > [   35.754957]  stmmac_resume+0x90/0x2a0
> > [   35.771296]  stmmac_pltfr_resume+0x3c/0x4c
> >
> > and
> >
> > [   35.771258]  kszphy_resume+0x3c/0xf0
> > [   35.771263]  __phy_resume+0x28/0x54
> > [   35.771270]  phy_start+0x7c/0xb4
> > [   35.771275]  phylink_start+0xb8/0x210
> > [   35.771282]  phylink_resume+0x7c/0xc4
> > [   35.771288]  stmmac_resume+0x1ec/0x2a0
> > [   35.771296]  stmmac_pltfr_resume+0x3c/0x4c
> 
> This shouldn't be a problem. Phylib will do this, and PHY drivers are expected to cope.
> 
> For example, on non-MAC managed PM PHYs, mdio_bus_phy_resume() will call phy_init_hw() followed by
> phy_resume(). If a MAC subsequently is brought up, phy_start() will be called, which will also call
> __phy_resume().
> 
> If this is upsetting the KSZ PHY, then the KSZ PHY driver needs fixing.

By reconfiguring rgmii_delay during resume also fixes the issue.
Not sure, PHY device is expected to configure the delay during every resume?


	if (phy_interface_is_rgmii(phydev)) {
		ret = ksz9131_config_rgmii_delay(phydev);
		if (ret < 0)
			return ret;
	}

Cheers,
Biju





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux