From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 6F01943A2A;
	Wed,  7 Feb 2024 04:14:58 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id C343042DFF;
	Wed,  7 Feb 2024 04:14:30 +0100 (CET)
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2046.outbound.protection.outlook.com [40.107.93.46])
 by mails.dpdk.org (Postfix) with ESMTP id E6AA342DC9
 for <dev@dpdk.org>; Wed,  7 Feb 2024 04:14:23 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=me/pyKXHWPqVA82IitIT5PyhO0FNQoLS+K0CIXL2LfPZsTBUb+agdPjw5/vcpmBp8jLOyz+G2nHDL6mM1Nwa8XI9EkKRN+HIyKYv9mdsGllhdxXHEUeMiZ9IxsTHO+aSKeCEtG287ZpTWn47qbp0auP3Yu7uxLyMIX13ckG48jorCSX64hzFes5nNIrKbyd4tZaz6YGwIOp8gsg3wxb6r0ieS1RTPtwF3pRgaeGlY+GE9rXf8+nrcTHqTSf0b3DruApbYAGj6wsrcxB7hqlyNy67noGu0ujbbtXStjhQuZNrBL9AOr3Ndr2jUF+v9DAEjqnz+3r0nmJBDqSaEHjcbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wg6GarQmVRHe0vG9yPeKZpU6Tcj+zI7KHAQofbhW6rE=;
 b=frvhIkFUSTYAqhjq5I0kq0NuYe+vevxa01AsatLTdr11SwAexA9ClmpSWT24MpKggCfKocrIPaKnBCbQIHLwxNMYNyYxnLc2WzAVc9qSI4rGB/e3ape9TqPL+j4LQjIcUe3c8J3uMa54XqNuGY2PR2QuGcrFgw58uV/IpRuwKthkr4oRMIKHbGaNNNGqESKW6IW3i/876Ah8AXwlFLQRDK31rnOjrLYUKf0xNgKBRqb5qvPiCEU+gYeX+1IgZ/ma15ailBPrnjqjSSH8lGahzTzGcfA1qoY1aq3ZlcYmfBh/kWV47fC4Zznd8G+JO9J06NhkwgoP21XyHu/3VmcCAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; 
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wg6GarQmVRHe0vG9yPeKZpU6Tcj+zI7KHAQofbhW6rE=;
 b=SPUkBwvrxGU91oqJCRWJHDGaGWDXigj3+BW80zRDZ+I4vCFvk89Q+Ofrzz22UKAIvfrLL0wdbnWxTvl5nUTNYCjNSv9mepdLWvAPA2SWOK5nLFb6XJplaNDiaS1H++KXo8f4X/TsDUXNuGK9K/56iEmw163NLtLqmQGMUK6NmHE=
Received: from DM6PR02CA0044.namprd02.prod.outlook.com (2603:10b6:5:177::21)
 by MW4PR12MB7014.namprd12.prod.outlook.com (2603:10b6:303:218::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.15; Wed, 7 Feb
 2024 03:14:22 +0000
Received: from CO1PEPF000044FB.namprd21.prod.outlook.com
 (2603:10b6:5:177:cafe::c7) by DM6PR02CA0044.outlook.office365.com
 (2603:10b6:5:177::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.37 via Frontend
 Transport; Wed, 7 Feb 2024 03:14:21 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044FB.mail.protection.outlook.com (10.167.241.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7292.0 via Frontend Transport; Wed, 7 Feb 2024 03:14:21 +0000
Received: from driver-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Tue, 6 Feb
 2024 21:14:17 -0600
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
Message-ID: <20240207031317.32293-10-andrew.boyer@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20240207031317.32293-1-andrew.boyer@amd.com>
References: <20240202193238.62669-1-andrew.boyer@amd.com>
 <20240207031317.32293-1-andrew.boyer@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044FB:EE_|MW4PR12MB7014:EE_
X-MS-Office365-Filtering-Correlation-Id: c8caae0a-3914-412f-6344-08dc278ae13c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: QzBE9V2layskIcPYu5+2gUc1DETFBpPMXi2n9M6uvXq5Jpx9VLEZUCcrMhSf2qSwaLJAwwuBp/2Aao5D8cMNk+p8nEkIuaoGrBHDYb5KINCl5sNb9MI4ZHWfPLoht0tXjAwM6jbF8m1lCU/kBKLb8FC/+Zo4T0JfHrX+bR75ghQmtYW31QHfS/Z6l4ExWYeZNAypA/HmbM4TgTl3y7EgKPS+gWOeI7WPNsYyHkUGxkF9KX/036ZIZhyLD82nTLIHsGLe9fjgCLGAyclJzicwS6S7zVEkX8oRMPGl5v6JVj2BSAIVJfuci2iMcmscHAyonrjQ+YdzfxTGBKGQqUSzBn3zyMBa+wqNp7Feg7P9K2KGf0Y8RhVXivetW2IsIlTcaWThTclVH/x6d3J26wZoW+jNvFi96osPNUvnBKNDpeU7L8tDocCN1DiZyVjdRrJKN2URT3JWgZdiqqJlwRRAuqMWOA68i45inuXjbQY5Yh6MbTwhukSFEf5hP0a3DrZZE/E4NFr8dZQOQbDLc/y1GpyjJy9NhjymsCfZ7Dtzv7ZfAdIWQJOs+U/yJKjr6dYftw3lk0vb0k7nHZMiUwjPN4SJ67Z0rDMVPKsIlIoyQgy9U3YGuAg6/KgzYK3cwRyJeW04KtPfEyrhhrzp74QfbeQZ2M+j54UelvKSSULnX+lRFDU3eanJQ9jPE0kAUutZIEAdD+sySY0dvPSNpf8r25WDM+VTjFn9BehAH3FAeC73QWrcFjl113en13wDwdZL+lonlVOPjHdRA5izrb5wHQ==
X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:;
 IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE;
 SFS:(13230031)(4636009)(136003)(346002)(39860400002)(376002)(396003)(230922051799003)(1800799012)(451199024)(82310400011)(186009)(64100799003)(40470700004)(46966006)(36840700001)(44832011)(6666004)(16526019)(26005)(356005)(83380400001)(1076003)(426003)(47076005)(82740400003)(54906003)(336012)(8936002)(2616005)(4326008)(6916009)(70206006)(8676002)(5660300002)(2906002)(70586007)(316002)(81166007)(36860700001)(478600001)(86362001)(36756003)(41300700001)(40480700001)(40460700003)(36900700001);
 DIR:OUT; SFP:1101; 
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2024 03:14:21.5850 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c8caae0a-3914-412f-6344-08dc278ae13c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17];
 Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044FB.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7014
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

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