All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>,
	Andrew Lunn <andrew@lunn.ch>, Eric Dumazet <edumazet@google.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Vladimir Oltean <olteanv@gmail.com>,
	Woojung Huh <woojung.huh@microchip.com>,
	Arun Ramadoss <arun.ramadoss@microchip.com>,
	Conor Dooley <conor+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	kernel@pengutronix.de, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, UNGLinuxDriver@microchip.com,
	"Russell King (Oracle)" <linux@armlinux.org.uk>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH net-next v7 4/9] net: dsa: microchip: ksz9477: add Wake on LAN support
Date: Wed, 25 Oct 2023 21:10:15 +0100	[thread overview]
Message-ID: <20231025201015.GL57304@kernel.org> (raw)
In-Reply-To: <20231023093343.2370248-5-o.rempel@pengutronix.de>

On Mon, Oct 23, 2023 at 11:33:38AM +0200, Oleksij Rempel wrote:
> Add WoL support for KSZ9477 family of switches. This code was tested on
> KSZ8563 chip.
> 
> KSZ9477 family of switches supports multiple PHY events:
> - wake on Link Up
> - wake on Energy Detect.
> Since current UAPI can't differentiate between this PHY events, map all
> of them to WAKE_PHY.
> 
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
> ---
>  drivers/net/dsa/microchip/ksz9477.c    | 100 +++++++++++++++++++++++++
>  drivers/net/dsa/microchip/ksz9477.h    |   4 +
>  drivers/net/dsa/microchip/ksz_common.c |  24 ++++++
>  drivers/net/dsa/microchip/ksz_common.h |   4 +
>  4 files changed, 132 insertions(+)
> 
> diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c
> index cde8ef33d029..036dfaddb32a 100644
> --- a/drivers/net/dsa/microchip/ksz9477.c
> +++ b/drivers/net/dsa/microchip/ksz9477.c
> @@ -56,6 +56,103 @@ int ksz9477_change_mtu(struct ksz_device *dev, int port, int mtu)
>  				  REG_SW_MTU_MASK, frame_size);
>  }
>  
> +/**
> + * ksz9477_handle_wake_reason - Handle wake reason on a specified port.
> + * @dev: The device structure.
> + * @port: The port number.
> + *
> + * This function reads the PME (Power Management Event) status register of a
> + * specified port to determine the wake reason. If there is no wake event, it
> + * returns early. Otherwise, it logs the wake reason which could be due to a
> + * "Magic Packet", "Link Up", or "Energy Detect" event. The PME status register
> + * is then cleared to acknowledge the handling of the wake event.
> + *
> + * Return: 0 on success, or an error code on failure.
> + */
> +static int ksz9477_handle_wake_reason(struct ksz_device *dev, int port)
> +{
> +	u8 pme_status;
> +	int ret;
> +
> +	ret = ksz_pread8(dev, port, REG_PORT_PME_STATUS, &pme_status);
> +	if (ret)
> +		return ret;
> +
> +	if (!pme_status)
> +		return 0;
> +
> +	dev_dbg(dev->dev, "Wake event on port %d due to:%s%s\n", port,
> +		pme_status & PME_WOL_LINKUP ? " \"Link Up\"" : "",
> +		pme_status & PME_WOL_ENERGY ? " \"Enery detect\"" : "");

nit: Energy

> +
> +	return ksz_pwrite8(dev, port, REG_PORT_PME_STATUS, pme_status);
> +}

...

  reply	other threads:[~2023-10-25 20:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-23  9:33 [PATCH net-next v7 0/9] net: dsa: microchip: provide Wake on LAN support Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 1/9] net: dsa: microchip: Add missing MAC address register offset for ksz8863 Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 2/9] dt-bindings: net: dsa: microchip: add wakeup-source property Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 3/9] net: dsa: microchip: use wakeup-source DT property to enable PME output Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 4/9] net: dsa: microchip: ksz9477: add Wake on LAN support Oleksij Rempel
2023-10-25 20:10   ` Simon Horman [this message]
2023-10-23  9:33 ` [PATCH net-next v7 5/9] net: dsa: microchip: ksz9477: Add Wake on Magic Packet support Oleksij Rempel
2023-10-25 21:59   ` Jakub Kicinski
2023-10-23  9:33 ` [PATCH net-next v7 6/9] net: dsa: microchip: Refactor comment for ksz_switch_macaddr_get() function Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 7/9] net: dsa: microchip: Add error handling for ksz_switch_macaddr_get() Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 8/9] net: dsa: microchip: Refactor switch shutdown routine for WoL preparation Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 9/9] net: dsa: microchip: Ensure Stable PME Pin State for Wake-on-LAN Oleksij Rempel

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=20231025201015.GL57304@kernel.org \
    --to=horms@kernel.org \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=andrew@lunn.ch \
    --cc=arun.ramadoss@microchip.com \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=kernel@pengutronix.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=o.rempel@pengutronix.de \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=robh+dt@kernel.org \
    --cc=woojung.huh@microchip.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.