[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190730134924.GH28552@lunn.ch>
Date: Tue, 30 Jul 2019 15:49:24 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Hubert Feurstein <h.feurstein@...il.com>
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
On Tue, Jul 30, 2019 at 12:04:26PM +0200, Hubert Feurstein wrote:
> The MV88E6220 is almost the same as MV88E6250 except that the ports 2-4 are
> not routed to pins. So the usable ports are 0, 1, 5 and 6.
Hi Hubert
Do the registers for the ports exist?
> + [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)
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
Powered by blists - more mailing lists