RE: [PATCH net-next V1 3/4] net: stmmac: Reconfigure the PHY WOL settings in stmmac_resume()
From: Voon, Weifeng <hidden>
Date: 2021-06-23 10:06:52
Also in:
lkml, netdev
quoted
From: Muhammad Husaini Zulkifli <redacted> After PHY received a magic packet, the PHY WOL event will be triggered then PHY WOL event interrupt will be disarmed. Ethtool settings will remain with WOL enabled after a S3/S4 suspend resume cycle as expected. Hence,the driver should reconfigure the PHY settings to reenable/disable WOL depending on the ethtool WOL settings in the resume flow.Please could you explain this a bit more? I'm wondering if you have a PHY driver bug. PHY WOL should remain enabled until it is explicitly disabled. Andrew
Let's take Marvell 1510 as example. As explained in driver/net/phy/marvell.c 1773 >------->-------/* If WOL event happened once, the LED[2] interrupt pin 1774 >------->------- * will not be cleared unless we reading the interrupt status 1775 >------->------- * register. The WOL event will not able trigger again if the driver does not clear the interrupt status. Are we expecting PHY driver will automatically clears the interrupt status rather than trigger from the MAC driver? After scanning through all the PHY drivers, the drivers only touches the WOL settings in the get|set_wol() callbacks. Hence, I think that currently there are no PHY drivers that clear the WOL status. Unless the PHY able to self-clear the WOL event status, the PHY WOL would not able to remain enabled after resume from S3/S4. Therefore, we implemented it in the MAC driver to reconfigure the PHY WOL during the MAC resume() flow. Weifeng _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel