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>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [net-next PATCH v2 03/15] net: dsa: qca8k: move qca8kread/write/rmw and reg table to common code
Date: Tue, 19 Jul 2022 03:00:13 +0200 [thread overview]
Message-ID: <62d60620.1c69fb81.42957.a752@mx.google.com> (raw)
In-Reply-To: <20220719005726.8739-5-ansuelsmth@gmail.com>
On Tue, Jul 19, 2022 at 02:57:14AM +0200, Christian Marangi wrote:
> The same reg table and function are used by drivers based on qca8k family
> switch. Move them to common code to make it accessible also by other
> drivers.
>
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> ---
> drivers/net/dsa/qca/qca8k-8xxx.c | 42 ------------------------------
> drivers/net/dsa/qca/qca8k-common.c | 39 +++++++++++++++++++++++++++
> drivers/net/dsa/qca/qca8k.h | 6 +++++
> 3 files changed, 45 insertions(+), 42 deletions(-)
>
> diff --git a/drivers/net/dsa/qca/qca8k-8xxx.c b/drivers/net/dsa/qca/qca8k-8xxx.c
> index 3f6c1427734d..46c371f5decc 100644
> --- a/drivers/net/dsa/qca/qca8k-8xxx.c
> +++ b/drivers/net/dsa/qca/qca8k-8xxx.c
> @@ -133,24 +133,6 @@ qca8k_set_page(struct qca8k_priv *priv, u16 page)
> return 0;
> }
>
> -static int
> -qca8k_read(struct qca8k_priv *priv, u32 reg, u32 *val)
> -{
> - return regmap_read(priv->regmap, reg, val);
> -}
> -
> -static int
> -qca8k_write(struct qca8k_priv *priv, u32 reg, u32 val)
> -{
> - return regmap_write(priv->regmap, reg, val);
> -}
> -
> -static int
> -qca8k_rmw(struct qca8k_priv *priv, u32 reg, u32 mask, u32 write_val)
> -{
> - return regmap_update_bits(priv->regmap, reg, mask, write_val);
> -}
> -
> static void qca8k_rw_reg_ack_handler(struct dsa_switch *ds, struct sk_buff *skb)
> {
> struct qca8k_mgmt_eth_data *mgmt_eth_data;
> @@ -483,30 +465,6 @@ qca8k_regmap_update_bits(void *ctx, uint32_t reg, uint32_t mask, uint32_t write_
> return ret;
> }
>
> -static const struct regmap_range qca8k_readable_ranges[] = {
> - regmap_reg_range(0x0000, 0x00e4), /* Global control */
> - regmap_reg_range(0x0100, 0x0168), /* EEE control */
> - regmap_reg_range(0x0200, 0x0270), /* Parser control */
> - regmap_reg_range(0x0400, 0x0454), /* ACL */
> - regmap_reg_range(0x0600, 0x0718), /* Lookup */
> - regmap_reg_range(0x0800, 0x0b70), /* QM */
> - regmap_reg_range(0x0c00, 0x0c80), /* PKT */
> - regmap_reg_range(0x0e00, 0x0e98), /* L3 */
> - regmap_reg_range(0x1000, 0x10ac), /* MIB - Port0 */
> - regmap_reg_range(0x1100, 0x11ac), /* MIB - Port1 */
> - regmap_reg_range(0x1200, 0x12ac), /* MIB - Port2 */
> - regmap_reg_range(0x1300, 0x13ac), /* MIB - Port3 */
> - regmap_reg_range(0x1400, 0x14ac), /* MIB - Port4 */
> - regmap_reg_range(0x1500, 0x15ac), /* MIB - Port5 */
> - regmap_reg_range(0x1600, 0x16ac), /* MIB - Port6 */
> -
> -};
> -
> -static const struct regmap_access_table qca8k_readable_table = {
> - .yes_ranges = qca8k_readable_ranges,
> - .n_yes_ranges = ARRAY_SIZE(qca8k_readable_ranges),
> -};
> -
> static struct regmap_config qca8k_regmap_config = {
> .reg_bits = 16,
> .val_bits = 32,
> diff --git a/drivers/net/dsa/qca/qca8k-common.c b/drivers/net/dsa/qca/qca8k-common.c
> index 7a63e96c8c08..1c2169e98f10 100644
> --- a/drivers/net/dsa/qca/qca8k-common.c
> +++ b/drivers/net/dsa/qca/qca8k-common.c
> @@ -61,3 +61,42 @@ const struct qca8k_mib_desc ar8327_mib[] = {
> MIB_DESC(1, 0xa8, "RXUnicast"),
> MIB_DESC(1, 0xac, "TXUnicast"),
> };
> +
> +int qca8k_read(struct qca8k_priv *priv, u32 reg, u32 *val)
> +{
> + return regmap_read(priv->regmap, reg, val);
> +}
> +
> +int qca8k_write(struct qca8k_priv *priv, u32 reg, u32 val)
> +{
> + return regmap_write(priv->regmap, reg, val);
> +}
> +
> +int qca8k_rmw(struct qca8k_priv *priv, u32 reg, u32 mask, u32 write_val)
> +{
> + return regmap_update_bits(priv->regmap, reg, mask, write_val);
> +}
> +
> +static const struct regmap_range qca8k_readable_ranges[] = {
> + regmap_reg_range(0x0000, 0x00e4), /* Global control */
> + regmap_reg_range(0x0100, 0x0168), /* EEE control */
> + regmap_reg_range(0x0200, 0x0270), /* Parser control */
> + regmap_reg_range(0x0400, 0x0454), /* ACL */
> + regmap_reg_range(0x0600, 0x0718), /* Lookup */
> + regmap_reg_range(0x0800, 0x0b70), /* QM */
> + regmap_reg_range(0x0c00, 0x0c80), /* PKT */
> + regmap_reg_range(0x0e00, 0x0e98), /* L3 */
> + regmap_reg_range(0x1000, 0x10ac), /* MIB - Port0 */
> + regmap_reg_range(0x1100, 0x11ac), /* MIB - Port1 */
> + regmap_reg_range(0x1200, 0x12ac), /* MIB - Port2 */
> + regmap_reg_range(0x1300, 0x13ac), /* MIB - Port3 */
> + regmap_reg_range(0x1400, 0x14ac), /* MIB - Port4 */
> + regmap_reg_range(0x1500, 0x15ac), /* MIB - Port5 */
> + regmap_reg_range(0x1600, 0x16ac), /* MIB - Port6 */
> +
> +};
> +
> +const struct regmap_access_table qca8k_readable_table = {
> + .yes_ranges = qca8k_readable_ranges,
> + .n_yes_ranges = ARRAY_SIZE(qca8k_readable_ranges),
> +};
> diff --git a/drivers/net/dsa/qca/qca8k.h b/drivers/net/dsa/qca/qca8k.h
> index 0c9b60555670..20cceac494eb 100644
> --- a/drivers/net/dsa/qca/qca8k.h
> +++ b/drivers/net/dsa/qca/qca8k.h
> @@ -419,5 +419,11 @@ struct qca8k_fdb {
>
> /* Common setup function */
> extern const struct qca8k_mib_desc ar8327_mib[];
> +extern const struct regmap_access_table qca8k_readable_table;
> +
> +/* Common read/write/rmw function */
> +int qca8k_read(struct qca8k_priv *priv, u32 reg, u32 *val);
> +int qca8k_write(struct qca8k_priv *priv, u32 reg, u32 val);
> +int qca8k_rmw(struct qca8k_priv *priv, u32 reg, u32 mask, u32 write_val);
>
> #endif /* __QCA8K_H */
> --
> 2.36.1
>
This slipped and was sent by mistake (and was just a typo fixed in the
title)
Please ignore. Sorry.
--
Ansuel
next prev parent reply other threads:[~2022-07-19 1:18 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-19 0:57 [net-next PATCH v2 00/15] net: dsa: qca8k: code split for qca8k Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 01/15] net: dsa: qca8k: make mib autocast feature optional Christian Marangi
2022-07-19 12:26 ` Vladimir Oltean
2022-07-19 12:29 ` Christian Marangi
2022-07-19 13:36 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 02/15] net: dsa: qca8k: move mib struct to common code Christian Marangi
2022-07-19 12:36 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 03/15] net: dsa: qca8k: move qca8k read/write/rmw and reg table " Christian Marangi
2022-07-19 12:38 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 03/15] net: dsa: qca8k: move qca8kread/write/rmw " Christian Marangi
2022-07-19 1:00 ` Christian Marangi [this message]
2022-07-19 1:30 ` Jakub Kicinski
2022-07-19 1:16 ` Christian Marangi
2022-07-19 13:34 ` Vladimir Oltean
2022-07-19 1:32 ` Jakub Kicinski
2022-07-19 1:17 ` Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 04/15] net: dsa: qca8k: move qca8k bulk read/write helper " Christian Marangi
2022-07-19 12:40 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 05/15] net: dsa: qca8k: move fdb/vlan/mib init functions " Christian Marangi
2022-07-19 13:13 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 06/15] net: dsa: qca8k: move port set status/eee/ethtool stats function " Christian Marangi
2022-07-19 13:14 ` Vladimir Oltean
2022-07-19 13:16 ` Christian Marangi
2022-07-19 13:18 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 07/15] net: dsa: qca8k: move bridge functions " Christian Marangi
2022-07-19 13:16 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 08/15] net: dsa: qca8k: move fast age/MTU/port enable/disable " Christian Marangi
2022-07-19 13:22 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 09/15] net: dsa: qca8k: move port FDB function " Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 10/15] net: dsa: qca8k: move port MDB functions " Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 11/15] net: dsa: qca8k: move port mirror " Christian Marangi
2022-07-19 13:24 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 12/15] net: dsa: qca8k: move port VLAN " Christian Marangi
2022-07-19 13:25 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 13/15] net: dsa: qca8k: move port LAG " Christian Marangi
2022-07-19 13:26 ` Vladimir Oltean
2022-07-19 0:57 ` [net-next PATCH v2 14/15] net: dsa: qca8k: move read_switch_id function " Christian Marangi
2022-07-19 0:57 ` [net-next PATCH v2 15/15] net: dsa: qca8k: drop unnecessary exposed function and make them static Christian Marangi
2022-07-19 13:29 ` Vladimir Oltean
2022-07-19 13:35 ` Christian Marangi
2022-07-19 13:44 ` Vladimir Oltean
2022-07-19 13:47 ` Vladimir Oltean
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=62d60620.1c69fb81.42957.a752@mx.google.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.