From patchwork Sat Mar 7 01:04:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shannon Nelson X-Patchwork-Id: 1250729 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=none (p=none dis=none) header.from=pensando.io Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=pensando.io header.i=@pensando.io header.a=rsa-sha256 header.s=google header.b=s0CSEjf0; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48Z5qH583Pz9sRN for ; Sat, 7 Mar 2020 12:04:27 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726833AbgCGBET (ORCPT ); Fri, 6 Mar 2020 20:04:19 -0500 Received: from mail-pf1-f194.google.com ([209.85.210.194]:33413 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726733AbgCGBET (ORCPT ); Fri, 6 Mar 2020 20:04:19 -0500 Received: by mail-pf1-f194.google.com with SMTP id n7so1943838pfn.0 for ; Fri, 06 Mar 2020 17:04:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0gypjuYKS7HohaEOg7+s1YFRfeYJ42Vyad0SvROHo7w=; b=s0CSEjf0FP3FBkjdB2t3JGLxp+4+3I1oMcp+0UzQnf/IQWbbh333/ivj8STMkHwrG1 fTQT3lDkkNCccaeYjZUttOkKUZxnR2buYlRjeW6kCwDbur9/bBeMUznHrWy+w0MmiyIa LFZ89IEGFqZAmMR8OeL6LH63raaY3AxXxjGBm1/kNOnw25R3VSc0oMmFf78hsKZQ2IJE psFjG/M9edXWWaF4Yucqya799cMl0/8rPGczPZA30eOeM6htvhYch4iDm7WxZpmM07+C 4vLM4gTItmCrykW9GcXfBrp2NcNPAk0PjvQ26sKsoUBi5q9FLd3a+ivrBWcumjBeSz7D J/Yg== 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=0gypjuYKS7HohaEOg7+s1YFRfeYJ42Vyad0SvROHo7w=; b=rYUPfMdxxy/y05V0aAi/1UjRJUp0V8Nl2e/pH8A/tdpDAR8mvh9n1fgH84NTn4quQR 6Ej5zDTom9VMF8xjiJJap4trEgeEyulrjpOqKKuBgDTrfZTQP6ry0KddS77IuQoM59k2 wZK/X34h4V7TMcCF6FL9wsEi1iPsxlNQvQvfPycRh6k5E+CQYXX/6iGn7oLcLG3j2Em3 3H+Hz6BVfNbctUxIbfxNM6M+DR43jHycv6Y6LJIgaJ2I4XZfP1ba3viTaem26q5v+O5c t8tGymE8HQXB3cgzttP6KgC3faTxCjwWw7qAf79BX4mxtmvSoOx/CZh5nE+6UL+Vk1cv dz7A== X-Gm-Message-State: ANhLgQ3RaVEARvPxpgmK5SlYGWEBihPy17kILL+9ZQJordK5n97fa/Mc hVCBQ1JMJH3ql311jybrnaDsdfIMzMA= X-Google-Smtp-Source: ADFU+vvinw58NCE+kfA6bwp/jFg6oRThGsjJnIbYW+iFfsaCapClteryDMU1u3wS2yXtOYeRMKgsMQ== X-Received: by 2002:a63:af52:: with SMTP id s18mr5890775pgo.281.1583543058204; Fri, 06 Mar 2020 17:04:18 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id o66sm23224949pfb.93.2020.03.06.17.04.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2020 17:04:17 -0800 (PST) From: Shannon Nelson To: netdev@vger.kernel.org, davem@davemloft.net Cc: Shannon Nelson Subject: [PATCH v4 net-next 1/8] ionic: keep ionic dev on lif init fail Date: Fri, 6 Mar 2020 17:04:01 -0800 Message-Id: <20200307010408.65704-2-snelson@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200307010408.65704-1-snelson@pensando.io> References: <20200307010408.65704-1-snelson@pensando.io> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org If the basic ionic interface works but the lif creation fails, don't fail the probe. This will allow us to use the driver to help inspect the hw/fw/pci interface for debugging purposes. Signed-off-by: Shannon Nelson --- .../ethernet/pensando/ionic/ionic_bus_pci.c | 21 ++++++++++++++----- .../net/ethernet/pensando/ionic/ionic_lif.c | 3 +++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c index 448d7b23b2f7..0ac6acbc5f31 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c @@ -37,6 +37,9 @@ int ionic_bus_alloc_irq_vectors(struct ionic *ionic, unsigned int nintrs) void ionic_bus_free_irq_vectors(struct ionic *ionic) { + if (!ionic->nintrs) + return; + pci_free_irq_vectors(ionic->pdev); } @@ -346,6 +349,11 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ionic_reset(ionic); err_out_teardown: ionic_dev_teardown(ionic); + /* Don't fail the probe for these errors, keep + * the hw interface around for inspection + */ + return 0; + err_out_unmap_bars: ionic_unmap_bars(ionic); pci_release_regions(pdev); @@ -369,11 +377,14 @@ static void ionic_remove(struct pci_dev *pdev) if (!ionic) return; - ionic_devlink_unregister(ionic); - ionic_lifs_unregister(ionic); - ionic_lifs_deinit(ionic); - ionic_lifs_free(ionic); - ionic_bus_free_irq_vectors(ionic); + if (ionic->master_lif) { + ionic_devlink_unregister(ionic); + ionic_lifs_unregister(ionic); + ionic_lifs_deinit(ionic); + ionic_lifs_free(ionic); + ionic_bus_free_irq_vectors(ionic); + } + ionic_port_reset(ionic); ionic_reset(ionic); ionic_dev_teardown(ionic); diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c index 191271f6260d..1b7e18fe83db 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -2408,6 +2408,9 @@ void ionic_lifs_unregister(struct ionic *ionic) * current model, so don't bother searching the * ionic->lif for candidates to unregister */ + if (!ionic->master_lif) + return; + cancel_work_sync(&ionic->master_lif->deferred.work); cancel_work_sync(&ionic->master_lif->tx_timeout_work); if (ionic->master_lif->netdev->reg_state == NETREG_REGISTERED) From patchwork Sat Mar 7 01:04:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shannon Nelson X-Patchwork-Id: 1250730 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=none (p=none dis=none) header.from=pensando.io Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=pensando.io header.i=@pensando.io header.a=rsa-sha256 header.s=google header.b=z6OsC8Dl; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48Z5qJ1CNfz9sRf for ; Sat, 7 Mar 2020 12:04:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726874AbgCGBEV (ORCPT ); Fri, 6 Mar 2020 20:04:21 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:41472 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726733AbgCGBEU (ORCPT ); Fri, 6 Mar 2020 20:04:20 -0500 Received: by mail-pl1-f195.google.com with SMTP id t14so1554147plr.8 for ; Fri, 06 Mar 2020 17:04:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=rc6jNvp/c23UvoUnFO2kVN5wxgcAoTsXXqLWvToQMSg=; b=z6OsC8DlGcudmcvIswv3rlDogtgOLKf/DfPmofT2dWMIsk96LxDcfrLnfC/8Lm3tNt Pf3dMYtK6ub4m/XDPdP9rTsULBaScQMjOujXdh9ohOhEVm5Ix4x/3JHtjvOhFLRRWLJz xVzpKe1aE5m07zjRJeyzibsBj7p07+K/ccklRcizy2Q/MXqgvCFY60jHgFBjIvQlSSoe +6KRRse5YC3yM1dkANT4awCFQQ7GKpz2Y7u7zTQHcsxdyxBxyAVAYKEZB85fF3wwvd9x IUE7Lu4DHpm3Mw08IXT3wJQ0A69l2nRqJWTyBNc2XI71ZekXeRzahVGKn2Iu0Xh29+ai fozQ== 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=rc6jNvp/c23UvoUnFO2kVN5wxgcAoTsXXqLWvToQMSg=; b=J+PN55hwOb+P2EDoePef9hZDUubO8QEvOAsv5DbXiJRcFzzmKZjVOMSmi0d2HyOMci 74w+rCcCP6wcIYS/rPSMi7tHUHl8YhxNnZD4VpZSzzBz4v1sYAO1SASAU9SMSXuW+nmQ HfXegy8tPJEFMEOkR+TBX7U1mV81FBrrnUJxYzglosgkJOm9KIe6RwgMOIKc5OMy3QSq H1y7W2QoQLtZP54ZaWRbguFIEco7PyvIUPlT3D3IYo+7QvNmpstHMN94ZjBrwifM6fNT dByPs4XljXMoZXH+SqfGS7snBT6+u7TtvoZOalENwcakZsTvIyBv6mHf7ZNVseeKGPv5 84wA== X-Gm-Message-State: ANhLgQ1PRqzUdPT7J1VJWnjuIEJSoBr/8vi5wgtknqM0J9Sl4AkQNVNY NiC48fd0Efk2RBB7tyUAzNe92pBAQhg= X-Google-Smtp-Source: ADFU+vsawjtSJSGdEE6k6J2PVuKXoRcJXM25kGAVq6xRDnWH2kLx8XMWm6LnRSjdar7IIvy4n+DR/A== X-Received: by 2002:a17:90a:b10d:: with SMTP id z13mr6553809pjq.132.1583543059191; Fri, 06 Mar 2020 17:04:19 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id o66sm23224949pfb.93.2020.03.06.17.04.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2020 17:04:18 -0800 (PST) From: Shannon Nelson To: netdev@vger.kernel.org, davem@davemloft.net Cc: Shannon Nelson Subject: [PATCH v4 net-next 2/8] ionic: remove pragma packed Date: Fri, 6 Mar 2020 17:04:02 -0800 Message-Id: <20200307010408.65704-3-snelson@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200307010408.65704-1-snelson@pensando.io> References: <20200307010408.65704-1-snelson@pensando.io> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Replace the misguided "#pragma packed" with tags on each struct/union definition that actually needs it. This is safer and more efficient on the various compilers and architectures. Signed-off-by: Shannon Nelson --- .../net/ethernet/pensando/ionic/ionic_if.h | 38 +++++++++---------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_if.h b/drivers/net/ethernet/pensando/ionic/ionic_if.h index ce07c2931a72..e5e98067fba4 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_if.h +++ b/drivers/net/ethernet/pensando/ionic/ionic_if.h @@ -4,8 +4,6 @@ #ifndef _IONIC_IF_H_ #define _IONIC_IF_H_ -#pragma pack(push, 1) - #define IONIC_DEV_INFO_SIGNATURE 0x44455649 /* 'DEVI' */ #define IONIC_DEV_INFO_VERSION 1 #define IONIC_IFNAMSIZ 16 @@ -366,7 +364,7 @@ union ionic_lif_config { u8 rsvd2[2]; __le64 features; __le32 queue_count[IONIC_QTYPE_MAX]; - }; + } __packed; __le32 words[64]; }; @@ -417,7 +415,7 @@ union ionic_lif_identity { __le32 max_frame_size; u8 rsvd2[106]; union ionic_lif_config config; - } eth; + } __packed eth; struct { u8 version; @@ -439,8 +437,8 @@ union ionic_lif_identity { struct ionic_lif_logical_qtype rq_qtype; struct ionic_lif_logical_qtype cq_qtype; struct ionic_lif_logical_qtype eq_qtype; - } rdma; - }; + } __packed rdma; + } __packed; __le32 words[512]; }; @@ -526,7 +524,7 @@ struct ionic_q_init_cmd { __le64 sg_ring_base; __le32 eq_index; u8 rsvd2[16]; -}; +} __packed; /** * struct ionic_q_init_comp - Queue init command completion @@ -1095,7 +1093,7 @@ struct ionic_port_status { u8 status; u8 rsvd[51]; struct ionic_xcvr_status xcvr; -}; +} __packed; /** * struct ionic_port_identify_cmd - Port identify command @@ -1251,7 +1249,7 @@ struct ionic_port_getattr_comp { u8 pause_type; u8 loopback_mode; u8 rsvd2[11]; - }; + } __packed; u8 color; }; @@ -1319,7 +1317,7 @@ struct ionic_dev_setattr_cmd { char name[IONIC_IFNAMSIZ]; __le64 features; u8 rsvd2[60]; - }; + } __packed; }; /** @@ -1334,7 +1332,7 @@ struct ionic_dev_setattr_comp { union { __le64 features; u8 rsvd2[11]; - }; + } __packed; u8 color; }; @@ -1361,7 +1359,7 @@ struct ionic_dev_getattr_comp { union { __le64 features; u8 rsvd2[11]; - }; + } __packed; u8 color; }; @@ -1426,7 +1424,7 @@ struct ionic_lif_setattr_cmd { } rss; u8 stats_ctl; u8 rsvd[60]; - }; + } __packed; }; /** @@ -1444,7 +1442,7 @@ struct ionic_lif_setattr_comp { union { __le64 features; u8 rsvd2[11]; - }; + } __packed; u8 color; }; @@ -1483,7 +1481,7 @@ struct ionic_lif_getattr_comp { u8 mac[6]; __le64 features; u8 rsvd2[11]; - }; + } __packed; u8 color; }; @@ -1688,7 +1686,7 @@ struct ionic_vf_setattr_cmd { u8 linkstate; __le64 stats_pa; u8 pad[60]; - }; + } __packed; }; struct ionic_vf_setattr_comp { @@ -1726,7 +1724,7 @@ struct ionic_vf_getattr_comp { u8 linkstate; __le64 stats_pa; u8 pad[11]; - }; + } __packed; u8 color; }; @@ -2471,7 +2469,7 @@ union ionic_dev_cmd_regs { union ionic_dev_cmd_comp comp; u8 rsvd[48]; u32 data[478]; - }; + } __packed; u32 words[512]; }; @@ -2484,7 +2482,7 @@ union ionic_dev_regs { struct { union ionic_dev_info_regs info; union ionic_dev_cmd_regs devcmd; - }; + } __packed; __le32 words[1024]; }; @@ -2574,6 +2572,4 @@ struct ionic_identity { union ionic_qos_identity qos; }; -#pragma pack(pop) - #endif /* _IONIC_IF_H_ */ From patchwork Sat Mar 7 01:04:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shannon Nelson X-Patchwork-Id: 1250735 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=none (p=none dis=none) header.from=pensando.io Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=pensando.io header.i=@pensando.io header.a=rsa-sha256 header.s=google header.b=JbmkWp+t; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48Z5qM2BnHz9sPJ for ; Sat, 7 Mar 2020 12:04:31 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726897AbgCGBEX (ORCPT ); Fri, 6 Mar 2020 20:04:23 -0500 Received: from mail-pf1-f193.google.com ([209.85.210.193]:39040 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726846AbgCGBEV (ORCPT ); Fri, 6 Mar 2020 20:04:21 -0500 Received: by mail-pf1-f193.google.com with SMTP id w65so1382990pfb.6 for ; Fri, 06 Mar 2020 17:04:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=omLW27ISR6OibziXSfi5be6HG4rkQoni8p1KLgyQoXg=; b=JbmkWp+tBwkEEKFlnwhir4CpNlpfcxjUzGX6OrbHJKjq9sqCpulALdyeYUgs6qRNcV 5pRMSGwx33mTVP5vP3M1PK8Qi3FYbJmbMsz/1h4aPyp4TM/yNjTS51mkkOwesWarP4FW 2gzNfuh16ZCTvHfJTdEGnRSRpTvqzBmrZn+2L2LHFjf0PlEC9uMy2dBzYk9P3mMrW3RN LAGsvyQlTvipAp/Y+hEDREXtkLR3zXrZULklMa2rdMmwDhoT7IbIG3LyHHqmjxVe2MN4 +p5B5aNm65UrlpsvSgNdeoGZO4cB5Ab/Lp82AVwc0zGoNR17ZEY867LaZlGRThc6Ohhv KT+A== 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=omLW27ISR6OibziXSfi5be6HG4rkQoni8p1KLgyQoXg=; b=jEV8UeUQoAy0+yMbY8NZFN7nf20O4STbYhTlybVw8DHkZ0cY1M3bv7qTxKR3PIa0rr pdc3VArCs4LlGCsotCU3dB/60Na6vJ3USk/Q5oDmIaijm6/4FVM58jkZ4c+wI8I18vH+ m5Z3p7uWN/GJJ0kSidBX0hb/c8jmFKpR569pfpejV5Ih7ST+YeiUdA15LYedHLE+AM+u CCSUwPF+c7aSO9CFo+TRMKjSiEfDmziEmDSO+/oMLttMYP6QguxAtbV09f3qF8Sw1O8S a1XyPhpQPIauD8z07ZgupPj38WEQoGWbGECOt3vyPkxrY+DF2t/phDGc1OWyHAyfN+gA f5MQ== X-Gm-Message-State: ANhLgQ10/kF5NMo/kVtPM4Siy0x61lKELZEk+8c5NGuEGTN0GmN8NRv4 OIKsEool0UDkufo0v/Vu6WA5qm7slg0= X-Google-Smtp-Source: ADFU+vtz2JW5x4TAvMyJ4i8N0eK1pav4qdJzhnqLPE64CyTAPvA5yVIk02irohZ9KQShCBtdBkenIw== X-Received: by 2002:a63:7ce:: with SMTP id 197mr5978343pgh.429.1583543060103; Fri, 06 Mar 2020 17:04:20 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id o66sm23224949pfb.93.2020.03.06.17.04.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2020 17:04:19 -0800 (PST) From: Shannon Nelson To: netdev@vger.kernel.org, davem@davemloft.net Cc: Shannon Nelson Subject: [PATCH v4 net-next 3/8] ionic: improve irq numa locality Date: Fri, 6 Mar 2020 17:04:03 -0800 Message-Id: <20200307010408.65704-4-snelson@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200307010408.65704-1-snelson@pensando.io> References: <20200307010408.65704-1-snelson@pensando.io> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Spreading the interrupts across the CPU cores is good for load balancing, but not necessarily as good when using a CPU/core that is not part of the NUMA local CPU. If it can be localized, the kernel's cpumask_local_spread() service will pick a core that is on the node close to the PCI device. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c index 1b7e18fe83db..7df49b433ae5 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -424,8 +424,9 @@ static int ionic_qcq_alloc(struct ionic_lif *lif, unsigned int type, ionic_intr_mask_assert(idev->intr_ctrl, new->intr.index, IONIC_INTR_MASK_SET); - new->intr.cpu = new->intr.index % num_online_cpus(); - if (cpu_online(new->intr.cpu)) + new->intr.cpu = cpumask_local_spread(new->intr.index, + dev_to_node(dev)); + if (new->intr.cpu != -1) cpumask_set_cpu(new->intr.cpu, &new->intr.affinity_mask); } else { From patchwork Sat Mar 7 01:04:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shannon Nelson X-Patchwork-Id: 1250731 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=none (p=none dis=none) header.from=pensando.io Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=pensando.io header.i=@pensando.io header.a=rsa-sha256 header.s=google header.b=oYicRhvv; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48Z5qJ4Q34z9s3x for ; Sat, 7 Mar 2020 12:04:28 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726954AbgCGBEY (ORCPT ); Fri, 6 Mar 2020 20:04:24 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:44923 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726271AbgCGBEW (ORCPT ); Fri, 6 Mar 2020 20:04:22 -0500 Received: by mail-pl1-f193.google.com with SMTP id d9so1548056plo.11 for ; Fri, 06 Mar 2020 17:04:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=n+tX6FtoNy0xqtHkylnOj8rDMvnTHLoC+mNlcDwGY+A=; b=oYicRhvv5uwaoFT3i8vPTk7YTUwqwofx2Fi8lhvIUGUU4JdsLJDAREeDb5cHmmQWb0 PPS2y+3SNjNXtL2st16IKAHmNK7s+21lQjEH1CzTYGvFlDL1Mmd7PAhamTW8UdDQYehX dOJFBE4391oALuZKywkC28l4PKzZM+0xtwtCbSOTsDPxI9xoAwtxPreaNibYsKFB8oaU zKdlHC+CckhJ3qV92zopEgmzyoq9YuS8FYyZCbbTlqPaLNs6y9T8k32auHx4kUIIUqH6 LaebDv1/fEZ34JJFVSu/dt7SqcgJH1i4MZI5MnRzxe+3b3zVfpy5cZCyC21cQOlmGiDM Nsog== 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=n+tX6FtoNy0xqtHkylnOj8rDMvnTHLoC+mNlcDwGY+A=; b=NUaRHBczVDcq/MS9zLHv6Wd7Qv+yL8eupr3O5CCm+XeZ5BxjRq9HJeIcvZGE8vn8X2 8GU23yxqNcdM+aLL/Q6LuRNJWH7f0tg4ENmEO/UamEqCtf734l3RGDHoL3tQ5LAQqd4Y 90ujWq6yRz7QTOMvHnFohdBGU2ywtKyT3Xy6T0sna+dqXDEUn5yEVg3OZF9DrRCydQUq ykOv8qdPsnFBz2wvJtG6s6Sn6YlCym3lXc441zFkOQ9n6zqpwsE3ncwe8/OITQFCo+em 2NRCx1mmOtpppXWf2hkF4wZWluOK/lFrJIbjp/k2NsnD6/CxSAsfV61bywQvzsjl4erA fObw== X-Gm-Message-State: ANhLgQ28+DDV/UN7Z+bCx8ygUeKlWirnTMN379fd2N5AAYSon1R6xXBg h00fAYizmGDpkqSnwukJeS2hiqV7re0= X-Google-Smtp-Source: ADFU+vutztRQE30JWYIjvCHk0S9eF3Or3gPSuSNELxHws3S9yYTyYakRZV1VaUwiz/mu7yIjI0YuAA== X-Received: by 2002:a17:90a:bf09:: with SMTP id c9mr5866011pjs.96.1583543061061; Fri, 06 Mar 2020 17:04:21 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id o66sm23224949pfb.93.2020.03.06.17.04.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2020 17:04:20 -0800 (PST) From: Shannon Nelson To: netdev@vger.kernel.org, davem@davemloft.net Cc: Shannon Nelson Subject: [PATCH v4 net-next 4/8] ionic: clean up bitflag usage Date: Fri, 6 Mar 2020 17:04:04 -0800 Message-Id: <20200307010408.65704-5-snelson@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200307010408.65704-1-snelson@pensando.io> References: <20200307010408.65704-1-snelson@pensando.io> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Remove the unused flags field and and fix the bitflag names to include the _F_ flag hint. Signed-off-by: Shannon Nelson --- .../ethernet/pensando/ionic/ionic_ethtool.c | 24 ++++++++----------- .../net/ethernet/pensando/ionic/ionic_lif.c | 24 +++++++++---------- .../net/ethernet/pensando/ionic/ionic_lif.h | 15 ++++++------ .../net/ethernet/pensando/ionic/ionic_stats.c | 20 ++++++++-------- .../net/ethernet/pensando/ionic/ionic_txrx.c | 4 ++-- 5 files changed, 41 insertions(+), 46 deletions(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c index f778fff034f5..acd53e27d1ec 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c @@ -462,7 +462,7 @@ static int ionic_set_coalesce(struct net_device *netdev, if (coal != lif->rx_coalesce_hw) { lif->rx_coalesce_hw = coal; - if (test_bit(IONIC_LIF_UP, lif->state)) { + if (test_bit(IONIC_LIF_F_UP, lif->state)) { for (i = 0; i < lif->nxqs; i++) { qcq = lif->rxqcqs[i].qcq; ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, @@ -509,11 +509,11 @@ static int ionic_set_ringparam(struct net_device *netdev, ring->rx_pending == lif->nrxq_descs) return 0; - err = ionic_wait_for_bit(lif, IONIC_LIF_QUEUE_RESET); + err = ionic_wait_for_bit(lif, IONIC_LIF_F_QUEUE_RESET); if (err) return err; - running = test_bit(IONIC_LIF_UP, lif->state); + running = test_bit(IONIC_LIF_F_UP, lif->state); if (running) ionic_stop(netdev); @@ -522,7 +522,7 @@ static int ionic_set_ringparam(struct net_device *netdev, if (running) ionic_open(netdev); - clear_bit(IONIC_LIF_QUEUE_RESET, lif->state); + clear_bit(IONIC_LIF_F_QUEUE_RESET, lif->state); return 0; } @@ -553,11 +553,11 @@ static int ionic_set_channels(struct net_device *netdev, if (ch->combined_count == lif->nxqs) return 0; - err = ionic_wait_for_bit(lif, IONIC_LIF_QUEUE_RESET); + err = ionic_wait_for_bit(lif, IONIC_LIF_F_QUEUE_RESET); if (err) return err; - running = test_bit(IONIC_LIF_UP, lif->state); + running = test_bit(IONIC_LIF_F_UP, lif->state); if (running) ionic_stop(netdev); @@ -565,7 +565,7 @@ static int ionic_set_channels(struct net_device *netdev, if (running) ionic_open(netdev); - clear_bit(IONIC_LIF_QUEUE_RESET, lif->state); + clear_bit(IONIC_LIF_F_QUEUE_RESET, lif->state); return 0; } @@ -575,7 +575,7 @@ static u32 ionic_get_priv_flags(struct net_device *netdev) struct ionic_lif *lif = netdev_priv(netdev); u32 priv_flags = 0; - if (test_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state)) + if (test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) priv_flags |= PRIV_F_SW_DBG_STATS; return priv_flags; @@ -584,14 +584,10 @@ static u32 ionic_get_priv_flags(struct net_device *netdev) static int ionic_set_priv_flags(struct net_device *netdev, u32 priv_flags) { struct ionic_lif *lif = netdev_priv(netdev); - u32 flags = lif->flags; - clear_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state); + clear_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state); if (priv_flags & PRIV_F_SW_DBG_STATS) - set_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state); - - if (flags != lif->flags) - lif->flags = flags; + set_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state); return 0; } diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c index 7df49b433ae5..d1567e477b1f 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -84,7 +84,7 @@ static void ionic_link_status_check(struct ionic_lif *lif) netdev_info(netdev, "Link up - %d Gbps\n", le32_to_cpu(lif->info->status.link_speed) / 1000); - if (test_bit(IONIC_LIF_UP, lif->state)) { + if (test_bit(IONIC_LIF_F_UP, lif->state)) { netif_tx_wake_all_queues(lif->netdev); netif_carrier_on(netdev); } @@ -93,12 +93,12 @@ static void ionic_link_status_check(struct ionic_lif *lif) /* carrier off first to avoid watchdog timeout */ netif_carrier_off(netdev); - if (test_bit(IONIC_LIF_UP, lif->state)) + if (test_bit(IONIC_LIF_F_UP, lif->state)) netif_tx_stop_all_queues(netdev); } link_out: - clear_bit(IONIC_LIF_LINK_CHECK_REQUESTED, lif->state); + clear_bit(IONIC_LIF_F_LINK_CHECK_REQUESTED, lif->state); } static void ionic_link_status_check_request(struct ionic_lif *lif) @@ -106,7 +106,7 @@ static void ionic_link_status_check_request(struct ionic_lif *lif) struct ionic_deferred_work *work; /* we only need one request outstanding at a time */ - if (test_and_set_bit(IONIC_LIF_LINK_CHECK_REQUESTED, lif->state)) + if (test_and_set_bit(IONIC_LIF_F_LINK_CHECK_REQUESTED, lif->state)) return; if (in_interrupt()) { @@ -1579,7 +1579,7 @@ int ionic_open(struct net_device *netdev) netif_set_real_num_tx_queues(netdev, lif->nxqs); netif_set_real_num_rx_queues(netdev, lif->nxqs); - set_bit(IONIC_LIF_UP, lif->state); + set_bit(IONIC_LIF_F_UP, lif->state); ionic_link_status_check_request(lif); if (netif_carrier_ok(netdev)) @@ -1599,13 +1599,13 @@ int ionic_stop(struct net_device *netdev) struct ionic_lif *lif = netdev_priv(netdev); int err = 0; - if (!test_bit(IONIC_LIF_UP, lif->state)) { + if (!test_bit(IONIC_LIF_F_UP, lif->state)) { dev_dbg(lif->ionic->dev, "%s: %s state=DOWN\n", __func__, lif->name); return 0; } dev_dbg(lif->ionic->dev, "%s: %s state=UP\n", __func__, lif->name); - clear_bit(IONIC_LIF_UP, lif->state); + clear_bit(IONIC_LIF_F_UP, lif->state); /* carrier off before disabling queues to avoid watchdog timeout */ netif_carrier_off(netdev); @@ -1872,7 +1872,7 @@ int ionic_reset_queues(struct ionic_lif *lif) /* Put off the next watchdog timeout */ netif_trans_update(lif->netdev); - err = ionic_wait_for_bit(lif, IONIC_LIF_QUEUE_RESET); + err = ionic_wait_for_bit(lif, IONIC_LIF_F_QUEUE_RESET); if (err) return err; @@ -1882,7 +1882,7 @@ int ionic_reset_queues(struct ionic_lif *lif) if (!err && running) ionic_open(lif->netdev); - clear_bit(IONIC_LIF_QUEUE_RESET, lif->state); + clear_bit(IONIC_LIF_F_QUEUE_RESET, lif->state); return err; } @@ -2049,10 +2049,10 @@ void ionic_lifs_free(struct ionic *ionic) static void ionic_lif_deinit(struct ionic_lif *lif) { - if (!test_bit(IONIC_LIF_INITED, lif->state)) + if (!test_bit(IONIC_LIF_F_INITED, lif->state)) return; - clear_bit(IONIC_LIF_INITED, lif->state); + clear_bit(IONIC_LIF_F_INITED, lif->state); ionic_rx_filters_deinit(lif); ionic_lif_rss_deinit(lif); @@ -2288,7 +2288,7 @@ static int ionic_lif_init(struct ionic_lif *lif) lif->rx_copybreak = IONIC_RX_COPYBREAK_DEFAULT; - set_bit(IONIC_LIF_INITED, lif->state); + set_bit(IONIC_LIF_F_INITED, lif->state); INIT_WORK(&lif->tx_timeout_work, ionic_tx_timeout_work); diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.h b/drivers/net/ethernet/pensando/ionic/ionic_lif.h index 9c5a7dd45f9d..7c0c6fef8c0b 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.h +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.h @@ -121,14 +121,14 @@ struct ionic_lif_sw_stats { }; enum ionic_lif_state_flags { - IONIC_LIF_INITED, - IONIC_LIF_SW_DEBUG_STATS, - IONIC_LIF_UP, - IONIC_LIF_LINK_CHECK_REQUESTED, - IONIC_LIF_QUEUE_RESET, + IONIC_LIF_F_INITED, + IONIC_LIF_F_SW_DEBUG_STATS, + IONIC_LIF_F_UP, + IONIC_LIF_F_LINK_CHECK_REQUESTED, + IONIC_LIF_F_QUEUE_RESET, /* leave this as last */ - IONIC_LIF_STATE_SIZE + IONIC_LIF_F_STATE_SIZE }; #define IONIC_LIF_NAME_MAX_SZ 32 @@ -136,7 +136,7 @@ struct ionic_lif { char name[IONIC_LIF_NAME_MAX_SZ]; struct list_head list; struct net_device *netdev; - DECLARE_BITMAP(state, IONIC_LIF_STATE_SIZE); + DECLARE_BITMAP(state, IONIC_LIF_F_STATE_SIZE); struct ionic *ionic; bool registered; unsigned int index; @@ -179,7 +179,6 @@ struct ionic_lif { u32 rx_coalesce_usecs; /* what the user asked for */ u32 rx_coalesce_hw; /* what the hw is using */ - u32 flags; struct work_struct tx_timeout_work; }; diff --git a/drivers/net/ethernet/pensando/ionic/ionic_stats.c b/drivers/net/ethernet/pensando/ionic/ionic_stats.c index a1e9796a660a..8f2a8fb029f1 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_stats.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_stats.c @@ -118,8 +118,8 @@ static u64 ionic_sw_stats_get_count(struct ionic_lif *lif) /* rx stats */ total += MAX_Q(lif) * IONIC_NUM_RX_STATS; - if (test_bit(IONIC_LIF_UP, lif->state) && - test_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state)) { + if (test_bit(IONIC_LIF_F_UP, lif->state) && + test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) { /* tx debug stats */ total += MAX_Q(lif) * (IONIC_NUM_DBG_CQ_STATS + IONIC_NUM_TX_Q_STATS + @@ -151,8 +151,8 @@ static void ionic_sw_stats_get_strings(struct ionic_lif *lif, u8 **buf) *buf += ETH_GSTRING_LEN; } - if (test_bit(IONIC_LIF_UP, lif->state) && - test_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state)) { + if (test_bit(IONIC_LIF_F_UP, lif->state) && + test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) { for (i = 0; i < IONIC_NUM_TX_Q_STATS; i++) { snprintf(*buf, ETH_GSTRING_LEN, "txq_%d_%s", @@ -190,8 +190,8 @@ static void ionic_sw_stats_get_strings(struct ionic_lif *lif, u8 **buf) *buf += ETH_GSTRING_LEN; } - if (test_bit(IONIC_LIF_UP, lif->state) && - test_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state)) { + if (test_bit(IONIC_LIF_F_UP, lif->state) && + test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) { for (i = 0; i < IONIC_NUM_DBG_CQ_STATS; i++) { snprintf(*buf, ETH_GSTRING_LEN, "rxq_%d_cq_%s", @@ -247,8 +247,8 @@ static void ionic_sw_stats_get_values(struct ionic_lif *lif, u64 **buf) (*buf)++; } - if (test_bit(IONIC_LIF_UP, lif->state) && - test_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state)) { + if (test_bit(IONIC_LIF_F_UP, lif->state) && + test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) { txqcq = lif_to_txqcq(lif, q_num); for (i = 0; i < IONIC_NUM_TX_Q_STATS; i++) { **buf = IONIC_READ_STAT64(&txqcq->q, @@ -281,8 +281,8 @@ static void ionic_sw_stats_get_values(struct ionic_lif *lif, u64 **buf) (*buf)++; } - if (test_bit(IONIC_LIF_UP, lif->state) && - test_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state)) { + if (test_bit(IONIC_LIF_F_UP, lif->state) && + test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) { rxqcq = lif_to_rxqcq(lif, q_num); for (i = 0; i < IONIC_NUM_DBG_CQ_STATS; i++) { **buf = IONIC_READ_STAT64(&rxqcq->cq, diff --git a/drivers/net/ethernet/pensando/ionic/ionic_txrx.c b/drivers/net/ethernet/pensando/ionic/ionic_txrx.c index e452f4242ba0..a268cead9f50 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_txrx.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_txrx.c @@ -158,7 +158,7 @@ static void ionic_rx_clean(struct ionic_queue *q, struct ionic_desc_info *desc_i } /* no packet processing while resetting */ - if (unlikely(test_bit(IONIC_LIF_QUEUE_RESET, q->lif->state))) { + if (unlikely(test_bit(IONIC_LIF_F_QUEUE_RESET, q->lif->state))) { stats->dropped++; return; } @@ -1026,7 +1026,7 @@ netdev_tx_t ionic_start_xmit(struct sk_buff *skb, struct net_device *netdev) int ndescs; int err; - if (unlikely(!test_bit(IONIC_LIF_UP, lif->state))) { + if (unlikely(!test_bit(IONIC_LIF_F_UP, lif->state))) { dev_kfree_skb(skb); return NETDEV_TX_OK; } From patchwork Sat Mar 7 01:04:05 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shannon Nelson X-Patchwork-Id: 1250732 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=none (p=none dis=none) header.from=pensando.io Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=pensando.io header.i=@pensando.io header.a=rsa-sha256 header.s=google header.b=b3+6z306; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48Z5qK17wfz9sPJ for ; Sat, 7 Mar 2020 12:04:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726970AbgCGBEZ (ORCPT ); Fri, 6 Mar 2020 20:04:25 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:39965 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726875AbgCGBEX (ORCPT ); Fri, 6 Mar 2020 20:04:23 -0500 Received: by mail-pl1-f194.google.com with SMTP id y1so1554834plp.7 for ; Fri, 06 Mar 2020 17:04:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=7Fanemj7lqCOtUtHai5n5mSddCSmoi8i8DsjH04odmA=; b=b3+6z306dqR2rco0JJYn80xwDnbZABycVmqvwPs9AaMVMsVmHUw552qpH+eyMJsyvW rBrqylGAPwLfXbfFft5ZwPnntH0hNThJ4l/MGLRWJ2HTiZ1Oq2RMIfJwr34ZHLvsBCPY qcqZFnywiIy44T8bkDicAjDDITCuoR7cM9CgdhGYlJS5s0UC+n3DNwxJmHy0X9bIaXz/ wa8vGJV5XN7wtC/tZFwdcGW8MfOqyaFx8KsOVSrHa3c+hF2cxhHbn9G7C65nErplUCjx RlMJbbjHqUkEkAb1XpnT26r6g6NK4Ls1/yVrqjGpfXW4ccSuhfskafEH6ydt6k9/OPhr aAYA== 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=7Fanemj7lqCOtUtHai5n5mSddCSmoi8i8DsjH04odmA=; b=i2rYhViubhzPR4z7stdwvz85uKCRa9VWIB58XDiT01A34hmB2+Hr0XVBSGxBOBhR78 /+jTyRSg3GWNNsmgyMOa2Gqadz3U7lcoWm2Cib/Hn1rFV4Lo8dB5y1P8A/QVEH9TztNf IzoOT/OIAMREyhljSQJtzfxxGVBO+sUFnLMKPp7ZSx81iVBw/65UIoc19l6BcBOSKs+k yy1h2VhWVukzXfavtSlOABZIypzB47SZzNQTbvZG541VQiQXxPbvNlEK6jsxb2Vg5uQh wagZh8QtPJQtMn9bhUA1Ms34j5jrFibF0mUIRqDWA7jZE5XZKBRz3y2USdcUCelvXBTF /qbg== X-Gm-Message-State: ANhLgQ1vbl/FNFsGVu0I3eXEUzf/eaG+XkUIDvbKUKvH0dJQv5P/jDIv +8yFcVgTZK5PPP8dSbHJxS1ZCw7XO4c= X-Google-Smtp-Source: ADFU+vuB+irirofDDDkfk0cUhWQ8jmiEwBkKCkvOuxJAVT3W6zXcFRg1A5OMpNzSuQx81cbRxaJXOw== X-Received: by 2002:a17:902:9889:: with SMTP id s9mr5173619plp.252.1583543061839; Fri, 06 Mar 2020 17:04:21 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id o66sm23224949pfb.93.2020.03.06.17.04.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2020 17:04:21 -0800 (PST) From: Shannon Nelson To: netdev@vger.kernel.org, davem@davemloft.net Cc: Shannon Nelson Subject: [PATCH v4 net-next 5/8] ionic: support ethtool rxhash disable Date: Fri, 6 Mar 2020 17:04:05 -0800 Message-Id: <20200307010408.65704-6-snelson@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200307010408.65704-1-snelson@pensando.io> References: <20200307010408.65704-1-snelson@pensando.io> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org We can disable rxhashing by setting rss_types to 0. The user can toggle this with "ethtool -K rxhash off|on", which calls into the .ndo_set_features callback with the NETIF_F_RXHASH feature bit set or cleared. This patch adds a check for that bit and updates the FW if necessary. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c index d1567e477b1f..4b953f9e9084 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -1094,6 +1094,7 @@ static int ionic_set_nic_features(struct ionic_lif *lif, u64 vlan_flags = IONIC_ETH_HW_VLAN_TX_TAG | IONIC_ETH_HW_VLAN_RX_STRIP | IONIC_ETH_HW_VLAN_RX_FILTER; + u64 old_hw_features; int err; ctx.cmd.lif_setattr.features = ionic_netdev_features_to_nic(features); @@ -1101,9 +1102,13 @@ static int ionic_set_nic_features(struct ionic_lif *lif, if (err) return err; + old_hw_features = lif->hw_features; lif->hw_features = le64_to_cpu(ctx.cmd.lif_setattr.features & ctx.comp.lif_setattr.features); + if ((old_hw_features ^ lif->hw_features) & IONIC_ETH_HW_RX_HASH) + ionic_lif_rss_config(lif, lif->rss_types, NULL, NULL); + if ((vlan_flags & features) && !(vlan_flags & le64_to_cpu(ctx.comp.lif_setattr.features))) dev_info_once(lif->ionic->dev, "NIC is not supporting vlan offload, likely in SmartNIC mode\n"); @@ -1357,13 +1362,15 @@ int ionic_lif_rss_config(struct ionic_lif *lif, const u16 types, .cmd.lif_setattr = { .opcode = IONIC_CMD_LIF_SETATTR, .attr = IONIC_LIF_ATTR_RSS, - .rss.types = cpu_to_le16(types), .rss.addr = cpu_to_le64(lif->rss_ind_tbl_pa), }, }; unsigned int i, tbl_sz; - lif->rss_types = types; + if (lif->hw_features & IONIC_ETH_HW_RX_HASH) { + lif->rss_types = types; + ctx.cmd.lif_setattr.rss.types = cpu_to_le16(types); + } if (key) memcpy(lif->rss_hash_key, key, IONIC_RSS_HASH_KEY_SIZE); From patchwork Sat Mar 7 01:04:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shannon Nelson X-Patchwork-Id: 1250736 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=none (p=none dis=none) header.from=pensando.io Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=pensando.io header.i=@pensando.io header.a=rsa-sha256 header.s=google header.b=rExHgF1F; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48Z5qP01twz9s3x for ; Sat, 7 Mar 2020 12:04:32 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727018AbgCGBEb (ORCPT ); Fri, 6 Mar 2020 20:04:31 -0500 Received: from mail-pj1-f67.google.com ([209.85.216.67]:52587 "EHLO mail-pj1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726892AbgCGBEX (ORCPT ); Fri, 6 Mar 2020 20:04:23 -0500 Received: by mail-pj1-f67.google.com with SMTP id lt1so1764334pjb.2 for ; Fri, 06 Mar 2020 17:04:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=UDCCqqbOFCeRU+4k7aYMxmRsVqZz8gcsCbapPm06bfg=; b=rExHgF1Fsy3f3msf/8kHmwtwAdHDui+PcRSGBTU3Dyp2TqaopQXHGoEM8yZuXtdfF3 LQbuJlYRwWBqh9OqsQq2/rwUDJ4VtkvaeZmoGV4EnDjHCm7875IpSAKj4W3K2Laea5kj WLzYKPjzjTss1YKt4VrAX1E8P9JavOq4wWH7KNtibOBaU4uAQbrH7zRewCEvdTlWltVC 3R5xyymxzds8+fTTX8TPS/QgXw3UOYZ5BmzQRjmcB0SqukCPgFbDV5sxZGAPNSA6nQxw vFe0r8paxNHKDX8B9NYzJZRmMHjFxlypi2TPSdDcDZvUe9UubfSPgNqXC609MeXOYTVC i2lA== 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=UDCCqqbOFCeRU+4k7aYMxmRsVqZz8gcsCbapPm06bfg=; b=MkQIdnNN+UIXvOn0zS9+Du5/XhmqM+TgWa4gKr78hRDxRg6U/BQAr+r4sGscXaSwiw laMwepocdrOtmfhIg4JtIgRokrqXKMUv1zr+q2gUolEapqxH7fAzRGPTXLIuK/XzKaQG aV1EjCbij321jxD/S86L6jkOzCxgxZbC1oo3tPdXGFdstrsvMW+tXDoUL4/7myv7EGK5 xQH9ewALcMYTT2S9RENvFxgfju4Xbn3kieA27x0uyAxmxU3Naqb4xxMXMH3DzPqEC6/W El6eyMbn7eq2SrZrQ7jjH4oy8nsveQUjQXW6gzczveSB82ygZLMkNX6ohLb+Y4gZADfw fMHw== X-Gm-Message-State: ANhLgQ32Glx+S4mvBL+FUZrf/2S8ddNWe8UUiUb2WAOacvcfcgQrmYea XdJdkHt4vSW3CK+stup0o73o0nqikRo= X-Google-Smtp-Source: ADFU+vtx2DLpWIXNrvvPwqjaEnkOfT9xamcrGF2QL0PrLArHA1lA8Zamcwv7t1eJJEbmj0bs9sm/rA== X-Received: by 2002:a17:90a:2308:: with SMTP id f8mr6521931pje.108.1583543062799; Fri, 06 Mar 2020 17:04:22 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id o66sm23224949pfb.93.2020.03.06.17.04.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2020 17:04:22 -0800 (PST) From: Shannon Nelson To: netdev@vger.kernel.org, davem@davemloft.net Cc: Shannon Nelson Subject: [PATCH v4 net-next 6/8] ionic: print pci bus lane info Date: Fri, 6 Mar 2020 17:04:06 -0800 Message-Id: <20200307010408.65704-7-snelson@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200307010408.65704-1-snelson@pensando.io> References: <20200307010408.65704-1-snelson@pensando.io> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Print the PCI bus lane information so people can keep an eye out for poor configurations that might not support the advertised speed. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c index 0ac6acbc5f31..2924cde440aa 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c @@ -248,6 +248,7 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) } pci_set_master(pdev); + pcie_print_link_status(pdev); err = ionic_map_bars(ionic); if (err) From patchwork Sat Mar 7 01:04:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shannon Nelson X-Patchwork-Id: 1250733 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=none (p=none dis=none) header.from=pensando.io Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=pensando.io header.i=@pensando.io header.a=rsa-sha256 header.s=google header.b=pUEVEcvz; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48Z5qK42J3z9sRN for ; Sat, 7 Mar 2020 12:04:29 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726988AbgCGBE0 (ORCPT ); Fri, 6 Mar 2020 20:04:26 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:43390 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726932AbgCGBEY (ORCPT ); Fri, 6 Mar 2020 20:04:24 -0500 Received: by mail-pl1-f193.google.com with SMTP id f8so1546638plt.10 for ; Fri, 06 Mar 2020 17:04:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=DussKDpL1QlCwfZAGAUsTjEL7FDMvlH3xmb1rgZ8W0A=; b=pUEVEcvzQk5thMfzJfTJtULGm+LmMS1nlpHpb8J11lhnbgmT0k3CpDOdw/T8NqQ8wt 0b028Tqv1P53J7UbHABafFp+Jieks1MLAyHXarnHu6mhni6IV9D3FqX1PWmVrEc5HZ6K 3ySoCGs2GVmZdrKGwi4yNZBdrFsT9P6gmJlI/tIjtv9NVsNhQ936kr4T8edVHrywdSPE WPsOjqlrztt9J7xH6YCsCvwJLSP+lrhKVKhhxyjoPxlLlc/XlF2aO17Pwd7I9lb+dQnl NsHTVrEybZaAzclDRNQGH60mDavQE4WLh/dtCyK3Sq25wcyvW8RYLkl5JZwcaz+MjyX7 02cQ== 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=DussKDpL1QlCwfZAGAUsTjEL7FDMvlH3xmb1rgZ8W0A=; b=kuclGOqfHNWvGHPucoN0i4R4HFaUoSSwFpbj1LtH4wkAhOW5/nRVLSs6Q7XxIE3wX/ pLllTeExyTlF7wspHkRd/Gg3K/NbZil705QklrPsgxkzrCVrbP9PpErYBZyAXoXfbdXf yMU2BzQloFD8OFFGtE/XWsdSSUoz+jiAPhmj9fXl+NAtecZ+Mynlm7o+WAOxlqH2IE4Y PLFA6aBzWiuu6H8GStHuxVTS6e5Cl1uEEdnMlPTMj52a0CFfLwayMxTtvurWUMIcYMB9 fg8BJjdvztgTloLRbk5gw2tJg9nP1vssg6v0vhB8o/tKXPWbrfVtCy6VdAuFwEch5knx 1kQw== X-Gm-Message-State: ANhLgQ2zBwDyGAle+d2fr6SBGbXViyPrQNDakw8ki0VH5TMXJrvmrlLz 9l1VqxXxGKgIe0dywquPJJ2ea8ia7VA= X-Google-Smtp-Source: ADFU+vvxzaiW050AX+hv4HZupa/5g+45FYHYVI/GE61DPDesPXeFmp4W12MF+N/fkWbR5hjYBsqCjQ== X-Received: by 2002:a17:902:768b:: with SMTP id m11mr5503190pll.118.1583543063620; Fri, 06 Mar 2020 17:04:23 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id o66sm23224949pfb.93.2020.03.06.17.04.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2020 17:04:23 -0800 (PST) From: Shannon Nelson To: netdev@vger.kernel.org, davem@davemloft.net Cc: Shannon Nelson Subject: [PATCH v4 net-next 7/8] ionic: add support for device id 0x1004 Date: Fri, 6 Mar 2020 17:04:07 -0800 Message-Id: <20200307010408.65704-8-snelson@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200307010408.65704-1-snelson@pensando.io> References: <20200307010408.65704-1-snelson@pensando.io> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add support for the management port device id. This is to capture the device and set it up for devlink use, but not set it up for network operations. We still use a netdev object in order to use the napi infrasucture for processing adminq and notifyq messages, we just don't register the netdev. Signed-off-by: Shannon Nelson --- drivers/net/ethernet/pensando/ionic/ionic.h | 2 ++ drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c | 7 ++++++- drivers/net/ethernet/pensando/ionic/ionic_devlink.c | 2 +- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 10 ++++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic.h b/drivers/net/ethernet/pensando/ionic/ionic.h index bb106a32f416..59f8385d591f 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic.h +++ b/drivers/net/ethernet/pensando/ionic/ionic.h @@ -18,6 +18,7 @@ struct ionic_lif; #define PCI_DEVICE_ID_PENSANDO_IONIC_ETH_PF 0x1002 #define PCI_DEVICE_ID_PENSANDO_IONIC_ETH_VF 0x1003 +#define PCI_DEVICE_ID_PENSANDO_IONIC_ETH_MGMT 0x1004 #define DEVCMD_TIMEOUT 10 @@ -42,6 +43,7 @@ struct ionic { struct dentry *dentry; struct ionic_dev_bar bars[IONIC_BARS_MAX]; unsigned int num_bars; + bool is_mgmt_nic; struct ionic_identity ident; struct list_head lifs; struct ionic_lif *master_lif; diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c index 2924cde440aa..60fc191a35e5 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c @@ -15,6 +15,7 @@ static const struct pci_device_id ionic_id_table[] = { { PCI_VDEVICE(PENSANDO, PCI_DEVICE_ID_PENSANDO_IONIC_ETH_PF) }, { PCI_VDEVICE(PENSANDO, PCI_DEVICE_ID_PENSANDO_IONIC_ETH_VF) }, + { PCI_VDEVICE(PENSANDO, PCI_DEVICE_ID_PENSANDO_IONIC_ETH_MGMT) }, { 0, } /* end of table */ }; MODULE_DEVICE_TABLE(pci, ionic_id_table); @@ -224,6 +225,9 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) pci_set_drvdata(pdev, ionic); mutex_init(&ionic->dev_cmd_lock); + ionic->is_mgmt_nic = + ent->device == PCI_DEVICE_ID_PENSANDO_IONIC_ETH_MGMT; + /* Query system for DMA addressing limitation for the device. */ err = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(IONIC_ADDR_LEN)); if (err) { @@ -248,7 +252,8 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) } pci_set_master(pdev); - pcie_print_link_status(pdev); + if (!ionic->is_mgmt_nic) + pcie_print_link_status(pdev); err = ionic_map_bars(ionic); if (err) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_devlink.c b/drivers/net/ethernet/pensando/ionic/ionic_devlink.c index 6fb27dcc5787..ed14164468a1 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_devlink.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_devlink.c @@ -82,7 +82,7 @@ int ionic_devlink_register(struct ionic *ionic) err = devlink_port_register(dl, &ionic->dl_port, 0); if (err) dev_err(ionic->dev, "devlink_port_register failed: %d\n", err); - else + else if (!ionic->is_mgmt_nic) devlink_port_type_eth_set(&ionic->dl_port, ionic->master_lif->netdev); diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c index 4b953f9e9084..aaf4a40fa98b 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -1155,6 +1155,10 @@ static int ionic_init_nic_features(struct ionic_lif *lif) netdev_features_t features; int err; + /* no netdev features on the management device */ + if (lif->ionic->is_mgmt_nic) + return 0; + /* set up what we expect to support by default */ features = NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX | @@ -2383,6 +2387,12 @@ int ionic_lifs_register(struct ionic *ionic) { int err; + /* the netdev is not registered on the management device, it is + * only used as a vehicle for napi operations on the adminq + */ + if (ionic->is_mgmt_nic) + return 0; + INIT_WORK(&ionic->nb_work, ionic_lif_notify_work); ionic->nb.notifier_call = ionic_lif_notify; From patchwork Sat Mar 7 01:04:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shannon Nelson X-Patchwork-Id: 1250734 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=none (p=none dis=none) header.from=pensando.io Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=pensando.io header.i=@pensando.io header.a=rsa-sha256 header.s=google header.b=f+zpwgTb; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 48Z5qL6JwKz9s3x for ; Sat, 7 Mar 2020 12:04:30 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726269AbgCGBE2 (ORCPT ); Fri, 6 Mar 2020 20:04:28 -0500 Received: from mail-pj1-f65.google.com ([209.85.216.65]:34105 "EHLO mail-pj1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726973AbgCGBE0 (ORCPT ); Fri, 6 Mar 2020 20:04:26 -0500 Received: by mail-pj1-f65.google.com with SMTP id gc16so2168047pjb.1 for ; Fri, 06 Mar 2020 17:04:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pensando.io; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=bPVg89V57/nOcUKwqCSha9bVmOVxG6rigL/iaVANxr8=; b=f+zpwgTbdsqLwOF4UMXIcIOt7OeFkyKeUl9yO47rHpEJyoKsJaG5rvKY1+HqSjt/05 1PcyAfRA2ULycWmMEXVFNvnRqnOQd5CX2D0PrvgdfzJ5DvSOMzEq0fXyNUdlffKjsOeK kuJa9RvpIzampT5As8qfNbban5BagAYlX2cqpSJPnPAIDKK6DUjFRu5GTvgj/Az0f7Xr tbS7TsoUwR/a4LwV9F8oxBmXen9sIQoorrI8FgVWTZCXV4jVCUgYOO8AHwL695yfs27Z Xlf2ne2Vw3Cz5974chIRQfZovFyxoddAKpE1eBcKepf6sSRj6Bh5vy86WepStHCZfRZN au7g== 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=bPVg89V57/nOcUKwqCSha9bVmOVxG6rigL/iaVANxr8=; b=IlbOUZsbLSCs7cRQgwZx+AJhLTH2mCRyhW16feLC7SiFY9MpwKWt2IVYOn9mGXcYpC gs5uWOFGRKao6Dz2SkpCKmFLy9JCI+1IcwEajZXaw9ZNF0TyM8kx00JluAL4Fa5yahrV lXOBp0dJjwsw72pywfkxa6x2xD6dA8N19H2ekoUuj10B9kQfJcuW4haHuDEtW+JAD99q pA7lc+zoggDzi6hcNZuhZAsH41veTKPYu3OOBtVLMa0GnZQ8fFTkKXj43XlYaE2eUpjr q9JuILVu9RubWvv0Qxd4gbaZ7MNQwAokvlAvXajq++c2895qYFzDdinHDrnoKXp++fGa gk0w== X-Gm-Message-State: ANhLgQ0Ixa2Fn9g7yaMOBUbjI43nU+f84FgLfronbH2EkL5nyKqw8utK ajbLqqTZjRiyrp0vc4jWyPx8cww7/TA= X-Google-Smtp-Source: ADFU+vt8LKUhAgEoLEXoVFQMv4CbHYLcSmrlCXmY5rfusZbNJGZ7i+DKiFJmZGadjAekyEb1IAkzqw== X-Received: by 2002:a17:90a:4487:: with SMTP id t7mr6277973pjg.104.1583543064563; Fri, 06 Mar 2020 17:04:24 -0800 (PST) Received: from driver-dev1.pensando.io ([12.226.153.42]) by smtp.gmail.com with ESMTPSA id o66sm23224949pfb.93.2020.03.06.17.04.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 06 Mar 2020 17:04:24 -0800 (PST) From: Shannon Nelson To: netdev@vger.kernel.org, davem@davemloft.net Cc: Shannon Nelson , Leon Romanovsky Subject: [PATCH v4 net-next 8/8] ionic: drop ethtool driver version Date: Fri, 6 Mar 2020 17:04:08 -0800 Message-Id: <20200307010408.65704-9-snelson@pensando.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200307010408.65704-1-snelson@pensando.io> References: <20200307010408.65704-1-snelson@pensando.io> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use the default kernel version in ethtool drv_info output and drop the module version. Cc: Leon Romanovsky Signed-off-by: Shannon Nelson Reviewed-by: Leon Romanovsky --- drivers/net/ethernet/pensando/ionic/ionic.h | 1 - drivers/net/ethernet/pensando/ionic/ionic_ethtool.c | 1 - drivers/net/ethernet/pensando/ionic/ionic_main.c | 6 ++---- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic.h b/drivers/net/ethernet/pensando/ionic/ionic.h index 59f8385d591f..23ccc0da2341 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic.h +++ b/drivers/net/ethernet/pensando/ionic/ionic.h @@ -12,7 +12,6 @@ struct ionic_lif; #define IONIC_DRV_NAME "ionic" #define IONIC_DRV_DESCRIPTION "Pensando Ethernet NIC Driver" -#define IONIC_DRV_VERSION "0.20.0-k" #define PCI_VENDOR_ID_PENSANDO 0x1dd8 diff --git a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c index acd53e27d1ec..bea9b78e0189 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c @@ -86,7 +86,6 @@ static void ionic_get_drvinfo(struct net_device *netdev, struct ionic *ionic = lif->ionic; strlcpy(drvinfo->driver, IONIC_DRV_NAME, sizeof(drvinfo->driver)); - strlcpy(drvinfo->version, IONIC_DRV_VERSION, sizeof(drvinfo->version)); strlcpy(drvinfo->fw_version, ionic->idev.dev_info.fw_version, sizeof(drvinfo->fw_version)); strlcpy(drvinfo->bus_info, ionic_bus_info(ionic), diff --git a/drivers/net/ethernet/pensando/ionic/ionic_main.c b/drivers/net/ethernet/pensando/ionic/ionic_main.c index a8e3fb73b465..e4a76e66f542 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_main.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_main.c @@ -6,6 +6,7 @@ #include #include #include +#include #include "ionic.h" #include "ionic_bus.h" @@ -15,7 +16,6 @@ MODULE_DESCRIPTION(IONIC_DRV_DESCRIPTION); MODULE_AUTHOR("Pensando Systems, Inc"); MODULE_LICENSE("GPL"); -MODULE_VERSION(IONIC_DRV_VERSION); static const char *ionic_error_to_str(enum ionic_status_code code) { @@ -414,7 +414,7 @@ int ionic_identify(struct ionic *ionic) memset(ident, 0, sizeof(*ident)); ident->drv.os_type = cpu_to_le32(IONIC_OS_TYPE_LINUX); - strncpy(ident->drv.driver_ver_str, IONIC_DRV_VERSION, + strncpy(ident->drv.driver_ver_str, UTS_RELEASE, sizeof(ident->drv.driver_ver_str) - 1); mutex_lock(&ionic->dev_cmd_lock); @@ -558,8 +558,6 @@ int ionic_port_reset(struct ionic *ionic) static int __init ionic_init_module(void) { - pr_info("%s %s, ver %s\n", - IONIC_DRV_NAME, IONIC_DRV_DESCRIPTION, IONIC_DRV_VERSION); ionic_debugfs_create(); return ionic_bus_register_driver(); }