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 CB839A034F for ; Wed, 10 Nov 2021 07:59:17 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1EFB40142; Wed, 10 Nov 2021 07:59:17 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2066.outbound.protection.outlook.com [40.107.236.66]) by mails.dpdk.org (Postfix) with ESMTP id 137234111F for ; Wed, 10 Nov 2021 07:59:16 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IsH3GjkX8QfJhHpFakQlCR02tQNaIb8X4Dx3yuV0P1MmvwEW1fh89MbMXT6i04lNDZ5/eV9d03ZP7SLNhql52hAEEfJv65adtuD4dNR8Mc5KNVcV/fZ61sG5nlB+5AGyPfa2DOB5/AFitCc7JXSOaYqQkYFPgq1p/O6JGB4giOHeLCR5vAHpdrp0DfdS3CG722WExol62nxiVT7OhAKBkHMqvL7sH+gK5Cs9qrs3zIkTypTfqeYrw4GqpEGcC6A9Iqfd6IxdEK5VrHkFOBplkvt7CLsDAmbxyJ0gwn4scaQAkE95TOMIBf0b2DURxBlqXiuSUn48UoZEiJluNIOY9w== 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=RFw8fe7FlRYtHPWt2BMCP7do76Cf0eKyDJ+8qe5M5Sk=; b=RGC7ixB2ysZD/P6keAxsIk04Ei5KH21Lt16PmhiN2Df5sR/K9g7AmHG0GD3LWTm+QaQ6Hou6HgJcrc7JeGiku9ku9NPbXmIG1LqWGbkx6luyq80mj/f0+CEuhUnBdfkpURTBS3wAM2udAcaFfBf5fAqgBfdNLsb1b2a0bFChO+7rqS2xbDKCZiHvd/A+su/DJ8IHWWxtnyrpxrI3zMhptbUSrUIvQothQmLaQdEi5okRHWg1dAuAPJro1x6jeOAu1ZS/M9ahB8ittOj06qINoZPw2HOU0Nxv/U6x0b+yQBtqvcqc6GC5sM/O0tz2OfcUbs7MglFHUHjrooRkGdEVcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=quarantine 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=RFw8fe7FlRYtHPWt2BMCP7do76Cf0eKyDJ+8qe5M5Sk=; b=TzZeLS+dyDlLcxPkpprNvPvhOihp5Wv93yN2iHGUXSmHY4xbKxcF68FFvUAyJ7RledIFMEE/Hm6bISQV6PTpceYLEgWiFhTOgaDEm9l9ZlhsxGmZhx10Aln7i1/ykkCxKFHt/BSXGu4AZDPDOMqSpjaCry0hfxPgLwTuEjWFz7bAHFEgwHKrsPdFxzeXx05kq9l+FnnIdm1fMIV17HhcQWJGoecMjkVra3Bh78faSmuUGGu6pE7u5628cYkYm3KHvhc6ya56gwvemwDSrd16Mf04pl7sAFg5f0czTelkOJ96lLqLbZkpP7rIWrlYiNuFqqPGD0hnY8x45AwCR5WDtg== Received: from BN6PR13CA0012.namprd13.prod.outlook.com (2603:10b6:404:10a::22) by MWHPR1201MB0190.namprd12.prod.outlook.com (2603:10b6:301:55::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.13; Wed, 10 Nov 2021 06:59:13 +0000 Received: from BN8NAM11FT042.eop-nam11.prod.protection.outlook.com (2603:10b6:404:10a:cafe::da) by BN6PR13CA0012.outlook.office365.com (2603:10b6:404:10a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.7 via Frontend Transport; Wed, 10 Nov 2021 06:59:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT042.mail.protection.outlook.com (10.13.177.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4690.15 via Frontend Transport; Wed, 10 Nov 2021 06:59:12 +0000 Received: from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Wed, 10 Nov 2021 06:59:10 +0000 From: Xueming Li To: Michael Baum CC: Luca Boccassi , Viacheslav Ovsiienko , Matan Azrad , dpdk stable Date: Wed, 10 Nov 2021 14:32:08 +0800 Message-ID: <20211110063216.2744012-245-xuemingl@nvidia.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211110063216.2744012-1-xuemingl@nvidia.com> References: <20211110063216.2744012-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.20.187.6] X-ClientProxiedBy: HQMAIL101.nvidia.com (172.20.187.10) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 74638f83-a13c-4143-0aa7-08d9a4179a69 X-MS-TrafficTypeDiagnostic: MWHPR1201MB0190: 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: jph/7uRR3ULA8y9zcqJATV7Uwdjx8nFMqFsTwaBfO+C3wRhLS86YtieWLyFhOVps4hbumV21ILniRMbBU/TMJ3VkTOASek4UBlgaQWXVpiJhC8Q6YHnThqxCGvh6p3N/+lmiNZeYKTER8ccfB4bL0kVy0IO1KEt/eXHwkxQtL0MHyJ0ErSFvj5ScOByZjjuyd696atUVD5JCRpWs5j9VKANTqs8CveBWEFS/2+pe1d5YoqVvPxBn4B8Lm1wCb7czAYpOonK2KcMcwkkg7JXHKL6tmK9IXdFEWEdbeD393SBVEnwSozncFSf5cRSduMn/tkVkZPRv2ktd0nPISb6Tl1/Ah+bLKRlJRCrHqJhf8i5Knj7UAfWbpkNwznqEikbI2lvYJ2NxqQAQEVCKMGyBbQna1oq8yPQ2PRtuHAMYwS5kcJejcQvrKWnboPvbAAMSxSECKQcI/zh886wbwjLVxvurU+VFSRyMNxeIA3tzLTXX+d9Ojw1FXcbXg50GRd98WxAFJL5FsvQNvpyzlQjh44Jhaw6IpqVuM4VdfcNd6ucDRhQkFtnpT/QIeNrT8iMB1A+3CUwaaLFdTfpFvGGnPRlKVPM/YLY4dL6egRr4BVmzrKJZs1S4i7H8QgBGodyEWy2xeTO8AQkzJgzCa5UksuyPtBp9VDJ1OyU/d/aAy7d/Ea2+fP2GbO6zakNxRuReogdvKvIDButD2Tcj1ku5355Qq07Ga2hXJw1b+YQuyNlalhQftB95i8HoLXFm8V4Vem/t63Bqw9BWInALItwA92Z8zPkmyxJ1n4uM9Hv3f6anO6EbwPzFSySKTd34X2V8OWvYRTzvm9s2vi0fELpKag== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(6862004)(86362001)(4326008)(7636003)(36756003)(316002)(36906005)(5660300002)(1076003)(47076005)(186003)(6286002)(26005)(37006003)(4001150100001)(36860700001)(82310400003)(83380400001)(966005)(7696005)(40140700001)(508600001)(336012)(8676002)(2616005)(426003)(6636002)(53546011)(54906003)(8936002)(356005)(70586007)(16526019)(30864003)(2906002)(70206006)(55016002); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2021 06:59:12.9795 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 74638f83-a13c-4143-0aa7-08d9a4179a69 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT042.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1201MB0190 Subject: [dpdk-stable] patch 'net/mlx5: remove duplicated reference of Tx doorbell' has been queued to stable release 20.11.4 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 20.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/steevenlee/dpdk This queued commit can be viewed at: https://github.com/steevenlee/dpdk/commit/3851aac989fbb60bb07355b51ab7207e9976e84c Thanks. Xueming Li --- >From 3851aac989fbb60bb07355b51ab7207e9976e84c Mon Sep 17 00:00:00 2001 From: Michael Baum Date: Wed, 3 Nov 2021 20:35:12 +0200 Subject: [PATCH] net/mlx5: remove duplicated reference of Tx doorbell Cc: Xueming Li [ upstream commit b6e9c33c82582bf88c90220e3a8c1f6a8ace843f ] The Tx doorbell has different virtual addresses per process. The secondary process takes the UAR physical page ID of the primary and mmap it to its own virtual address. The primary doorbell references were saved in two shared memory locations: the TxQ structure and a dedicated doorbell array. Remove the doorbell reference from the TxQ structure and move the primary processes to take the UAR information from the primary doorbell array. Signed-off-by: Michael Baum Reviewed-by: Viacheslav Ovsiienko Acked-by: Matan Azrad --- drivers/net/mlx5/linux/mlx5_verbs.c | 6 ++---- drivers/net/mlx5/mlx5.c | 2 ++ drivers/net/mlx5/mlx5.h | 2 +- drivers/net/mlx5/mlx5_devx.c | 8 ++------ drivers/net/mlx5/mlx5_rxtx.h | 2 +- drivers/net/mlx5/mlx5_txq.c | 15 ++++++++------- 6 files changed, 16 insertions(+), 19 deletions(-) diff --git a/drivers/net/mlx5/linux/mlx5_verbs.c b/drivers/net/mlx5/linux/mlx5_verbs.c index 689c523ec8..95e8eb06d1 100644 --- a/drivers/net/mlx5/linux/mlx5_verbs.c +++ b/drivers/net/mlx5/linux/mlx5_verbs.c @@ -1027,20 +1027,18 @@ mlx5_txq_ibv_obj_new(struct rte_eth_dev *dev, uint16_t idx) } } #endif - txq_ctrl->bf_reg = qp.bf.reg; if (qp.comp_mask & MLX5DV_QP_MASK_UAR_MMAP_OFFSET) { txq_ctrl->uar_mmap_offset = qp.uar_mmap_offset; DRV_LOG(DEBUG, "Port %u: uar_mmap_offset 0x%" PRIx64 ".", dev->data->port_id, txq_ctrl->uar_mmap_offset); } else { DRV_LOG(ERR, - "Port %u failed to retrieve UAR info, invalid" - " libmlx5.so", + "Port %u failed to retrieve UAR info, invalid libmlx5.so", dev->data->port_id); rte_errno = EINVAL; goto error; } - txq_uar_init(txq_ctrl); + txq_uar_init(txq_ctrl, qp.bf.reg); dev->data->tx_queue_state[idx] = RTE_ETH_QUEUE_STATE_STARTED; return 0; error: diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index ef1308ffc1..d094e9e423 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1265,6 +1265,8 @@ mlx5_proc_priv_init(struct rte_eth_dev *dev) } ppriv->uar_table_sz = priv->txqs_n; dev->process_private = ppriv; + if (rte_eal_process_type() == RTE_PROC_PRIMARY) + priv->sh->pppriv = ppriv; return 0; } diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 7e984f8438..4b0a97f246 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -753,6 +753,7 @@ struct mlx5_dev_ctx_shared { struct mlx5_devx_obj *tis; /* TIS object. */ struct mlx5_devx_obj *td; /* Transport domain. */ void *tx_uar; /* Tx/packet pacing shared UAR. */ + struct mlx5_proc_priv *pppriv; /* Pointer to primary private process. */ struct mlx5_flex_parser_profiles fp[MLX5_FLEX_PARSER_MAX]; /* Flex parser profiles information. */ void *devx_rx_uar; /* DevX UAR for Rx. */ @@ -1050,7 +1051,6 @@ void mlx5_set_min_inline(struct mlx5_dev_spawn_data *spawn, void mlx5_set_metadata_mask(struct rte_eth_dev *dev); int mlx5_dev_check_sibling_config(struct mlx5_priv *priv, struct mlx5_dev_config *config); -int mlx5_dev_configure(struct rte_eth_dev *dev); int mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info); int mlx5_fw_version_get(struct rte_eth_dev *dev, char *fw_ver, size_t fw_size); int mlx5_dev_set_mtu(struct rte_eth_dev *dev, uint16_t mtu); diff --git a/drivers/net/mlx5/mlx5_devx.c b/drivers/net/mlx5/mlx5_devx.c index 8add3b2cac..ac1939415b 100644 --- a/drivers/net/mlx5/mlx5_devx.c +++ b/drivers/net/mlx5/mlx5_devx.c @@ -1432,7 +1432,6 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx) #else struct mlx5_dev_ctx_shared *sh = priv->sh; struct mlx5_txq_obj *txq_obj = txq_ctrl->obj; - void *reg_addr; uint32_t cqe_n, log_desc_n; uint32_t wqe_n, wqe_size; int ret = 0; @@ -1516,13 +1515,10 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx) if (!priv->sh->tdn) priv->sh->tdn = priv->sh->td->id; #endif - MLX5_ASSERT(sh->tx_uar); - reg_addr = mlx5_os_get_devx_uar_reg_addr(sh->tx_uar); - MLX5_ASSERT(reg_addr); - txq_ctrl->bf_reg = reg_addr; + MLX5_ASSERT(sh->tx_uar && mlx5_os_get_devx_uar_reg_addr(sh->tx_uar)); txq_ctrl->uar_mmap_offset = mlx5_os_get_devx_uar_mmap_offset(sh->tx_uar); - txq_uar_init(txq_ctrl); + txq_uar_init(txq_ctrl, mlx5_os_get_devx_uar_reg_addr(sh->tx_uar)); dev->data->tx_queue_state[idx] = RTE_ETH_QUEUE_STATE_STARTED; return 0; error: diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h index 7c3c4c0099..4d043d2015 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -397,7 +397,7 @@ int mlx5_tx_hairpin_queue_setup (struct rte_eth_dev *dev, uint16_t idx, uint16_t desc, const struct rte_eth_hairpin_conf *hairpin_conf); void mlx5_tx_queue_release(void *dpdk_txq); -void txq_uar_init(struct mlx5_txq_ctrl *txq_ctrl); +void txq_uar_init(struct mlx5_txq_ctrl *txq_ctrl, void *bf_reg); int mlx5_tx_uar_init_secondary(struct rte_eth_dev *dev, int fd); void mlx5_tx_uar_uninit_secondary(struct rte_eth_dev *dev); int mlx5_txq_obj_verify(struct rte_eth_dev *dev); diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c index 5f1a179df3..f3516a8a5a 100644 --- a/drivers/net/mlx5/mlx5_txq.c +++ b/drivers/net/mlx5/mlx5_txq.c @@ -526,9 +526,11 @@ txq_uar_ncattr_init(struct mlx5_txq_ctrl *txq_ctrl, size_t page_size) * * @param txq_ctrl * Pointer to Tx queue control structure. + * @param bf_reg + * BlueFlame register from Verbs UAR. */ void -txq_uar_init(struct mlx5_txq_ctrl *txq_ctrl) +txq_uar_init(struct mlx5_txq_ctrl *txq_ctrl, void *bf_reg) { struct mlx5_priv *priv = txq_ctrl->priv; struct mlx5_proc_priv *ppriv = MLX5_PROC_PRIV(PORT_ID(priv)); @@ -545,7 +547,7 @@ txq_uar_init(struct mlx5_txq_ctrl *txq_ctrl) return; MLX5_ASSERT(rte_eal_process_type() == RTE_PROC_PRIMARY); MLX5_ASSERT(ppriv); - ppriv->uar_table[txq_ctrl->txq.idx] = txq_ctrl->bf_reg; + ppriv->uar_table[txq_ctrl->txq.idx] = bf_reg; txq_uar_ncattr_init(txq_ctrl, page_size); #ifndef RTE_ARCH_64 /* Assign an UAR lock according to UAR page number */ @@ -574,6 +576,7 @@ txq_uar_init_secondary(struct mlx5_txq_ctrl *txq_ctrl, int fd) { struct mlx5_priv *priv = txq_ctrl->priv; struct mlx5_proc_priv *ppriv = MLX5_PROC_PRIV(PORT_ID(priv)); + struct mlx5_proc_priv *primary_ppriv = priv->sh->pppriv; struct mlx5_txq_data *txq = &txq_ctrl->txq; void *addr; uintptr_t uar_va; @@ -592,20 +595,18 @@ txq_uar_init_secondary(struct mlx5_txq_ctrl *txq_ctrl, int fd) * As rdma-core, UARs are mapped in size of OS page * size. Ref to libmlx5 function: mlx5_init_context() */ - uar_va = (uintptr_t)txq_ctrl->bf_reg; + uar_va = (uintptr_t)primary_ppriv->uar_table[txq->idx]; offset = uar_va & (page_size - 1); /* Offset in page. */ addr = rte_mem_map(NULL, page_size, RTE_PROT_WRITE, RTE_MAP_SHARED, - fd, txq_ctrl->uar_mmap_offset); + fd, txq_ctrl->uar_mmap_offset); if (!addr) { - DRV_LOG(ERR, - "port %u mmap failed for BF reg of txq %u", + DRV_LOG(ERR, "Port %u mmap failed for BF reg of txq %u.", txq->port_id, txq->idx); rte_errno = ENXIO; return -rte_errno; } addr = RTE_PTR_ADD(addr, offset); ppriv->uar_table[txq->idx] = addr; - txq_uar_ncattr_init(txq_ctrl, page_size); return 0; } -- 2.33.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-11-10 14:17:12.625001650 +0800 +++ 0244-net-mlx5-remove-duplicated-reference-of-Tx-doorbell.patch 2021-11-10 14:17:02.087410985 +0800 @@ -1 +1 @@ -From b6e9c33c82582bf88c90220e3a8c1f6a8ace843f Mon Sep 17 00:00:00 2001 +From 3851aac989fbb60bb07355b51ab7207e9976e84c Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit b6e9c33c82582bf88c90220e3a8c1f6a8ace843f ] @@ -16,2 +18,0 @@ -Cc: stable@dpdk.org - @@ -26 +27 @@ - drivers/net/mlx5/mlx5_tx.h | 3 +-- + drivers/net/mlx5/mlx5_rxtx.h | 2 +- @@ -28 +29 @@ - 6 files changed, 16 insertions(+), 20 deletions(-) + 6 files changed, 16 insertions(+), 19 deletions(-) @@ -31 +32 @@ -index 9d29954261..0ae1ea1e5c 100644 +index 689c523ec8..95e8eb06d1 100644 @@ -34 +35 @@ -@@ -1017,20 +1017,18 @@ mlx5_txq_ibv_obj_new(struct rte_eth_dev *dev, uint16_t idx) +@@ -1027,20 +1027,18 @@ mlx5_txq_ibv_obj_new(struct rte_eth_dev *dev, uint16_t idx) @@ -58 +59 @@ -index 9c8d1cc76f..55596d27d2 100644 +index ef1308ffc1..d094e9e423 100644 @@ -61 +62 @@ -@@ -1620,6 +1620,8 @@ mlx5_proc_priv_init(struct rte_eth_dev *dev) +@@ -1265,6 +1265,8 @@ mlx5_proc_priv_init(struct rte_eth_dev *dev) @@ -71 +72 @@ -index 9307a4f95b..22a21f1e5f 100644 +index 7e984f8438..4b0a97f246 100644 @@ -74 +75,2 @@ -@@ -1206,6 +1206,7 @@ struct mlx5_dev_ctx_shared { +@@ -753,6 +753,7 @@ struct mlx5_dev_ctx_shared { + struct mlx5_devx_obj *tis; /* TIS object. */ @@ -76 +77,0 @@ - struct mlx5_lag lag; /* LAG attributes */ @@ -79 +80 @@ - struct mlx5_ecpri_parser_profile ecpri_parser; + struct mlx5_flex_parser_profiles fp[MLX5_FLEX_PARSER_MAX]; @@ -82 +83,2 @@ -@@ -1528,7 +1529,6 @@ void mlx5_set_metadata_mask(struct rte_eth_dev *dev); +@@ -1050,7 +1051,6 @@ void mlx5_set_min_inline(struct mlx5_dev_spawn_data *spawn, + void mlx5_set_metadata_mask(struct rte_eth_dev *dev); @@ -84,2 +86 @@ - struct mlx5_dev_config *config, - struct rte_device *dpdk_dev); + struct mlx5_dev_config *config); @@ -91 +92 @@ -index e46f79124d..07305ca942 100644 +index 8add3b2cac..ac1939415b 100644 @@ -94,4 +95,4 @@ -@@ -1244,7 +1244,6 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx) - struct mlx5_devx_cq_attr cq_attr = { - .uar_page_id = mlx5_os_get_devx_uar_page_id(sh->tx_uar), - }; +@@ -1432,7 +1432,6 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx) + #else + struct mlx5_dev_ctx_shared *sh = priv->sh; + struct mlx5_txq_obj *txq_obj = txq_ctrl->obj; @@ -102 +103 @@ -@@ -1341,13 +1340,10 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx) +@@ -1516,13 +1515,10 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx) @@ -118,13 +119,5 @@ -diff --git a/drivers/net/mlx5/mlx5_tx.h b/drivers/net/mlx5/mlx5_tx.h -index 0b9109a115..02441ef34d 100644 ---- a/drivers/net/mlx5/mlx5_tx.h -+++ b/drivers/net/mlx5/mlx5_tx.h -@@ -184,7 +184,6 @@ struct mlx5_txq_ctrl { - struct mlx5_txq_obj *obj; /* Verbs/DevX queue object. */ - struct mlx5_priv *priv; /* Back pointer to private data. */ - off_t uar_mmap_offset; /* UAR mmap offset for non-primary process. */ -- void *bf_reg; /* BlueFlame register from Verbs. */ - uint16_t dump_file_n; /* Number of dump files. */ - struct rte_eth_hairpin_conf hairpin_conf; /* Hairpin configuration. */ - uint32_t hairpin_status; /* Hairpin binding status. */ -@@ -204,7 +203,7 @@ int mlx5_tx_hairpin_queue_setup +diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h +index 7c3c4c0099..4d043d2015 100644 +--- a/drivers/net/mlx5/mlx5_rxtx.h ++++ b/drivers/net/mlx5/mlx5_rxtx.h +@@ -397,7 +397,7 @@ int mlx5_tx_hairpin_queue_setup @@ -133 +126 @@ - void mlx5_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid); + void mlx5_tx_queue_release(void *dpdk_txq); @@ -140 +133 @@ -index e9ab7fa266..820421f7cd 100644 +index 5f1a179df3..f3516a8a5a 100644 @@ -143 +136 @@ -@@ -523,9 +523,11 @@ txq_uar_ncattr_init(struct mlx5_txq_ctrl *txq_ctrl, size_t page_size) +@@ -526,9 +526,11 @@ txq_uar_ncattr_init(struct mlx5_txq_ctrl *txq_ctrl, size_t page_size) @@ -156 +149 @@ -@@ -542,7 +544,7 @@ txq_uar_init(struct mlx5_txq_ctrl *txq_ctrl) +@@ -545,7 +547,7 @@ txq_uar_init(struct mlx5_txq_ctrl *txq_ctrl) @@ -165 +158 @@ -@@ -571,6 +573,7 @@ txq_uar_init_secondary(struct mlx5_txq_ctrl *txq_ctrl, int fd) +@@ -574,6 +576,7 @@ txq_uar_init_secondary(struct mlx5_txq_ctrl *txq_ctrl, int fd) @@ -173 +166 @@ -@@ -589,20 +592,18 @@ txq_uar_init_secondary(struct mlx5_txq_ctrl *txq_ctrl, int fd) +@@ -592,20 +595,18 @@ txq_uar_init_secondary(struct mlx5_txq_ctrl *txq_ctrl, int fd)