Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2549436pxb; Mon, 19 Apr 2021 08:12:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwVw8/ZH0G2jiD04CEkPEDNnUywKiy1fdgyDs0zHjwtvXPAFMJSZbt6hljHusbmkUj96CV0 X-Received: by 2002:a17:90a:f0d5:: with SMTP id fa21mr25406156pjb.59.1618845168136; Mon, 19 Apr 2021 08:12:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618845168; cv=none; d=google.com; s=arc-20160816; b=xggA5DNY1nAftKrIc5YJ52ST4le6PZUgwcJX47n42FTtww/XfMfnSKC9d+x5NWNgge wctxzqngHTRIv3vZ0s6HjBH8nbn3UEFar+q8mpnVA3MbvbovWuj0d3szxCIeDSjVzZuX kVMGaNKlPUenwZ+rAgaOZiSvXAamnfPRp1sjfQwuhtCzLn47sNas45Vyv5gi3LK77PAm f/oHjEF7ujqme3bLoFNLM3xkQR4lU1oqscQQmncSHPBX0b/ZwqHm2cEofRChrtwfn/bM RxzE02U921JEWj3wnZJDYnEixqd2cp4W3h7yND0gIdWKlz6+oGHb1lXQJS4QFrv8nDTB Vbpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/SfVlsog1TJ+7QM2II/GQoO6GC1gaRZs8XqgKAO/zEU=; b=wX9IRC0nJ9jYRoDi+CC6RM7Su48F6Wwhs6pleVB2EIGOAvdoiqQtJl73juDrMNYucP WfNsIBGFZQCQjMQJlueip33sxG7a952agx4E5+E6JXarXKL86jgeIrVa3m+exy60sFZq k+kJM3TbTU5Gz5KevdoDjD/FoCcQ6HtvXtX2/sRVodDOow9/grYms2d9XNE6DceG+YIX 7hQihDTw2ITmJa0kyMHbeq96Cl9ttt35E5L8wl/NTaeTXIq2/mi44qKLO4opqxwCzY11 yHQb076oMiJskskfFsMWcIs2iRrJN/ki8EMRS4n/01gbv1XddkjP4rjcA7MsOHPJntd7 IcMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=lNZCLYeV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s23si2052090pgl.464.2021.04.19.08.12.35; Mon, 19 Apr 2021 08:12:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=lNZCLYeV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240356AbhDSNN6 (ORCPT + 99 others); Mon, 19 Apr 2021 09:13:58 -0400 Received: from mail.kernel.org ([198.145.29.99]:45730 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239896AbhDSNLk (ORCPT ); Mon, 19 Apr 2021 09:11:40 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 756FB61360; Mon, 19 Apr 2021 13:11:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1618837869; bh=sqV40KsaWSBrmBX/siej+IC7DA/O1R8B/GxGLbUiZDI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lNZCLYeV9HyTpS/YP26phDLkcZ1f0J3OOSCcr2K+TsDajvg6VjH6DVTXKy/+Cc0vI aYC1fnTDdKdUK5DmCcVq9HUvHR11SRlXMnfZFvhyUeTquwXD9Nl0b+yrVI8vOGyaC7 A3pjDiM/l0OA2/uwB+g+Gf/WdN5mv1LBezq32Qhc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Aya Levin , Eran Ben Elisha , Saeed Mahameed Subject: [PATCH 5.11 083/122] net/mlx5e: Fix setting of RS FEC mode Date: Mon, 19 Apr 2021 15:06:03 +0200 Message-Id: <20210419130532.978230519@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210419130530.166331793@linuxfoundation.org> References: <20210419130530.166331793@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Aya Levin commit 7a320c9db3e73fb6c4f9a331087df9df18767221 upstream. Change register setting from bit number to bit mask. Fixes: b5ede32d3329 ("net/mlx5e: Add support for FEC modes based on 50G per lane links") Signed-off-by: Aya Levin Reviewed-by: Eran Ben Elisha Signed-off-by: Saeed Mahameed Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlx5/core/en/port.c | 23 +++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) --- a/drivers/net/ethernet/mellanox/mlx5/core/en/port.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/port.c @@ -387,21 +387,6 @@ enum mlx5e_fec_supported_link_mode { *_policy = MLX5_GET(pplm_reg, _buf, fec_override_admin_##link); \ } while (0) -#define MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(buf, policy, write, link) \ - do { \ - unsigned long policy_long; \ - u16 *__policy = &(policy); \ - bool _write = (write); \ - \ - policy_long = *__policy; \ - if (_write && *__policy) \ - *__policy = find_first_bit(&policy_long, \ - sizeof(policy_long) * BITS_PER_BYTE);\ - MLX5E_FEC_OVERRIDE_ADMIN_POLICY(buf, *__policy, _write, link); \ - if (!_write && *__policy) \ - *__policy = 1 << *__policy; \ - } while (0) - /* get/set FEC admin field for a given speed */ static int mlx5e_fec_admin_field(u32 *pplm, u16 *fec_policy, bool write, enum mlx5e_fec_supported_link_mode link_mode) @@ -423,16 +408,16 @@ static int mlx5e_fec_admin_field(u32 *pp MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 100g); break; case MLX5E_FEC_SUPPORTED_LINK_MODE_50G_1X: - MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 50g_1x); + MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 50g_1x); break; case MLX5E_FEC_SUPPORTED_LINK_MODE_100G_2X: - MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 100g_2x); + MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 100g_2x); break; case MLX5E_FEC_SUPPORTED_LINK_MODE_200G_4X: - MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 200g_4x); + MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 200g_4x); break; case MLX5E_FEC_SUPPORTED_LINK_MODE_400G_8X: - MLX5E_FEC_OVERRIDE_ADMIN_50G_POLICY(pplm, *fec_policy, write, 400g_8x); + MLX5E_FEC_OVERRIDE_ADMIN_POLICY(pplm, *fec_policy, write, 400g_8x); break; default: return -EINVAL;