All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] enetc: disable EEE autoneg by default
@ 2019-12-06  9:53 Yangbo Lu
  2019-12-06 15:17 ` Claudiu Manoil
  2019-12-06 19:48 ` David Miller
  0 siblings, 2 replies; 3+ messages in thread
From: Yangbo Lu @ 2019-12-06  9:53 UTC (permalink / raw)
  To: netdev, Claudiu Manoil, David S . Miller; +Cc: Yangbo Lu

The EEE support has not been enabled on ENETC, but it may connect
to a PHY which supports EEE and advertises EEE by default, while
its link partner also advertises EEE. If this happens, the PHY enters
low power mode when the traffic rate is low and causes packet loss.
This patch disables EEE advertisement by default for any PHY that
ENETC connects to, to prevent the above unwanted outcome.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
---
 drivers/net/ethernet/freescale/enetc/enetc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c b/drivers/net/ethernet/freescale/enetc/enetc.c
index 9db1b96..1773990 100644
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
@@ -1332,6 +1332,7 @@ static int enetc_phy_connect(struct net_device *ndev)
 {
 	struct enetc_ndev_priv *priv = netdev_priv(ndev);
 	struct phy_device *phydev;
+	struct ethtool_eee edata;
 
 	if (!priv->phy_node)
 		return 0; /* phy-less mode */
@@ -1345,6 +1346,10 @@ static int enetc_phy_connect(struct net_device *ndev)
 
 	phy_attached_info(phydev);
 
+	/* disable EEE autoneg, until ENETC driver supports it */
+	memset(&edata, 0, sizeof(struct ethtool_eee));
+	phy_ethtool_set_eee(phydev, &edata);
+
 	return 0;
 }
 
-- 
2.7.4


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

* RE: [PATCH] enetc: disable EEE autoneg by default
  2019-12-06  9:53 [PATCH] enetc: disable EEE autoneg by default Yangbo Lu
@ 2019-12-06 15:17 ` Claudiu Manoil
  2019-12-06 19:48 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: Claudiu Manoil @ 2019-12-06 15:17 UTC (permalink / raw)
  To: Y.b. Lu, netdev, David S . Miller; +Cc: Y.b. Lu

>-----Original Message-----
>From: Yangbo Lu <yangbo.lu@nxp.com>
>Sent: Friday, December 6, 2019 11:54 AM
[...]
>Subject: [PATCH] enetc: disable EEE autoneg by default
>
>The EEE support has not been enabled on ENETC, but it may connect
>to a PHY which supports EEE and advertises EEE by default, while
>its link partner also advertises EEE. If this happens, the PHY enters
>low power mode when the traffic rate is low and causes packet loss.
>This patch disables EEE advertisement by default for any PHY that
>ENETC connects to, to prevent the above unwanted outcome.
>
>Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>

Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com>

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

* Re: [PATCH] enetc: disable EEE autoneg by default
  2019-12-06  9:53 [PATCH] enetc: disable EEE autoneg by default Yangbo Lu
  2019-12-06 15:17 ` Claudiu Manoil
@ 2019-12-06 19:48 ` David Miller
  1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2019-12-06 19:48 UTC (permalink / raw)
  To: yangbo.lu; +Cc: netdev, claudiu.manoil

From: Yangbo Lu <yangbo.lu@nxp.com>
Date: Fri,  6 Dec 2019 17:53:35 +0800

> The EEE support has not been enabled on ENETC, but it may connect
> to a PHY which supports EEE and advertises EEE by default, while
> its link partner also advertises EEE. If this happens, the PHY enters
> low power mode when the traffic rate is low and causes packet loss.
> This patch disables EEE advertisement by default for any PHY that
> ENETC connects to, to prevent the above unwanted outcome.
> 
> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>

Applied, thanks.

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

end of thread, other threads:[~2019-12-06 19:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-06  9:53 [PATCH] enetc: disable EEE autoneg by default Yangbo Lu
2019-12-06 15:17 ` Claudiu Manoil
2019-12-06 19:48 ` David Miller

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.