Thread (15 messages) flat view 15 messages, 4 authors, 2021-06-28

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help