From patchwork Fri Jul 24 05:32:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 74730 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2203AA0518; Fri, 24 Jul 2020 07:36:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 72AFB1C0B7; Fri, 24 Jul 2020 07:34:45 +0200 (CEST) Received: from mail-ua1-f99.google.com (mail-ua1-f99.google.com [209.85.222.99]) by dpdk.org (Postfix) with ESMTP id 5F5EF1C1BA for ; Fri, 24 Jul 2020 07:34:00 +0200 (CEST) Received: by mail-ua1-f99.google.com with SMTP id g4so2571763uaq.10 for ; Thu, 23 Jul 2020 22:34:00 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=G1x8nIZ2Jb+939jKbKityxgvoiD9EYnb7KYuQouy434=; b=aAVzbsiT3eR9PBmee2g8c3dKFzNUHsSx0VrS/Q9KE2iMswq6P+V9FJYakt5owgg1GZ w6ob6pnv2k+3leOKVfa7e1zUjk+ISSxYn3cu9iOcS4S8R35FfwsOajGx5fk6sQCHCnZm jWivEfInrAkblocZz7JoAm1J/If+2DLU0BJow= 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=G1x8nIZ2Jb+939jKbKityxgvoiD9EYnb7KYuQouy434=; b=Vl6eW/Ao85UABEPkHOYLxCQ1kIppC3r7gluV0Xym863gJGtFXFqUrRrEEEVVYXFidS ZqopT4PMl88moiT0uLYcMC9jDT0k/+ZVa6lHewIFrakh7hg6eIwMjH6YrFwijLtL4Be6 cULkSyQZpRDXxcg3WoDEw5NCAp2sD/wEXfdCA/EuRScZCwsttOxF9dZfAk+jomwVkW6V eAiQdoAJimOmL0Zjq8t6HS4y/rzgfPwl5V+eQVjVfpaxhQUtpWiWRiIK6GCMPV9TW+Du GjLlK39zJgaOmkFralp+KorzbiEFt6IYpqYK7Dw0aFp17aD8ay6YwhiBKmizy9KRChdY wSuA== X-Gm-Message-State: AOAM5321JtifjyeEjr3aa9bOdqouVISlbGHEoKzEa8F1AlN8tC5GDaWG J4pb8n6oKRkjUn2LZnYDsfiGUw2l+zJb4fTNdQOXKHR6aKO5LdlgkcTkLkHsD8sFzAWoptBZgbl G5uFMgsH8w0TAGLxT9K3Y4id8O1pZ2ttZ0VLTLSxnsF/mu6z75hQPJ2BoXOygMRXSXiehagzSVK RUIA== X-Google-Smtp-Source: ABdhPJxbWyEZPXM0WZfzlkW+t22BHx3Ena3bcyYCUKpEYASmUcYf5lmrhbjzAeVQ956lLNWUy29LwUaQVKD6 X-Received: by 2002:ab0:41c2:: with SMTP id 60mr6735192uap.108.1595568839725; Thu, 23 Jul 2020 22:33:59 -0700 (PDT) Received: from localhost.localdomain ([192.19.223.252]) by smtp-relay.gmail.com with ESMTPS id h17sm592840vsk.0.2020.07.23.22.33.56 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 22:33:59 -0700 (PDT) X-Relaying-Domain: broadcom.com From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Somnath Kotur , Venkat Duvvuru Date: Thu, 23 Jul 2020 22:32:33 -0700 Message-Id: <20200724053235.71069-21-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20200724053235.71069-1-ajit.khaparde@broadcom.com> References: <20200723115639.22357-1-somnath.kotur@broadcom.com> <20200724053235.71069-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 20/22] net/bnxt: cleanup VF-representor dev ops 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 No need to access rx_cfa_code, cfa_code_map from the VF-Rep functions anymore. Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure") Reviewed-by: Venkat Duvvuru Signed-off-by: Somnath Kotur Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt.h | 1 - drivers/net/bnxt/bnxt_reps.c | 75 ++++-------------------------------- 2 files changed, 7 insertions(+), 69 deletions(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 41e7ae5bd..f4b2a3f92 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -799,7 +799,6 @@ struct bnxt_vf_representor { uint16_t dflt_vnic_id; uint16_t svif; uint16_t vfr_tx_cfa_action; - uint16_t rx_cfa_code; uint32_t rep2vf_flow_id; uint32_t vf2rep_flow_id; /* Private data store of associated PF/Trusted VF */ diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c index 2f775e0c0..6fa9a30d2 100644 --- a/drivers/net/bnxt/bnxt_reps.c +++ b/drivers/net/bnxt/bnxt_reps.c @@ -230,6 +230,9 @@ int bnxt_vf_rep_link_update_op(struct rte_eth_dev *eth_dev, int wait_to_compl) int rc; parent_bp = rep->parent_dev->data->dev_private; + if (!parent_bp) + return 0; + rc = bnxt_link_update_op(parent_bp->eth_dev, wait_to_compl); /* Link state. Inherited from PF or trusted VF */ @@ -324,7 +327,7 @@ static int bnxt_vfr_alloc(struct rte_eth_dev *vfr_ethdev) } /* Check if representor has been already allocated in FW */ - if (vfr->vfr_tx_cfa_action && vfr->rx_cfa_code) + if (vfr->vfr_tx_cfa_action) return 0; /* @@ -406,9 +409,11 @@ static int bnxt_vfr_free(struct bnxt_vf_representor *vfr) } parent_bp = vfr->parent_dev->data->dev_private; + if (!parent_bp) + return 0; /* Check if representor has been already freed in FW */ - if (!vfr->vfr_tx_cfa_action && !vfr->rx_cfa_code) + if (!vfr->vfr_tx_cfa_action) return 0; rc = bnxt_tf_vfr_free(vfr); @@ -419,11 +424,9 @@ static int bnxt_vfr_free(struct bnxt_vf_representor *vfr) return rc; } - parent_bp->cfa_code_map[vfr->rx_cfa_code] = BNXT_VF_IDX_INVALID; PMD_DRV_LOG(DEBUG, "freed representor %d in FW\n", vfr->vf_id); vfr->vfr_tx_cfa_action = 0; - vfr->rx_cfa_code = 0; rc = bnxt_hwrm_cfa_vfr_free(parent_bp, vfr->vf_id); @@ -456,7 +459,6 @@ int bnxt_vf_rep_dev_info_get_op(struct rte_eth_dev *eth_dev, { struct bnxt_vf_representor *rep_bp = eth_dev->data->dev_private; struct bnxt *parent_bp; - uint16_t max_vnics, i, j, vpool, vrxq; unsigned int max_rx_rings; int rc = 0; @@ -476,7 +478,6 @@ int bnxt_vf_rep_dev_info_get_op(struct rte_eth_dev *eth_dev, dev_info->max_tx_queues = max_rx_rings; dev_info->reta_size = bnxt_rss_hash_tbl_size(parent_bp); dev_info->hash_key_size = 40; - max_vnics = parent_bp->max_vnics; /* MTU specifics */ dev_info->min_mtu = RTE_ETHER_MIN_MTU; @@ -492,68 +493,6 @@ int bnxt_vf_rep_dev_info_get_op(struct rte_eth_dev *eth_dev, dev_info->tx_offload_capa = BNXT_DEV_TX_OFFLOAD_SUPPORT; dev_info->flow_type_rss_offloads = BNXT_ETH_RSS_SUPPORT; - /* *INDENT-OFF* */ - dev_info->default_rxconf = (struct rte_eth_rxconf) { - .rx_thresh = { - .pthresh = 8, - .hthresh = 8, - .wthresh = 0, - }, - .rx_free_thresh = 32, - /* If no descriptors available, pkts are dropped by default */ - .rx_drop_en = 1, - }; - - dev_info->default_txconf = (struct rte_eth_txconf) { - .tx_thresh = { - .pthresh = 32, - .hthresh = 0, - .wthresh = 0, - }, - .tx_free_thresh = 32, - .tx_rs_thresh = 32, - }; - eth_dev->data->dev_conf.intr_conf.lsc = 1; - - eth_dev->data->dev_conf.intr_conf.rxq = 1; - dev_info->rx_desc_lim.nb_min = BNXT_MIN_RING_DESC; - dev_info->rx_desc_lim.nb_max = BNXT_MAX_RX_RING_DESC; - dev_info->tx_desc_lim.nb_min = BNXT_MIN_RING_DESC; - dev_info->tx_desc_lim.nb_max = BNXT_MAX_TX_RING_DESC; - - /* *INDENT-ON* */ - - /* - * TODO: default_rxconf, default_txconf, rx_desc_lim, and tx_desc_lim - * need further investigation. - */ - - /* VMDq resources */ - vpool = 64; /* ETH_64_POOLS */ - vrxq = 128; /* ETH_VMDQ_DCB_NUM_QUEUES */ - for (i = 0; i < 4; vpool >>= 1, i++) { - if (max_vnics > vpool) { - for (j = 0; j < 5; vrxq >>= 1, j++) { - if (dev_info->max_rx_queues > vrxq) { - if (vpool > vrxq) - vpool = vrxq; - goto found; - } - } - /* Not enough resources to support VMDq */ - break; - } - } - /* Not enough resources to support VMDq */ - vpool = 0; - vrxq = 0; -found: - dev_info->max_vmdq_pools = vpool; - dev_info->vmdq_queue_num = vrxq; - - dev_info->vmdq_pool_base = 0; - dev_info->vmdq_queue_base = 0; - return 0; }