Subject: Re: mv88e6xxx -- DSA support for Marvell 88e6065 switch (and maybe 88e6060?)

From: Andrew Lunn <[email-masked]>
Date: Wed, 30 Jan 2019 00:12:17 +0100

> Is someone is interested in getting 6060 to work with mv88e6xxx?

Vivien is. 

I also have a set of patches which modernize the driver. That might be
a step towards merging it in.

> @@ -2126,6 +2146,7 @@ static int mv88e6xxx_setup_egress_floods(struct mv88e6xxx_chip *chip, int port)
>  
>  	/* Upstream ports flood frames with unknown unicast or multicast DA */
>  	flood = dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port);
> +	flood = 1; /* This is strange, but original driver also sets flood everywhere */

This might be because the driver did not support hardware offload.
What happens if you don't have this?

> +static const struct mv88e6xxx_ops mv88e6065_ops = {
> +	/* MV88E6XXX_FAMILY_6095 */ /* Here */
> +  //.ieee_pri_map = mv88e6085_g1_ieee_pri_map, /* FIXME */
> +  //	.ip_pri_map = mv88e6085_g1_ip_pri_map, /* FIXME */
> +  //	.set_switch_mac = mv88e6xxx_g1_set_switch_mac, /* FIXME */

What you should do is see if the hardware supports these functions. If
it does not, simply leave it out of mv88e6065_ops. If it does have the
functionality, but needs a new implementation, add a mv88e6065_
version. In theory, nearly everything is optional. So you can start
simple and then add features.

	Andrew