All of lore.kernel.org
 help / color / mirror / Atom feed
From: Biju Das <biju.das.jz@bp.renesas.com>
To: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>
Cc: Biju Das <biju.das.jz@bp.renesas.com>,
	Sergei Shtylyov <sergei.shtylyov@gmail.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Sergey Shtylyov <s.shtylyov@omprussia.ru>,
	Adam Ford <aford173@gmail.com>, Andrew Lunn <andrew@lunn.ch>,
	Yuusuke Ashizuka <ashiduka@fujitsu.com>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
	netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	Chris Paterson <Chris.Paterson2@renesas.com>,
	Biju Das <biju.das@bp.renesas.com>,
	Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>
Subject: [PATCH net-next v2 4/8] ravb: Add stats_len to struct ravb_hw_info
Date: Mon,  2 Aug 2021 11:26:50 +0100	[thread overview]
Message-ID: <20210802102654.5996-5-biju.das.jz@bp.renesas.com> (raw)
In-Reply-To: <20210802102654.5996-1-biju.das.jz@bp.renesas.com>

R-Car provides 30 device stats, whereas RZ/G2L provides only 15. In
addition, RZ/G2L has stats "rx_queue_0_csum_offload_errors" instead of
"rx_queue_0_missed_errors".

Replace RAVB_STATS_LEN macro with a structure variable stats_len to
struct ravb_hw_info, to support subsequent SoCs without any code changes
to the ravb_get_sset_count function.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
v2:
 * Incorporated Andrew and Sergei's review comments for making it smaller patch
   and provided detailed description.
---
 drivers/net/ethernet/renesas/ravb.h      | 1 +
 drivers/net/ethernet/renesas/ravb_main.c | 9 ++++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/renesas/ravb.h b/drivers/net/ethernet/renesas/ravb.h
index 38552e0319d3..a42c34eaebc2 100644
--- a/drivers/net/ethernet/renesas/ravb.h
+++ b/drivers/net/ethernet/renesas/ravb.h
@@ -992,6 +992,7 @@ struct ravb_hw_info {
 	enum ravb_chip_id chip_id;
 	int num_gstat_queue;
 	int num_tx_desc;
+	int stats_len;
 	size_t skb_sz;
 };
 
diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
index 30132693edd7..baeb868b07ed 100644
--- a/drivers/net/ethernet/renesas/ravb_main.c
+++ b/drivers/net/ethernet/renesas/ravb_main.c
@@ -1133,13 +1133,14 @@ static const char ravb_gstrings_stats[][ETH_GSTRING_LEN] = {
 	"rx_queue_1_over_errors",
 };
 
