From patchwork Wed Aug 25 01:29:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 97284 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 94126A0548; Wed, 25 Aug 2021 03:29:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF0414116B; Wed, 25 Aug 2021 03:29:13 +0200 (CEST) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mails.dpdk.org (Postfix) with ESMTP id 2553D40140 for ; Wed, 25 Aug 2021 03:29:13 +0200 (CEST) Received: by mail-pl1-f173.google.com with SMTP id m4so2323967pll.0 for ; Tue, 24 Aug 2021 18:29:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:mime-version; bh=beb6kKC1GKx87/xdKflEq6h5wJbnPO2Grc1l5V9z4gE=; b=UnabnbueENc4E9+gYUSufC/kdvEW29q4Azhp7donBL/rWrbTq0eWco//zZMqZ6sSD5 OAE4jDbP85ga88sbaZndLoAgPhJp9QHSE4tRp9BtihdnMmLhc4mi2z8DiUZOH3SCKsdb +0MlgDNOdB6PQWpgFzLRc/32a0/b53yf89D/A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version; bh=beb6kKC1GKx87/xdKflEq6h5wJbnPO2Grc1l5V9z4gE=; b=tSgLQRom3KNlDwOUuNGxntYMPdxDp8yoxhNcbPOMMs/G/fnV0sXz692MzLd91+xp+A pDfb1EO+NOA0tfA1PQDOgcV+owAaqowTi9cna82/ZogY8dMcckeFqSWC5vzBI41z3brz WaG2ihqa+FqZ5poYkhEXUTNLSGtwZLW1cxsSEEnpFm4hN4kILgNvK2XJ8MYDryCoslPs f0Nu7gEgKcTWcx8ARzMnO0ffQuGFYKKcLJIUIjCD3F+yEtv0aSDVuDAg5RRaOw08GrxP G7LbGggVWMuuaw0roOMWoGrkgbCYQucVCyPesI1oPRNjjYTm7V/DncoH/ff2djJESw+G neMQ== X-Gm-Message-State: AOAM532fUDi+8IWgvBoC02az/Ur7ev+4uithfoHaCRPx3XtJIGMSxnb+ sqbbGuvSo4WbS0fCrsmvDEcjABhJ/6EW5jaEwBz4tHjkOKcUwuIhSxlBeqfw/yv+CPs+uqjk/L9 nadkAvZYQolO+N3/z8wZZSC2ONo6tYBfLNxtQXw4ATgcy9iDRm9cA4crz49vOABA= X-Google-Smtp-Source: ABdhPJyi9tiBcEALUENDKxcGFXAJReyulLE7lrPjgo/lAZ6XADU2QpHj68eE4QmP6j6f+DjUOWRJoA== X-Received: by 2002:a17:90a:7642:: with SMTP id s2mr7592528pjl.128.1629854951778; Tue, 24 Aug 2021 18:29:11 -0700 (PDT) Received: from localhost.localdomain ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id f13sm19006693pfe.125.2021.08.24.18.29.09 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Aug 2021 18:29:11 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: stable@dpdk.org, Somnath Kotur Date: Tue, 24 Aug 2021 18:29:01 -0700 Message-Id: <20210825012901.80499-1-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [dpdk-dev] [PATCH] net/bnxt: fix VNIC config error in port start 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 Sender: "dev" During port stop/start sequence the Thor FW is returning an error. This is because we are deriving incorrect active Rx ring and using that wrong information in the bnxt_vnic_rss_cfg HWRM command. Fix it by using the rx_queue_state from eth_dev. Fixes: 0105ea1296c91 ("net/bnxt: support runtime queue setup") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_hwrm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index eb9de45cb9..f29d574235 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -5078,6 +5078,7 @@ static int bnxt_vnic_rss_configure_p5(struct bnxt *bp, struct bnxt_vnic_info *vnic) { struct hwrm_vnic_rss_cfg_output *resp = bp->hwrm_cmd_resp_addr; + uint8_t *rxq_state = bp->eth_dev->data->rx_queue_state; struct hwrm_vnic_rss_cfg_input req = {.req_type = 0 }; struct bnxt_rx_queue **rxqs = bp->rx_queues; uint16_t *ring_tbl = vnic->rss_table; @@ -5111,7 +5112,7 @@ bnxt_vnic_rss_configure_p5(struct bnxt *bp, struct bnxt_vnic_info *vnic) /* Find next active ring. */ for (cnt = 0; cnt < max_rings; cnt++) { - if (rxqs[k]->rx_started) + if (rxq_state[k] != RTE_ETH_QUEUE_STATE_STOPPED) break; if (++k == max_rings) k = 0;