Message ID | 20231123-dwmac-rk_phy_wol-v1-1-bf4e718081b9@wolfvision.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: stmmac: dwmac-rk: add support for PHY wake on LAN | expand |
On Thu, Nov 23, 2023 at 01:14:13PM +0100, Javier Carrasco wrote: > This property defines if PHY WOL is preferred. If it is not defined, MAC > WOL will be preferred instead. > > Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> > --- > Documentation/devicetree/bindings/net/rockchip-dwmac.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml > index 70bbc4220e2a..fc4b02a5a375 100644 > --- a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml > +++ b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml > @@ -91,6 +91,12 @@ properties: > The phandle of the syscon node for the peripheral general register file. > $ref: /schemas/types.yaml#/definitions/phandle > > + rockchip,phy-wol: > + type: boolean > + description: > + If present, indicates that PHY WOL is preferred. MAC WOL is preferred > + otherwise. Although I suspect this isn't, it sounds like software policy. What attribute of the hardware determines which is preferred?
On 23.11.23 18:20, Conor Dooley wrote: > On Thu, Nov 23, 2023 at 01:14:13PM +0100, Javier Carrasco wrote: >> This property defines if PHY WOL is preferred. If it is not defined, MAC >> WOL will be preferred instead. >> >> Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> >> --- >> Documentation/devicetree/bindings/net/rockchip-dwmac.yaml | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml >> index 70bbc4220e2a..fc4b02a5a375 100644 >> --- a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml >> +++ b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml >> @@ -91,6 +91,12 @@ properties: >> The phandle of the syscon node for the peripheral general register file. >> $ref: /schemas/types.yaml#/definitions/phandle >> >> + rockchip,phy-wol: >> + type: boolean >> + description: >> + If present, indicates that PHY WOL is preferred. MAC WOL is preferred >> + otherwise. > > Although I suspect this isn't, it sounds like software policy. What > attribute of the hardware determines which is preferred? Maybe the word "preferred" set off a red flag. The description is taken from the mediatek,mac-wol, which is used to set the same flag with inverted logic (I could invert my logic to call mine rockchip,mac-wol and use a description without "preferences"). This property is used to enable the PHY WOL in case the MAC is powered off in suspend mode, so it cannot provide WOL. This is done by a PMIC as defined in the device tree and that should not be something the software could tweak. Best regards, Javier Carrasco
On 23/11/2023 20:36, Javier Carrasco wrote: > On 23.11.23 18:20, Conor Dooley wrote: >> On Thu, Nov 23, 2023 at 01:14:13PM +0100, Javier Carrasco wrote: >>> This property defines if PHY WOL is preferred. If it is not defined, MAC >>> WOL will be preferred instead. >>> >>> Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> >>> --- >>> Documentation/devicetree/bindings/net/rockchip-dwmac.yaml | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml >>> index 70bbc4220e2a..fc4b02a5a375 100644 >>> --- a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml >>> +++ b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml >>> @@ -91,6 +91,12 @@ properties: >>> The phandle of the syscon node for the peripheral general register file. >>> $ref: /schemas/types.yaml#/definitions/phandle >>> >>> + rockchip,phy-wol: >>> + type: boolean >>> + description: >>> + If present, indicates that PHY WOL is preferred. MAC WOL is preferred >>> + otherwise. >> >> Although I suspect this isn't, it sounds like software policy. What >> attribute of the hardware determines which is preferred? > > Maybe the word "preferred" set off a red flag. The description is taken > from the mediatek,mac-wol, which is used to set the same flag with > inverted logic (I could invert my logic to call mine rockchip,mac-wol > and use a description without "preferences"). > > This property is used to enable the PHY WOL in case the MAC is powered > off in suspend mode, so it cannot provide WOL. This is done by a PMIC as > defined in the device tree and that should not be something the software > could tweak. I wonder if generic wakeup-source property could not be used. WOL is a bit different because it allows to actually turn on the computer, but otherwise it is also a wake-up. Best regards, Krzysztof
On Thu, Nov 23, 2023 at 05:20:48PM +0000, Conor Dooley wrote: > On Thu, Nov 23, 2023 at 01:14:13PM +0100, Javier Carrasco wrote: > > This property defines if PHY WOL is preferred. If it is not defined, MAC > > WOL will be preferred instead. > > > > Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> > > --- > > Documentation/devicetree/bindings/net/rockchip-dwmac.yaml | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml > > index 70bbc4220e2a..fc4b02a5a375 100644 > > --- a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml > > +++ b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml > > @@ -91,6 +91,12 @@ properties: > > The phandle of the syscon node for the peripheral general register file. > > $ref: /schemas/types.yaml#/definitions/phandle > > > > + rockchip,phy-wol: > > + type: boolean > > + description: > > + If present, indicates that PHY WOL is preferred. MAC WOL is preferred > > + otherwise. > > Although I suspect this isn't, it sounds like software policy. What > attribute of the hardware determines which is preferred? I tend to agree, its a software policy. Doing WoL in the PHY should be the preferred solution, because it allows the MAC to be powered off, saving more power. If the PHY does not implement it, then the MAC should be used. It should be possible for the MAC driver to pass the WoL settings to the PHY, and if it returns EOPNOTSUPP, or maybe EINVAL, implement the WoL in the MAC. This might be a behaviour change, depending on the MAC driver. So i could imaging a less risk tolerant developers wanting a knob to enable this. However, if done correctly, using the PHY instead of the MAC should not be visible from the users perspective. Andrew
diff --git a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml index 70bbc4220e2a..fc4b02a5a375 100644 --- a/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/rockchip-dwmac.yaml @@ -91,6 +91,12 @@ properties: The phandle of the syscon node for the peripheral general register file. $ref: /schemas/types.yaml#/definitions/phandle + rockchip,phy-wol: + type: boolean + description: + If present, indicates that PHY WOL is preferred. MAC WOL is preferred + otherwise. + tx_delay: description: Delay value for TXD timing. $ref: /schemas/types.yaml#/definitions/uint32
This property defines if PHY WOL is preferred. If it is not defined, MAC WOL will be preferred instead. Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net> --- Documentation/devicetree/bindings/net/rockchip-dwmac.yaml | 6 ++++++ 1 file changed, 6 insertions(+)