From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7F764A00C4; Mon, 14 Feb 2022 10:36:45 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 76E09411FE; Mon, 14 Feb 2022 10:35:52 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2058.outbound.protection.outlook.com [40.107.220.58]) by mails.dpdk.org (Postfix) with ESMTP id 2CEB24118F for ; Mon, 14 Feb 2022 10:35:51 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XY1f81A9fYvoTqp3jbDDElZjSKRAwG5s42wDb76Vs4xhAWyhTyxMzEPFz0u+x/YF6NEu6UjfmhdAxOfyfHc3KtlymlbDrOMQaF/kARz+DUhD8sqxJjBuS0Rky31ZU6fhWTxZdpHrA2bs9i7c6fQ1K/HSo5hX/Oar5m/3otnemnv2TjaWerFWSigzWHqs6zzUBAI0t3qC57U9s+9RaoALxtZZB+1aVWXaTjCZVmSMsMgO6cZGDUHpHehr6UyoyjysMQECYUytHP65KjftmieLeXALUlBg7IUtcY6F6RorKlnrCRNbVWGn7oWzr0PXbZiO9cVHwIuAiK3nPco3hoY+VA== 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=LgByRoEHZ99FUfykiONKYjn0NKjqPkDQ93CVhiNURHg=; b=l1MLNkrxpBe4+YS7YAWbKnAyfhQcTL9NanI4UEuY0gf44G2dFD4qY8iTTD9Ojl6/8n5SqXYObOwy0GrqR4LK5wLn2DrsG8Oi8y9mAYt4h5aoBC64C8afCcIrdm2cWvtRmemeNAgVME8UvOJfq0si5bv/9rLKv4FUHHJQwWFm8PBVsTgmLAMjZOBBC/QHL3a7mZvX4FpvMXKUjdy+gee5SYgMNvTIqECLeIEnhwPZbxXvFEfrc29QGBUQHMGTOt3EyQKVhPpbJ2Iqmjl43u07QA4BB7Rr68GN4ufIM2Z1c5ESLeTmL/CvC4g2uN24ioR6Jq7wWGQ8PBEZfsovKvx4uw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 12.22.5.234) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LgByRoEHZ99FUfykiONKYjn0NKjqPkDQ93CVhiNURHg=; b=VvM+5nPrYgNZPtKS4RLnUpABdw8zcIlUdz4XTJtBqB5AJfRKPdkkyFByoCTt+E3mo1a9FrII5HaomlzoOPF9whZSLmvRq3TlTEePpOzURwLsv8l7MDnyxh0RrriLTgYGohX+Onmyybau0y6uqCN18hvWctnZPvuVOLzuWJ4TiHriSf8xvHIj1w5sPCvzTFfR5mHZexuWSaJGiIU4AUZsx86CIgzRjrjcwhFJrsu9LrpmKVHI7WXZjeCky3PENTHDGgG/XY/0ZKj03giUyylxcH3dVZaVZMTRr6WAlDnkqyNxTZSgz7ShUCqdFkQZXMtusiukeM031+RCymf75fRARg== Received: from MWHPR14CA0007.namprd14.prod.outlook.com (2603:10b6:300:ae::17) by MN2PR12MB4501.namprd12.prod.outlook.com (2603:10b6:208:269::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.12; Mon, 14 Feb 2022 09:35:49 +0000 Received: from CO1NAM11FT013.eop-nam11.prod.protection.outlook.com (2603:10b6:300:ae:cafe::87) by MWHPR14CA0007.outlook.office365.com (2603:10b6:300:ae::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.11 via Frontend Transport; Mon, 14 Feb 2022 09:35:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 12.22.5.234) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 12.22.5.234 as permitted sender) receiver=protection.outlook.com; client-ip=12.22.5.234; helo=mail.nvidia.com; Received: from mail.nvidia.com (12.22.5.234) by CO1NAM11FT013.mail.protection.outlook.com (10.13.174.227) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4975.11 via Frontend Transport; Mon, 14 Feb 2022 09:35:48 +0000 Received: from rnnvmail205.nvidia.com (10.129.68.10) by DRHQMAIL101.nvidia.com (10.27.9.10) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 14 Feb 2022 09:35:47 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail205.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9; Mon, 14 Feb 2022 01:35:47 -0800 Received: from nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9 via Frontend Transport; Mon, 14 Feb 2022 01:35:45 -0800 From: Michael Baum To: CC: Matan Azrad , Raslan Darawsheh , Viacheslav Ovsiienko Subject: [PATCH v2 12/20] net/mlx5: share counter config function Date: Mon, 14 Feb 2022 11:35:03 +0200 Message-ID: <20220214093511.1592698-13-michaelba@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220214093511.1592698-1-michaelba@nvidia.com> References: <20220127153950.812953-1-michaelba@nvidia.com> <20220214093511.1592698-1-michaelba@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 35762d79-73d6-4a7b-33b8-08d9ef9d6225 X-MS-TrafficTypeDiagnostic: MN2PR12MB4501:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XJhv+Qfs0I/imKWVhEqksxVT189yxRIurnF0+UE88lNbS1++sQTzkd18P+vCI0NFFIgpYFo0s7/Z3qk2+jQYsBJhLbUpsfkjBZWvq+wyY/VSJH3TfnFAX3czz+w++A2R/6gEsRS5xL5JR4Zquo8PQgWI1QLDlXJjiD8Ivpsw7LejTxXcpHPYuHhZVv/D/Vyrbe7X2j0fKGgdij+E3nQibLz46EsrfKkIGjuPB9vFe77pnBjQoYcUEt8cQsaOPHaVuFMNnxURP621KEYesvNKMNI4m9in3Ox551JvpDPGMDpaqR2yc3PSAsY0/b8T543Qv/S/RaZCQTKXDFD6YFgRXmgTaEw3dC7D8dbrEHfDUVlQgVqjuV+Po9C8RSPuokKap7bpazv7v9wKo/GuJtxmAmKU1/IQjMN7nmDL+eeLKwqsVDuqeu4J+k3uqgHkKYY1eoc7dWgNhZ0av2xGROFmiW00f7p5it/dusHUlREC2cnSpDqRQDDlY8XI4OIs/X1QysH1S0NI1XKBO0QJEDjL0c5TX8feSd7zrT1lAbUCJhpkzsru9+zn/TSOSsgr6LfCcB3GLfSrBnfuCFcFhrG7NRFZ3MswIASekTpQL3xI62GBMhPbGJnE+M0lDRyGW06H/m1OHg5AdHboQYFhJB8gl/tgYkERSyhZAjv532Qi2C2j5ry5CeFFYEP4Y9Kkda1ioT3pi/BvfrST9ACPboaZ0Q== X-Forefront-Antispam-Report: CIP:12.22.5.234; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE; SFS:(13230001)(4636009)(46966006)(36840700001)(40470700004)(40460700003)(426003)(55016003)(7696005)(316002)(81166007)(356005)(508600001)(5660300002)(336012)(26005)(83380400001)(6916009)(86362001)(82310400004)(36756003)(186003)(1076003)(6286002)(2616005)(4326008)(6666004)(36860700001)(2906002)(54906003)(8936002)(47076005)(70586007)(8676002)(107886003)(70206006)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2022 09:35:48.4051 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35762d79-73d6-4a7b-33b8-08d9ef9d6225 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.234]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT013.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4501 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The mlx5_flow_counter_mode_config function exists for both Linux and Windows with the same name and content. This patch moves its implementation to the folder shared between the operating systems, removing the duplication. Signed-off-by: Michael Baum Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_os.c | 40 ------------------------------ drivers/net/mlx5/mlx5.c | 40 ++++++++++++++++++++++++++++++ drivers/net/mlx5/mlx5.h | 1 + drivers/net/mlx5/windows/mlx5_os.c | 40 ------------------------------ 4 files changed, 41 insertions(+), 80 deletions(-) diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index bee055772b..1ff2b8dc22 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -673,46 +673,6 @@ mlx5_init_once(void) return ret; } -/** - * DV flow counter mode detect and config. - * - * @param dev - * Pointer to rte_eth_dev structure. - * - */ -static void -mlx5_flow_counter_mode_config(struct rte_eth_dev *dev __rte_unused) -{ -#ifdef HAVE_IBV_FLOW_DV_SUPPORT - struct mlx5_priv *priv = dev->data->dev_private; - struct mlx5_dev_ctx_shared *sh = priv->sh; - struct mlx5_hca_attr *hca_attr = &sh->cdev->config.hca_attr; - bool fallback; - -#ifndef HAVE_IBV_DEVX_ASYNC - fallback = true; -#else - fallback = false; - if (!sh->cdev->config.devx || !priv->config.dv_flow_en || - !hca_attr->flow_counters_dump || - !(hca_attr->flow_counter_bulk_alloc_bitmap & 0x4) || - (mlx5_flow_dv_discover_counter_offset_support(dev) == -ENOTSUP)) - fallback = true; -#endif - if (fallback) - DRV_LOG(INFO, "Use fall-back DV counter management. Flow " - "counter dump:%d, bulk_alloc_bitmap:0x%hhx.", - hca_attr->flow_counters_dump, - hca_attr->flow_counter_bulk_alloc_bitmap); - /* Initialize fallback mode only on the port initializes sh. */ - if (sh->refcnt == 1) - sh->cmng.counter_fallback = fallback; - else if (fallback != sh->cmng.counter_fallback) - DRV_LOG(WARNING, "Port %d in sh has different fallback mode " - "with others:%d.", PORT_ID(priv), fallback); -#endif -} - /** * DR flow drop action support detect. * diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 4884198509..531916f3a5 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -513,6 +513,46 @@ mlx5_flow_aging_init(struct mlx5_dev_ctx_shared *sh) } } +/** + * DV flow counter mode detect and config. + * + * @param dev + * Pointer to rte_eth_dev structure. + * + */ +void +mlx5_flow_counter_mode_config(struct rte_eth_dev *dev __rte_unused) +{ +#ifdef HAVE_IBV_FLOW_DV_SUPPORT + struct mlx5_priv *priv = dev->data->dev_private; + struct mlx5_dev_ctx_shared *sh = priv->sh; + struct mlx5_hca_attr *hca_attr = &sh->cdev->config.hca_attr; + bool fallback; + +#ifndef HAVE_IBV_DEVX_ASYNC + fallback = true; +#else + fallback = false; + if (!sh->cdev->config.devx || !priv->config.dv_flow_en || + !hca_attr->flow_counters_dump || + !(hca_attr->flow_counter_bulk_alloc_bitmap & 0x4) || + (mlx5_flow_dv_discover_counter_offset_support(dev) == -ENOTSUP)) + fallback = true; +#endif + if (fallback) + DRV_LOG(INFO, "Use fall-back DV counter management. Flow " + "counter dump:%d, bulk_alloc_bitmap:0x%hhx.", + hca_attr->flow_counters_dump, + hca_attr->flow_counter_bulk_alloc_bitmap); + /* Initialize fallback mode only on the port initializes sh. */ + if (sh->refcnt == 1) + sh->cmng.counter_fallback = fallback; + else if (fallback != sh->cmng.counter_fallback) + DRV_LOG(WARNING, "Port %d in sh has different fallback mode " + "with others:%d.", PORT_ID(priv), fallback); +#endif +} + /** * Initialize the counters management structure. * diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 0f90d757e9..d69b6a357b 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -1535,6 +1535,7 @@ int mlx5_dev_check_sibling_config(struct mlx5_dev_ctx_shared *sh, struct rte_device *dpdk_dev); bool mlx5_flex_parser_ecpri_exist(struct rte_eth_dev *dev); int mlx5_flex_parser_ecpri_alloc(struct rte_eth_dev *dev); +void mlx5_flow_counter_mode_config(struct rte_eth_dev *dev); int mlx5_flow_aso_age_mng_init(struct mlx5_dev_ctx_shared *sh); int mlx5_aso_flow_mtrs_mng_init(struct mlx5_dev_ctx_shared *sh); int mlx5_flow_aso_ct_mng_init(struct mlx5_dev_ctx_shared *sh); diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c index cf0819e013..e509c34083 100644 --- a/drivers/net/mlx5/windows/mlx5_os.c +++ b/drivers/net/mlx5/windows/mlx5_os.c @@ -255,46 +255,6 @@ mlx5_os_set_nonblock_channel_fd(int fd) return -ENOTSUP; } -/** - * DV flow counter mode detect and config. - * - * @param dev - * Pointer to rte_eth_dev structure. - * - */ -static void -mlx5_flow_counter_mode_config(struct rte_eth_dev *dev __rte_unused) -{ -#ifdef HAVE_IBV_FLOW_DV_SUPPORT - struct mlx5_priv *priv = dev->data->dev_private; - struct mlx5_dev_ctx_shared *sh = priv->sh; - struct mlx5_hca_attr *hca_attr = &sh->cdev->config.hca_attr; - bool fallback; - -#ifndef HAVE_IBV_DEVX_ASYNC - fallback = true; -#else - fallback = false; - if (!sh->cdev->config.devx || !priv->config.dv_flow_en || - !hca_attr->flow_counters_dump || - !(hca_attr->flow_counter_bulk_alloc_bitmap & 0x4) || - (mlx5_flow_dv_discover_counter_offset_support(dev) == -ENOTSUP)) - fallback = true; -#endif - if (fallback) - DRV_LOG(INFO, "Use fall-back DV counter management. Flow " - "counter dump:%d, bulk_alloc_bitmap:0x%hhx.", - hca_attr->flow_counters_dump, - hca_attr->flow_counter_bulk_alloc_bitmap); - /* Initialize fallback mode only on the port initializes sh. */ - if (sh->refcnt == 1) - sh->cmng.counter_fallback = fallback; - else if (fallback != sh->cmng.counter_fallback) - DRV_LOG(WARNING, "Port %d in sh has different fallback mode " - "with others:%d.", PORT_ID(priv), fallback); -#endif -} - /** * Spawn an Ethernet device from DevX information. * -- 2.25.1