From patchwork Fri May 25 20:45:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: dann frazier X-Patchwork-Id: 920763 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40syth5QVNz9s2R; Sat, 26 May 2018 06:45:16 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1fMJaE-0003Fo-Jv; Fri, 25 May 2018 20:45:06 +0000 Received: from complete.lackof.org ([198.49.126.79]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1fMJaC-0003FW-ME for kernel-team@lists.ubuntu.com; Fri, 25 May 2018 20:45:04 +0000 Received: from localhost (c-73-78-137-212.hsd1.co.comcast.net [73.78.137.212]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by complete.lackof.org (Postfix) with ESMTPSA id ED44933E00E8 for ; Fri, 25 May 2018 14:45:02 -0600 (MDT) Date: Fri, 25 May 2018 14:45:02 -0600 From: dann frazier To: kernel-team@lists.ubuntu.com Subject: [PULL v2][SRU Bionic] hns3 driver updates Message-ID: <20180525204502.GA8848@xps13.dannf> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.9.5 (2018-04-13) X-Virus-Scanned: clamav-milter 0.99.4 at complete.lackof.org X-Virus-Status: Clean X-Spam-Status: No, score=0.2 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on complete.lackof.org X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1768670 hns3 is a driver under active development, and is only used on hardware that is currently pre-production. In fact, the current version of the driver in Ubuntu doesn't work on current silicon (crashes during init). Given the rate of development - and the pre-production status - I believe syncing with the upstream driver-specific changes will be more risk-averse/maintainable than surgically backporting only changesets that individually qualify for SRU. This PR will get us in-sync with the current state of linux-next. Tested on a D06 devel system. v2: Include several new fixes from linux-next The following changes since commit b7be50f6450d62d2a2e3ad7599b63c6ca5c0006f: UBUNTU: Ubuntu-4.15.0-23.25 (2018-05-23 18:56:27 +0200) are available in the Git repository at: git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hns3-updates-v2 for you to fetch changes up to 5d42e08e3faec03393ab84da7d97cd4d3f1b4951: net: hns3: Fix for CMDQ and Misc. interrupt init order problem (2018-05-25 13:53:25 -0600) ---------------------------------------------------------------- Fuyun Liang (24): net: hns3: add existence check when remove old uc mac address net: hns3: fix for netdev not running problem after calling net_stop and net_open net: hns3: fix for ipv6 address loss problem after setting channels net: hns3: unify the pause params setup function net: hns3: reallocate tx/rx buffer after changing mtu net: hns3: change GL update rate net: hns3: change the time interval of int_gl calculating net: hns3: fix for getting wrong link mode problem net: hns3: add get_link support to VF net: hns3: add querying speed and duplex support to VF net: hns3: fix for not returning problem in get_link_ksettings when phy exists net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo net: hns3: fix for not initializing VF rss_hash_key problem net: hns3: Fix to support autoneg only for port attached with phy net: hns3: Fix for deadlock problem occurring when unregistering ae_algo net: hns3: Fix for the null pointer problem occurring when initializing ae_dev failed net: hns3: Add a check for client instance init state net: hns3: Change return type of hnae3_register_ae_dev net: hns3: Change return type of hnae3_register_ae_algo net: hns3: Change return value in hnae3_register_client net: hns3: Fixes the missing PCI iounmap for various legs net: hns3: Fix for netdev not running problem after calling net_stop and net_open Huazhong Tan (6): net: hns3: fix to correctly fetch l4 protocol outer header net: hns3: Fixes the out of bounds access in hclge_map_tqp net: hns3: Fixes the error legs in hclge_init_ae_dev function net: hns3: fix for phy_addr error in hclge_mac_mdio_config net: hns3: fix a dead loop in hclge_cmd_csq_clean net: hns3: Use enums instead of magic number in hclge_is_special_opcode Jian Shen (5): net: hns3: fix error type definition of return value net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status() net: hns3: add existence checking before adding unicast mac address net: hns3: add result checking for VF when modify unicast mac address net: hns3: cleanup of return values in hclge_init_client_instance() Peng Li (13): net: hns3: VF should get the real rss_size instead of rss_size_max net: hns3: set the cmdq out_vld bit to 0 after used net: hns3: fix endian issue when PF get mbx message flag net: hns3: fix the queue id for tqp enable&&reset net: hns3: set the max ring num when alloc netdev net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info net: hns3: fix rx path skb->truesize reporting bug net: hns3: add support for querying pfc puase packets statistic net: hns3: fix the VF queue reset flow error net: hns3: increase the max time for IMP handle command net: hns3: never send command queue message to IMP when reset net: hns3: Add support of .sriov_configure in HNS3 driver net: hns3: Fixes API to fetch ethernet header length with kernel default Salil Mehta (10): net: hns3: Changes to make enet watchdog timeout func common for PF/VF net: hns3: Add VF Reset Service Task to support event handling net: hns3: Add VF Reset device state and its handling net: hns3: Add support to request VF Reset to PF net: hns3: Add support to reset the enet/ring mgmt layer net: hns3: Add support to re-initialize the hclge device net: hns3: Changes to support ARQ(Asynchronous Receive Queue) net: hns3: Add *Asserting Reset* mailbox message & handling in VF net: hns3: Changes required in PF mailbox to support VF reset net: hns3: Fixes error reported by Kbuild and internal review Tan Xiaojun (1): net: hns3: fix length overflow when CONFIG_ARM64_64K_PAGES Wei Yongjun (1): net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree() Xi Wang (4): net: hns3: Remove packet statistics in the range of 8192~12287 net: hns3: Fix the missing client list node initialization net: hns3: Fix for hns3 module is loaded multiple times problem net: hns3: Fixes kernel panic issue during rmmod hns3 driver Yunsheng Lin (22): net: hns3: refactor the hclge_get/set_rss function net: hns3: refactor the hclge_get/set_rss_tuple function net: hns3: fix for RSS configuration loss problem during reset net: hns3: fix for pause configuration lost during reset net: hns3: fix for use-after-free when setting ring parameter net: hns3: refactor the get/put_vector function net: hns3: fix for coalesce configuration lost during reset net: hns3: refactor the coalesce related struct net: hns3: fix for coal configuation lost when setting the channel net: hns3: fix for loopback failure when vlan filter is enable net: hns3: fix for buffer overflow smatch warning net: hns3: fix for vlan table lost problem when resetting net: hns3: Remove error log when getting pfc stats fails net: hns3: Fix for packet loss due wrong filter config in VLAN tbls net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver net: hns3: Fix for setting mac address when resetting net: hns3: remove add/del_tunnel_udp in hns3_enet module net: hns3: fix for cleaning ring problem net: hns3: refactor the loopback related function net: hns3: Fixes the back pressure setting when sriov is enabled net: hns3: Fix for fiber link up problem net: hns3: Fix for CMDQ and Misc. interrupt init order problem kbuild test robot (1): net: hns3: hclge_inform_reset_assert_to_vf() can be static drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 18 + drivers/net/ethernet/hisilicon/hns3/hnae3.c | 45 +- drivers/net/ethernet/hisilicon/hns3/hnae3.h | 32 +- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 722 +++++++++-------- drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 22 +- drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 174 ++--- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 29 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 4 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 16 + .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 854 +++++++++++++-------- .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 50 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 106 ++- .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 13 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 118 ++- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 13 +- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 6 + .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 2 +- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 511 ++++++++++-- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 37 +- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 95 ++- 20 files changed, 1903 insertions(+), 964 deletions(-)