mbox series

[v3,net-next,00/10] DSA tagging driver for NXP SJA1110

Message ID 20210611190131.2362911-1-olteanv@gmail.com (mailing list archive)
Headers show
Series DSA tagging driver for NXP SJA1110 | expand

Message

Vladimir Oltean June 11, 2021, 7:01 p.m. UTC
From: Vladimir Oltean <vladimir.oltean@nxp.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(-)

Comments

patchwork-bot+netdevbpf@kernel.org June 11, 2021, 7:50 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Fri, 11 Jun 2021 22:01:21 +0300 you wrote:
> From: Vladimir Oltean <vladimir.oltean@nxp.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.
> 
> [...]

Here is the summary with links:
  - [v3,net-next,01/10] net: dsa: sja1105: enable the TTEthernet engine on SJA1110
    https://git.kernel.org/netdev/net-next/c/29305260d29e
  - [v3,net-next,02/10] net: dsa: sja1105: allow RX timestamps to be taken on all ports for SJA1110
    https://git.kernel.org/netdev/net-next/c/6c0de59b3d73
  - [v3,net-next,03/10] net: dsa: generalize overhead for taggers that use both headers and trailers
    https://git.kernel.org/netdev/net-next/c/4e50025129ef
  - [v3,net-next,04/10] net: dsa: tag_sja1105: stop resetting network and transport headers
    https://git.kernel.org/netdev/net-next/c/baa3ad08de6d
  - [v3,net-next,05/10] net: dsa: tag_8021q: remove shim declarations
    https://git.kernel.org/netdev/net-next/c/ab6a303c5440
  - [v3,net-next,06/10] net: dsa: tag_8021q: refactor RX VLAN parsing into a dedicated function
    https://git.kernel.org/netdev/net-next/c/233697b3b3f6
  - [v3,net-next,07/10] net: dsa: sja1105: make SJA1105_SKB_CB fit a full timestamp
    https://git.kernel.org/netdev/net-next/c/617ef8d9377b
  - [v3,net-next,08/10] net: dsa: add support for the SJA1110 native tagging protocol
    https://git.kernel.org/netdev/net-next/c/4913b8ebf8a9
  - [v3,net-next,09/10] net: dsa: sja1105: add the RX timestamping procedure for SJA1110
    https://git.kernel.org/netdev/net-next/c/30b73242e679
  - [v3,net-next,10/10] net: dsa: sja1105: implement TX timestamping for SJA1110
    https://git.kernel.org/netdev/net-next/c/566b18c8b752

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html