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

From: Ismail, Mohammad Athari
Date: Thu Jul 08 2021 - 06:02:50 EST




> -----Original Message-----
> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: Thursday, July 8, 2021 9:24 AM
> To: Ismail, Mohammad Athari <mohammad.athari.ismail@xxxxxxxxx>
> Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx>; David S . Miller
> <davem@xxxxxxxxxxxxx>; Russell King <linux@xxxxxxxxxxxxxxx>; Jakub Kicinski
> <kuba@xxxxxxxxxx>; Florian Fainelli <f.fainelli@xxxxxxxxx>;
> netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH net] net: phy: reconfigure PHY WOL in resume if WOL
> option still enabled
>
> 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.

Hi Andrew,

In our platform, the PHY interrupt pin is not connected to Host CPU. So, the CPU couldn`t service the PHY interrupt.  The PHY interrupt pin is connected to a power management controller (PMC) as a HW wake up signal. The PMC itself couldn't act as interrupt controller to service the PHY interrupt.

During WOL event, the WOL signal is sent to PMC through the PHY interrupt pin to wake up the PMC. Then, the PMC will wake up the Host CPU and the whole system.

Therefore, for our platform, PHY_POLL mode is chosen in PHY driver.

-Athari-

>
> Andrew