From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6CD0E73165 for ; Mon, 2 Feb 2026 19:33:43 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C2E12402F2; Mon, 2 Feb 2026 20:33:37 +0100 (CET) Received: from office2.cesnet.cz (office2.cesnet.cz [78.128.248.237]) by mails.dpdk.org (Postfix) with ESMTP id 06D894027D; Mon, 2 Feb 2026 20:33:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=office2-2020; t=1770060815; bh=hok4qJzBk6LZLrfGBn7lgvs3FevBhccRhIWSviYL3hI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=GjBWB0Zm+8OBauExPxa6NVwVUn4O8Dxt3PBKFJQli6grH94qLE9kHyvgprjP+M7Fb nnpTRsIXctJB3b0QX+tIW39w+FdC4xtfpGH2tvEgKNhukZ3VeABczfT+OzL2DkGfmN 8HqiAnZAL6hNuSlmF9B4Ixel8+hhp1UxAIUyIGgI6BY2NKaWUNRHY87+/K6BO6KGG+ SGF+dWveOXPIQafh3ASr0ddJvF8HhW/B5QxOku2heGTakDcYdWGcIWTO997wB06I2c i/lLpvjgPqtH6BjqqQ8gvXtR+oBvxYqF+4qpkSVJK9WGpK6PwMZP6MzK4OWWpDXJCZ DJwBGXi4Q0PBQ== Received: from emil.cesnet.cz (gtx107.cesnet.cz [IPv6:2001:718:812:27::107]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by office2.cesnet.cz (Postfix) with ESMTPSA id B14F81180078; Mon, 2 Feb 2026 20:33:35 +0100 (CET) From: spinler@cesnet.cz To: dev@dpdk.org Cc: Martin Spinler , stable@dpdk.org Subject: [PATCH v5 1/6] net/nfb: use constant values for max Rx/Tx queues count Date: Mon, 2 Feb 2026 20:33:25 +0100 Message-ID: <20260202193330.3324681-2-spinler@cesnet.cz> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260202193330.3324681-1-spinler@cesnet.cz> References: <20260115140134.235877-1-spinler@cesnet.cz> <20260202193330.3324681-1-spinler@cesnet.cz> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 From: Martin Spinler The nb_xx_queues values in the dev->data structure can be modified dynamically by some apps. Use runtime-constant values from hardware directly for max_rx_queues/max_tx_queues. Fixes: 6435f9a0ac22 ("net/nfb: add new netcope driver") Cc: stable@dpdk.org Signed-off-by: Martin Spinler --- drivers/net/nfb/nfb.h | 3 +++ drivers/net/nfb/nfb_ethdev.c | 12 +++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/net/nfb/nfb.h b/drivers/net/nfb/nfb.h index a8b24ff822..917b830283 100644 --- a/drivers/net/nfb/nfb.h +++ b/drivers/net/nfb/nfb.h @@ -48,6 +48,9 @@ struct pmd_internals { struct nc_rxmac *rxmac[RTE_MAX_NC_RXMAC]; struct nc_txmac *txmac[RTE_MAX_NC_TXMAC]; struct nfb_device *nfb; + + uint16_t max_rx_queues; + uint16_t max_tx_queues; }; #endif /* _NFB_H_ */ diff --git a/drivers/net/nfb/nfb_ethdev.c b/drivers/net/nfb/nfb_ethdev.c index 98119d70fd..5b1df83b7f 100644 --- a/drivers/net/nfb/nfb_ethdev.c +++ b/drivers/net/nfb/nfb_ethdev.c @@ -237,11 +237,13 @@ static int nfb_eth_dev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) { + struct pmd_internals *internals = dev->data->dev_private; + dev_info->max_mac_addrs = nfb_eth_get_max_mac_address_count(dev); dev_info->max_rx_pktlen = (uint32_t)-1; - dev_info->max_rx_queues = dev->data->nb_rx_queues; - dev_info->max_tx_queues = dev->data->nb_tx_queues; + dev_info->max_rx_queues = internals->max_rx_queues; + dev_info->max_tx_queues = internals->max_tx_queues; dev_info->speed_capa = RTE_ETH_LINK_SPEED_100G; dev_info->rx_offload_capa = RTE_ETH_RX_OFFLOAD_TIMESTAMP; @@ -538,11 +540,11 @@ nfb_eth_dev_init(struct rte_eth_dev *dev) NFB_LOG(ERR, "nfb_open(): failed to open %s", nfb_dev); return -EINVAL; } - data->nb_rx_queues = ndp_get_rx_queue_available_count(internals->nfb); - data->nb_tx_queues = ndp_get_tx_queue_available_count(internals->nfb); + internals->max_rx_queues = ndp_get_rx_queue_available_count(internals->nfb); + internals->max_tx_queues = ndp_get_tx_queue_available_count(internals->nfb); NFB_LOG(INFO, "Available NDP queues RX: %u TX: %u", - data->nb_rx_queues, data->nb_tx_queues); + internals->max_rx_queues, internals->max_tx_queues); nfb_nc_rxmac_init(internals->nfb, internals->rxmac, -- 2.52.0