[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210611190131.2362911-1-olteanv@gmail.com>
Date: Fri, 11 Jun 2021 22:01:21 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Jakub Kicinski <kuba@...nel.org>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Cc: Florian Fainelli <f.fainelli@...il.com>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Richard Cochran <richardcochran@...il.com>,
Vladimir Oltean <vladimir.oltean@....com>
Subject: [PATCH v3 net-next 00/10] DSA tagging driver for NXP SJA1110
From: Vladimir Oltean <vladimir.oltean@....com>
This series adds support for tagging data and control packets on the new
NXP SJA1110 switch (supported by the sja1105 driver). Up to this point
it used the sja1105 driver, which allowed it to send data packets, but
not PDUs as those required by STP and PTP.
To accommodate this new tagger which has both a header and a trailer, we
need to refactor the entire DSA tagging scheme, to replace the "overhead"
concept with separate "needed_headroom" and "needed_tailroom" concepts,
so that SJA1110 can declare its need for both.
There is also some consolidation work for the receive path of tag_8021q
and its callers (sja1105 and ocelot-8021q).
Changes in v3:
Rebase in front of the "Port the SJA1105 DSA driver to XPCS" series
which seems to have stalled for now.
Changes in v2:
Export the dsa_8021q_rcv and sja1110_process_meta_tstamp symbols to
avoid build errors as modules.
Vladimir Oltean (10):
net: dsa: sja1105: enable the TTEthernet engine on SJA1110
net: dsa: sja1105: allow RX timestamps to be taken on all ports for
SJA1110
net: dsa: generalize overhead for taggers that use both headers and
trailers
net: dsa: tag_sja1105: stop resetting network and transport headers
net: dsa: tag_8021q: remove shim declarations
net: dsa: tag_8021q: refactor RX VLAN parsing into a dedicated
function
net: dsa: sja1105: make SJA1105_SKB_CB fit a full timestamp
net: dsa: add support for the SJA1110 native tagging protocol
net: dsa: sja1105: add the RX timestamping procedure for SJA1110
net: dsa: sja1105: implement TX timestamping for SJA1110
Documentation/networking/dsa/dsa.rst | 21 +-
drivers/net/dsa/sja1105/sja1105.h | 4 +
drivers/net/dsa/sja1105/sja1105_main.c | 35 +-
drivers/net/dsa/sja1105/sja1105_ptp.c | 97 +++++-
drivers/net/dsa/sja1105/sja1105_ptp.h | 13 +
drivers/net/dsa/sja1105/sja1105_spi.c | 28 ++
.../net/dsa/sja1105/sja1105_static_config.c | 1 +
.../net/dsa/sja1105/sja1105_static_config.h | 1 +
include/linux/dsa/8021q.h | 79 +----
include/linux/dsa/sja1105.h | 26 +-
include/net/dsa.h | 8 +-
net/core/flow_dissector.c | 2 +-
net/dsa/dsa_priv.h | 5 +
net/dsa/master.c | 6 +-
net/dsa/slave.c | 10 +-
net/dsa/tag_8021q.c | 23 ++
net/dsa/tag_ar9331.c | 2 +-
net/dsa/tag_brcm.c | 6 +-
net/dsa/tag_dsa.c | 4 +-
net/dsa/tag_gswip.c | 2 +-
net/dsa/tag_hellcreek.c | 3 +-
net/dsa/tag_ksz.c | 9 +-
net/dsa/tag_lan9303.c | 2 +-
net/dsa/tag_mtk.c | 2 +-
net/dsa/tag_ocelot.c | 4 +-
net/dsa/tag_ocelot_8021q.c | 20 +-
net/dsa/tag_qca.c | 2 +-
net/dsa/tag_rtl4_a.c | 2 +-
net/dsa/tag_sja1105.c | 312 ++++++++++++++++--
net/dsa/tag_trailer.c | 3 +-
net/dsa/tag_xrs700x.c | 3 +-
31 files changed, 551 insertions(+), 184 deletions(-)
--
2.25.1
Powered by blists - more mailing lists