Re: [PATCH net] net: phy: reconfigure PHY WOL in resume if WOL option still enabled

From: Florian Fainelli
Date: Wed Jul 07 2021 - 22:50:08 EST




On 7/7/2021 6:23 PM, Andrew Lunn wrote:
On Thu, Jul 08, 2021 at 08:42:53AM +0800, mohammad.athari.ismail@xxxxxxxxx wrote:
From: Mohammad Athari Bin Ismail <mohammad.athari.ismail@xxxxxxxxx>

When the PHY wakes up from suspend through WOL event, there is a need to
reconfigure the WOL if the WOL option still enabled. The main operation
is to clear the WOL event status. So that, subsequent WOL event can be
triggered properly.

This fix is needed especially for the PHY that operates in PHY_POLL mode
where there is no handler (such as interrupt handler) available to clear
the WOL event status.

I still think this architecture is wrong.

The interrupt pin is wired to the PMIC. Can the PMIC be modelled as an
interrupt controller? That would allow the interrupt to be handled as
normal, and would mean you don't need polling, and you don't need this
hack.

I have to agree with Andrew here, and if the answer is that you cannot model this PMIC as an interrupt controller, cannot the config_init() callback of the driver acknowledge then disable the interrupts as it normally would if you were cold booting the system? This would also allow you to properly account for the PHY having woken-up the system.
--
Florian