From patchwork Fri Dec 22 21:56:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 135534 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 F35AA43762; Fri, 22 Dec 2023 22:57:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 186BB40EF1; Fri, 22 Dec 2023 22:57:15 +0100 (CET) Received: from mail-il1-f180.google.com (mail-il1-f180.google.com [209.85.166.180]) by mails.dpdk.org (Postfix) with ESMTP id 416654026C for ; Fri, 22 Dec 2023 22:57:11 +0100 (CET) Received: by mail-il1-f180.google.com with SMTP id e9e14a558f8ab-35fcc55f776so8266925ab.1 for ; Fri, 22 Dec 2023 13:57:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1703282230; x=1703887030; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=sKK/aMIc8bgyCiPJKjbCXupvh5EeQdOKE90tgg0Xez4=; b=VHl5j9eiTAUVaPEVGuvj1fnKL6oXznjLmW7JYyKOhaI+RXGNVkxWYs2X+zwgvLA06n a9IrNOpe4zV701Q1aCh/+XPsnKFTLhkUdJ6Dl2wGN7c0o43bolbH4V81i18IpqlbkbDr KSVdoABbqwvdrQnc2vcT6FPDUmgqEhYygJDNM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703282230; x=1703887030; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sKK/aMIc8bgyCiPJKjbCXupvh5EeQdOKE90tgg0Xez4=; b=iva24n6SBkP/Yr4lqFNpKw9MiifQFJNwAIY4os7rdYgWswl8AfHeXDKTL1Q4JiXYCd qIUVcoA4lY+hj73bUwxHzCzqqL7vOZcLn489dcNnz1W5fmaixcQmk2bRRiwttZIf6yOg J1Yj9Xp6B+Hrn6axbXt5htpJH5IC5ELIbJ19F1WfhgoId0eXEDHWvOQOH0K0kzW9KQuf ahJ97pe94AZNOZfkoQQ/FNpwdDkW2GFwmE8UBBfq6X7BvZtI9GvJTTCHvayVqtK2wIxT IhD7BMnC/wyMOGrkf7qCP8P+lJdEYt6zUcGdIandty7Gu5jDKSoLsCkRAQO99NBjRSVU jQZw== X-Gm-Message-State: AOJu0Yx838wT4uCCUO1RKUxZsX1elNJ0hDNj35yauSEpBPblu4QPvjco H4h+RXwbXgLxGZzH361H2JBi/7baykS+NX8CTw+7mqvBviSA+19SuK6uhjbrayLAs+Fw9wju4IV Xe+D3it7uUWyKZdBFSO2VBO8c6rvxZP0gzz4VMMuSFmxpMaR4O5EZWs+D9DmjfYONuQyazIpGfj 8= X-Google-Smtp-Source: AGHT+IEXkdBa1ZXtwP3RwZpqS4DmhX5GndskiIDXo8mEQ4/c9HbxBdwmzKBCsfsBeFQrOsCOE2/9qA== X-Received: by 2002:a05:6e02:99:b0:35f:d7bf:4c0d with SMTP id bc25-20020a056e02009900b0035fd7bf4c0dmr2368421ilb.47.1703282230265; Fri, 22 Dec 2023 13:57:10 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id sr5-20020a17090b4e8500b0028afd8b1e0bsm3540700pjb.57.2023.12.22.13.57.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Dec 2023 13:57:09 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: Kalesh AP , stable@dpdk.org, Somnath Kotur Subject: [PATCH v2 04/18] net/bnxt: fix setting 50G and 100G forced speed Date: Fri, 22 Dec 2023 13:56:45 -0800 Message-Id: <20231222215659.64993-5-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20231222215659.64993-1-ajit.khaparde@broadcom.com> References: <20231222215659.64993-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 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 From: Kalesh AP Thor based NICs can support PAM4 as well as NRZ link negotiation. While PAM4 can negotiate speeds at 50G, 100G and 200G, the PMD will use NRZ signaling for 50G and 100G speeds. PAM4 signaling will be used only for 200G speed negotiations. Driver has to check for NRZ speed support first while forcing speed. Fixes: c23f9ded0391 ("net/bnxt: support 200G PAM4 link") Cc: stable@dpdk.org Signed-off-by: Kalesh AP Reviewed-by: Somnath Kotur Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 8f99582819..c31a5d4226 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -3158,6 +3158,8 @@ static uint16_t bnxt_check_eth_link_autoneg(uint32_t conf_link) static uint16_t bnxt_parse_eth_link_speed(uint32_t conf_link_speed, struct bnxt_link_info *link_info) { + uint16_t support_pam4_speeds = link_info->support_pam4_speeds; + uint16_t support_speeds = link_info->support_speeds; uint16_t eth_link_speed = 0; if (conf_link_speed == RTE_ETH_LINK_SPEED_AUTONEG) @@ -3195,23 +3197,23 @@ static uint16_t bnxt_parse_eth_link_speed(uint32_t conf_link_speed, HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_40GB; break; case RTE_ETH_LINK_SPEED_50G: - if (link_info->support_pam4_speeds & - HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_50G) { - eth_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_50GB; - link_info->link_signal_mode = BNXT_SIG_MODE_PAM4; - } else { + if (support_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_50GB) { eth_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_50GB; link_info->link_signal_mode = BNXT_SIG_MODE_NRZ; + } else if (support_pam4_speeds & + HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_50G) { + eth_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_50GB; + link_info->link_signal_mode = BNXT_SIG_MODE_PAM4; } break; case RTE_ETH_LINK_SPEED_100G: - if (link_info->support_pam4_speeds & - HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_100G) { - eth_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_100GB; - link_info->link_signal_mode = BNXT_SIG_MODE_PAM4; - } else { + if (support_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100GB) { eth_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_100GB; link_info->link_signal_mode = BNXT_SIG_MODE_NRZ; + } else if (support_pam4_speeds & + HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_100G) { + eth_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_100GB; + link_info->link_signal_mode = BNXT_SIG_MODE_PAM4; } break; case RTE_ETH_LINK_SPEED_200G: