Re: [PATCH v3 1/2] net: phy: at803x: fix the wol setting functions

From: Jie Luo
Date: Wed Aug 02 2023 - 05:51:29 EST




On 8/1/2023 5:16 PM, Paolo Abeni wrote:
On Mon, 2023-07-31 at 14:58 +0000, Leo Li wrote:
-----Original Message-----
From: Andrew Lunn <andrew@xxxxxxx>
Sent: Saturday, July 29, 2023 3:14 AM
To: Leo Li <leoyang.li@xxxxxxx>
Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx>; Russell King
<linux@xxxxxxxxxxxxxxx>; David S . Miller <davem@xxxxxxxxxxxxx>; Jakub
Kicinski <kuba@xxxxxxxxxx>; David Bauer <mail@xxxxxxxxxxxxxxx>;
netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Viorel Suman
<viorel.suman@xxxxxxx>; Wei Fang <wei.fang@xxxxxxx>
Subject: Re: [PATCH v3 1/2] net: phy: at803x: fix the wol setting functions

On Fri, Jul 28, 2023 at 04:53:19PM -0500, Li Yang wrote:
In commit 7beecaf7d507 ("net: phy: at803x: improve the WOL feature"),
it seems not correct to use a wol_en bit in a 1588 Control Register
which is only available on AR8031/AR8033(share the same phy_id) to
determine if WoL is enabled. Change it back to use
AT803X_INTR_ENABLE_WOL for determining the WoL status which is
applicable on all chips supporting wol. Also update the
at803x_set_wol() function to only update the 1588 register on chips having
it.

Do chips which do not have the 1588 register not have WoL? Or WoL
hardware is always enabled, but you still need to enable the interrupt.

Some of them do and some don't, which is removed in the other patch
from the series. Since I don't find the register to enable it, I
guess it always enabled.


Have you tested on a range of PHY? It might be better to split this patch up a
bit. If it causes regressions, having smaller patches can make it easier to find
which change broken it.

No, I only have AR8035 to test with. Changes for other chips are
according to the datasheet. It would be good if others having the
hardware can test it too.

Adding Luo Jie for awareness.

@Luo Jie: do you have access to other chips handled by this driver
other then AR8035? could you please test this series:

https://patchwork.kernel.org/project/netdevbpf/list/?series=770734

?

Thanks!

Paolo


Hi Paolo & Leo,
To make WoL feature working, we need to enable bit MDIO_MMD_PCS.AT803X_PHY_MMD3_WOL_CTRL.AT803X_WOL_EN on both PHY
qca8081 and at803x, which does not depend on the 1588 feature.

The bit AT803X_INTR_ENABLE.AT803X_INTR_ENABLE_WOL is just for triggering the external WoL interrupt PIN when the WOL interrupt occurs.

Thanks,
Jie