mbox series

[net-next,00/19] Multiple cleanup and feature for qca8k

Message ID 20211117210451.26415-1-ansuelsmth@gmail.com (mailing list archive)
Headers show
Series Multiple cleanup and feature for qca8k | expand

Message

Christian Marangi Nov. 17, 2021, 9:04 p.m. UTC
This series contains 3 main patch groups:
- Cleanup with conversion of the driver to bitfield macro and regmap.
- Add multiple feature mdb add/del, lag support, ageing and fast age.
- Code split of common code from specific code.

The first patch is just a reference from linux-next needed for the
regmap conversion.

As said in the commits, the code split is required as ipq40xx internal
switch is based on the same qca8k reg but use a different way to
read/write to the switch regs. We convert the driver to the generic
regmap and we split the driver to common and specific code.

This also contains a patch to fix a corner case when and if multi cpu
will be supported to DSA.
We add mdb add/del using the ARL table.
We add ageing support and fast age.
We add support for mirror mode.
We add 2 additional MIB present on qca8337.

The regmap conversion patch and the lag patch contains checkpatch
warning for too long line and these error are not fixed to not make the
definition of these regs pratically not readable.

Ansuel Smith (19):
  regmap: allow to define reg_update_bits for no bus configuration
  net: dsa: qca8k: remove redundant check in parse_port_config
  net: dsa: qca8k: skip sgmii delay on double cpu conf
  net: dsa: qca8k: convert to GENMASK/FIELD_PREP/FIELD_GET
  net: dsa: qca8k: move read switch id function in qca8k_setup
  net: dsa: qca8k: remove extra mutex_init in qca8k_setup
  net: dsa: qca8k: set regmap init as mandatory for regmap conversion
  net: dsa: qca8k: convert qca8k to regmap helper
  net: dsa: qca8k: add additional MIB counter and make it dynamic
  net: dsa: qca8k: add support for port fast aging
  net: dsa: qca8k: add support for mirror mode
  net: dsa: qca8k: add set_ageing_time support
  net: dsa: qca8k: add min/max ageing time
  net: dsa: qca8k: add support for mdb_add/del
  net: dsa: qca8k: add LAG support
  net: dsa: qca8k: enable mtu_enforcement_ingress
  net: dsa: qca8k: move qca8k to qca dir
  net: dsa: qca8k: use device_get_match_data instead of the OF variant
  net: dsa: qca8k: split qca8k in common and 8xxx specific code

 drivers/base/regmap/regmap.c                  |    1 +
 drivers/net/dsa/Kconfig                       |    8 -
 drivers/net/dsa/Makefile                      |    1 -
 drivers/net/dsa/qca/Kconfig                   |    9 +
 drivers/net/dsa/qca/Makefile                  |    2 +
 drivers/net/dsa/{qca8k.c => qca/qca8k-8xxx.c} | 1144 +++-------------
 drivers/net/dsa/qca/qca8k-common.c            | 1157 +++++++++++++++++
 drivers/net/dsa/qca/qca8k.h                   |  413 ++++++
 drivers/net/dsa/qca8k.h                       |  311 -----
 include/linux/regmap.h                        |    7 +
 10 files changed, 1750 insertions(+), 1303 deletions(-)
 rename drivers/net/dsa/{qca8k.c => qca/qca8k-8xxx.c} (56%)
 create mode 100644 drivers/net/dsa/qca/qca8k-common.c
 create mode 100644 drivers/net/dsa/qca/qca8k.h
 delete mode 100644 drivers/net/dsa/qca8k.h