netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs
@ 2018-09-11 22:15 Marek Vasut
  2018-09-11 23:11 ` Andrew Lunn
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Marek Vasut @ 2018-09-11 22:15 UTC (permalink / raw)
  To: netdev; +Cc: Marek Vasut, Andrew Lunn

The MV88E6xxx can have external PHYs attached to certain ports and those
PHYs could even be on different MDIO bus than the one within the switch.
This patch makes sure that ports with such PHYs are configured correctly
according to the information provided by the PHY.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andrew Lunn <andrew@lunn.ch>
---
 drivers/net/dsa/mv88e6xxx/chip.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index 15427380e32e..dc92dd7b55ab 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -575,6 +575,13 @@ static int mv88e6xxx_port_setup_mac(struct mv88e6xxx_chip *chip, int port,
 	return err;
 }
 
+static int mv88e6xxx_phy_is_internal(struct dsa_switch *ds, int port)
+{
+	struct mv88e6xxx_chip *chip = ds->priv;
+
+	return port < chip->info->num_internal_phys;
+}
+
 /* We expect the switch to perform auto negotiation if there is a real
  * phy. However, in the case of a fixed link phy, we force the port
  * settings from the fixed link settings.
@@ -585,7 +592,8 @@ static void mv88e6xxx_adjust_link(struct dsa_switch *ds, int port,
 	struct mv88e6xxx_chip *chip = ds->priv;
 	int err;
 
-	if (!phy_is_pseudo_fixed_link(phydev))
+	if (!phy_is_pseudo_fixed_link(phydev) &&
+	    mv88e6xxx_phy_is_internal(ds, port))
 		return;
 
 	mutex_lock(&chip->reg_lock);
@@ -709,13 +717,17 @@ static void mv88e6xxx_mac_config(struct dsa_switch *ds, int port,
 	struct mv88e6xxx_chip *chip = ds->priv;
 	int speed, duplex, link, pause, err;
 
-	if (mode == MLO_AN_PHY)
+	if ((mode == MLO_AN_PHY) && mv88e6xxx_phy_is_internal(ds, port))
 		return;
 
 	if (mode == MLO_AN_FIXED) {
 		link = LINK_FORCED_UP;
 		speed = state->speed;
 		duplex = state->duplex;
+	} else if (!mv88e6xxx_phy_is_internal(ds, port)) {
+		link = state->link;
+		speed = state->speed;
+		duplex = state->duplex;
 	} else {
 		speed = SPEED_UNFORCED;
 		duplex = DUPLEX_UNFORCED;
-- 
2.18.0

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

* Re: [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs
  2018-09-11 22:15 [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs Marek Vasut
@ 2018-09-11 23:11 ` Andrew Lunn
  2018-09-11 23:14 ` Andrew Lunn
  2018-09-13  3:36 ` David Miller
  2 siblings, 0 replies; 5+ messages in thread
From: Andrew Lunn @ 2018-09-11 23:11 UTC (permalink / raw)
  To: Marek Vasut; +Cc: netdev

On Wed, Sep 12, 2018 at 12:15:24AM +0200, Marek Vasut wrote:
> The MV88E6xxx can have external PHYs attached to certain ports and those
> PHYs could even be on different MDIO bus than the one within the switch.
> This patch makes sure that ports with such PHYs are configured correctly
> according to the information provided by the PHY.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Andrew Lunn <andrew@lunn.ch>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

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

* Re: [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs
  2018-09-11 22:15 [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs Marek Vasut
  2018-09-11 23:11 ` Andrew Lunn
@ 2018-09-11 23:14 ` Andrew Lunn
  2018-09-11 23:16   ` Marek Vasut
  2018-09-13  3:36 ` David Miller
  2 siblings, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2018-09-11 23:14 UTC (permalink / raw)
  To: Marek Vasut; +Cc: netdev

On Wed, Sep 12, 2018 at 12:15:24AM +0200, Marek Vasut wrote:
> The MV88E6xxx can have external PHYs attached to certain ports and those
> PHYs could even be on different MDIO bus than the one within the switch.
> This patch makes sure that ports with such PHYs are configured correctly
> according to the information provided by the PHY.

Hi Marek

For the netdev subsystem, you should put in the subject line which
tree the patch is for.

[PATCH net-next] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs

       Andrew

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

* Re: [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs
  2018-09-11 23:14 ` Andrew Lunn
@ 2018-09-11 23:16   ` Marek Vasut
  0 siblings, 0 replies; 5+ messages in thread
From: Marek Vasut @ 2018-09-11 23:16 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: netdev

On 09/12/2018 01:14 AM, Andrew Lunn wrote:
> On Wed, Sep 12, 2018 at 12:15:24AM +0200, Marek Vasut wrote:
>> The MV88E6xxx can have external PHYs attached to certain ports and those
>> PHYs could even be on different MDIO bus than the one within the switch.
>> This patch makes sure that ports with such PHYs are configured correctly
>> according to the information provided by the PHY.
> 
> Hi Marek
> 
> For the netdev subsystem, you should put in the subject line which
> tree the patch is for.
> 
> [PATCH net-next] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs

Oh, is that how it works ? All right, thanks for the heads-up.

-- 
Best regards,
Marek Vasut

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

* Re: [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs
  2018-09-11 22:15 [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs Marek Vasut
  2018-09-11 23:11 ` Andrew Lunn
  2018-09-11 23:14 ` Andrew Lunn
@ 2018-09-13  3:36 ` David Miller
  2 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2018-09-13  3:36 UTC (permalink / raw)
  To: marex; +Cc: netdev, andrew

From: Marek Vasut <marex@denx.de>
Date: Wed, 12 Sep 2018 00:15:24 +0200

> The MV88E6xxx can have external PHYs attached to certain ports and those
> PHYs could even be on different MDIO bus than the one within the switch.
> This patch makes sure that ports with such PHYs are configured correctly
> according to the information provided by the PHY.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>

Applied to net-next.

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

end of thread, other threads:[~2018-09-13  8:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-11 22:15 [PATCH] net: dsa: mv88e6xxx: Make sure to configure ports with external PHYs Marek Vasut
2018-09-11 23:11 ` Andrew Lunn
2018-09-11 23:14 ` Andrew Lunn
2018-09-11 23:16   ` Marek Vasut
2018-09-13  3:36 ` 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).