From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 495C51B19 for ; Sat, 22 Sep 2018 06:56:18 +0200 (CEST) Received: from nis-sj1-27.broadcom.com (nis-sj1-27.lvn.broadcom.net [10.75.144.136]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 720F730C066; Fri, 21 Sep 2018 21:56:13 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 720F730C066 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1537592173; bh=JyaIjK8ySxu3No4hiOFtjz6b79aJPjRShT+pDFe1CDI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E2NzQk9a6H+fTyG0cbsHBUw2DECZo4k4pUvcr+Cy6DIsPHt2PbyvfLUYe8G2JN3Uw Dx6a4R79du7ZVELRPJgcGLwujZqJtakpWIIY/cOuFayvgmCaWz+k1Apu6W3jqh73Ir f3dYtF16PLO3ZiqMaq5AZQGrvZIsOnd5IqHQ1Hko= Received: from C02VPB22HTD6.vpn.broadcom.net (unknown [10.10.118.131]) by nis-sj1-27.broadcom.com (Postfix) with ESMTP id EF6CDAC0741; Fri, 21 Sep 2018 21:56:12 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Fri, 21 Sep 2018 21:55:57 -0700 Message-Id: <20180922045559.27438-11-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.17.1 (Apple Git-112) In-Reply-To: <20180922045559.27438-1-ajit.khaparde@broadcom.com> References: <20180922045559.27438-1-ajit.khaparde@broadcom.com> Subject: [dpdk-dev] [PATCH v2 10/12] net/bnxt: set a VNIC as default only once 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: , X-List-Received-Date: Sat, 22 Sep 2018 04:56:18 -0000 If a vnic is configured as default and the setting has not changed, there is no need to issue this setting again to the FW. Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt.h | 1 + drivers/net/bnxt/bnxt_hwrm.c | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 44c3747f2..c95fb9e3d 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -261,6 +261,7 @@ struct bnxt { #define BNXT_FLAG_EXT_TX_PORT_STATS (1 << 9) #define BNXT_FLAG_KONG_MB_EN (1 << 10) #define BNXT_FLAG_TRUSTED_VF_EN (1 << 11) +#define BNXT_FLAG_DFLT_VNIC_SET (1 << 12) #define BNXT_FLAG_NEW_RM (1 << 30) #define BNXT_FLAG_INIT_DONE (1 << 31) #define BNXT_PF(bp) (!((bp)->flags & BNXT_FLAG_VF)) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index b605659ed..38698e214 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -1460,9 +1460,12 @@ int bnxt_hwrm_vnic_cfg(struct bnxt *bp, struct bnxt_vnic_info *vnic) req.cos_rule = rte_cpu_to_le_16(vnic->cos_rule); req.lb_rule = rte_cpu_to_le_16(vnic->lb_rule); req.mru = rte_cpu_to_le_16(vnic->mru); - if (vnic->func_default) + /* Configure default VNIC only once. */ + if (vnic->func_default && !(bp->flags & BNXT_FLAG_DFLT_VNIC_SET)) { req.flags |= rte_cpu_to_le_32(HWRM_VNIC_CFG_INPUT_FLAGS_DEFAULT); + bp->flags |= BNXT_FLAG_DFLT_VNIC_SET; + } if (vnic->vlan_strip) req.flags |= rte_cpu_to_le_32(HWRM_VNIC_CFG_INPUT_FLAGS_VLAN_STRIP_MODE); @@ -1600,6 +1603,10 @@ int bnxt_hwrm_vnic_free(struct bnxt *bp, struct bnxt_vnic_info *vnic) HWRM_UNLOCK(); vnic->fw_vnic_id = INVALID_HW_RING_ID; + /* Configure default VNIC again if necessary. */ + if (vnic->func_default && (bp->flags & BNXT_FLAG_DFLT_VNIC_SET)) + bp->flags &= ~BNXT_FLAG_DFLT_VNIC_SET; + return rc; } -- 2.17.1 (Apple Git-112)