From patchwork Mon Jan 27 09:56:13 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229644 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=ORqb2V7R; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXD6Xwvz9sPW for ; Mon, 27 Jan 2020 20:57:00 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726612AbgA0J5A (ORCPT ); Mon, 27 Jan 2020 04:57:00 -0500 Received: from mail-pf1-f195.google.com ([209.85.210.195]:40104 "EHLO mail-pf1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J47 (ORCPT ); Mon, 27 Jan 2020 04:56:59 -0500 Received: by mail-pf1-f195.google.com with SMTP id q8so4673776pfh.7 for ; Mon, 27 Jan 2020 01:56:59 -0800 (PST) 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; bh=swMX3ZhvJus2lpAmQSbywZz47exFvO5e1kSg0QE7pdo=; b=ORqb2V7RnryP0HZHr934L9LVatO+kZ4uQyKjcaREkDrbkxkzP1yqEEDZe8I7k8R/kT iDGzr8cNkLPDKIYhY5Im/uRYKWpsYOKufWMPtRmgojes8nSiqmJ5Ncq1osD6rva88Klc En3msIdsJiOzFGNAtmqGBgGu3+Lv4R5oRoyg4= 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; bh=swMX3ZhvJus2lpAmQSbywZz47exFvO5e1kSg0QE7pdo=; b=F/B+xBwinM2FFrY3ZFBrSjGdtA6jXwiNd3K7jY8yLNeiX/NC6D77WAdNMrZCbVI7G4 bpqOvpx+MSNt7BtIFOoUzawHl1IFrKmGDPzaJQgXeO7T3mXuZJBJ9TVXxScdLJg4lOF6 CRc4eZaqyRUi/7Yo5RojQ10CzIPae/7Oh/m761QN6HrPUT0g0N22Fq7HNN4sIrmw5aOy E19OFIqtC8rcfYuunQUbGo7UNi7OVjgQv+UIwk10dcgtI/ZLlZRBz3LClq+tQI5LZgko kMvjQ4K87X+hG2f/VGsoI575AesNqb4Xmuz6xuc5Gimie000xChjCn8JS2PrrQMA4QD3 8LUQ== X-Gm-Message-State: APjAAAX5OInYnNjZd2WcSCn0mGx9pECwMcNKXIKKjztQ5B/cMJF3UbjP v6ie8L1ERNWYgqHmBEjOXs9JmSW/RBw= X-Google-Smtp-Source: APXvYqydG5hL2D/tGWEXXxogLb31z31BmQ/YM7Auw3TerSxlCxbvilvv9mXCWSLJ0NQwmZ6Fo8dqtQ== X-Received: by 2002:a65:6706:: with SMTP id u6mr17830477pgf.38.1580119019107; Mon, 27 Jan 2020 01:56:59 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.56.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:56:58 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net-next v2 01/15] bnxt_en: Improve link up detection. Date: Mon, 27 Jan 2020 04:56:13 -0500 Message-Id: <1580118987-30052-2-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In bnxt_update_phy_setting(), ethtool_get_link_ksettings() and bnxt_disable_an_for_lpbk(), we inconsistently use netif_carrier_ok() to determine link. Instead, we should use bp->link_info.link_up which has the true link state. The netif_carrier state may be off during self-test and while the device is being reset and may not always reflect the true link state. By always using bp->link_info.link_up, the code is now more consistent and more correct. Some unnecessary link toggles are now prevented with this patch. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 198c69dc..4b6f746 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -9064,7 +9064,7 @@ static int bnxt_update_phy_setting(struct bnxt *bp) /* The last close may have shutdown the link, so need to call * PHY_CFG to bring it back up. */ - if (!netif_carrier_ok(bp->dev)) + if (!bp->link_info.link_up) update_link = true; if (!bnxt_eee_config_ok(bp)) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index 08d56ec..6171fa8 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -1462,15 +1462,15 @@ static int bnxt_get_link_ksettings(struct net_device *dev, ethtool_link_ksettings_add_link_mode(lk_ksettings, advertising, Autoneg); base->autoneg = AUTONEG_ENABLE; - if (link_info->phy_link_status == BNXT_LINK_LINK) + base->duplex = DUPLEX_UNKNOWN; + if (link_info->phy_link_status == BNXT_LINK_LINK) { bnxt_fw_to_ethtool_lp_adv(link_info, lk_ksettings); + if (link_info->duplex & BNXT_LINK_DUPLEX_FULL) + base->duplex = DUPLEX_FULL; + else + base->duplex = DUPLEX_HALF; + } ethtool_speed = bnxt_fw_to_ethtool_speed(link_info->link_speed); - if (!netif_carrier_ok(dev)) - base->duplex = DUPLEX_UNKNOWN; - else if (link_info->duplex & BNXT_LINK_DUPLEX_FULL) - base->duplex = DUPLEX_FULL; - else - base->duplex = DUPLEX_HALF; } else { base->autoneg = AUTONEG_DISABLE; ethtool_speed = @@ -2707,7 +2707,7 @@ static int bnxt_disable_an_for_lpbk(struct bnxt *bp, return rc; fw_speed = PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_1GB; - if (netif_carrier_ok(bp->dev)) + if (bp->link_info.link_up) fw_speed = bp->link_info.link_speed; else if (fw_advertising & BNXT_LINK_SPEED_MSK_10GB) fw_speed = PORT_PHY_CFG_REQ_FORCE_LINK_SPEED_10GB; From patchwork Mon Jan 27 09:56:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229645 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=hs0GuQuD; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXH00fgz9sPW for ; Mon, 27 Jan 2020 20:57:02 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727141AbgA0J5C (ORCPT ); Mon, 27 Jan 2020 04:57:02 -0500 Received: from mail-pj1-f66.google.com ([209.85.216.66]:36263 "EHLO mail-pj1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5B (ORCPT ); Mon, 27 Jan 2020 04:57:01 -0500 Received: by mail-pj1-f66.google.com with SMTP id gv17so2903706pjb.1 for ; Mon, 27 Jan 2020 01:57:01 -0800 (PST) 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; bh=d+pdlhH3HGuHqtnhsjcC54uu2GGuzCxFPbPH3vA9Fzs=; b=hs0GuQuDarFQ1ydQx4pU7amSBiQAXJ9CIcCeLxmZ1oCnbAS8JENvhOthPzzO1lESAI M142S9jyfG8QaMIEQL+452RAOYIn+HczefM9UttGyyXia2u4gQhOSLHQhUvFTe1BlzBe ahZBFH5QbkZlcYQKGRcJ56s10zIh6m2Golpug= 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; bh=d+pdlhH3HGuHqtnhsjcC54uu2GGuzCxFPbPH3vA9Fzs=; b=RTIRpQcvuR8asnb5emrbsD1p6qpsSFBw82r6ZeKiSDXgpptRo1edD+ZCYbgLiH/xim yv9MJu0fgQZyllmvUoXvjTe/o/2H823W8rD6s9XVAJNKFSK+ozDUYbc2Jljbn9reS2GD Zbthtu31TweGTfufA5O37HHtubU715wwKbyqpVlhScaqlowVWfZjxK2590HSoBaKNTt+ PpFbUPD8edLdBNyzTOnjATXzB5lHpeB/9hW6VCt1mxzBOmgo/cV9n5nIfOdHOhSc+kLt VvvdGvE/vdzZtX0El4myWQxc+5DZ6E0stRCRfHYo7/9qDKq+F8J+UHwU0xVyApoIq0PG Tvpg== X-Gm-Message-State: APjAAAU8VUY/R/2qjWSKFedgVLeyXBNTv0UGHVyCBXSjtIuM9I109+jo lyeSqkCRQFoTvfGinSjYw5oiFI9xvNk= X-Google-Smtp-Source: APXvYqzvqKNRhu7toEytz6XLrrCDRpO9VbDZjO7rON73Ni5CCcqAAByivDot+GoyMeqQKKLvLc7LpA== X-Received: by 2002:a17:90a:9b88:: with SMTP id g8mr13570659pjp.72.1580119021180; Mon, 27 Jan 2020 01:57:01 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.56.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:00 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net-next v2 02/15] bnxt_en: Improve bnxt_probe_phy(). Date: Mon, 27 Jan 2020 04:56:14 -0500 Message-Id: <1580118987-30052-3-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org If the 2nd parameter fw_dflt is not set, we are calling bnxt_probe_phy() after the firmware has reset. There is no need to query the current PHY settings from firmware as these settings may be different from the ethtool settings that the driver will re-establish later. So return earlier in bnxt_probe_phy() to save one firmware call. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 4b6f746..4d790bc 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -11471,6 +11471,9 @@ static int bnxt_probe_phy(struct bnxt *bp, bool fw_dflt) rc); return rc; } + if (!fw_dflt) + return 0; + rc = bnxt_update_link(bp, false); if (rc) { netdev_err(bp->dev, "Probe phy can't update link (rc: %x)\n", @@ -11484,9 +11487,6 @@ static int bnxt_probe_phy(struct bnxt *bp, bool fw_dflt) if (link_info->auto_link_speeds && !link_info->support_auto_speeds) link_info->support_auto_speeds = link_info->support_speeds; - if (!fw_dflt) - return 0; - bnxt_init_ethtool_link_settings(bp); return 0; } From patchwork Mon Jan 27 09:56:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229646 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=StvSNnbv; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXK0KWCz9sPW for ; Mon, 27 Jan 2020 20:57:05 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727680AbgA0J5E (ORCPT ); Mon, 27 Jan 2020 04:57:04 -0500 Received: from mail-pf1-f194.google.com ([209.85.210.194]:46649 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5D (ORCPT ); Mon, 27 Jan 2020 04:57:03 -0500 Received: by mail-pf1-f194.google.com with SMTP id k29so2164941pfp.13 for ; Mon, 27 Jan 2020 01:57:03 -0800 (PST) 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; bh=XTZ9jYmARcxcUqNSgJ92mqSuSKing5nfHNpX2lOwrxo=; b=StvSNnbvJ/7KriZb5+l+s9CwiBBULYb4iucfNM9TVkBN/DqR6GUKXFCZVF+6M8WjVq KgFykfD8fjrwiYulTSHR8azQSr8gxjR6Xy6D/FrfeNzNOi61J8ZH2E1y+IWQwzyrLd/h a8sdyHNhNLe9KPWoeymUbuobiTAVZxd5EZFss= 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; bh=XTZ9jYmARcxcUqNSgJ92mqSuSKing5nfHNpX2lOwrxo=; b=ZzCU/e3D4BTXu5YxzsMAmaPny2lGmI5Vge1hcpJaL3srpMznEeroAepYi3Jw4+e04W evozR1JAfGWrNsz1G30Wnx2YEzBcDPkc9Lywz8zZXfBmWSUExLMFmiNe1N87VGP2t6JS iHD5Jy5EIUp7w26+t68rW1OTmrBTYZV6v98bxwUn9QL68oAKzy7gzvES8+ARzeaVswar RHIuycMIYBya2p9he2MTxq6+P9YeOydh1T/Ib+Mg0lnK1mRHcEtZyHAnrAh/o93wnkG0 LE2GKHTAYQhQ5PF8Ka9sEFORIGx9GVk4EGuINA4y+rWYRUstHxD2Dkvba+ttoNApJxaa CH3A== X-Gm-Message-State: APjAAAVR8PwY5s0GqiNNMLIlgqdUFHvpwInyJOj/PNImmAWak1LUqH4m ZzC2VTzDxAU8D/Dsw/cjGAr39w== X-Google-Smtp-Source: APXvYqzuvwe/q2iTJut0NxQ/kLfb5RbF6/43tqyPI1GikVBJ5exC35vpmHy0nuXGB1OpcmglnCm3ag== X-Received: by 2002:aa7:8007:: with SMTP id j7mr15527362pfi.71.1580119023187; Mon, 27 Jan 2020 01:57:03 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:02 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net-next v2 03/15] bnxt_en: Remove the setting of dev_port. Date: Mon, 27 Jan 2020 04:56:15 -0500 Message-Id: <1580118987-30052-4-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The dev_port is meant to distinguish the network ports belonging to the same PCI function. Our devices only have one network port associated with each PCI function and so we should not set it for correctness. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 4d790bc..6c0c926 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -6998,7 +6998,6 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) pf->fw_fid = le16_to_cpu(resp->fid); pf->port_id = le16_to_cpu(resp->port_id); - bp->dev->dev_port = pf->port_id; memcpy(pf->mac_addr, resp->mac_address, ETH_ALEN); pf->first_vf_id = le16_to_cpu(resp->first_vf_id); pf->max_vfs = le16_to_cpu(resp->max_vfs); From patchwork Mon Jan 27 09:56:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229647 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=G54T9nqT; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXM0M5Cz9sPW for ; Mon, 27 Jan 2020 20:57:07 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727966AbgA0J5G (ORCPT ); Mon, 27 Jan 2020 04:57:06 -0500 Received: from mail-pj1-f66.google.com ([209.85.216.66]:36267 "EHLO mail-pj1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5F (ORCPT ); Mon, 27 Jan 2020 04:57:05 -0500 Received: by mail-pj1-f66.google.com with SMTP id gv17so2903768pjb.1 for ; Mon, 27 Jan 2020 01:57:05 -0800 (PST) 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; bh=HDJehLxTt54CeUJRFPv2azzI91Oqm3K+fQ7d34Qz9l8=; b=G54T9nqTfVF3JXwtjAmhdRafyu4+ie7Giy1FTmzyG2T60D5+IDo6L+z59fMUdn75ll ODYWTHJrBcZlqaGqfSOBPOMYD0Dbb0EcQjmWMTHWUCKC/0HrRnXtJ8cf8nq4HuA9F4Ed ia2kDgzaw46dS3vvd3nsC407deIiLCB9xzCnw= 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; bh=HDJehLxTt54CeUJRFPv2azzI91Oqm3K+fQ7d34Qz9l8=; b=K9aLyYAce9LWSoVb8x7G6Z5oZn8NVCRHovmkdVCWaECEFI2/4yJqyxcQ+oZzbQEd2j PC760/IcO99zyibJ2uGaNScvawQy3DWnDEy8zRK8idQwSPw8jRiME0hUmzHPjUVoCL2W bJDqhfQBxD/7PkzEc6qjZ6ZxmHIxbsdQyLN3hzqHPhChxdDMwG2DzoWrxZgM0ijuVF/J e6mkv1zhek0hlqLkw4H4io5MSRWWD7CgawO7l76wvglH6wX1BYZ53SzpZP5L0YBm5Nbe hjr4iaf2Kz0bTfw0ZGqsbwRhPznEIkpVgaLTxxLWPbgVTXA7EkdvZSZFhUwLlihFP5gL wXcg== X-Gm-Message-State: APjAAAXsLNye7PCclJagJM1YPT8vIZGupIxWQ/DvAnnsIzmpffBYsXRL yJcf/gFDQyYXmeRHqFI/dCUJUqEZC2I= X-Google-Smtp-Source: APXvYqxqxXv6MnrppmtKBIwp5K8U+Ix1yeE21zGMZAwl8QCkirD7HPYQS4o0Fvqx6+bVbtsPf1CDlg== X-Received: by 2002:a17:90a:fb41:: with SMTP id iq1mr1485120pjb.89.1580119025131; Mon, 27 Jan 2020 01:57:05 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:04 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net-next v2 04/15] bnxt_en: Support UDP RSS hashing on 575XX chips. Date: Mon, 27 Jan 2020 04:56:16 -0500 Message-Id: <1580118987-30052-5-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 575XX (P5) chips have the same UDP RSS hashing capability as P4 chips, so we can enable it on P5 chips. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 6c0c926..fb4a65f 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -10568,7 +10568,7 @@ static void bnxt_set_dflt_rss_hash_type(struct bnxt *bp) VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV4 | VNIC_RSS_CFG_REQ_HASH_TYPE_IPV6 | VNIC_RSS_CFG_REQ_HASH_TYPE_TCP_IPV6; - if (BNXT_CHIP_P4(bp) && bp->hwrm_spec_code >= 0x10501) { + if (BNXT_CHIP_P4_PLUS(bp) && bp->hwrm_spec_code >= 0x10501) { bp->flags |= BNXT_FLAG_UDP_RSS_CAP; bp->rss_hash_cfg |= VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV4 | VNIC_RSS_CFG_REQ_HASH_TYPE_UDP_IPV6; From patchwork Mon Jan 27 09:56:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229648 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=XNeAhcIu; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXP1LxCz9sPW for ; Mon, 27 Jan 2020 20:57:09 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728235AbgA0J5I (ORCPT ); Mon, 27 Jan 2020 04:57:08 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:41515 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5H (ORCPT ); Mon, 27 Jan 2020 04:57:07 -0500 Received: by mail-pf1-f196.google.com with SMTP id w62so4666112pfw.8 for ; Mon, 27 Jan 2020 01:57:07 -0800 (PST) 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; bh=th/aVVhQNvMbxhvlv5IN61IX1K2lXZ94hFaZRwDbL08=; b=XNeAhcIutB2PJ6BeZBMP8zHcjAOLUM9eA4ig8FpeAqEd83Y2RA6NCLFDWa2G192O0e 07W95nec7lQz9KjFh6A51GiOlRtuNCE17u2nzXxOKveSNiGNQ3vlvtQ4HiikQHdkFktN 8XIweSPLXNXmQEk2vg1VuuSU8Qwt+prxtz6Nc= 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; bh=th/aVVhQNvMbxhvlv5IN61IX1K2lXZ94hFaZRwDbL08=; b=gxEStuFeKVPDEBenktLXffK94l4IfoSWxfDyb2sL3SmVLmSu/SApbmfr08xEieoKq2 0RaMUcImtK60KKWhTCFH8TMJQqMcMGdt7TLeHPBDrz/GZOGL8mACqG4no5QIUmpvE0Di UaD7PFqQc1pQyMvkh7umBAXd7YPokYqeAGIQwhrmklwkr/BNrSn4BQogIgmiu6GIPmui t8yAx6EvmEZEyPkqolO1UxXOCEKa07OqmbmKclVPHti47msnUKPRy2rNfHg7Q2nqGk8K hDMbKZbv1+BbxAdJbdP1szxGyksE7Q6mpFOU6fLqHUuQnHsWTgdVgMZ1MX6551RTlry3 xziw== X-Gm-Message-State: APjAAAUmgQRlwy9l9B45TpCK2LY8tVpctfoCS2cKn25Fg9p6y15Bf97+ 9TSNejJk+XntSsNd85FiTK3LaIIVx4w= X-Google-Smtp-Source: APXvYqwUT3rMfwdSEpTXiU80XOL7EFfuUusfbsWejqU8x3JOLepfNQ4BFU1ICUD+sqJ0opTuHkyIng== X-Received: by 2002:aa7:8544:: with SMTP id y4mr15831197pfn.100.1580119027121; Mon, 27 Jan 2020 01:57:07 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:06 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net-next v2 05/15] bnxt_en: Do not accept fragments for aRFS flow steering. Date: Mon, 27 Jan 2020 04:56:17 -0500 Message-Id: <1580118987-30052-6-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In bnxt_rx_flow_steer(), if the dissected packet is a fragment, do not proceed to create the ntuple filter and return error instead. Otherwise we would create a filter with 0 source and destination ports because the dissected ports would not be available for fragments. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index fb4a65f..fb67e66 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -11100,6 +11100,7 @@ static int bnxt_rx_flow_steer(struct net_device *dev, const struct sk_buff *skb, struct ethhdr *eth = (struct ethhdr *)skb_mac_header(skb); int rc = 0, idx, bit_id, l2_idx = 0; struct hlist_head *head; + u32 flags; if (!ether_addr_equal(dev->dev_addr, eth->h_dest)) { struct bnxt_vnic_info *vnic = &bp->vnic_info[0]; @@ -11139,8 +11140,9 @@ static int bnxt_rx_flow_steer(struct net_device *dev, const struct sk_buff *skb, rc = -EPROTONOSUPPORT; goto err_free; } - if ((fkeys->control.flags & FLOW_DIS_ENCAPSULATION) && - bp->hwrm_spec_code < 0x10601) { + flags = fkeys->control.flags; + if (((flags & FLOW_DIS_ENCAPSULATION) && + bp->hwrm_spec_code < 0x10601) || (flags & FLOW_DIS_IS_FRAGMENT)) { rc = -EPROTONOSUPPORT; goto err_free; } From patchwork Mon Jan 27 09:56:18 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229649 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=OMSwdse/; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXR2ltrz9sPW for ; Mon, 27 Jan 2020 20:57:11 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728992AbgA0J5K (ORCPT ); Mon, 27 Jan 2020 04:57:10 -0500 Received: from mail-pg1-f196.google.com ([209.85.215.196]:41277 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5K (ORCPT ); Mon, 27 Jan 2020 04:57:10 -0500 Received: by mail-pg1-f196.google.com with SMTP id x8so4887132pgk.8 for ; Mon, 27 Jan 2020 01:57:09 -0800 (PST) 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; bh=AE4i9DBZawLRA4+hTy9ux3mggfiCFx9jNJrS3dBXSuA=; b=OMSwdse/5tJHDQjfmy1acwSweIe/j3RiQ2o/Ga2Ftke0AhvHhUdU0xy1KKpLGbBhee 0UI+sH+PJE7xu2fAjc+9q0R8I+0FB+l5O6AIzio22++9E2V57f5of1HIT01eC7rXrxfJ Gatmm/qh4Kk2vk6njrjSslnhqpZm8ftltDFn0= 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; bh=AE4i9DBZawLRA4+hTy9ux3mggfiCFx9jNJrS3dBXSuA=; b=p5pEKx3570bLk3GbRaF1si+aDQGDqIiv3b3+0kWumhgZgtqRjkJw3yicsdhL29dzYo 6BjFixkIWEPXJRqVv5sqXFUxuXwhWlQy69ztcpFMqeJyFQRzhcta3thUlxh1KpLC5HsX i/wDHHk6cbMINF4Mb1ifLw9/ilFDYFSXpXg8hqDjluwIh040QeNfDMNX38vLn7J27srj /iiDu2l3mMTRNL6tIi8nHcRTyijnWWAEyNMk6aRt5OnJQw/ZakjmBFFeLWwn4VGt6ins c2EYWQ1cptK76uKHEZvF5Z3z5oI6u5kS3DVq9e7QgopAX6R5FKpAjc5XI/xs9Sqi5NZC aRAw== X-Gm-Message-State: APjAAAUtqkvJwBgi+H1k6HW0W8Zpog6Qai/M97UlsWUsU8x0uE93ZRG5 lupZy3kVFuShjAgobpD/UVrjo3Zjzn8= X-Google-Smtp-Source: APXvYqwVnEfBsA/O5Moc9rYGvF8IzQWUOzjIzKwB0kmwlVAfWIz09LQDqjBMNj1j3reB5jbJJ8091w== X-Received: by 2002:aa7:968c:: with SMTP id f12mr2818092pfk.235.1580119029307; Mon, 27 Jan 2020 01:57:09 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:08 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Pavan Chebbi Subject: [PATCH net-next v2 06/15] bnxt_en: Periodically check and remove aged-out ntuple filters Date: Mon, 27 Jan 2020 04:56:18 -0500 Message-Id: <1580118987-30052-7-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Pavan Chebbi Currently the only time we check and remove expired filters is when we are inserting new filters. Improving the aRFS expiry handling by adding code to do the above work periodically. Signed-off-by: Pavan Chebbi Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index fb67e66..7d53672 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -10040,6 +10040,13 @@ static void bnxt_timer(struct timer_list *t) bnxt_queue_sp_work(bp); } +#ifdef CONFIG_RFS_ACCEL + if ((bp->flags & BNXT_FLAG_RFS) && bp->ntp_fltr_count) { + set_bit(BNXT_RX_NTP_FLTR_SP_EVENT, &bp->sp_event); + bnxt_queue_sp_work(bp); + } +#endif /*CONFIG_RFS_ACCEL*/ + if (bp->link_info.phy_retry) { if (time_after(jiffies, bp->link_info.phy_retry_expires)) { bp->link_info.phy_retry = false; From patchwork Mon Jan 27 09:56:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229650 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=NVHmfd9T; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXT4C3Pz9sPW for ; Mon, 27 Jan 2020 20:57:13 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729050AbgA0J5M (ORCPT ); Mon, 27 Jan 2020 04:57:12 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:41521 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5M (ORCPT ); Mon, 27 Jan 2020 04:57:12 -0500 Received: by mail-pf1-f196.google.com with SMTP id w62so4666191pfw.8 for ; Mon, 27 Jan 2020 01:57:11 -0800 (PST) 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; bh=5VIfIibANwl5rfEFMKkcvCiSoUPWXBV6pjQ2Bk4kGd4=; b=NVHmfd9TVOk66LcHu3MZYApuERmjPRPVPig4sJLa3nSyWtIVWOfsJmAwfmynfvgGni OIiyNRr0Az+Uqwrj8lMA3Qd3pIRWgBlAASWepJqmPufCtAIvchxzBu6kyMxT+w9L9UT2 MShve3cUeW0wXRcHcIw3xFSj2XnyKjP91Gpew= 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; bh=5VIfIibANwl5rfEFMKkcvCiSoUPWXBV6pjQ2Bk4kGd4=; b=PYi0HjZIr2nU9prs+OI/YJbKMXsg1b0ovL9KVpLh/xfwxpkqC3in3afGRoQzKsDYrZ 76v3SjeJo1Fyzd96PaiIM4d/ha/GwNY6ewg2SsD64HLPRHD87YeX4POlDBfdReCBRnyc yk9f+BBvmX6o8tfGp+TAgNswtNfchuem7Ccz58Sl/OC+/mECSCn5OmoMGcBlrOnZX961 SIIDWaOg2XImHEjXryUxYmpypI5fb4mUxGs9btNveIVYpbQqbO97+jSOh8FScQWRxXIr R6WhafZz0xOBeWsyLEYXPLNh4Fnf+ldDhuXWER9tv3HyvkevOYM5vNAs/h0EIHalWFrs QutA== X-Gm-Message-State: APjAAAWB+1c4xOwwoq7ggAbMhKqWDyzsfpNGtTmAJqMHmaxqBDSV2grl GB26pY1sYumtA5UgFcoIakj/8A== X-Google-Smtp-Source: APXvYqyR/eM7XVGe1hy5oW29c/+r6/07iVYLCgR20kQ3e7XcMegMBFvmwprOQFjgqSfnKm6MuO9keQ== X-Received: by 2002:a65:66d7:: with SMTP id c23mr19258837pgw.40.1580119031320; Mon, 27 Jan 2020 01:57:11 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:10 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org Subject: [PATCH net-next v2 07/15] bnxt_en: Disable workaround for lost interrupts on 575XX B0 and newer chips. Date: Mon, 27 Jan 2020 04:56:19 -0500 Message-Id: <1580118987-30052-8-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The hardware bug has been fixed on B0 and newer chips, so disable the workaround on these chips. Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +++- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 7d53672..676f4da 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -7288,6 +7288,7 @@ static int bnxt_hwrm_ver_get(struct bnxt *bp) bp->hwrm_max_ext_req_len = HWRM_MAX_REQ_LEN; bp->chip_num = le16_to_cpu(resp->chip_num); + bp->chip_rev = resp->chip_rev; if (bp->chip_num == CHIP_NUM_58700 && !resp->chip_rev && !resp->chip_metal) bp->flags |= BNXT_FLAG_CHIP_NITRO_A0; @@ -10057,7 +10058,8 @@ static void bnxt_timer(struct timer_list *t) } } - if ((bp->flags & BNXT_FLAG_CHIP_P5) && netif_carrier_ok(dev)) { + if ((bp->flags & BNXT_FLAG_CHIP_P5) && !bp->chip_rev && + netif_carrier_ok(dev)) { set_bit(BNXT_RING_COAL_NOW_SP_EVENT, &bp->sp_event); bnxt_queue_sp_work(bp); } diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index f143354..cda434b 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -1457,6 +1457,8 @@ struct bnxt { #define CHIP_NUM_58804 0xd804 #define CHIP_NUM_58808 0xd808 + u8 chip_rev; + #define BNXT_CHIP_NUM_5730X(chip_num) \ ((chip_num) >= CHIP_NUM_57301 && \ (chip_num) <= CHIP_NUM_57304) From patchwork Mon Jan 27 09:56:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229651 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=RIfLCbqB; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXX4nf8z9sPW for ; Mon, 27 Jan 2020 20:57:16 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729121AbgA0J5P (ORCPT ); Mon, 27 Jan 2020 04:57:15 -0500 Received: from mail-pg1-f195.google.com ([209.85.215.195]:45164 "EHLO mail-pg1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5O (ORCPT ); Mon, 27 Jan 2020 04:57:14 -0500 Received: by mail-pg1-f195.google.com with SMTP id b9so4874791pgk.12 for ; Mon, 27 Jan 2020 01:57:13 -0800 (PST) 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; bh=VlCCvFWaSKzHzjSHhzAdK/BsulE2V9JYtwdqV/cpcR0=; b=RIfLCbqB7iqRTfK6DV2c42sNFuiHrfPwVgnEHHRIyb/g7KTny1c6tKfTGIGEFXGcTk Jw8OlVHrbiVyj4bEpI0wsarCUZ7OO16JQJT8ouS46TA9vlx0X0tkXTr9zhb7MlFTdb89 YMg4m8bVXM+Xj8HKgGKAJFVELCvb+oTyNfwDo= 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; bh=VlCCvFWaSKzHzjSHhzAdK/BsulE2V9JYtwdqV/cpcR0=; b=CYcPZJDbBNbKJgbrUa8+DB+7i1Mh/RmPefKx10SlpnzlURfVUkFuv4wTIdGyaQ5OyO CYGr4G07gotVh7OhbGRrC5lZ++aruY5UmvbfGu8Ti/b4B1dqZ0ncZ0tiypw6p3dqI0qv fipvcLnw7fvND0tELHCyP2rIfCfxpnf2of0PGfkQYAEjXThV0IvN7xw4qSGgcwos9Lz/ utIRG35357MI+D7HPDX9Pt8qAdRCq6XmYATJa5JZFFU5dNZ3r+UPtbziKc3lFsHuUTT5 qlsIqSbPYPIPRhYPr616nFzlDflM6RhZXfUWydy17he/X+l62BCWQ1EWV7aitn15rQn1 uXXA== X-Gm-Message-State: APjAAAU0dLW8Pq6fQJjKAq7TWhDLti67K6WwOnAuC+HQ+32iwlwXplZb Xv+/jJ6nvqEdV3UU8+Jk2lN6ddXO7xc= X-Google-Smtp-Source: APXvYqxxITDCE35iH/g37McHR/EJAX/khp9S+971NsvEktLDAai2IuCUEkOYzCFYF8YrAgBR4g7bxw== X-Received: by 2002:a65:488f:: with SMTP id n15mr19703863pgs.61.1580119033511; Mon, 27 Jan 2020 01:57:13 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:13 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam Subject: [PATCH net-next v2 08/15] bnxt_en: Refactor bnxt_dl_register() Date: Mon, 27 Jan 2020 04:56:20 -0500 Message-Id: <1580118987-30052-9-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vasundhara Volam Define bnxt_dl_params_register() and bnxt_dl_params_unregister() functions and move params register/unregister code to these newly defined functions. This patch is in preparation to register devlink irrespective of firmware spec. version in the next patch. Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 60 ++++++++++++++--------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index 0c3d224..9253eed 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -485,6 +485,38 @@ static const struct devlink_param bnxt_dl_params[] = { static const struct devlink_param bnxt_dl_port_params[] = { }; +static int bnxt_dl_params_register(struct bnxt *bp) +{ + int rc; + + rc = devlink_params_register(bp->dl, bnxt_dl_params, + ARRAY_SIZE(bnxt_dl_params)); + if (rc) { + netdev_warn(bp->dev, "devlink_params_register failed. rc=%d", + rc); + return rc; + } + rc = devlink_port_params_register(&bp->dl_port, bnxt_dl_port_params, + ARRAY_SIZE(bnxt_dl_port_params)); + if (rc) { + netdev_err(bp->dev, "devlink_port_params_register failed"); + devlink_params_unregister(bp->dl, bnxt_dl_params, + ARRAY_SIZE(bnxt_dl_params)); + return rc; + } + devlink_params_publish(bp->dl); + + return 0; +} + +static void bnxt_dl_params_unregister(struct bnxt *bp) +{ + devlink_params_unregister(bp->dl, bnxt_dl_params, + ARRAY_SIZE(bnxt_dl_params)); + devlink_port_params_unregister(&bp->dl_port, bnxt_dl_port_params, + ARRAY_SIZE(bnxt_dl_port_params)); +} + int bnxt_dl_register(struct bnxt *bp) { struct devlink *dl; @@ -520,40 +552,24 @@ int bnxt_dl_register(struct bnxt *bp) if (!BNXT_PF(bp)) return 0; - rc = devlink_params_register(dl, bnxt_dl_params, - ARRAY_SIZE(bnxt_dl_params)); - if (rc) { - netdev_warn(bp->dev, "devlink_params_register failed. rc=%d", - rc); - goto err_dl_unreg; - } - devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, bp->pf.port_id, false, 0, bp->switch_id, sizeof(bp->switch_id)); rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); if (rc) { netdev_err(bp->dev, "devlink_port_register failed"); - goto err_dl_param_unreg; + goto err_dl_unreg; } devlink_port_type_eth_set(&bp->dl_port, bp->dev); - rc = devlink_port_params_register(&bp->dl_port, bnxt_dl_port_params, - ARRAY_SIZE(bnxt_dl_port_params)); - if (rc) { - netdev_err(bp->dev, "devlink_port_params_register failed"); + rc = bnxt_dl_params_register(bp); + if (rc) goto err_dl_port_unreg; - } - - devlink_params_publish(dl); return 0; err_dl_port_unreg: devlink_port_unregister(&bp->dl_port); -err_dl_param_unreg: - devlink_params_unregister(dl, bnxt_dl_params, - ARRAY_SIZE(bnxt_dl_params)); err_dl_unreg: devlink_unregister(dl); err_dl_free: @@ -570,12 +586,8 @@ void bnxt_dl_unregister(struct bnxt *bp) return; if (BNXT_PF(bp)) { - devlink_port_params_unregister(&bp->dl_port, - bnxt_dl_port_params, - ARRAY_SIZE(bnxt_dl_port_params)); + bnxt_dl_params_unregister(bp); devlink_port_unregister(&bp->dl_port); - devlink_params_unregister(dl, bnxt_dl_params, - ARRAY_SIZE(bnxt_dl_params)); } devlink_unregister(dl); devlink_free(dl); From patchwork Mon Jan 27 09:56:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229652 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=dEb1hkZh; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXY67YVz9sPW for ; Mon, 27 Jan 2020 20:57:17 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729191AbgA0J5R (ORCPT ); Mon, 27 Jan 2020 04:57:17 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:46493 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5Q (ORCPT ); Mon, 27 Jan 2020 04:57:16 -0500 Received: by mail-pl1-f194.google.com with SMTP id y8so3548918pll.13 for ; Mon, 27 Jan 2020 01:57:16 -0800 (PST) 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; bh=vbQKlghpuXjEUlIa1KsSW2iEIeBU1NJw+JifyZBOcIU=; b=dEb1hkZhDJ2nrVtWcCpwKYHHREKxLtdPlYmzKtQajGlhsxKzkALAB5OyZM+AjvDcqh X4/8dfV4XXEFARiBK8LfdFUrnP760Du8wZtNjHD9tJ4CjCYPbA9r+OSKkkHUXi7kVeG+ laMWcRTmfeBLumvayuYTBbhSJwL+J0mF9LIzs= 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; bh=vbQKlghpuXjEUlIa1KsSW2iEIeBU1NJw+JifyZBOcIU=; b=CngvgZDgbR+SwYRAsZubNbDSD82O7I6hIFHaEASV6VRnPXo/MvM/CfwGn+liJ//QoD ZYw2d6dQL4g4HpdqoHH1ALu9auiUbxUiQuphkf4kb208GxSDTcAnAiBqCFBWmCpJX3nT /n7kUlGOaz5KTn2RgjnQDj7Lz6VMXSp7yG0ANO4vXNr0WBKAEAfAr4U1poDJjUqfuF3B Z9RBhO+ApLOcoXPDtiMxjqTKm6wR9QOFNSZBuTxt6E6A2BLH6CNrxQuI0xzy5rBp5zxj K3bpcGyAk7JcKdlGpbRcjFtDOXv2qabEkQw4orDcIujic5R5hX857arGdhcXxPOXn6jj DGkQ== X-Gm-Message-State: APjAAAU9LARQRZWeUXknMh+D6WMy5ZZZIICxIOmLFpccmGmuxS7YnWCA K2Oo3xy8JONe1PBOArg6ywtoDw== X-Google-Smtp-Source: APXvYqxnhiMJvFMuduP1rLs/zddVkmJo7CJrUyicWkeB8V0FvZN6fVgN+Q5+2RwrypUM61+aB8RH9w== X-Received: by 2002:a17:902:8c8b:: with SMTP id t11mr15717641plo.319.1580119035740; Mon, 27 Jan 2020 01:57:15 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:15 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam Subject: [PATCH net-next v2 09/15] bnxt_en: Register devlink irrespective of firmware spec version Date: Mon, 27 Jan 2020 04:56:21 -0500 Message-Id: <1580118987-30052-10-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vasundhara Volam This will allow to register for devlink port and use port features. Also register params only if firmware spec version is at least 0x10600 which will support reading/setting numbered variables in NVRAM. Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index 9253eed..a8cdfbdd 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -489,6 +489,9 @@ static int bnxt_dl_params_register(struct bnxt *bp) { int rc; + if (bp->hwrm_spec_code < 0x10600) + return 0; + rc = devlink_params_register(bp->dl, bnxt_dl_params, ARRAY_SIZE(bnxt_dl_params)); if (rc) { @@ -511,6 +514,9 @@ static int bnxt_dl_params_register(struct bnxt *bp) static void bnxt_dl_params_unregister(struct bnxt *bp) { + if (bp->hwrm_spec_code < 0x10600) + return; + devlink_params_unregister(bp->dl, bnxt_dl_params, ARRAY_SIZE(bnxt_dl_params)); devlink_port_params_unregister(&bp->dl_port, bnxt_dl_port_params, @@ -522,11 +528,6 @@ int bnxt_dl_register(struct bnxt *bp) struct devlink *dl; int rc; - if (bp->hwrm_spec_code < 0x10600) { - netdev_warn(bp->dev, "Firmware does not support NVM params"); - return -ENOTSUPP; - } - if (BNXT_PF(bp)) dl = devlink_alloc(&bnxt_dl_ops, sizeof(struct bnxt_dl)); else From patchwork Mon Jan 27 09:56:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229653 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=VaCrHUOw; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXc3HZ2z9sPW for ; Mon, 27 Jan 2020 20:57:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729255AbgA0J5T (ORCPT ); Mon, 27 Jan 2020 04:57:19 -0500 Received: from mail-pl1-f196.google.com ([209.85.214.196]:46497 "EHLO mail-pl1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725807AbgA0J5S (ORCPT ); Mon, 27 Jan 2020 04:57:18 -0500 Received: by mail-pl1-f196.google.com with SMTP id y8so3548949pll.13 for ; Mon, 27 Jan 2020 01:57:18 -0800 (PST) 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; bh=t3ltzevlkl9BqbgNXchhp8oFpYeu3ZUTIFGc0Rvwg6c=; b=VaCrHUOwz9QzxUXLg3itOLJTKRmUyMK6Qa3UVFkYKc1WqQecOM/DhQsFX+4F8FlVzS xNNnH4pQYcOAHYvpXRZk3wU6Kw6cVNF8Swd2TEOYs6OS0fDIN0u75bwrn2iy8VKqz6zy WkAL6Hi7ubvokhQTLHEatXkMmWHK1yfw/21dQ= 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; bh=t3ltzevlkl9BqbgNXchhp8oFpYeu3ZUTIFGc0Rvwg6c=; b=l88mdZP7WJgupmQA8wJdOAqh30GR6o9m9maYYWl+G/Yk1xLl960/iA6MnFsNfdjDF2 fHyL58br02MPfiOFFHTz/5ApfJq7CLN9dBAmdge3+s1toqpNu0LmTMmi52073ALiMIkk 7xGt5T6Cx7kRXLEQdNW4rPMHFb3939CCyUS2D4jl33Elqq0ZW4HFiwGnJwwQa8HHHgk7 wd5tNW9JvlCgenvDLXOdHdh8y95p4gljT5Q6xx8cYS2pqM+pmpiA2XKtszOyf2gTnhQc 0yzptSoDyG3jvdJiTIr5bu+dpFjM5urXXvTkwllSxLCtWymnCY9kraP/La5p0JoLdi29 77Iw== X-Gm-Message-State: APjAAAUHcLfudnzO7mJYXuMzhI8rQ/g4h/UwyokJjBPH/DVha/Giqulm F4Zpuoy82oNYW+ZxtgRGB7/F8w== X-Google-Smtp-Source: APXvYqxWVy1QldNXm1GfzGyT2fPh8C3OwcFM84k1w992S5nBYrO5pcByquOm4iPu0/MIbyiaMmYnrw== X-Received: by 2002:a17:902:8303:: with SMTP id bd3mr17272343plb.171.1580119038171; Mon, 27 Jan 2020 01:57:18 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:17 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam , Jiri Pirko Subject: [PATCH net-next v2 10/15] bnxt_en: Move devlink_register before registering netdev Date: Mon, 27 Jan 2020 04:56:22 -0500 Message-Id: <1580118987-30052-11-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vasundhara Volam Latest kernels get the phys_port_name via devlink, if ndo_get_phys_port_name is not defined. To provide the phys_port_name correctly, register devlink before registering netdev. Also call devlink_port_type_eth_set() after registering netdev as devlink port updates the netdev structure and notifies user. Cc: Jiri Pirko Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 12 ++++++++---- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 1 - 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 676f4da..8579415 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -11445,9 +11445,9 @@ static void bnxt_remove_one(struct pci_dev *pdev) bnxt_sriov_disable(bp); bnxt_dl_fw_reporters_destroy(bp, true); - bnxt_dl_unregister(bp); pci_disable_pcie_error_reporting(pdev); unregister_netdev(dev); + bnxt_dl_unregister(bp); bnxt_shutdown_tc(bp); bnxt_cancel_sp_work(bp); bp->sp_event = 0; @@ -11917,11 +11917,14 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) bnxt_init_tc(bp); } + bnxt_dl_register(bp); + rc = register_netdev(dev); if (rc) - goto init_err_cleanup_tc; + goto init_err_cleanup; - bnxt_dl_register(bp); + if (BNXT_PF(bp)) + devlink_port_type_eth_set(&bp->dl_port, bp->dev); bnxt_dl_fw_reporters_create(bp); netdev_info(dev, "%s found at mem %lx, node addr %pM\n", @@ -11931,7 +11934,8 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) return 0; -init_err_cleanup_tc: +init_err_cleanup: + bnxt_dl_unregister(bp); bnxt_shutdown_tc(bp); bnxt_clear_int_mode(bp); diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index a8cdfbdd..f2d9cd6 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -561,7 +561,6 @@ int bnxt_dl_register(struct bnxt *bp) netdev_err(bp->dev, "devlink_port_register failed"); goto err_dl_unreg; } - devlink_port_type_eth_set(&bp->dl_port, bp->dev); rc = bnxt_dl_params_register(bp); if (rc) From patchwork Mon Jan 27 09:56:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229654 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=X3/ZyftS; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXg16FDz9sPW for ; Mon, 27 Jan 2020 20:57:23 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729637AbgA0J5W (ORCPT ); Mon, 27 Jan 2020 04:57:22 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:39201 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727520AbgA0J5V (ORCPT ); Mon, 27 Jan 2020 04:57:21 -0500 Received: by mail-pl1-f194.google.com with SMTP id g6so3558759plp.6 for ; Mon, 27 Jan 2020 01:57:20 -0800 (PST) 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; bh=3V5ACPgT39YvmTMTFjJwiVoP1HrgVABnVL1ahnNO+xI=; b=X3/ZyftSyj9MD1ytR00c6tRRYFqDxYoHI7VaBOtxqfJzg4EzgZ86Gq64eqi8B2mjKt mjdLWvan5IENws/tevPrECD9mU7eO5+oxfkFziPQDRrX9sbNxTkfhf/xDKVk1BxLwE9D +MaTuzlNJDowuutEqeJWZ1pSC1Yd/j/+9KW6Q= 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; bh=3V5ACPgT39YvmTMTFjJwiVoP1HrgVABnVL1ahnNO+xI=; b=gdpcjIuQQ7WU4PHtcfmWSC2Qh0npIqHWR6MNwSsFoEHbfVZPljTtykDDUbcXJVqrnu aYFOg+MGVsXNfAE0ThHVPBJdSWI6VzSl6nOW4Tqt01rwcvW0/HIra5G2h2rbdcW8poLO YttW6QYnIe14ruTDbcYO1HSVEdYdFUaVXov4V5WwFGp/RvO5uiB18xUTDAqbzo6iDcX/ RDJtGnzFhWZaZmEr1oKntDVdJ914UJPqMiI9Lu/NdiSD5RYqSUTeH4YuAX+5wzGyxZIX apMwqxDu8/S6kVqYw7V0pfNBGQzapbyh3rwaBVPnP04JrQsVxaG8eBeU0cn/DY58Y7oN gMuQ== X-Gm-Message-State: APjAAAViXCQ+J6gkiZT2JDkBgxD8fnLiYNDRrMg8dmk8YVsaj/dEmQlr ZKwNujtPPgkGjOWOpuxnqqldMw== X-Google-Smtp-Source: APXvYqwo4d/E2/J1hZka0XbJGy9/lK9hIEGtbszb9HVTdoKk4AOcv2vFk8IQBUqRhVX/y/REecSspQ== X-Received: by 2002:a17:90b:3cc:: with SMTP id go12mr13453537pjb.89.1580119040551; Mon, 27 Jan 2020 01:57:20 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:20 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam , Jiri Pirko Subject: [PATCH net-next v2 11/15] bnxt_en: Add support to update progress of flash update Date: Mon, 27 Jan 2020 04:56:23 -0500 Message-Id: <1580118987-30052-12-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vasundhara Volam This patch adds status notification to devlink flash update while flashing is in progress. $ devlink dev flash pci/0000:05:00.0 file 103.pkg Preparing to flash Flashing done Cc: Jiri Pirko Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index f2d9cd6..265a68c 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -21,6 +21,7 @@ bnxt_dl_flash_update(struct devlink *dl, const char *filename, const char *region, struct netlink_ext_ack *extack) { struct bnxt *bp = bnxt_get_bp_from_dl(dl); + int rc; if (region) return -EOPNOTSUPP; @@ -31,7 +32,18 @@ bnxt_dl_flash_update(struct devlink *dl, const char *filename, return -EPERM; } - return bnxt_flash_package_from_file(bp->dev, filename, 0); + devlink_flash_update_begin_notify(dl); + devlink_flash_update_status_notify(dl, "Preparing to flash", region, 0, + 0); + rc = bnxt_flash_package_from_file(bp->dev, filename, 0); + if (!rc) + devlink_flash_update_status_notify(dl, "Flashing done", region, + 0, 0); + else + devlink_flash_update_status_notify(dl, "Flashing failed", + region, 0, 0); + devlink_flash_update_end_notify(dl); + return rc; } static int bnxt_fw_reporter_diagnose(struct devlink_health_reporter *reporter, From patchwork Mon Jan 27 09:56:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229655 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=Hq5mU4cx; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXk4CgRz9sR1 for ; Mon, 27 Jan 2020 20:57:26 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729670AbgA0J5Z (ORCPT ); Mon, 27 Jan 2020 04:57:25 -0500 Received: from mail-pj1-f67.google.com ([209.85.216.67]:37229 "EHLO mail-pj1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727520AbgA0J5X (ORCPT ); Mon, 27 Jan 2020 04:57:23 -0500 Received: by mail-pj1-f67.google.com with SMTP id m13so2899859pjb.2 for ; Mon, 27 Jan 2020 01:57:23 -0800 (PST) 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; bh=e+NhWFsSGbBhhj5u3Z4qE3IS+aoDcKSYH5fx3xfYzSc=; b=Hq5mU4cxnnAE8DAmi9iRebk/Dojs0z/kGQyQGL9QqRaN2AixBABl+wxwml1LD/Z6q6 uQGuhI4yx/8vfPfpVeKH6M/fLncBiPqrG79VLc8RzIN5vvp7WPaU6QQ1OHUA/XeoDb66 DqLGXAuLPV1TbgPW89o/JK3zjVjB9OPhs8N4c= 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; bh=e+NhWFsSGbBhhj5u3Z4qE3IS+aoDcKSYH5fx3xfYzSc=; b=EDuGU54UuGeuY2v5kMwpAfi9L9BTn9Wodjap0ojJY3lzHkkhTAwD3yh+Y2GK8vA0b7 QZBalMcoSpg1dmGApsRxNERZ3V7c81YFZlQoK2x5EuDCNWg6JMafFwPKbQEJPYhrpPly i3E7eUvX8aL1lUi2aLNGHxI7DafoKRHX6JPcvFjoQ7jHyZEIFAIstzUB3OF1wJE7r6bF EpXeP3UTDUhlulhqVAJF6YM3O2dMrAuNH3GXows7L4xTKToNA5ifZ+h3XZKW5RD1swHS dBGljsQVgce13Y26/BKpv2kn/JPW0C7NkCXsamJY4D9t/oe3CEkds424dNibuSgB/3Ca C2Zw== X-Gm-Message-State: APjAAAWEuQhdQYC8TGJLaKhIRBlwCJmIDFd+vV0iZZhvj/PSXgrjvsUD Wjj05EEJ2klaVXFcKTdFOzXtG/3GI5g= X-Google-Smtp-Source: APXvYqywZw6eQmeuL2alAq+dahzbolPkhJs5qCSQvMDiE9NSCrLTJb6p1jCPTrlnTVZwwB8XkCkEYQ== X-Received: by 2002:a17:902:6b82:: with SMTP id p2mr17516335plk.259.1580119042736; Mon, 27 Jan 2020 01:57:22 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:22 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam Subject: [PATCH net-next v2 12/15] bnxt_en: Rename switch_id to dsn Date: Mon, 27 Jan 2020 04:56:24 -0500 Message-Id: <1580118987-30052-13-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vasundhara Volam Instead of switch_id, renaming it to dsn will be more meaningful so that it can be used to display device serial number in follow up patch via devlink_info command. Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 6 +++--- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 8579415..483935b 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -11388,8 +11388,8 @@ int bnxt_get_port_parent_id(struct net_device *dev, if (!BNXT_PF(bp) || !(bp->flags & BNXT_FLAG_DSN_VALID)) return -EOPNOTSUPP; - ppid->id_len = sizeof(bp->switch_id); - memcpy(ppid->id, bp->switch_id, ppid->id_len); + ppid->id_len = sizeof(bp->dsn); + memcpy(ppid->id, bp->dsn, ppid->id_len); return 0; } @@ -11870,7 +11870,7 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) if (BNXT_PF(bp)) { /* Read the adapter's DSN to use as the eswitch switch_id */ - bnxt_pcie_dsn_get(bp, bp->switch_id); + rc = bnxt_pcie_dsn_get(bp, bp->dsn); } /* MTU range: 60 - FW defined max */ diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h index cda434b..cabef0b 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -1848,7 +1848,7 @@ struct bnxt { enum devlink_eswitch_mode eswitch_mode; struct bnxt_vf_rep **vf_reps; /* array of vf-rep ptrs */ u16 *cfa_code_map; /* cfa_code -> vf_idx map */ - u8 switch_id[8]; + u8 dsn[8]; struct bnxt_tc_info *tc_info; struct list_head tc_indr_block_list; struct notifier_block tc_netdev_nb; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index 265a68c..35e2a22 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -566,8 +566,8 @@ int bnxt_dl_register(struct bnxt *bp) return 0; devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, - bp->pf.port_id, false, 0, - bp->switch_id, sizeof(bp->switch_id)); + bp->pf.port_id, false, 0, bp->dsn, + sizeof(bp->dsn)); rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); if (rc) { netdev_err(bp->dev, "devlink_port_register failed"); From patchwork Mon Jan 27 09:56:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229656 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=CquaVzR1; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXm367tz9sR1 for ; Mon, 27 Jan 2020 20:57:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729690AbgA0J51 (ORCPT ); Mon, 27 Jan 2020 04:57:27 -0500 Received: from mail-pj1-f50.google.com ([209.85.216.50]:50610 "EHLO mail-pj1-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727520AbgA0J50 (ORCPT ); Mon, 27 Jan 2020 04:57:26 -0500 Received: by mail-pj1-f50.google.com with SMTP id r67so2760668pjb.0 for ; Mon, 27 Jan 2020 01:57:25 -0800 (PST) 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; bh=4YDICnezYM4QBas9xM5NTN4WIcTOzMBDSTQr9YZpi9E=; b=CquaVzR1f8aUfmxTsFKW9OwGXy2WfrhHrmVOzJxbCeq2OYqcXfEpCE+XNyLr4diKTJ PbmL8KBFRi1JI02TDeM7l0Xp32J6l/eJm6uCUOwGqbqxHml+ZtGBrsHntZliMSPz8x2F VD7PoY0mdooTU/k3P3bknGxa6U+BSEC7ZIYms= 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; bh=4YDICnezYM4QBas9xM5NTN4WIcTOzMBDSTQr9YZpi9E=; b=LNuL2xU/mdizgVOgtEl9aFuxZwqUEKNsnQucAFj2DZ1eJ0SRh7XFkVWFPlt3iEMUpF 1B5fRBHP/MhWqc0O44o9ETNkbXJVZ+5Nlk33KQsX1f+97m93k59ZnKCssEMtDp6RNw1p +8+rhowk/GO0pJ1b+0il0E566Qq1+ETVPByRWHkSsO5oTjh78uPOARs1aVtHL1ROAs7m /JLCLhtvxham/+RGp6conwYOtUPhmpxSDkkbgDEDcETNCeOrVEyCL/8U6PwGPzVKwufl AeHqJeMn+gzQCZQIX/8aV4MPumFO0SPYuDIbfFLSKTbRX/H/oZcWTxGplUT7ulS8GYk4 v8yQ== X-Gm-Message-State: APjAAAWYtE37LjSowb2bZrdDv6vD7sHtYydJBtTA0QSneaxHfOXsr0D9 +zq0ntQNu8KZgmmWdzy/qkOm/w== X-Google-Smtp-Source: APXvYqzJg9di/Yu682RWgAZqcvqKHBBGtHk/UpAvVtYK5CXqA7ielx8Cr+vGmYSsCzP3VU0eHt36lQ== X-Received: by 2002:a17:90a:e982:: with SMTP id v2mr13776925pjy.53.1580119045388; Mon, 27 Jan 2020 01:57:25 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:25 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam , Jiri Pirko , Jakub Kicinski Subject: [PATCH net-next v2 13/15] devlink: add macro for "fw.roce" Date: Mon, 27 Jan 2020 04:56:25 -0500 Message-Id: <1580118987-30052-14-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vasundhara Volam Add definition and documentation for the new generic info "fw.roce". v2: Remove board.nvm_cfg since fw.psid is similar. Cc: Jiri Pirko Cc: Jakub Kicinski Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- Documentation/networking/devlink/devlink-info.rst | 6 ++++++ include/net/devlink.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/Documentation/networking/devlink/devlink-info.rst b/Documentation/networking/devlink/devlink-info.rst index 0385f15..70981dd 100644 --- a/Documentation/networking/devlink/devlink-info.rst +++ b/Documentation/networking/devlink/devlink-info.rst @@ -92,3 +92,9 @@ fw.psid ------- Unique identifier of the firmware parameter set. + +fw.roce +------- + +RoCE firmware version which is responsible for handling roce +management. diff --git a/include/net/devlink.h b/include/net/devlink.h index 5e46c24..ce5cea4 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -487,6 +487,8 @@ enum devlink_param_generic_id { #define DEVLINK_INFO_VERSION_GENERIC_FW_NCSI "fw.ncsi" /* FW parameter set id */ #define DEVLINK_INFO_VERSION_GENERIC_FW_PSID "fw.psid" +/* RoCE FW version */ +#define DEVLINK_INFO_VERSION_GENERIC_FW_ROCE "fw.roce" struct devlink_region; struct devlink_info_req; From patchwork Mon Jan 27 09:56:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229657 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=Z+7br3Hn; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXs5NtDz9sPW for ; Mon, 27 Jan 2020 20:57:33 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729712AbgA0J5d (ORCPT ); Mon, 27 Jan 2020 04:57:33 -0500 Received: from mail-pj1-f65.google.com ([209.85.216.65]:50351 "EHLO mail-pj1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727520AbgA0J53 (ORCPT ); Mon, 27 Jan 2020 04:57:29 -0500 Received: by mail-pj1-f65.google.com with SMTP id r67so2760699pjb.0 for ; Mon, 27 Jan 2020 01:57:28 -0800 (PST) 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; bh=7hHpY9zxloH1l0xrOGJ+sLWrQBlQdEasMw85ZBXGnm8=; b=Z+7br3HnZvPGbmdKs18i7NKPQYJZ9hp/0R7XddTshRK2T6LqmISbQIAb1aop129jQc 2EGzB7a5ZVRtDN5AVOPa00tv9/lHP2av8mImyiUWYv4VUr5a2Nb66GZF27869Lgiehsi UBTrfECM+EmO7fmkS6jwGpCFdSCIA8jRLQ7Co= 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; bh=7hHpY9zxloH1l0xrOGJ+sLWrQBlQdEasMw85ZBXGnm8=; b=D2x2hll4e3AXCpQEWxfMOgrML7SY2r/QZ2WKtexhPOoDKWIKshDuA23OucNj16loba svClw76eyQ23swNlXnnAl7gmsEaCdZ8xbj++cZXGp8HnVYtGtloGevzdV8otYhKu/rQM SUmSGWh5gqjP9efxIqwmUDkbBgZbQ9+L+FFWVvc4tj5FDKqSKcH8e50B8DkSoQFzJvue Mk3lbiZ692Q7DTYSAJmr91H4Mud4rLf5jXipt02IN5glUzBzfQb6aqshnYG1B72KZQc6 L6lz+wr4jNLtDrOXYL8dDoRinRnuAk4Qrecgppr/PUAlQsa0CCNlUgeJC3e3jK2nBawE GPqA== X-Gm-Message-State: APjAAAVnVFCaiRbuGIp7F4M3gz7uOhn1bGCLAyyf7GBuShcH3Qed21YX eluiigbjX0jus7kHv5+Koi1AFM4wN94= X-Google-Smtp-Source: APXvYqzHwzapV5ElEOCznthUB/cTrD5Q9RX2sFxmizAOcYSp/m6JxApSzsC/mBMAy+YKVRmcf6B1qQ== X-Received: by 2002:a17:90a:e28e:: with SMTP id d14mr14171216pjz.56.1580119048036; Mon, 27 Jan 2020 01:57:28 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:27 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam , Jiri Pirko , Jakub Kicinski Subject: [PATCH net-next v2 14/15] bnxt_en: Add support for devlink info command Date: Mon, 27 Jan 2020 04:56:26 -0500 Message-Id: <1580118987-30052-15-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vasundhara Volam Display the following information via devlink info command: - Driver name - Board id - Broad revision - Board Serial number - Board FW version - FW parameter set version - FW App version - FW management version - FW RoCE version Standard output example: $ devlink dev info pci/0000:3b:00.0 pci/0000:3b:00.0: driver bnxt_en serial_number 00-10-18-FF-FE-AD-05-00 versions: fixed: asic.id D802 asic.rev 1 running: fw 216.1.124.0 fw.psid 0.0.0 fw.app 216.1.122.0 fw.mgmt 864.0.32.0 fw.roce 216.1.15.0 [ This version has incorporated changes suggested by Jakub Kicinski to use generic devlink version tags. ] v2: Use fw.psid Cc: Jiri Pirko Cc: Jakub Kicinski Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 134 ++++++++++++++++++++++ drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h | 4 + 2 files changed, 138 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index 35e2a22..eec0168 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -284,11 +284,15 @@ void bnxt_dl_health_recovery_done(struct bnxt *bp) devlink_health_reporter_recovery_done(hlth->fw_reset_reporter); } +static int bnxt_dl_info_get(struct devlink *dl, struct devlink_info_req *req, + struct netlink_ext_ack *extack); + static const struct devlink_ops bnxt_dl_ops = { #ifdef CONFIG_BNXT_SRIOV .eswitch_mode_set = bnxt_dl_eswitch_mode_set, .eswitch_mode_get = bnxt_dl_eswitch_mode_get, #endif /* CONFIG_BNXT_SRIOV */ + .info_get = bnxt_dl_info_get, .flash_update = bnxt_dl_flash_update, }; @@ -355,6 +359,136 @@ static void bnxt_copy_from_nvm_data(union devlink_param_value *dst, dst->vu8 = (u8)val32; } +static int bnxt_hwrm_get_nvm_cfg_ver(struct bnxt *bp, + union devlink_param_value *nvm_cfg_ver) +{ + struct hwrm_nvm_get_variable_input req = {0}; + union bnxt_nvm_data *data; + dma_addr_t data_dma_addr; + int rc; + + bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_NVM_GET_VARIABLE, -1, -1); + data = dma_alloc_coherent(&bp->pdev->dev, sizeof(*data), + &data_dma_addr, GFP_KERNEL); + if (!data) + return -ENOMEM; + + req.dest_data_addr = cpu_to_le64(data_dma_addr); + req.data_len = cpu_to_le16(BNXT_NVM_CFG_VER_BITS); + req.option_num = cpu_to_le16(NVM_OFF_NVM_CFG_VER); + + rc = hwrm_send_message_silent(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); + if (!rc) + bnxt_copy_from_nvm_data(nvm_cfg_ver, data, + BNXT_NVM_CFG_VER_BITS, + BNXT_NVM_CFG_VER_BYTES); + + dma_free_coherent(&bp->pdev->dev, sizeof(*data), data, data_dma_addr); + return rc; +} + +static int bnxt_dl_info_get(struct devlink *dl, struct devlink_info_req *req, + struct netlink_ext_ack *extack) +{ + struct bnxt *bp = bnxt_get_bp_from_dl(dl); + union devlink_param_value nvm_cfg_ver; + struct hwrm_ver_get_output *ver_resp; + char mgmt_ver[FW_VER_STR_LEN]; + char roce_ver[FW_VER_STR_LEN]; + char fw_ver[FW_VER_STR_LEN]; + char buf[32]; + int rc; + + rc = devlink_info_driver_name_put(req, DRV_MODULE_NAME); + if (rc) + return rc; + + sprintf(buf, "%X", bp->chip_num); + rc = devlink_info_version_fixed_put(req, + DEVLINK_INFO_VERSION_GENERIC_ASIC_ID, buf); + if (rc) + return rc; + + ver_resp = &bp->ver_resp; + sprintf(buf, "%X", ver_resp->chip_rev); + rc = devlink_info_version_fixed_put(req, + DEVLINK_INFO_VERSION_GENERIC_ASIC_REV, buf); + if (rc) + return rc; + + if (BNXT_PF(bp)) { + sprintf(buf, "%02X-%02X-%02X-%02X-%02X-%02X-%02X-%02X", + bp->dsn[7], bp->dsn[6], bp->dsn[5], bp->dsn[4], + bp->dsn[3], bp->dsn[2], bp->dsn[1], bp->dsn[0]); + rc = devlink_info_serial_number_put(req, buf); + if (rc) + return rc; + } + + if (strlen(ver_resp->active_pkg_name)) { + rc = + devlink_info_version_running_put(req, + DEVLINK_INFO_VERSION_GENERIC_FW, + ver_resp->active_pkg_name); + if (rc) + return rc; + } + + if (BNXT_PF(bp) && !bnxt_hwrm_get_nvm_cfg_ver(bp, &nvm_cfg_ver)) { + u32 ver = nvm_cfg_ver.vu32; + + sprintf(buf, "%X.%X.%X", (ver >> 16) & 0xF, (ver >> 8) & 0xF, + ver & 0xF); + rc = devlink_info_version_running_put(req, + DEVLINK_INFO_VERSION_GENERIC_FW_PSID, buf); + if (rc) + return rc; + } + + if (ver_resp->flags & VER_GET_RESP_FLAGS_EXT_VER_AVAIL) { + snprintf(fw_ver, FW_VER_STR_LEN, "%d.%d.%d.%d", + ver_resp->hwrm_fw_major, ver_resp->hwrm_fw_minor, + ver_resp->hwrm_fw_build, ver_resp->hwrm_fw_patch); + + snprintf(mgmt_ver, FW_VER_STR_LEN, "%d.%d.%d.%d", + ver_resp->mgmt_fw_major, ver_resp->mgmt_fw_minor, + ver_resp->mgmt_fw_build, ver_resp->mgmt_fw_patch); + + snprintf(roce_ver, FW_VER_STR_LEN, "%d.%d.%d.%d", + ver_resp->roce_fw_major, ver_resp->roce_fw_minor, + ver_resp->roce_fw_build, ver_resp->roce_fw_patch); + } else { + snprintf(fw_ver, FW_VER_STR_LEN, "%d.%d.%d.%d", + ver_resp->hwrm_fw_maj_8b, ver_resp->hwrm_fw_min_8b, + ver_resp->hwrm_fw_bld_8b, ver_resp->hwrm_fw_rsvd_8b); + + snprintf(mgmt_ver, FW_VER_STR_LEN, "%d.%d.%d.%d", + ver_resp->mgmt_fw_maj_8b, ver_resp->mgmt_fw_min_8b, + ver_resp->mgmt_fw_bld_8b, ver_resp->mgmt_fw_rsvd_8b); + + snprintf(roce_ver, FW_VER_STR_LEN, "%d.%d.%d.%d", + ver_resp->roce_fw_maj_8b, ver_resp->roce_fw_min_8b, + ver_resp->roce_fw_bld_8b, ver_resp->roce_fw_rsvd_8b); + } + rc = devlink_info_version_running_put(req, + DEVLINK_INFO_VERSION_GENERIC_FW_APP, fw_ver); + if (rc) + return rc; + + if (!(bp->flags & BNXT_FLAG_CHIP_P5)) { + rc = devlink_info_version_running_put(req, + DEVLINK_INFO_VERSION_GENERIC_FW_MGMT, mgmt_ver); + if (rc) + return rc; + + rc = devlink_info_version_running_put(req, + DEVLINK_INFO_VERSION_GENERIC_FW_ROCE, roce_ver); + if (rc) + return rc; + } + return 0; +} + static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg, int msg_len, union devlink_param_value *val) { diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h index 08aaa44..95f893f 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h @@ -38,6 +38,10 @@ static inline void bnxt_link_bp_to_dl(struct bnxt *bp, struct devlink *dl) #define NVM_OFF_IGNORE_ARI 164 #define NVM_OFF_DIS_GRE_VER_CHECK 171 #define NVM_OFF_ENABLE_SRIOV 401 +#define NVM_OFF_NVM_CFG_VER 602 + +#define BNXT_NVM_CFG_VER_BITS 24 +#define BNXT_NVM_CFG_VER_BYTES 4 #define BNXT_MSIX_VEC_MAX 1280 #define BNXT_MSIX_VEC_MIN_MAX 128 From patchwork Mon Jan 27 09:56:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 1229658 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=quarantine dis=none) header.from=broadcom.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.a=rsa-sha256 header.s=google header.b=B7fpfEiq; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 485lXv1yBPz9sPW for ; Mon, 27 Jan 2020 20:57:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729700AbgA0J5c (ORCPT ); Mon, 27 Jan 2020 04:57:32 -0500 Received: from mail-pf1-f182.google.com ([209.85.210.182]:33116 "EHLO mail-pf1-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729269AbgA0J5b (ORCPT ); Mon, 27 Jan 2020 04:57:31 -0500 Received: by mail-pf1-f182.google.com with SMTP id n7so4652487pfn.0 for ; Mon, 27 Jan 2020 01:57:31 -0800 (PST) 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; bh=1N0TrAtPT93RkS/6BfJQHECG6tNTwBP1gca2/bhge+4=; b=B7fpfEiq3+CWMWaSBc0lllJyKLVxzL/9CVcRktwGw+Wxnynqy1fxDO+BWqGaz57IcA SaceXo1jzPtD+QK3LlbLs4BJ1WdE4blQ9842wp78O5NHw77zfhSXV3w6+O7rp7L2/m2N 87ZdnJt11UTMHgYEQI4I51vh12ytm+ME245i8= 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; bh=1N0TrAtPT93RkS/6BfJQHECG6tNTwBP1gca2/bhge+4=; b=WBAJlXxsBlGYlD25X464QY9G3JWNPDQv8dSSKEgk4NkGV8/3HB0iaJHzrf04iJZ5dw JKcbv287BPvywOIdKDYHjBOZm8SrT83/wmq9QF/PfN1j8ldZmFrCAbTs8KLBsrtdMJoB 9soEZce/QksoetNvEiynJ/zu+WzyVPT6m9aI19e2i6bist/wj41tdEt7k6fgQ12wASN1 MRH1ba381/45AY1KC7TPbYThypALoQr4X2gaPD6/uWin+37s79iW2whTzn0ucZDvkXIZ h4jo/UrvMk8F7yh6TLBpg3LZ2nhyAqtd/7QORwHpGRPryIL8/JnriSdJcn+X1GtiFJjd k0eg== X-Gm-Message-State: APjAAAUubpP8EY6xI+tzDQUWYdj8l1CUwr71jaF83PuAGp3t4ZBeHa+u Rn2PBRfY5S1jMETNTqtzjDF0Ig== X-Google-Smtp-Source: APXvYqx4yHgrqBJzaqUqWfUgOwHlOaBGMS3kgiTH8fHj4nRD7xXLPbKvNB40x97Y0nMVypZFnnSpNA== X-Received: by 2002:aa7:9a96:: with SMTP id w22mr3854497pfi.210.1580119050720; Mon, 27 Jan 2020 01:57:30 -0800 (PST) Received: from localhost.swdvt.lab.broadcom.com ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r3sm15232594pfg.145.2020.01.27.01.57.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 27 Jan 2020 01:57:30 -0800 (PST) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, Vasundhara Volam , Jiri Pirko , Jakub Kicinski Subject: [PATCH net-next v2 15/15] devlink: document devlink info versions reported by bnxt_en driver Date: Mon, 27 Jan 2020 04:56:27 -0500 Message-Id: <1580118987-30052-16-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> References: <1580118987-30052-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vasundhara Volam Add the set of info versions reported by bnxt_en driver, including a description of what the version represents, and what modes (fixed, running, stored) it reports. v2: Use fw.psid. Cc: Jiri Pirko Cc: Jakub Kicinski Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan --- Documentation/networking/devlink/bnxt.rst | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Documentation/networking/devlink/bnxt.rst b/Documentation/networking/devlink/bnxt.rst index 79e746d..82ef9ec 100644 --- a/Documentation/networking/devlink/bnxt.rst +++ b/Documentation/networking/devlink/bnxt.rst @@ -39,3 +39,36 @@ parameters. - Generic Routing Encapsulation (GRE) version check will be enabled in the device. If disabled, the device will skip the version check for incoming packets. + +Info versions +============= + +The ``bnxt_en`` driver reports the following versions + +.. list-table:: devlink info versions implemented + :widths: 5 5 90 + + * - Name + - Type + - Description + * - ``asic.id`` + - fixed + - ASIC design identifier + * - ``asic.rev`` + - fixed + - ASIC design revision + * - ``fw.psid`` + - stored, running + - Firmware parameter set version of the board + * - ``fw`` + - stored, running + - Overall board firmware version + * - ``fw.app`` + - stored, running + - Data path firmware version + * - ``fw.mgmt`` + - stored, running + - Management firmware version + * - ``fw.roce`` + - stored, running + - RoCE management firmware version