From: Christian Marangi <ansuelsmth@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>,
Vivien Didelot <vivien.didelot@gmail.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Vladimir Oltean <olteanv@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jens Axboe <axboe@kernel.dk>,
Christian Marangi <ansuelsmth@gmail.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: [net-next PATCH v5 00/14] net: dsa: qca8k: code split for qca8k
Date: Wed, 27 Jul 2022 13:35:09 +0200 [thread overview]
Message-ID: <20220727113523.19742-1-ansuelsmth@gmail.com> (raw)
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.
v5:
- Wrap function to single line/80 char
- Cache match data even for read_switch function
- Add additional review tag
v4:
- Fix compilation error with clang compiler reported by kernel
test bot
v3:
- Squash more patch to skip even more "migration patch"
- Add new patch to cache match data in priv struct
- Fix extra space
- Drop unnecessary cast to qca8k_priv from void pointers
v2:
- Rework patch to drop dependency with bulk regmap (will be
converted later)
- Split the split patch to additional patch
- Rework autocast_mib function and move it to match data
Christian Marangi (14):
net: dsa: qca8k: cache match data to speed up access
net: dsa: qca8k: make mib autocast feature optional
net: dsa: qca8k: move mib struct to common code
net: dsa: qca8k: move qca8k read/write/rmw and reg table to common
code
net: dsa: qca8k: move qca8k bulk read/write helper to common code
net: dsa: qca8k: move mib init function to common code
net: dsa: qca8k: move port set status/eee/ethtool stats function to
common code
net: dsa: qca8k: move bridge functions to common code
net: dsa: qca8k: move set age/MTU/port enable/disable functions to
common code
net: dsa: qca8k: move port FDB/MDB function to common code
net: dsa: qca8k: move port mirror functions to common code
net: dsa: qca8k: move port VLAN functions to common code
net: dsa: qca8k: move port LAG functions to common code
net: dsa: qca8k: move read_switch_id function to common code
drivers/net/dsa/qca/Makefile | 1 +
drivers/net/dsa/qca/{qca8k.c => qca8k-8xxx.c} | 1711 +++--------------
drivers/net/dsa/qca/qca8k-common.c | 1210 ++++++++++++
drivers/net/dsa/qca/qca8k.h | 100 +
4 files changed, 1549 insertions(+), 1473 deletions(-)
rename drivers/net/dsa/qca/{qca8k.c => qca8k-8xxx.c} (63%)
create mode 100644 drivers/net/dsa/qca/qca8k-common.c
--
2.36.1
next reply other threads:[~2022-07-27 11:35 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-27 11:35 Christian Marangi [this message]
2022-07-27 11:35 ` [net-next PATCH v5 01/14] net: dsa: qca8k: cache match data to speed up access Christian Marangi
2022-07-27 14:50 ` Vladimir Oltean
2022-07-29 21:31 ` Florian Fainelli
2022-09-14 20:06 ` Regression: qca8k_sw_probe crashes (Was: Re: [net-next PATCH v5 01/14] net: dsa: qca8k: cache match data to speed up access) Pali Rohár
2022-09-14 20:08 ` Vladimir Oltean
2022-09-14 20:12 ` Pali Rohár
2022-07-27 11:35 ` [net-next PATCH v5 02/14] net: dsa: qca8k: make mib autocast feature optional Christian Marangi
2022-07-27 14:50 ` Vladimir Oltean
2022-07-29 21:32 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 03/14] net: dsa: qca8k: move mib struct to common code Christian Marangi
2022-07-29 21:33 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 04/14] net: dsa: qca8k: move qca8k read/write/rmw and reg table " Christian Marangi
2022-07-29 21:34 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 05/14] net: dsa: qca8k: move qca8k bulk read/write helper " Christian Marangi
2022-07-29 21:35 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 06/14] net: dsa: qca8k: move mib init function " Christian Marangi
2022-07-27 14:51 ` Vladimir Oltean
2022-07-29 21:35 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 07/14] net: dsa: qca8k: move port set status/eee/ethtool stats " Christian Marangi
2022-07-29 21:37 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 08/14] net: dsa: qca8k: move bridge functions " Christian Marangi
2022-07-29 21:38 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 09/14] net: dsa: qca8k: move set age/MTU/port enable/disable " Christian Marangi
2022-07-27 14:55 ` Vladimir Oltean
2022-07-29 21:39 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 10/14] net: dsa: qca8k: move port FDB/MDB function " Christian Marangi
2022-07-27 14:54 ` Vladimir Oltean
2022-07-29 21:40 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 11/14] net: dsa: qca8k: move port mirror functions " Christian Marangi
2022-07-29 21:40 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 12/14] net: dsa: qca8k: move port VLAN " Christian Marangi
2022-07-29 21:41 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 13/14] net: dsa: qca8k: move port LAG " Christian Marangi
2022-07-29 21:42 ` Florian Fainelli
2022-07-27 11:35 ` [net-next PATCH v5 14/14] net: dsa: qca8k: move read_switch_id function " Christian Marangi
2022-07-27 14:52 ` Vladimir Oltean
2022-07-29 5:30 ` [net-next PATCH v5 00/14] net: dsa: qca8k: code split for qca8k patchwork-bot+netdevbpf
2022-07-29 21:42 ` Florian Fainelli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220727113523.19742-1-ansuelsmth@gmail.com \
--to=ansuelsmth@gmail.com \
--cc=andrew@lunn.ch \
--cc=axboe@kernel.dk \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=vivien.didelot@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.