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 46105A04DB; Wed, 9 Dec 2020 20:27:25 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D59AACA48; Wed, 9 Dec 2020 20:23:06 +0100 (CET) Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by dpdk.org (Postfix) with ESMTP id 02F66C9F6; Wed, 9 Dec 2020 20:22:58 +0100 (CET) Received: by mail-pf1-f193.google.com with SMTP id p4so1685532pfg.0; Wed, 09 Dec 2020 11:22:57 -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=tPfYMflgKYQXqlc34AmIIY43o+PVJUbeDe8Pd0F4oGY+75lsRES61hzA7rLUwK1R+K NA5lRYtB/F76sQTj5hqRT28/ZPUkWlwUUMHkzq+YF+h99c3gJACXDVNBaWrrYn+sXLin PZRrMxjpct+XrSPmsjpkxPaZdL8UibpvKO6SLDo5nwjl8ZqKpOUdsgg3jzjEf0btZjUI fUh9hIqT+RaJ4weTLmT/8DyuipMigLZn+ssdxkyhl8AiJdvpew2pUZcPa+k4owUMOl78 EknsjpB0n+ZFnbEzxMDE31Vi+k+pAkYn/8X51prwx9i2E5N/PKFPf1B0HceCPxbPA7aC YiDg== 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=JDWn+tHPe/ubrqlHwcxkoXGAo5wWkXv5n1WRyrdiwNWdCJLglTBBZtRcNzPiuzogsp 3tdie8iFkbL8qNQAkr/QWtMa8DdmPSQNux1rnORzw47aAjQHQ4jk27k8zP3RvqByUbCM msza/B2IbGX6uaz/t65Fb6YvqVuhqJ/desj929WsdfIrH++MqnXT/OEmNkxr1Qae7T3u SJsn72E1YNJyMZooy/ITOGd+/QqTTuX2ndPdQRuZBG4w90ScZoBple80TTFzxE+fkpZ/ qK5gh1T+5dmVsQ5Pfnlk02lyomYviKv/rwv09yxgh50tA2h7m7kguddfjzzQ5RPERaOC ACaQ== X-Gm-Message-State: AOAM531i/bv8eXG/BkMTanJir58qjdH2SHf9oDIeDGpvGcDGMLGhLctE VXRyCQi5uxyznQRmgtr6IXz0ETdMfAQEndsf X-Google-Smtp-Source: ABdhPJwaWBYEhZC1Zcx2IIIiE6ByEDsdc9aupiJMrPWucp8vdP3AdnxulXhz3c3K7I4KkS2JXH+A/g== X-Received: by 2002:a17:90b:8d5:: with SMTP id ds21mr3461479pjb.5.1607541777006; Wed, 09 Dec 2020 11:22:57 -0800 (PST) Received: from localhost.localdomain ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id y1sm3342449pfe.80.2020.12.09.11.22.55 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 Dec 2020 11:22:56 -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 11:22:30 -0800 Message-Id: <20201209192233.6518-15-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20201209192233.6518-1-ajit.khaparde@broadcom.com> References: <20201209192233.6518-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 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)