Messages in this thread | | | From | "Ismail, Mohammad Athari" <> | Subject | RE: [PATCH net] net: phy: reconfigure PHY WOL in resume if WOL option still enabled | Date | Thu, 8 Jul 2021 10:10:26 +0000 |
| |
> -----Original Message----- > From: Florian Fainelli <f.fainelli@gmail.com> > Sent: Thursday, July 8, 2021 10:49 AM > To: Andrew Lunn <andrew@lunn.ch>; Ismail, Mohammad Athari > <mohammad.athari.ismail@intel.com> > Cc: Heiner Kallweit <hkallweit1@gmail.com>; David S . Miller > <davem@davemloft.net>; Russell King <linux@armlinux.org.uk>; Jakub Kicinski > <kuba@kernel.org>; netdev@vger.kernel.org; linux-kernel@vger.kernel.org > Subject: Re: [PATCH net] net: phy: reconfigure PHY WOL in resume if WOL > option still enabled > > > > On 7/7/2021 6:23 PM, Andrew Lunn wrote: > > On Thu, Jul 08, 2021 at 08:42:53AM +0800, > mohammad.athari.ismail@intel.com wrote: > >> From: Mohammad Athari Bin Ismail <mohammad.athari.ismail@intel.com> > >> > >> 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.
Hi Florian,
Thank you for the suggestion. If I understand correctly, you are suggesting to acknowledge and clear the WOL status in config_init() callback function. Am I correct? If yes, I did try to add a code to clear WOL status in marvell_config_init() function (we are using Marvell Alaska 88E1512). But, I found that, if the platform wake up from S3(mem) or S4(disk), the config_init() callback function is not called. As the result, WOL status not able to be cleared in config_init().
Please advice if you any suggestion.
-Athari-
> -- > Florian
| |