From: Andrew Boyer <andrew.boyer@amd.com>
To: <dev@dpdk.org>
Cc: Brad Larson <bradley.larson@amd.com>,
Andrew Boyer <andrew.boyer@amd.com>
Subject: [PATCH v3 09/13] net/ionic: add flexible firmware xstat counters
Date: Tue, 6 Feb 2024 19:13:13 -0800 [thread overview]
Message-ID: <20240207031317.32293-10-andrew.boyer@amd.com> (raw)
In-Reply-To: <20240207031317.32293-1-andrew.boyer@amd.com>
From: Brad Larson <bradley.larson@amd.com>
Assign 32 counters for flexible firmware events. These can be used as
per-port or per-queue counters in certain firmware configurations.
They are displayed as fw_flex_eventX in xstats.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
Signed-off-by: Brad Larson <bradley.larson@amd.com>
---
drivers/net/ionic/ionic_ethdev.c | 33 +++++++++++++++
drivers/net/ionic/ionic_if.h | 70 ++++++++++++++++----------------
2 files changed, 68 insertions(+), 35 deletions(-)
diff --git a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ionic_ethdev.c
index 327f6b9de5..7c55a26956 100644
--- a/drivers/net/ionic/ionic_ethdev.c
+++ b/drivers/net/ionic/ionic_ethdev.c
@@ -196,6 +196,39 @@ static const struct rte_ionic_xstats_name_off rte_ionic_xstats_strings[] = {
tx_desc_fetch_error)},
{"tx_desc_data_error", offsetof(struct ionic_lif_stats,
tx_desc_data_error)},
+ /* Flexible firmware events */
+ {"fw_flex_event1", offsetof(struct ionic_lif_stats, flex1)},
+ {"fw_flex_event2", offsetof(struct ionic_lif_stats, flex2)},
+ {"fw_flex_event3", offsetof(struct ionic_lif_stats, flex3)},
+ {"fw_flex_event4", offsetof(struct ionic_lif_stats, flex4)},
+ {"fw_flex_event5", offsetof(struct ionic_lif_stats, flex5)},
+ {"fw_flex_event6", offsetof(struct ionic_lif_stats, flex6)},
+ {"fw_flex_event7", offsetof(struct ionic_lif_stats, flex7)},
+ {"fw_flex_event8", offsetof(struct ionic_lif_stats, flex8)},
+ {"fw_flex_event9", offsetof(struct ionic_lif_stats, flex9)},
+ {"fw_flex_event10", offsetof(struct ionic_lif_stats, flex10)},
+ {"fw_flex_event11", offsetof(struct ionic_lif_stats, flex11)},
+ {"fw_flex_event12", offsetof(struct ionic_lif_stats, flex12)},
+ {"fw_flex_event13", offsetof(struct ionic_lif_stats, flex13)},
+ {"fw_flex_event14", offsetof(struct ionic_lif_stats, flex14)},
+ {"fw_flex_event15", offsetof(struct ionic_lif_stats, flex15)},
+ {"fw_flex_event16", offsetof(struct ionic_lif_stats, flex16)},
+ {"fw_flex_event17", offsetof(struct ionic_lif_stats, flex17)},
+ {"fw_flex_event18", offsetof(struct ionic_lif_stats, flex18)},
+ {"fw_flex_event19", offsetof(struct ionic_lif_stats, flex19)},
+ {"fw_flex_event20", offsetof(struct ionic_lif_stats, flex20)},
+ {"fw_flex_event21", offsetof(struct ionic_lif_stats, flex21)},
+ {"fw_flex_event22", offsetof(struct ionic_lif_stats, flex22)},
+ {"fw_flex_event23", offsetof(struct ionic_lif_stats, flex23)},
+ {"fw_flex_event24", offsetof(struct ionic_lif_stats, flex24)},
+ {"fw_flex_event25", offsetof(struct ionic_lif_stats, flex25)},
+ {"fw_flex_event26", offsetof(struct ionic_lif_stats, flex26)},
+ {"fw_flex_event27", offsetof(struct ionic_lif_stats, flex27)},
+ {"fw_flex_event28", offsetof(struct ionic_lif_stats, flex28)},
+ {"fw_flex_event29", offsetof(struct ionic_lif_stats, flex29)},
+ {"fw_flex_event30", offsetof(struct ionic_lif_stats, flex30)},
+ {"fw_flex_event31", offsetof(struct ionic_lif_stats, flex31)},
+ {"fw_flex_event32", offsetof(struct ionic_lif_stats, flex32)},
};
#define IONIC_NB_HW_STATS RTE_DIM(rte_ionic_xstats_strings)
diff --git a/drivers/net/ionic/ionic_if.h b/drivers/net/ionic/ionic_if.h
index 79aa196345..7ca604a7bb 100644
--- a/drivers/net/ionic/ionic_if.h
+++ b/drivers/net/ionic/ionic_if.h
@@ -2592,41 +2592,41 @@ struct ionic_lif_stats {
__le64 rsvd16;
__le64 rsvd17;
- __le64 rsvd18;
- __le64 rsvd19;
- __le64 rsvd20;
- __le64 rsvd21;
- __le64 rsvd22;
- __le64 rsvd23;
- __le64 rsvd24;
- __le64 rsvd25;
-
- __le64 rsvd26;
- __le64 rsvd27;
- __le64 rsvd28;
- __le64 rsvd29;
- __le64 rsvd30;
- __le64 rsvd31;
- __le64 rsvd32;
- __le64 rsvd33;
-
- __le64 rsvd34;
- __le64 rsvd35;
- __le64 rsvd36;
- __le64 rsvd37;
- __le64 rsvd38;
- __le64 rsvd39;
- __le64 rsvd40;
- __le64 rsvd41;
-
- __le64 rsvd42;
- __le64 rsvd43;
- __le64 rsvd44;
- __le64 rsvd45;
- __le64 rsvd46;
- __le64 rsvd47;
- __le64 rsvd48;
- __le64 rsvd49;
+ __le64 flex1;
+ __le64 flex2;
+ __le64 flex3;
+ __le64 flex4;
+ __le64 flex5;
+ __le64 flex6;
+ __le64 flex7;
+ __le64 flex8;
+
+ __le64 flex9;
+ __le64 flex10;
+ __le64 flex11;
+ __le64 flex12;
+ __le64 flex13;
+ __le64 flex14;
+ __le64 flex15;
+ __le64 flex16;
+
+ __le64 flex17;
+ __le64 flex18;
+ __le64 flex19;
+ __le64 flex20;
+ __le64 flex21;
+ __le64 flex22;
+ __le64 flex23;
+ __le64 flex24;
+
+ __le64 flex25;
+ __le64 flex26;
+ __le64 flex27;
+ __le64 flex28;
+ __le64 flex29;
+ __le64 flex30;
+ __le64 flex31;
+ __le64 flex32;
/* RDMA/ROCE REQ Error/Debugs (768 - 895) */
__le64 rdma_req_rx_pkt_seq_err;
--
2.17.1
next prev parent reply other threads:[~2024-02-07 3:14 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-02 19:32 [PATCH 00/13] net/ionic: miscellaneous fixes and improvements Andrew Boyer
2024-02-02 19:32 ` [PATCH 01/13] net/ionic: add stat for completion queue entries processed Andrew Boyer
2024-02-03 4:24 ` Stephen Hemminger
2024-02-05 12:49 ` Boyer, Andrew
2024-02-02 19:32 ` [PATCH 02/13] net/ionic: increase max supported MTU to 9750 bytes Andrew Boyer
2024-02-02 19:32 ` [PATCH 03/13] net/ionic: don't auto-enable Rx scatter-gather a second time Andrew Boyer
2024-02-02 19:32 ` [PATCH 04/13] net/ionic: fix missing volatile type for cqe pointers Andrew Boyer
2024-02-03 4:26 ` Stephen Hemminger
2024-02-05 13:33 ` Boyer, Andrew
2024-02-02 19:32 ` [PATCH 05/13] net/ionic: replace non-standard type in structure definition Andrew Boyer
2024-02-02 19:32 ` [PATCH 06/13] net/ionic: memcpy descriptors when using Q-in-CMB Andrew Boyer
2024-02-02 19:32 ` [PATCH 07/13] net/ionic: fix RSS query routine Andrew Boyer
2024-02-02 19:32 ` [PATCH 08/13] net/ionic: report 1G and 200G link speeds when applicable Andrew Boyer
2024-02-02 19:32 ` [PATCH 09/13] net/ionic: add flexible firmware xstat counters Andrew Boyer
2024-02-02 19:32 ` [PATCH 10/13] net/ionic: fix device close sequence to avoid crash Andrew Boyer
2024-02-02 19:32 ` [PATCH 11/13] net/ionic: optimize device close operation Andrew Boyer
2024-02-02 19:32 ` [PATCH 12/13] net/ionic: optimize device stop operation Andrew Boyer
2024-02-02 19:32 ` [PATCH 13/13] net/ionic: optimize device start operation Andrew Boyer
2024-02-03 4:28 ` Stephen Hemminger
2024-02-05 13:21 ` Boyer, Andrew
2024-02-05 18:44 ` [PATCH 00/13] net/ionic: miscellaneous fixes and improvements Patrick Robb
2024-02-05 19:41 ` Boyer, Andrew
2024-02-07 2:18 ` [PATCH v2 " Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 01/13] net/ionic: add stat for completion queue entries processed Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 02/13] net/ionic: increase max supported MTU to 9750 bytes Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 03/13] net/ionic: don't auto-enable Rx scatter-gather a second time Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 04/13] net/ionic: fix missing volatile type for cqe pointers Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 05/13] net/ionic: replace non-standard type in structure definition Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 06/13] net/ionic: memcpy descriptors when using Q-in-CMB Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 07/13] net/ionic: fix RSS query routine Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 08/13] net/ionic: report 1G and 200G link speeds when applicable Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 09/13] net/ionic: add flexible firmware xstat counters Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 10/13] net/ionic: fix device close sequence to avoid crash Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 11/13] net/ionic: optimize device close operation Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 12/13] net/ionic: optimize device stop operation Andrew Boyer
2024-02-07 2:18 ` [PATCH v2 13/13] net/ionic: optimize device start operation Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 00/13] net/ionic: miscellaneous fixes and improvements Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 01/13] net/ionic: add stat for completion queue entries processed Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 02/13] net/ionic: increase max supported MTU to 9750 bytes Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 03/13] net/ionic: don't auto-enable Rx scatter-gather a second time Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 04/13] net/ionic: fix missing volatile type for cqe pointers Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 05/13] net/ionic: replace non-standard type in structure definition Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 06/13] net/ionic: memcpy descriptors when using Q-in-CMB Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 07/13] net/ionic: fix RSS query routine Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 08/13] net/ionic: report 1G and 200G link speeds when applicable Andrew Boyer
2024-02-07 3:13 ` Andrew Boyer [this message]
2024-02-07 3:13 ` [PATCH v3 10/13] net/ionic: fix device close sequence to avoid crash Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 11/13] net/ionic: optimize device close operation Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 12/13] net/ionic: optimize device stop operation Andrew Boyer
2024-02-07 3:13 ` [PATCH v3 13/13] net/ionic: optimize device start operation Andrew Boyer
2024-02-07 15:45 ` [PATCH v3 00/13] net/ionic: miscellaneous fixes and improvements Ferruh Yigit
2024-02-08 15:32 ` Ferruh Yigit
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=20240207031317.32293-10-andrew.boyer@amd.com \
--to=andrew.boyer@amd.com \
--cc=bradley.larson@amd.com \
--cc=dev@dpdk.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).