diff options
author | Marek BehĂșn <kabel@kernel.org> | 2021-11-04 18:17:47 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-11-09 19:09:12 -0800 |
commit | dc2fc9f03c5c410d8f01c2206b3d529f80b13733 (patch) | |
tree | 16fb89ad6c7a758d46d3c2227ee243a6ccff5f50 /drivers | |
parent | fceb07950a7aac43d52d8c6ef580399a8b9b68fe (diff) | |
download | linux-dc2fc9f03c5c410d8f01c2206b3d529f80b13733.tar.bz2 |
net: dsa: mv88e6xxx: Don't support >1G speeds on 6191X on ports other than 10
Model 88E6191X only supports >1G speeds on port 10. Port 0 and 9 are
only 1G.
Fixes: de776d0d316f ("net: dsa: mv88e6xxx: add support for mv88e6393x family")
Signed-off-by: Marek BehĂșn <kabel@kernel.org>
Cc: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20211104171747.10509-1-kabel@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/dsa/mv88e6xxx/chip.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c index 14c678a9e41b..f00cbf5753b9 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -640,7 +640,10 @@ static void mv88e6393x_phylink_validate(struct mv88e6xxx_chip *chip, int port, unsigned long *mask, struct phylink_link_state *state) { - if (port == 0 || port == 9 || port == 10) { + bool is_6191x = + chip->info->prod_num == MV88E6XXX_PORT_SWITCH_ID_PROD_6191X; + + if (((port == 0 || port == 9) && !is_6191x) || port == 10) { phylink_set(mask, 10000baseT_Full); phylink_set(mask, 10000baseKR_Full); phylink_set(mask, 10000baseCR_Full); |