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

From: Andrew Lunn
Date: Thu Nov 19 2020 - 20:55:26 EST


On Fri, Nov 20, 2020 at 02:43:11AM +0100, Marek Behun wrote:
> 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

Hi Marek

O.K, as i said, i might be missing something :-)

I think a comment would be nice, pointing this out. Otherwise somebody
might try refactoring it, and make the same mistake!

Andrew