* [PATCH net] net: dsa: mv88e6xxx: power serdes on/off for 10G interfaces on 6390X
@ 2019-02-28 21:14 ` Maxime Chevallier
0 siblings, 0 replies; 6+ messages in thread
From: Maxime Chevallier @ 2019-02-28 21:14 UTC (permalink / raw)
To: davem
Cc: Maxime Chevallier, netdev, linux-kernel, Andrew Lunn,
Florian Fainelli, Heiner Kallweit, Vivien Didelot,
linux-arm-kernel, Antoine Tenart, thomas.petazzoni,
gregory.clement, miquel.raynal, nadavh, stefanc
Upon setting the cmode on 6390 and 6390X, the associated serdes
interfaces must be powered off/on.
Both 6390X and 6390 share code to do so, but it currently uses the 6390
specific helper mv88e6390_serdes_power() to disable and enable the
serdes interface.
This call will fail silently on 6390X when trying so set a 10G interface
such as XAUI or RXAUI, since mv88e6390_serdes_power() internally grabs
the lane number based on modes supported by the 6390, and returns 0 when
getting -ENODEV as a lane number.
Using mv88e6390x_serdes_power() should be safe here, since we explicitly
rule-out all ports but the 9 and 10, and because modes supported by 6390
ports 9 and 10 are a subset of those supported on 6390X.
This was tested on 6390X using RXAUI mode.
Fixes: 364e9d7776a3 ("net: dsa: mv88e6xxx: Power on/off SERDES on cmode change")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---
drivers/net/dsa/mv88e6xxx/port.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
index ebd26b6a93e6..4b02c96f6786 100644
--- a/drivers/net/dsa/mv88e6xxx/port.c
+++ b/drivers/net/dsa/mv88e6xxx/port.c
@@ -408,7 +408,7 @@ int mv88e6390x_port_set_cmode(struct mv88e6xxx_chip *chip, int port,
return err;
}
- err = mv88e6390_serdes_power(chip, port, false);
+ err = mv88e6390x_serdes_power(chip, port, false);
if (err)
return err;
@@ -424,7 +424,7 @@ int mv88e6390x_port_set_cmode(struct mv88e6xxx_chip *chip, int port,
if (err)
return err;
- err = mv88e6390_serdes_power(chip, port, true);
+ err = mv88e6390x_serdes_power(chip, port, true);
if (err)
return err;
--
2.19.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net] net: dsa: mv88e6xxx: power serdes on/off for 10G interfaces on 6390X
@ 2019-02-28 21:14 ` Maxime Chevallier
0 siblings, 0 replies; 6+ messages in thread
From: Maxime Chevallier @ 2019-02-28 21:14 UTC (permalink / raw)
To: davem
Cc: Andrew Lunn, Florian Fainelli, Antoine Tenart, netdev,
gregory.clement, linux-kernel, Maxime Chevallier, nadavh,
thomas.petazzoni, miquel.raynal, stefanc, Vivien Didelot,
linux-arm-kernel, Heiner Kallweit
Upon setting the cmode on 6390 and 6390X, the associated serdes
interfaces must be powered off/on.
Both 6390X and 6390 share code to do so, but it currently uses the 6390
specific helper mv88e6390_serdes_power() to disable and enable the
serdes interface.
This call will fail silently on 6390X when trying so set a 10G interface
such as XAUI or RXAUI, since mv88e6390_serdes_power() internally grabs
the lane number based on modes supported by the 6390, and returns 0 when
getting -ENODEV as a lane number.
Using mv88e6390x_serdes_power() should be safe here, since we explicitly
rule-out all ports but the 9 and 10, and because modes supported by 6390
ports 9 and 10 are a subset of those supported on 6390X.
This was tested on 6390X using RXAUI mode.
Fixes: 364e9d7776a3 ("net: dsa: mv88e6xxx: Power on/off SERDES on cmode change")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---
drivers/net/dsa/mv88e6xxx/port.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
index ebd26b6a93e6..4b02c96f6786 100644
--- a/drivers/net/dsa/mv88e6xxx/port.c
+++ b/drivers/net/dsa/mv88e6xxx/port.c
@@ -408,7 +408,7 @@ int mv88e6390x_port_set_cmode(struct mv88e6xxx_chip *chip, int port,
return err;
}
- err = mv88e6390_serdes_power(chip, port, false);
+ err = mv88e6390x_serdes_power(chip, port, false);
if (err)
return err;
@@ -424,7 +424,7 @@ int mv88e6390x_port_set_cmode(struct mv88e6xxx_chip *chip, int port,
if (err)
return err;
- err = mv88e6390_serdes_power(chip, port, true);
+ err = mv88e6390x_serdes_power(chip, port, true);
if (err)
return err;
--
2.19.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net] net: dsa: mv88e6xxx: power serdes on/off for 10G interfaces on 6390X
2019-02-28 21:14 ` Maxime Chevallier
@ 2019-02-28 21:54 ` Andrew Lunn
-1 siblings, 0 replies; 6+ messages in thread
From: Andrew Lunn @ 2019-02-28 21:54 UTC (permalink / raw)
To: Maxime Chevallier
Cc: davem, netdev, linux-kernel, Florian Fainelli, Heiner Kallweit,
Vivien Didelot, linux-arm-kernel, Antoine Tenart,
thomas.petazzoni, gregory.clement, miquel.raynal, nadavh,
stefanc
On Thu, Feb 28, 2019 at 10:14:33PM +0100, Maxime Chevallier wrote:
> Upon setting the cmode on 6390 and 6390X, the associated serdes
> interfaces must be powered off/on.
>
> Both 6390X and 6390 share code to do so, but it currently uses the 6390
> specific helper mv88e6390_serdes_power() to disable and enable the
> serdes interface.
>
> This call will fail silently on 6390X when trying so set a 10G interface
> such as XAUI or RXAUI, since mv88e6390_serdes_power() internally grabs
> the lane number based on modes supported by the 6390, and returns 0 when
> getting -ENODEV as a lane number.
>
> Using mv88e6390x_serdes_power() should be safe here, since we explicitly
> rule-out all ports but the 9 and 10, and because modes supported by 6390
> ports 9 and 10 are a subset of those supported on 6390X.
>
> This was tested on 6390X using RXAUI mode.
>
> Fixes: 364e9d7776a3 ("net: dsa: mv88e6xxx: Power on/off SERDES on cmode change")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH net] net: dsa: mv88e6xxx: power serdes on/off for 10G interfaces on 6390X
@ 2019-02-28 21:54 ` Andrew Lunn
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Lunn @ 2019-02-28 21:54 UTC (permalink / raw)
To: Maxime Chevallier
Cc: Florian Fainelli, Antoine Tenart, netdev, gregory.clement,
linux-kernel, Vivien Didelot, nadavh, thomas.petazzoni,
miquel.raynal, stefanc, davem, linux-arm-kernel, Heiner Kallweit
On Thu, Feb 28, 2019 at 10:14:33PM +0100, Maxime Chevallier wrote:
> Upon setting the cmode on 6390 and 6390X, the associated serdes
> interfaces must be powered off/on.
>
> Both 6390X and 6390 share code to do so, but it currently uses the 6390
> specific helper mv88e6390_serdes_power() to disable and enable the
> serdes interface.
>
> This call will fail silently on 6390X when trying so set a 10G interface
> such as XAUI or RXAUI, since mv88e6390_serdes_power() internally grabs
> the lane number based on modes supported by the 6390, and returns 0 when
> getting -ENODEV as a lane number.
>
> Using mv88e6390x_serdes_power() should be safe here, since we explicitly
> rule-out all ports but the 9 and 10, and because modes supported by 6390
> ports 9 and 10 are a subset of those supported on 6390X.
>
> This was tested on 6390X using RXAUI mode.
>
> Fixes: 364e9d7776a3 ("net: dsa: mv88e6xxx: Power on/off SERDES on cmode change")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH net] net: dsa: mv88e6xxx: power serdes on/off for 10G interfaces on 6390X
2019-02-28 21:14 ` Maxime Chevallier
@ 2019-02-28 23:16 ` David Miller
-1 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2019-02-28 23:16 UTC (permalink / raw)
To: maxime.chevallier
Cc: netdev, linux-kernel, andrew, f.fainelli, hkallweit1,
vivien.didelot, linux-arm-kernel, antoine.tenart,
thomas.petazzoni, gregory.clement, miquel.raynal, nadavh,
stefanc
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: Thu, 28 Feb 2019 22:14:33 +0100
> Upon setting the cmode on 6390 and 6390X, the associated serdes
> interfaces must be powered off/on.
>
> Both 6390X and 6390 share code to do so, but it currently uses the 6390
> specific helper mv88e6390_serdes_power() to disable and enable the
> serdes interface.
>
> This call will fail silently on 6390X when trying so set a 10G interface
> such as XAUI or RXAUI, since mv88e6390_serdes_power() internally grabs
> the lane number based on modes supported by the 6390, and returns 0 when
> getting -ENODEV as a lane number.
>
> Using mv88e6390x_serdes_power() should be safe here, since we explicitly
> rule-out all ports but the 9 and 10, and because modes supported by 6390
> ports 9 and 10 are a subset of those supported on 6390X.
>
> This was tested on 6390X using RXAUI mode.
>
> Fixes: 364e9d7776a3 ("net: dsa: mv88e6xxx: Power on/off SERDES on cmode change")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Applied and queued up for -stable.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH net] net: dsa: mv88e6xxx: power serdes on/off for 10G interfaces on 6390X
@ 2019-02-28 23:16 ` David Miller
0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2019-02-28 23:16 UTC (permalink / raw)
To: maxime.chevallier
Cc: andrew, f.fainelli, antoine.tenart, netdev, gregory.clement,
linux-kernel, nadavh, thomas.petazzoni, miquel.raynal, stefanc,
vivien.didelot, linux-arm-kernel, hkallweit1
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: Thu, 28 Feb 2019 22:14:33 +0100
> Upon setting the cmode on 6390 and 6390X, the associated serdes
> interfaces must be powered off/on.
>
> Both 6390X and 6390 share code to do so, but it currently uses the 6390
> specific helper mv88e6390_serdes_power() to disable and enable the
> serdes interface.
>
> This call will fail silently on 6390X when trying so set a 10G interface
> such as XAUI or RXAUI, since mv88e6390_serdes_power() internally grabs
> the lane number based on modes supported by the 6390, and returns 0 when
> getting -ENODEV as a lane number.
>
> Using mv88e6390x_serdes_power() should be safe here, since we explicitly
> rule-out all ports but the 9 and 10, and because modes supported by 6390
> ports 9 and 10 are a subset of those supported on 6390X.
>
> This was tested on 6390X using RXAUI mode.
>
> Fixes: 364e9d7776a3 ("net: dsa: mv88e6xxx: Power on/off SERDES on cmode change")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Applied and queued up for -stable.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-02-28 23:17 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-28 21:14 [PATCH net] net: dsa: mv88e6xxx: power serdes on/off for 10G interfaces on 6390X Maxime Chevallier
2019-02-28 21:14 ` Maxime Chevallier
2019-02-28 21:54 ` Andrew Lunn
2019-02-28 21:54 ` Andrew Lunn
2019-02-28 23:16 ` David Miller
2019-02-28 23:16 ` 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.