[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFfN3gX3RMoe7_2EpoCtzO+gHTOxoH9j2WB7ZxuE6FKgPXK1fw@mail.gmail.com>
Date: Tue, 30 Jul 2019 16:00:31 +0200
From: Hubert Feurstein <h.feurstein@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Rasmus Villemoes <rasmus.villemoes@...vas.dk>
Subject: Re: [PATCH 1/4] net: dsa: mv88e6xxx: add support for MV88E6220
Hi Andrew,
[...]
> Do the registers for the ports exist?
Yes, they do and they return sane values.
> > + [MV88E6220] = {
> > + .prod_num = MV88E6XXX_PORT_SWITCH_ID_PROD_6220,
> > + .family = MV88E6XXX_FAMILY_6250,
> > + .name = "Marvell 88E6220",
> > + .num_databases = 64,
> > +
> > + /* Ports 2-4 are not routed to pins
> > + * => usable ports 0, 1, 5, 6
> > + */
> > + .num_ports = 7,
>
> I'm wondering if we should add something like
>
> .invalid_port_mask = BIT(2) | BIT(3) | BIT(4)
>
Would make sense. I'll add it to the next series.
>
> and
>
> /* Setup Switch Port Registers */
> for (i = 0; i < mv88e6xxx_num_ports(chip); i++) {
> + if (chip->info->invalid_port_mask & BIT(i) &&
> + !dsa_is_unused_port(ds, i))
> + return -EINVAL;
> if (dsa_is_unused_port(ds, i)) {
> err = mv88e6xxx_port_set_state(chip, i,
> BR_STATE_DISABLED);
>
> Andrew
Hubert
Powered by blists - more mailing lists