mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
net: dsa: mv88e6xxx: allow SPEED_200 for 6320 family on supported ports
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. Signed-off-by: Marek Behún <kabel@kernel.org> Link: https://patch.msgid.link/20260504153227.1390546-3-kabel@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
d201c2612e
commit
965871277f
|
|
@ -5168,7 +5168,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_policy = mv88e6352_port_set_policy,
|
||||
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
|
||||
|
|
@ -5221,7 +5221,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_policy = mv88e6352_port_set_policy,
|
||||
.port_set_frame_mode = mv88e6351_port_set_frame_mode,
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -493,6 +493,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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user