Re: [PATCH v10 4/4] net: dsa: mv88e6xxx: Add support for mv88e6393x family of Marvell

From: Marek Behun
Date: Thu Nov 19 2020 - 20:43:21 EST


Hi Andrew,

On Fri, 20 Nov 2020 02:29:06 +0100
Andrew Lunn <andrew@xxxxxxx> wrote:

> > + if (speed >= 2500 && port > 0 && port < 9)
> > + return -EOPNOTSUPP;
>
> Maybe i'm missing something, but it looks like at this point you can
> call
>
> return mv88e6xxx_port_set_speed_duplex(chip, port, speed, true, true, duplex);

He can't. That function does not support speed 5000. You can't simply
add it, because it clashes with register value for speed 2500 on
previous switches (Peridot, Topaz).

Amethyst reg val Peridot + Topaz reg val
2500 SPD_1000 | ALT_BIT SPD_10000 | ALT_BIT
5000 SPD_10000 | ALT_BIT not supported
10000 SPD_UNFORCED SPD_UNFORCED

When I sent my proposal for Amethyst I somehow did it, and you
commented [1]:
> This is getting more and more complex. Maybe it is time to refactor it?
And I agree :)

Marek

[1] https://www.spinics.net/lists/netdev/msg678090.html