net: dsa: b53: support legacy tags
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Wed, 17 Mar 2021 10:29:27 +0000 (11:29 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 17 Mar 2021 19:24:36 +0000 (12:24 -0700)
These tags are used on BCM5325, BCM5365 and BCM63xx switches.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/b53/Kconfig
drivers/net/dsa/b53/b53_common.c

index f9891a8..90b5251 100644 (file)
@@ -3,6 +3,7 @@ menuconfig B53
        tristate "Broadcom BCM53xx managed switch support"
        depends on NET_DSA
        select NET_DSA_TAG_BRCM
+       select NET_DSA_TAG_BRCM_LEGACY
        select NET_DSA_TAG_BRCM_PREPEND
        help
          This driver adds support for Broadcom managed switch chips. It supports
index 9bd51c2..8d5a82d 100644 (file)
@@ -2055,15 +2055,17 @@ enum dsa_tag_protocol b53_get_tag_protocol(struct dsa_switch *ds, int port,
 {
        struct b53_device *dev = ds->priv;
 
-       /* Older models (5325, 5365) support a different tag format that we do
-        * not support in net/dsa/tag_brcm.c yet.
-        */
-       if (is5325(dev) || is5365(dev) ||
-           !b53_can_enable_brcm_tags(ds, port, mprot)) {
+       if (!b53_can_enable_brcm_tags(ds, port, mprot)) {
                dev->tag_protocol = DSA_TAG_PROTO_NONE;
                goto out;
        }
 
+       /* Older models require a different 6 byte tag */
+       if (is5325(dev) || is5365(dev) || is63xx(dev)) {
+               dev->tag_protocol = DSA_TAG_PROTO_BRCM_LEGACY;
+               goto out;
+       }
+
        /* Broadcom BCM58xx chips have a flow accelerator on Port 8
         * which requires us to use the prepended Broadcom tag type
         */