diff options
author | David S. Miller <davem@davemloft.net> | 2020-01-09 03:01:14 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-01-09 03:01:14 +0300 |
commit | 78b6d073bc0101f9147845ba868d9d2e6189f990 (patch) | |
tree | 020d184385b3b52f07e5926170ba1657bc8b57ae /net/ethtool/netlink.c | |
parent | 8d2ff126536320f7243bd05a69703c9b4cd7e46e (diff) | |
parent | 8fab459e69abfd04a66d76423d18ba853fced4ab (diff) | |
download | linux-78b6d073bc0101f9147845ba868d9d2e6189f990.tar.xz |
Merge branch 'Broadcom-tags-support-for-531x5-539x-families'
Florian Fainelli says:
====================
Broadcom tags support for 531x5/539x families
This patch series finally allows us to enable Broadcom tags on the
BCM531x5/BCM539x switch series which are very often cascaded onto
another on-chip Broadcom switch. Because of that we need to be able to
detect that Broadcom tags are already enabled on our DSA master which
happens to be a DSA slave in that case since they are not part of the
same DSA switch tree, the protocol does not support that.
Due to the way DSA works, get_tag_protocol() is called prior to
ds->ops->setup and we do not have all data structures set-up (in
particular dsa_port::cpu_dp is not filed yet) so doing this at the time
get_tag_protocol() is called and without exporting a helper function is
desirable to limit our footprint into the framework.
Having the core (net/dsa/dsa2.c) return and enforce DSA_TAG_PROTO_NONE
was considered and done initially but this leaves the driver outside of
the decision to force/fallback to a particular protocol, instead of
letting it in control. Also there is no reason to suspect that all
tagging protocols are problematic, e.g.: "inner" Marvell EDSA with
"outer" Broadcom tag may work just fine, and vice versa.
This was tested on:
- Lamobo R1 which now has working Broadcom tags for its external BCM53125 switch
- BCM7445 which has a BCM53125 hanging off one of its internal switch
port, the BCM53125 still works with DSA_TAG_PROTO_NONE
- BCM7278 which has a peculiar dual CPU port set-up (so dual IMP mode
needs to be enabled)
- Northstar Plus with DSA_TAG_PROTO_BRCM_PREPEND and no external
switches hanging off the internal switch
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ethtool/netlink.c')
0 files changed, 0 insertions, 0 deletions