From patchwork Sat Jul 31 14:49:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 96493 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 51C9FA0547; Sat, 31 Jul 2021 16:49:46 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 38C32410E7; Sat, 31 Jul 2021 16:49:46 +0200 (CEST) Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by mails.dpdk.org (Postfix) with ESMTP id 656C84067E for ; Sat, 31 Jul 2021 16:49:44 +0200 (CEST) Received: by mail-pl1-f177.google.com with SMTP id u16so6029087ple.2 for ; Sat, 31 Jul 2021 07:49:44 -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; bh=ULKY1xqlYx5GnYSx04/SHhIJZpDlUDLMoRG236ny460=; b=cxq1po3iLjcvDJsp/JD/dv4nYddoI88xR4soM00x9qPk9VRzV5zRwTPV+fkO0PjNmp mq+bIzb2OrlC97cvUs+dTY7aodqPrIc9AJSUAIeGlm+2WlhmRan0mHSAyCzezhC+3wUl MFuBpzaQ4A3W30OB8qkgK4Qb/tgMqsYvW2EeM= 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; bh=ULKY1xqlYx5GnYSx04/SHhIJZpDlUDLMoRG236ny460=; b=dt4Oi+WyE/9LO4WPyQvXNGDNqmvvtxTRJuVE89Q5oNs6FmQG5WeLHNVoB2KI8VLsdP bOReN4KokHffNpucfTynxHIsn5SrZ0ctAO7rt3Hdy5Hc5y07Wkih8zJM9uhxSSAPhQdT hhSpaXy+1MNMch+n5m015tBOl1JuYxvBXgNdMTJZ7QAiLBXbBMxfQG1iQ7iRFO7NU1wv y6HibhlHhNti3U64LpP4lDp4fAjYNi25gD8jN2fCr0Oz7UjZw+HPUmolkgxnOkvOQk/4 +XCpfUfZ1ASx/Yzfn3fJk0jsjGnxqlF2DTCPXjKCyiiJV+Nz9NAMS8hPJEzx3tKWmZxI XiAA== X-Gm-Message-State: AOAM532GYQizrOcYVRYVFzx5hXSF7fYoUlLrR7DAXwj3DP5IpykvwZXX Sqen6R6CaJmfvEQ39wtW4ecPJG9X2itkLJ53sJ2YmTyoZKRUn5X59o5Z1NNu5nrfxbawi/svow6 36UCvnGP1rkPmI02JFc0TfnLtblYBTFIA4psSWBtR/aJLjmgOTLxbtDI9YTNqXDI= X-Google-Smtp-Source: ABdhPJy1XzCuv9GJlZkPATDeayJzPyKh1k4e0jY6V1PC8FTK5A6GvaCOnknQtw3hB5sdfx/1LmQzMQ== X-Received: by 2002:a17:902:d645:b029:12c:2759:ce2b with SMTP id y5-20020a170902d645b029012c2759ce2bmr7087887plh.58.1627742983031; Sat, 31 Jul 2021 07:49:43 -0700 (PDT) Received: from localhost.localdomain ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id g71sm6110284pfb.139.2021.07.31.07.49.40 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 31 Jul 2021 07:49:42 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: stable@dpdk.org, Shuanglin Wang Date: Sat, 31 Jul 2021 07:49:34 -0700 Message-Id: <20210731144934.53308-1-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <1666615.EP5RLiGz2i@thomas> References: <1666615.EP5RLiGz2i@thomas> MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [dpdk-dev] [PATCH] net/bnxt: fix incorrect action record calculation 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" For Thor, the number of action records is being wrongly configured to 128 because of incorrect definition of divider. This results in an incorrect number of action records being negotiated with the FW. Remove the divider from the templates and delete the logic which uses the field in the resource manager logic. Fixes: 3fe124d2536c ("net/bnxt: support Thor platform") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde Tested-by: Shuanglin Wang --- drivers/net/bnxt/tf_core/tf_device_p58.h | 14 ------------ drivers/net/bnxt/tf_core/tf_rm.c | 22 ------------------- .../generic_templates/ulp_template_db_tbl.c | 2 +- 3 files changed, 1 insertion(+), 37 deletions(-) diff --git a/drivers/net/bnxt/tf_core/tf_device_p58.h b/drivers/net/bnxt/tf_core/tf_device_p58.h index b5e2598cb6..66b0f4e983 100644 --- a/drivers/net/bnxt/tf_core/tf_device_p58.h +++ b/drivers/net/bnxt/tf_core/tf_device_p58.h @@ -84,42 +84,36 @@ struct tf_rm_element_cfg tf_tbl_p58[TF_TBL_TYPE_MAX] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_PARENT, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_1, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_COMPACT_ACT_RECORD] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_FULL_ACT_RECORD, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_1, .slices = 1, - .divider = 8, }, /* Policy - Encaps in bank 2 */ [TF_TBL_TYPE_ACT_ENCAP_8B] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_PARENT, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_2, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_ACT_ENCAP_16B] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_ACT_ENCAP_8B, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_2, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_ACT_ENCAP_32B] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_ACT_ENCAP_8B, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_2, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_ACT_ENCAP_64B] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_ACT_ENCAP_8B, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_2, .slices = 1, - .divider = 8, }, /* Policy - Modify in bank 2 with Encaps */ [TF_TBL_TYPE_ACT_MODIFY_8B] = { @@ -127,56 +121,48 @@ struct tf_rm_element_cfg tf_tbl_p58[TF_TBL_TYPE_MAX] = { .parent_subtype = TF_TBL_TYPE_ACT_ENCAP_8B, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_2, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_ACT_MODIFY_16B] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_ACT_ENCAP_8B, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_2, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_ACT_MODIFY_32B] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_ACT_ENCAP_8B, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_2, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_ACT_MODIFY_64B] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_ACT_ENCAP_8B, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_2, .slices = 1, - .divider = 8, }, /* Policy - SP in bank 0 */ [TF_TBL_TYPE_ACT_SP_SMAC] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_PARENT, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_0, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_ACT_SP_SMAC_IPV4] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_ACT_SP_SMAC, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_0, .slices = 1, - .divider = 8, }, [TF_TBL_TYPE_ACT_SP_SMAC_IPV6] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_CHILD, .parent_subtype = TF_TBL_TYPE_ACT_SP_SMAC, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_0, .slices = 1, - .divider = 8, }, /* Policy - Stats in bank 3 */ [TF_TBL_TYPE_ACT_STATS_64] = { .cfg_type = TF_RM_ELEM_CFG_HCAPI_BA_PARENT, .hcapi_type = CFA_RESOURCE_TYPE_P58_SRAM_BANK_3, .slices = 1, - .divider = 8, }, }; diff --git a/drivers/net/bnxt/tf_core/tf_rm.c b/drivers/net/bnxt/tf_core/tf_rm.c index dcfba24b2c..0a46e2a343 100644 --- a/drivers/net/bnxt/tf_core/tf_rm.c +++ b/drivers/net/bnxt/tf_core/tf_rm.c @@ -624,17 +624,6 @@ tf_rm_create_db(struct tf *tfp, /* Only allocate BA pool if a BA type not a child */ if (cfg->cfg_type == TF_RM_ELEM_CFG_HCAPI_BA || cfg->cfg_type == TF_RM_ELEM_CFG_HCAPI_BA_PARENT) { - if (cfg->divider) { - resv[j].stride = - resv[j].stride / cfg->divider; - if (resv[j].stride <= 0) { - TFP_DRV_LOG(ERR, - "%s:Divide fails:%d:%s\n", - tf_dir_2_str(parms->dir), - cfg->hcapi_type, type_str); - goto fail; - } - } /* Create pool */ pool_size = (BITALLOC_SIZEOF(resv[j].stride) / sizeof(struct bitalloc)); @@ -868,17 +857,6 @@ tf_rm_create_db_no_reservation(struct tf *tfp, /* Only allocate BA pool if a BA type not a child */ if (cfg->cfg_type == TF_RM_ELEM_CFG_HCAPI_BA || cfg->cfg_type == TF_RM_ELEM_CFG_HCAPI_BA_PARENT) { - if (cfg->divider) { - resv[j].stride = - resv[j].stride / cfg->divider; - if (resv[j].stride <= 0) { - TFP_DRV_LOG(ERR, - "%s:Divide fails:%d:%s\n", - tf_dir_2_str(parms->dir), - cfg->hcapi_type, type_str); - goto fail; - } - } /* Create pool */ pool_size = (BITALLOC_SIZEOF(resv[j].stride) / sizeof(struct bitalloc)); diff --git a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c index 7951de8a4e..2debaea0ca 100644 --- a/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c +++ b/drivers/net/bnxt/tf_ulp/generic_templates/ulp_template_db_tbl.c @@ -1450,7 +1450,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .direction = TF_DIR_RX, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, - .count = 1024 + .count = 2048 }, { .app_id = 0,