All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Vladimir Oltean <olteanv@gmail.com>
Cc: Tobias Waldekranz <tobias@waldekranz.com>,
	davem@davemloft.net, kuba@kernel.org, vivien.didelot@gmail.com,
	f.fainelli@gmail.com, netdev@vger.kernel.org, robh+dt@kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH net-next 2/3] net: dsa: Allow default tag protocol to be overridden from DT
Date: Mon, 29 Mar 2021 00:04:39 +0200	[thread overview]
Message-ID: <YGD9d/zeJtAXxC8K@lunn.ch> (raw)
In-Reply-To: <20210328215309.sgsenja2kmjx45t2@skbuf>

On Mon, Mar 29, 2021 at 12:53:09AM +0300, Vladimir Oltean wrote:
> On Sun, Mar 28, 2021 at 05:52:43PM +0200, Andrew Lunn wrote:
> > > +static int dsa_switch_setup_tag_protocol(struct dsa_switch *ds)
> > > +{
> > > +	const struct dsa_device_ops *tag_ops = ds->dst->tag_ops;
> > > +	struct dsa_switch_tree *dst = ds->dst;
> > > +	int port, err;
> > > +
> > > +	if (tag_ops->proto == dst->default_proto)
> > > +		return 0;
> > > +
> > > +	if (!ds->ops->change_tag_protocol) {
> > > +		dev_err(ds->dev, "Tag protocol cannot be modified\n");
> > > +		return -EINVAL;
> > > +	}
> > > +
> > > +	for (port = 0; port < ds->num_ports; port++) {
> > > +		if (!(dsa_is_dsa_port(ds, port) || dsa_is_cpu_port(ds, port)))
> > > +			continue;
> > 
> > dsa_is_dsa_port() is interesting. Do we care about the tagging
> > protocol on DSA ports? We never see that traffic?
> 
> I believe this comes from me (see dsa_switch_tag_proto_match). I did not
> take into consideration at that time the fact that Marvell switches can
> translate between DSA and EDSA. So I assumed that every switch in the
> tree needs a notification about the tagging protocol, not just the
> top-most one.

Hi Vladimir

static int mv88e6xxx_setup_port_mode(struct mv88e6xxx_chip *chip, int port)
{
        if (dsa_is_dsa_port(chip->ds, port))
                return mv88e6xxx_set_port_mode_dsa(chip, port);

So DSA ports, the ports connecting two switches together, are hard
coded to use DSA.

        if (dsa_is_user_port(chip->ds, port))
                return mv88e6xxx_set_port_mode_normal(chip, port);

        /* Setup CPU port mode depending on its supported tag format */
        if (chip->info->tag_protocol == DSA_TAG_PROTO_DSA)
                return mv88e6xxx_set_port_mode_dsa(chip, port);

        if (chip->info->tag_protocol == DSA_TAG_PROTO_EDSA)
                return mv88e6xxx_set_port_mode_edsa(chip, port);

CPU ports can be configured to DSA or EDSA.

The switches seem happy to translate between DSA and EDSA as needed.

    Andrew

  reply	other threads:[~2021-03-28 22:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-26 10:56 [PATCH net-next 0/3] net: dsa: Allow default tag protocol to be overridden from DT Tobias Waldekranz
2021-03-26 10:56 ` [PATCH net-next 1/3] net: dsa: mv88e6xxx: Allow dynamic reconfiguration of tag protocol Tobias Waldekranz
2021-03-28 15:24   ` Andrew Lunn
2021-04-06  9:07     ` Tobias Waldekranz
2021-04-06 13:30       ` Andrew Lunn
2021-03-26 10:56 ` [PATCH net-next 2/3] net: dsa: Allow default tag protocol to be overridden from DT Tobias Waldekranz
2021-03-26 12:57   ` Vladimir Oltean
2021-03-26 13:33     ` Tobias Waldekranz
2021-03-31 13:20     ` Vladimir Oltean
2021-03-28 15:52   ` Andrew Lunn
2021-03-28 21:53     ` Vladimir Oltean
2021-03-28 22:04       ` Andrew Lunn [this message]
2021-03-29  7:15         ` Vladimir Oltean
2021-03-26 10:56 ` [PATCH net-next 3/3] dt-bindings: net: dsa: Document dsa,tag-protocol property Tobias Waldekranz
2021-03-27 18:13   ` Rob Herring
2021-04-06  9:52     ` Tobias Waldekranz
2021-04-06 13:30       ` Andrew Lunn
2021-04-07 23:34         ` Vladimir Oltean

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YGD9d/zeJtAXxC8K@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=tobias@waldekranz.com \
    --cc=vivien.didelot@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.