Messages in this thread | | | From | Christian Marangi <> | Subject | [net-next RFC PATCH 0/4] net: dsa: qca8k: code split for qca8k | Date | Sat, 16 Jul 2022 19:49:54 +0200 |
| |
This is posted as an RFC as it does contain changes that depends on a regmap patch. The patch is here [1] hoping it will get approved.
If it will be NACKed, I will have to rework this and revert one of the patch that makes use of the new regmap bulk implementation.
Anyway, this is needed ad ipq4019 SoC have an internal switch that is based on qca8k with very minor changes. The general function is equal.
Because of this we split the driver to common and specific code.
As the common function needs to be moved to a different file to be reused, we had to convert every remaining user of qca8k_read/write/rmw to regmap variant. We had also to generilized the special handling for the ethtool_stats function that makes use of the autocast mib. (ipq4019 will have a different tagger and use mmio so it could be quicker to use mmio instead of automib feature) And we had to convert the regmap read/write to bulk implementation to drop the special function that makes use of it. This will be compatible with ipq4019 and at the same time permits normal switch to use the eth mgmt way to send the entire ATU table read/write in one go.
(the bulk implementation could not be done when it was introduced as regmap didn't support at times bulk read/write without a bus)
[1] https://lore.kernel.org/lkml/20220715201032.19507-1-ansuelsmth@gmail.com/
Christian Marangi (4): net: dsa: qca8k: drop qca8k_read/write/rmw for regmap variant net: dsa: qca8k: convert to regmap read/write API net: dsa: qca8k: rework mib autocast handling net: dsa: qca8k: split qca8k in common and 8xxx specific code
drivers/net/dsa/qca/Makefile | 1 + drivers/net/dsa/qca/{qca8k.c => qca8k-8xxx.c} | 1638 +++-------------- drivers/net/dsa/qca/qca8k-common.c | 1174 ++++++++++++ drivers/net/dsa/qca/qca8k.h | 61 + 4 files changed, 1463 insertions(+), 1411 deletions(-) rename drivers/net/dsa/qca/{qca8k.c => qca8k-8xxx.c} (60%) create mode 100644 drivers/net/dsa/qca/qca8k-common.c
-- 2.36.1
| |