netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v4] net: cpsw: Add support for wake-on-lan for cpsw
@ 2013-08-20  5:59 ujhelyi.m
  2013-08-20  6:19 ` Mugunthan V N
  2013-08-21  6:50 ` David Miller
  0 siblings, 2 replies; 3+ messages in thread
From: ujhelyi.m @ 2013-08-20  5:59 UTC (permalink / raw)
  To: davem, mugunthanvnm, netdev; +Cc: linux-kernel, Matus Ujhelyi

From: Matus Ujhelyi <ujhelyi.m@gmail.com>

Some phy's can be configured to enable wake on lan (e.g. at803x or marvell 88E1318S).
There is no way how to enable wol on CPSW with such connected phys. This patch
adds this support. It is provided by calling the phy's related code.

Tested on board with at8030x connected phy. Wol interrupt line is
connected to GPIO0 on am335x.

Signed-off-by: Matus Ujhelyi <ujhelyi.m@gmail.com>
---
 drivers/net/ethernet/ti/cpsw.c |   25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index 0fcf212..e2a2535 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -1640,6 +1640,29 @@ static int cpsw_set_settings(struct net_device *ndev, struct ethtool_cmd *ecmd)
 		return -EOPNOTSUPP;
 }
 
+static void cpsw_get_wol(struct net_device *ndev, struct ethtool_wolinfo *wol)
+{
+	struct cpsw_priv *priv = netdev_priv(ndev);
+	int slave_no = cpsw_slave_index(priv);
+
+	wol->supported = 0;
+	wol->wolopts = 0;
+
+	if (priv->slaves[slave_no].phy)
+		phy_ethtool_get_wol(priv->slaves[slave_no].phy, wol);
+}
+
+static int cpsw_set_wol(struct net_device *ndev, struct ethtool_wolinfo *wol)
+{
+	struct cpsw_priv *priv = netdev_priv(ndev);
+	int slave_no = cpsw_slave_index(priv);
+
+	if (priv->slaves[slave_no].phy)
+		return phy_ethtool_set_wol(priv->slaves[slave_no].phy, wol);
+	else
+		return -EOPNOTSUPP;
+}
+
 static const struct ethtool_ops cpsw_ethtool_ops = {
 	.get_drvinfo	= cpsw_get_drvinfo,
 	.get_msglevel	= cpsw_get_msglevel,
@@ -1653,6 +1676,8 @@ static const struct ethtool_ops cpsw_ethtool_ops = {
 	.get_sset_count		= cpsw_get_sset_count,
 	.get_strings		= cpsw_get_strings,
 	.get_ethtool_stats	= cpsw_get_ethtool_stats,
+	.get_wol	= cpsw_get_wol,
+	.set_wol	= cpsw_set_wol,
 };
 
 static void cpsw_slave_init(struct cpsw_slave *slave, struct cpsw_priv *priv,
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next v4] net: cpsw: Add support for wake-on-lan for cpsw
  2013-08-20  5:59 [PATCH net-next v4] net: cpsw: Add support for wake-on-lan for cpsw ujhelyi.m
@ 2013-08-20  6:19 ` Mugunthan V N
  2013-08-21  6:50 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: Mugunthan V N @ 2013-08-20  6:19 UTC (permalink / raw)
  To: ujhelyi.m; +Cc: davem, netdev, linux-kernel

On Tuesday 20 August 2013 11:29 AM, ujhelyi.m@gmail.com wrote:
> From: Matus Ujhelyi <ujhelyi.m@gmail.com>
>
> Some phy's can be configured to enable wake on lan (e.g. at803x or marvell 88E1318S).
> There is no way how to enable wol on CPSW with such connected phys. This patch
> adds this support. It is provided by calling the phy's related code.
>
> Tested on board with at8030x connected phy. Wol interrupt line is
> connected to GPIO0 on am335x.
>
> Signed-off-by: Matus Ujhelyi <ujhelyi.m@gmail.com>
> ---
Looks good to me.

Acked-by: Mugunthan V N <mugunthanvnm@ti.com>

Also feel free to add my ack in case if you are submitting one more version.

Regards
Mugunthan V N

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next v4] net: cpsw: Add support for wake-on-lan for cpsw
  2013-08-20  5:59 [PATCH net-next v4] net: cpsw: Add support for wake-on-lan for cpsw ujhelyi.m
  2013-08-20  6:19 ` Mugunthan V N
@ 2013-08-21  6:50 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2013-08-21  6:50 UTC (permalink / raw)
  To: ujhelyi.m; +Cc: mugunthanvnm, netdev, linux-kernel

From: ujhelyi.m@gmail.com
Date: Tue, 20 Aug 2013 07:59:38 +0200

> From: Matus Ujhelyi <ujhelyi.m@gmail.com>
> 
> Some phy's can be configured to enable wake on lan (e.g. at803x or marvell 88E1318S).
> There is no way how to enable wol on CPSW with such connected phys. This patch
> adds this support. It is provided by calling the phy's related code.
> 
> Tested on board with at8030x connected phy. Wol interrupt line is
> connected to GPIO0 on am335x.
> 
> Signed-off-by: Matus Ujhelyi <ujhelyi.m@gmail.com>

Applied.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-08-21  6:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-20  5:59 [PATCH net-next v4] net: cpsw: Add support for wake-on-lan for cpsw ujhelyi.m
2013-08-20  6:19 ` Mugunthan V N
2013-08-21  6:50 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).