From: "Marek Behún" <kabel@kernel.org>
To: Andrew Lunn <andrew@lunn.ch>, Vladimir Oltean <olteanv@gmail.com>,
"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
Vivien Didelot <vivien.didelot@gmail.com>,
Tobias Waldekranz <tobias@waldekranz.com>,
netdev@vger.kernel.org
Cc: "Lev Olshvang" <lev_o@rad.com>, "Marek Behún" <kabel@kernel.org>
Subject: [PATCH net 04/13] net: dsa: mv88e6xxx: allow SPEED_200 for 6320 family on supported ports
Date: Thu, 13 Mar 2025 14:41:37 +0100 [thread overview]
Message-ID: <20250313134146.27087-5-kabel@kernel.org> (raw)
In-Reply-To: <20250313134146.27087-1-kabel@kernel.org>
The 6320 family supports the ALT_SPEED bit on ports 2, 5 and 6. Allow
this speed by implementing 6320 family specific .port_set_speed_duplex()
method.
Fixes: 96a2b40c7bd3 ("net: dsa: mv88e6xxx: add port's MAC speed setter")
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/net/dsa/mv88e6xxx/chip.c | 4 ++--
drivers/net/dsa/mv88e6xxx/port.c | 15 +++++++++++++++
drivers/net/dsa/mv88e6xxx/port.h | 2 ++
3 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index e8c93199e24a..7e4de1d347ec 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -5138,7 +5138,7 @@ static const struct mv88e6xxx_ops mv88e6320_ops = {
.port_set_link = mv88e6xxx_port_set_link,
.port_sync_link = mv88e6xxx_port_sync_link,
.port_set_rgmii_delay = mv88e6320_port_set_rgmii_delay,
- .port_set_speed_duplex = mv88e6185_port_set_speed_duplex,
+ .port_set_speed_duplex = mv88e6320_port_set_speed_duplex,
.port_tag_remap = mv88e6095_port_tag_remap,
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
.port_set_ucast_flood = mv88e6352_port_set_ucast_flood,
@@ -5187,7 +5187,7 @@ static const struct mv88e6xxx_ops mv88e6321_ops = {
.port_set_link = mv88e6xxx_port_set_link,
.port_sync_link = mv88e6xxx_port_sync_link,
.port_set_rgmii_delay = mv88e6320_port_set_rgmii_delay,
- .port_set_speed_duplex = mv88e6185_port_set_speed_duplex,
+ .port_set_speed_duplex = mv88e6320_port_set_speed_duplex,
.port_tag_remap = mv88e6095_port_tag_remap,
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
.port_set_ucast_flood = mv88e6352_port_set_ucast_flood,
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
index d7a6d12aadbf..1b033056d409 100644
--- a/drivers/net/dsa/mv88e6xxx/port.c
+++ b/drivers/net/dsa/mv88e6xxx/port.c
@@ -327,6 +327,21 @@ int mv88e6250_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
duplex);
}
+int mv88e6320_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
+ int speed, int duplex)
+{
+ bool has_200 = (port == 2 || port == 5 || port == 6);
+
+ if (speed > 1000)
+ return -EOPNOTSUPP;
+
+ if (speed == 200 && !has_200)
+ return -EOPNOTSUPP;
+
+ return mv88e6xxx_port_set_speed_duplex(chip, port, speed, has_200,
+ false, duplex);
+}
+
/* Support 10, 100, 200, 1000, 2500 Mbps (e.g. 88E6341) */
int mv88e6341_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
int speed, int duplex)
diff --git a/drivers/net/dsa/mv88e6xxx/port.h b/drivers/net/dsa/mv88e6xxx/port.h
index d662b09bf481..4a4134987c43 100644
--- a/drivers/net/dsa/mv88e6xxx/port.h
+++ b/drivers/net/dsa/mv88e6xxx/port.h
@@ -490,6 +490,8 @@ int mv88e6185_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
int speed, int duplex);
int mv88e6250_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
int speed, int duplex);
+int mv88e6320_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
+ int speed, int duplex);
int mv88e6341_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
int speed, int duplex);
int mv88e6352_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
--
2.48.1
next prev parent reply other threads:[~2025-03-13 13:42 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-13 13:41 [PATCH net 00/13] Fixes for mv88e6xxx (mainly 6320 family) Marek Behún
2025-03-13 13:41 ` [PATCH net 01/13] net: dsa: mv88e6xxx: remove unused .port_max_speed_mode() Marek Behún
2025-03-13 14:25 ` Andrew Lunn
2025-03-13 13:41 ` [PATCH net 02/13] net: dsa: mv88e6xxx: fix VTU methods for 6320 family Marek Behún
2025-03-13 14:33 ` Andrew Lunn
2025-03-13 13:41 ` [PATCH net 03/13] net: dsa: mv88e6xxx: fix number of g1 interrupts " Marek Behún
2025-03-13 13:41 ` Marek Behún [this message]
2025-03-13 14:35 ` [PATCH net 04/13] net: dsa: mv88e6xxx: allow SPEED_200 for 6320 family on supported ports Andrew Lunn
2025-03-13 13:41 ` [PATCH net 05/13] net: dsa: mv88e6xxx: fix atu_move_port_mask for 6341 family Marek Behún
2025-03-13 13:41 ` [PATCH net 06/13] net: dsa: mv88e6xxx: enable PVT for 6321 switch Marek Behún
2025-03-13 13:41 ` [PATCH net 07/13] net: dsa: mv88e6xxx: define .pot_clear() for 6321 Marek Behún
2025-03-13 13:41 ` [PATCH net 08/13] net: dsa: mv88e6xxx: enable .rmu_disable() for 6320 family Marek Behún
2025-03-13 14:40 ` Andrew Lunn
2025-03-13 13:41 ` [PATCH net 09/13] net: dsa: mv88e6xxx: enable .port_set_policy() " Marek Behún
2025-03-13 13:41 ` [PATCH net 10/13] net: dsa: mv88e6xxx: enable devlink ATU hash param " Marek Behún
2025-03-13 13:41 ` [PATCH net 11/13] net: dsa: mv88e6xxx: enable STU methods " Marek Behún
2025-03-13 13:41 ` [PATCH net 12/13] net: dsa: mv88e6xxx: fix internal PHYs " Marek Behún
2025-03-13 13:41 ` [PATCH net 13/13] net: dsa: mv88e6xxx: workaround RGMII transmit delay erratum " Marek Behún
2025-03-13 14:14 ` [PATCH net 00/13] Fixes for mv88e6xxx (mainly 6320 family) Russell King (Oracle)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250313134146.27087-5-kabel@kernel.org \
--to=kabel@kernel.org \
--cc=andrew@lunn.ch \
--cc=lev_o@rad.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=rmk+kernel@armlinux.org.uk \
--cc=tobias@waldekranz.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.