From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D49D8A04DB; Thu, 10 Dec 2020 00:58:44 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B72F8CA4C; Thu, 10 Dec 2020 00:54:20 +0100 (CET) Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by dpdk.org (Postfix) with ESMTP id 2B869C97A; Thu, 10 Dec 2020 00:54:14 +0100 (CET) Received: by mail-pg1-f195.google.com with SMTP id o4so2477992pgj.0; Wed, 09 Dec 2020 15:54:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NIgyByExLkf8JyPQhV3IrW/GfQFNvU7+7U9tVph/vJE=; b=oCRUXDV2TFf+osqwFTF60E3FhembxQ2viSpLzzcGH2TnBCqD4yHRcjV8tuoqJpmLI4 Ai8pusCqX53TjnFIVCFuA6F+16d2DWrHbyBnbifp4Nx5LeFaWxPMvfwKlCoaz0t6PWc4 22C8Kxg/aj/KldZV6JnRpqxUrk3YXAoBu1fLmvaevd7ROaXpTTaYME8iXUBfToDcy4P2 y4oebm+J2R0Cwp/4Sg7p1XdEx1KiSOuTZSv7L0DK9J0OVgChjltSOttAesSIO6tVpck9 XxgqNBmDHfdZ+IY753ybggZBxx6CKvnhlaiqFLAJALt9v7qGAqcj/uP0g/NP4XZEZXKV fjNg== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=NIgyByExLkf8JyPQhV3IrW/GfQFNvU7+7U9tVph/vJE=; b=XzbwvqDyJlxjq+OoPT/yTSi4VNpujzr6RgsA9orWOUbACxZDwYpUu5UJ0gUEVaqizp hqZmXX/WzIYlskeyYM6agZjpU5qVNob9K77LohcU0Rvcp9eL5AJt5/9CnxECLvcPT2MJ QC7EemQQnmKkAlo6SSe+BolV8JQAu5XEifwMD5Psk/hJG3aPAvPDtbHAKdVcOu7Oa7Ms bEjBb1gEfIZwPgx3wlSUzFtBDYqhGuMV7Y0E3WzWFD5H4BGpFCIoZ9Lb1wTGDKvSC2DS hb8j/odUgT1eIVKCcSRO3cVQNQuFONr3ZY84Y6rI3Ita57pLDafmFEPJ10DFfqFPnbel 5qDw== X-Gm-Message-State: AOAM530afRZsgNIQqBP2ZXkTkueQ4lq+KKVU4CdPWTwNoKPFjyeaCGlr U8fk6fLWJViCeuRP6Y7cPPpSx0+oc4LQG/Xr X-Google-Smtp-Source: ABdhPJyFEatOh5OtwvDDrWGQMTSRkHIV3E9LLOSt7q56RvNO0vcVHYuru1iL9Mfg7pLG+yev/CpfJg== X-Received: by 2002:a17:90b:8d5:: with SMTP id ds21mr4344896pjb.5.1607558052131; Wed, 09 Dec 2020 15:54:12 -0800 (PST) Received: from localhost.localdomain ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id s7sm4047693pfh.207.2020.12.09.15.54.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Dec 2020 15:54:11 -0800 (PST) From: Ajit Khaparde X-Google-Original-From: Ajit Khaparde To: dev@dpdk.org Cc: Somnath Kotur , stable@dpdk.org, Venkat Duvvuru , Kalesh AP Date: Wed, 9 Dec 2020 15:53:44 -0800 Message-Id: <20201209235347.16180-15-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20201209235347.16180-1-ajit.khaparde@broadcom.com> References: <20201209192233.6518-1-ajit.khaparde@broadcom.com> <20201209235347.16180-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v3 14/17] net/bnxt: fix PF resource query X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" From: Somnath Kotur This cmd should be called by every driver after 'hwrm_func_cfg' to get the actual number of resources allocated by the HWRM. The values returned in the cmd are the max values for that PF. Also, now that the max values for the PF are computed in probe itself, no need to invoke FUNC_QCAPs or any other cmd in dev_configure_op() as that would just override the actual max values obtained above. Fixes: f8168ca0e690 ("net/bnxt: support thor controller") Cc: stable@dpdk.org Signed-off-by: Somnath Kotur Reviewed-by: Venkat Duvvuru Reviewed-by: Kalesh AP Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 7 ------- drivers/net/bnxt/bnxt_hwrm.c | 36 +++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index bf8963577..21d9e26ca 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1071,13 +1071,6 @@ static int bnxt_dev_configure_op(struct rte_eth_dev *eth_dev) } pthread_mutex_unlock(&bp->def_cp_lock); - } else { - /* legacy driver needs to get updated values */ - rc = bnxt_hwrm_func_qcaps(bp); - if (rc) { - PMD_DRV_LOG(ERR, "hwrm func qcaps fail:%d\n", rc); - return rc; - } } /* Inherit new configurations */ diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index cee2656c1..a3eb133c0 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -3456,6 +3456,35 @@ static int bnxt_update_max_resources(struct bnxt *bp, return 0; } +/* Update the PF resource values based on how many resources + * got allocated to it. + */ +static int bnxt_update_max_resources_pf_only(struct bnxt *bp) +{ + struct hwrm_func_qcfg_input req = {0}; + struct hwrm_func_qcfg_output *resp = bp->hwrm_cmd_resp_addr; + int rc; + + /* Get the actual allocated values now */ + HWRM_PREP(&req, HWRM_FUNC_QCFG, BNXT_USE_CHIMP_MB); + req.fid = rte_cpu_to_le_16(0xffff); + rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_CHIMP_MB); + HWRM_CHECK_RESULT(); + + bp->max_rsscos_ctx = rte_le_to_cpu_16(resp->alloc_rsscos_ctx); + bp->max_stat_ctx = rte_le_to_cpu_16(resp->alloc_stat_ctx); + bp->max_cp_rings = rte_le_to_cpu_16(resp->alloc_cmpl_rings); + bp->max_tx_rings = rte_le_to_cpu_16(resp->alloc_tx_rings); + bp->max_rx_rings = rte_le_to_cpu_16(resp->alloc_rx_rings); + bp->max_l2_ctx = rte_le_to_cpu_16(resp->alloc_l2_ctx); + bp->max_ring_grps = rte_le_to_cpu_16(resp->alloc_hw_ring_grps); + bp->max_vnics = rte_le_to_cpu_16(resp->alloc_vnics); + + HWRM_UNLOCK(); + + return 0; +} + int bnxt_hwrm_func_qcfg_current_vf_vlan(struct bnxt *bp, int vf) { struct hwrm_func_qcfg_input req = {0}; @@ -3555,8 +3584,13 @@ int bnxt_hwrm_allocate_pf_only(struct bnxt *bp) HWRM_FUNC_CFG_INPUT_FLAGS_STD_TX_RING_MODE_DISABLE); bp->pf->func_cfg_flags |= HWRM_FUNC_CFG_INPUT_FLAGS_STD_TX_RING_MODE_DISABLE; + rc = bnxt_hwrm_pf_func_cfg(bp, &pf_resc); - rc = __bnxt_hwrm_func_qcaps(bp); + if (rc) + return rc; + + rc = bnxt_update_max_resources_pf_only(bp); + return rc; } -- 2.21.1 (Apple Git-122.3)