From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BF305A057F for ; Tue, 28 Jun 2022 17:20:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AC1A540042; Tue, 28 Jun 2022 17:20:26 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 5265240042 for ; Tue, 28 Jun 2022 17:20:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1656429623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1c8r2c59y8+0NsHOyIdYdWYXsTo/nmiK+yvlwpD0EVY=; b=f8GtEDMMvUQkgC1bOzl2krEjxpxLJwT0bkporA34TWKBusDvr35BsGGgUiCsFvqUWqdgOL 44oQ5pzGaD+yJXQVrH8491k0mvvhVy6rv5aokW1zSXojaa6CBwGwwR9y980cvKW8LhC+jc Rw3osGgvW+O/h32Vd7+u0LbmYf1pUqs= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-573-QA9F0DOoNMCW9n6YOtE6RQ-1; Tue, 28 Jun 2022 11:20:20 -0400 X-MC-Unique: QA9F0DOoNMCW9n6YOtE6RQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id EB34A802DC3; Tue, 28 Jun 2022 15:20:19 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.194.217]) by smtp.corp.redhat.com (Postfix) with ESMTP id C19CA1410F3B; Tue, 28 Jun 2022 15:20:18 +0000 (UTC) From: Kevin Traynor To: Somnath Kotur Cc: Kalesh AP , Ajit Khaparde , dpdk stable Subject: patch 'net/bnxt: fix check for autoneg enablement in the PHY FW' has been queued to stable release 21.11.2 Date: Tue, 28 Jun 2022 16:19:38 +0100 Message-Id: <20220628151938.2278711-26-ktraynor@redhat.com> In-Reply-To: <20220628151938.2278711-1-ktraynor@redhat.com> References: <20220628151938.2278711-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 21.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 06/30/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/2730ce6ee407c866cb56e28d5b77de1d4bd4cb9f Thanks. Kevin --- >From 2730ce6ee407c866cb56e28d5b77de1d4bd4cb9f Mon Sep 17 00:00:00 2001 From: Somnath Kotur Date: Wed, 15 Jun 2022 20:27:03 +0530 Subject: [PATCH] net/bnxt: fix check for autoneg enablement in the PHY FW [ upstream commit 0f0f2fd444803aa9828125402054e004351cdffd ] The current combination of checks to determine whether autoneg is enabled in the card is a bit convoluted and may become incorrect as well in the future as one of the fields being used - auto_link_speed might become deprecated. Switch to using the 'auto_mode' field obtained from the response of HWRM_PHY_QCFG cmd as that is always deterministically set by the PHY FW. Fixed a bug in the 40G check to only look for the bit setting and not the actual value. Also, check the forced speeds first before trying to enforce the auto speeds Allow the user to set autoneg speed in all cases except for PAM4 200G as PAM4 200G will come up only in forced mode. Fixes: c23f9ded0391 ("net/bnxt: support 200G PAM4 link") Signed-off-by: Somnath Kotur Reviewed-by: Kalesh AP Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 206ac20c0c..9c5257309a 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -3236,7 +3236,9 @@ int bnxt_set_hwrm_link_config(struct bnxt *bp, bool link_up) goto port_phy_cfg; + /* Get user requested autoneg setting */ autoneg = bnxt_check_eth_link_autoneg(dev_conf->link_speeds); + if (BNXT_CHIP_P5(bp) && - dev_conf->link_speeds == RTE_ETH_LINK_SPEED_40G) { + dev_conf->link_speeds & RTE_ETH_LINK_SPEED_40G) { /* 40G is not supported as part of media auto detect. * The speed should be forced and autoneg disabled @@ -3247,9 +3249,11 @@ int bnxt_set_hwrm_link_config(struct bnxt *bp, bool link_up) } - /* No auto speeds and no auto_pam4_link. Disable autoneg */ - if (bp->link_info->auto_link_speed == 0 && - bp->link_info->link_signal_mode && - bp->link_info->auto_pam4_link_speed_mask == 0) + /* Override based on current Autoneg setting in PHY for 200G */ + if (autoneg == 1 && BNXT_CHIP_P5(bp) && bp->link_info->auto_mode == 0 && + bp->link_info->force_pam4_link_speed == + HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_200GB) { autoneg = 0; + PMD_DRV_LOG(DEBUG, "Disabling autoneg for 200G\n"); + } speed = bnxt_parse_eth_link_speed(dev_conf->link_speeds, @@ -3284,4 +3288,6 @@ int bnxt_set_hwrm_link_config(struct bnxt *bp, bool link_up) link_req.link_speed = bp->link_info->force_pam4_link_speed; + else if (bp->link_info->force_link_speed) + link_req.link_speed = bp->link_info->force_link_speed; else if (bp->link_info->auto_pam4_link_speed_mask) link_req.link_speed = @@ -3290,6 +3296,4 @@ int bnxt_set_hwrm_link_config(struct bnxt *bp, bool link_up) link_req.link_speed = bp->link_info->support_pam4_speeds; - else if (bp->link_info->force_link_speed) - link_req.link_speed = bp->link_info->force_link_speed; else link_req.link_speed = bp->link_info->auto_link_speed; -- 2.34.3 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-06-28 16:18:04.669773822 +0100 +++ 0026-net-bnxt-fix-check-for-autoneg-enablement-in-the-PHY.patch 2022-06-28 16:18:04.074387173 +0100 @@ -1 +1 @@ -From 0f0f2fd444803aa9828125402054e004351cdffd Mon Sep 17 00:00:00 2001 +From 2730ce6ee407c866cb56e28d5b77de1d4bd4cb9f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0f0f2fd444803aa9828125402054e004351cdffd ] + @@ -22 +23,0 @@ -Cc: stable@dpdk.org