-#define RAVB_STATS_LEN	ARRAY_SIZE(ravb_gstrings_stats)
-
 static int ravb_get_sset_count(struct net_device *netdev, int sset)
 {
+	struct ravb_private *priv = netdev_priv(netdev);
+	const struct ravb_hw_info *info = priv->info;
+
 	switch (sset) {
 	case ETH_SS_STATS:
-		return RAVB_STATS_LEN;
+		return info->stats_len;
 	default:
 		return -EOPNOTSUPP;
 	}
@@ -1929,6 +1930,7 @@ static const struct ravb_hw_info ravb_gen3_hw_info = {
 	.chip_id = RCAR_GEN3,
 	.num_gstat_queue = NUM_RX_QUEUE,
 	.num_tx_desc = NUM_TX_DESC_GEN3,
+	.stats_len = ARRAY_SIZE(ravb_gstrings_stats),
 	.skb_sz = RX_BUF_SZ + RAVB_ALIGN - 1,
 };
 
@@ -1936,6 +1938,7 @@ static const struct ravb_hw_info ravb_gen2_hw_info = {
 	.chip_id = RCAR_GEN2,
 	.num_gstat_queue = NUM_RX_QUEUE,
 	.num_tx_desc = NUM_TX_DESC_GEN2,
+	.stats_len = ARRAY_SIZE(ravb_gstrings_stats),
 	.skb_sz = RX_BUF_SZ + RAVB_ALIGN - 1,
 };
 
-- 
2.17.1


  parent reply	other threads:[~2021-08-02 10:27 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-02 10:26 [PATCH net-next v2 0/8] Add Gigabit Ethernet driver support Biju Das
2021-08-02 10:26 ` [PATCH net-next v2 1/8] ravb: Add struct ravb_hw_info to driver data Biju Das
2021-08-02 15:02   ` Andrew Lunn
2021-08-02 20:42   ` Sergei Shtylyov
2021-08-03  5:57     ` Biju Das
2021-08-03  6:36       ` Biju Das
2021-08-04 19:27       ` Sergei Shtylyov
2021-08-04 20:27         ` Sergei Shtylyov
2021-08-09 12:06   ` Geert Uytterhoeven
2021-08-12  7:26     ` Biju Das
2021-08-12  7:58       ` Geert Uytterhoeven
2021-08-12  8:13         ` Biju Das
2021-08-17 11:24           ` Biju Das
2021-08-17 20:11             ` Sergey Shtylyov
2021-08-18  6:29               ` Biju Das
2021-08-18 10:11                 ` Sergey Shtylyov
2021-08-18 10:23                   ` Biju Das
2021-08-02 10:26 ` [PATCH net-next v2 2/8] ravb: Add skb_sz to struct ravb_hw_info Biju Das
2021-08-02 15:08   ` Andrew Lunn
2021-08-02 20:54   ` Sergei Shtylyov
2021-08-03  7:13     ` Biju Das
2021-08-02 10:26 ` [PATCH net-next v2 3/8] ravb: Add num_gstat_queue " Biju Das
2021-08-02 15:09   ` Andrew Lunn
2021-08-03 18:21   ` Sergei Shtylyov
2021-08-03 19:13     ` Biju Das
2021-08-03 19:22       ` Sergei Shtylyov
2021-08-03 19:47         ` Biju Das
2021-08-17 15:08           ` Biju Das
2021-08-02 10:26 ` Biju Das [this message]
2021-08-03 18:35   ` [PATCH net-next v2 4/8] ravb: Add stats_len " Sergei Shtylyov
2021-08-03 18:47     ` Biju Das
2021-08-03 19:20       ` Sergei Shtylyov
2021-08-02 10:26 ` [PATCH net-next v2 5/8] ravb: Add gstrings_stats and gstrings_size " Biju Das
2021-08-02 15:11   ` Andrew Lunn
2021-08-04 20:36   ` Sergei Shtylyov
2021-08-02 10:26 ` [PATCH net-next v2 6/8] ravb: Add net_features and net_hw_features " Biju Das
2021-08-02 15:12   ` Andrew Lunn
2021-08-05 19:07   ` Sergei Shtylyov
2021-08-05 19:18     ` Biju Das
2021-08-06 20:20       ` Sergei Shtylyov
2021-08-12  7:35         ` Biju Das
2021-08-06 20:31   ` Sergei Shtylyov
2021-08-02 10:26 ` [PATCH net-next v2 7/8] ravb: Add internal delay hw feature " Biju Das
2021-08-02 15:13   ` Andrew Lunn
2021-08-03 21:06   ` Sergei Shtylyov
2021-08-04  6:19     ` Biju Das
2021-08-03 21:12   ` Sergei Shtylyov
2021-08-04  5:13     ` Biju Das
2021-08-04  9:51       ` Sergey Shtylyov
2021-08-04 10:08         ` Biju Das
2021-08-04 10:34           ` Sergei Shtylyov
2021-08-04 10:20       ` Sergei Shtylyov
2021-08-04 10:32         ` Biju Das
2021-08-02 10:26 ` [PATCH net-next v2 8/8] ravb: Add tx_drop_cntrs " Biju Das
2021-08-02 15:14   ` Andrew Lunn
2021-08-04 20:50   ` Sergei Shtylyov
2021-08-17 15:47     ` Biju Das
2021-08-17 16:30       ` Sergey Shtylyov
2021-08-17 16:33         ` Biju Das

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=20210802102654.5996-5-biju.das.jz@bp.renesas.com \
    --to=biju.das.jz@bp.renesas.com \
    --cc=Chris.Paterson2@renesas.com \
    --cc=aford173@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=ashiduka@fujitsu.com \
    --cc=biju.das@bp.renesas.com \
    --cc=davem@davemloft.net \
    --cc=geert+renesas@glider.be \
    --cc=kuba@kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=s.shtylyov@omprussia.ru \
    --cc=sergei.shtylyov@gmail.com \
    --cc=yoshihiro.shimoda.uh@renesas.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.