From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: Song Yoong Siang <yoong.siang.song@intel.com>
Cc: Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
"David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next 1/1] net: phy: marvell: Add WAKE_PHY support to WOL event
Date: Mon, 16 Aug 2021 11:10:56 +0100 [thread overview]
Message-ID: <20210816101056.GI22278@shell.armlinux.org.uk> (raw)
In-Reply-To: <20210813084508.182333-1-yoong.siang.song@intel.com>
On Fri, Aug 13, 2021 at 04:45:08PM +0800, Song Yoong Siang wrote:
> Add Wake-on-PHY feature support by enabling the Link Up Event.
>
> Signed-off-by: Song Yoong Siang <yoong.siang.song@intel.com>
Hi,
I think this can be greatly simplified - see below.
> ---
> drivers/net/phy/marvell.c | 39 ++++++++++++++++++++++++++++++++++++---
> 1 file changed, 36 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
> index 3de93c9f2744..415e2a01c151 100644
> --- a/drivers/net/phy/marvell.c
> +++ b/drivers/net/phy/marvell.c
> @@ -155,6 +155,7 @@
>
> #define MII_88E1318S_PHY_WOL_CTRL 0x10
> #define MII_88E1318S_PHY_WOL_CTRL_CLEAR_WOL_STATUS BIT(12)
> +#define MII_88E1318S_PHY_WOL_CTRL_LINK_UP_ENABLE BIT(13)
> #define MII_88E1318S_PHY_WOL_CTRL_MAGIC_PACKET_MATCH_ENABLE BIT(14)
>
> #define MII_PHY_LED_CTRL 16
> @@ -1746,13 +1747,19 @@ static void m88e1318_get_wol(struct phy_device *phydev,
> {
> int ret;
>
> - wol->supported = WAKE_MAGIC;
> + wol->supported = WAKE_MAGIC | WAKE_PHY;
> wol->wolopts = 0;
>
> ret = phy_read_paged(phydev, MII_MARVELL_WOL_PAGE,
> MII_88E1318S_PHY_WOL_CTRL);
> - if (ret >= 0 && ret & MII_88E1318S_PHY_WOL_CTRL_MAGIC_PACKET_MATCH_ENABLE)
> + if (ret < 0)
> + return;
> +
> + if (ret & MII_88E1318S_PHY_WOL_CTRL_MAGIC_PACKET_MATCH_ENABLE)
> wol->wolopts |= WAKE_MAGIC;
> +
> + if (ret & MII_88E1318S_PHY_WOL_CTRL_LINK_UP_ENABLE)
> + wol->wolopts |= WAKE_PHY;
> }
>
> static int m88e1318_set_wol(struct phy_device *phydev,
> @@ -1764,7 +1771,7 @@ static int m88e1318_set_wol(struct phy_device *phydev,
> if (oldpage < 0)
> goto error;
>
> - if (wol->wolopts & WAKE_MAGIC) {
> + if (wol->wolopts & (WAKE_MAGIC | WAKE_PHY)) {
> /* Explicitly switch to page 0x00, just to be sure */
> err = marvell_write_page(phydev, MII_MARVELL_COPPER_PAGE);
> if (err < 0)
> @@ -1796,7 +1803,9 @@ static int m88e1318_set_wol(struct phy_device *phydev,
> MII_88E1318S_PHY_LED_TCR_INT_ACTIVE_LOW);
> if (err < 0)
> goto error;
> + }
Wouldn't it make more sense to always select the WOL page at this point
between these two blocks? From what I can see, the WOL page is selected
by both true and false blocks of the next if() statement, and again by
the newly added if() statement for WAKE_PHY.
Other than that, I don't see any issues.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
prev parent reply other threads:[~2021-08-16 10:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-13 8:45 [PATCH net-next 1/1] net: phy: marvell: Add WAKE_PHY support to WOL event Song Yoong Siang
2021-08-14 16:07 ` Andrew Lunn
2021-08-16 10:10 ` patchwork-bot+netdevbpf
2021-08-16 10:10 ` Russell King (Oracle) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210816101056.GI22278@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=hkallweit1@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=yoong.siang.song@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.