From patchwork Tue Jan 8 23:21:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: dann frazier X-Patchwork-Id: 1022234 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-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43Z7ZN5ddrz9sDL; Wed, 9 Jan 2019 10:22:04 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1gh0h2-0000TT-Da; Tue, 08 Jan 2019 23:21:56 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.86_2) (envelope-from ) id 1gh0gz-0000Sr-23 for kernel-team@lists.ubuntu.com; Tue, 08 Jan 2019 23:21:53 +0000 Received: from mail-io1-f70.google.com ([209.85.166.70]) by youngberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1gh0gy-0002MT-4F for kernel-team@lists.ubuntu.com; Tue, 08 Jan 2019 23:21:52 +0000 Received: by mail-io1-f70.google.com with SMTP id x2so4647978ioa.23 for ; Tue, 08 Jan 2019 15:21:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=3cOJV94CVABUu09DVtBDL5UXaTlfJQMDww4Y339M4Mg=; b=tPyzf7zRSCGi8WYaTWlETZA8RKP+pLbCTiEz54H0Nemrs+VERUbN3BoS/vBfPlnp5l 1Yj5BbVvhSrlBNd4k2q3xOZ6xZANe5jW1A4nc05MT3IVcSG40p5cBVr8xrELO/kzj4ii l02J+ypQ89itcMOgponZLh8gh7pyc+seM291XEeq6mXv0uJrz/CRFQmdFgwTcNlXn+0q BORwP/8frOP1Vg0wwH18Hdoy9DFTipAsxq14C17EezH91keNBjY0431lZ48rg7yZoP9h hFJWJruIJmvJK7ExsbuFqt6ddyuJjt1+Q5ppNjnWvNszbYzixTNEeFb3oO9PiZIw4llG rYVQ== X-Gm-Message-State: AJcUuke9+6up+JknK9ZV3wKssKtIKvNsOwJQwvYimXtb3GK2IRLLohOz nYfWDgtzZfUPTZNYLMKPMfszkjsYe6zmN7MW9CiJNte+9c/mLGy3RtpcupFkNRFD9l3X+s97ps9 Lg7T0dy+wIM8q/F1DqPMyxZgJMUs8ZK8h6wqIqeR4Pw== X-Received: by 2002:a6b:f90c:: with SMTP id j12mr2395830iog.245.1546989710692; Tue, 08 Jan 2019 15:21:50 -0800 (PST) X-Google-Smtp-Source: ALg8bN7ex5O0R730etf3iPw5s+HcS9U0brGcJXwEL2g+sMKAoFmft9GUphGlXRFWPhR1gDkNZG8f9Q== X-Received: by 2002:a6b:f90c:: with SMTP id j12mr2395814iog.245.1546989710186; Tue, 08 Jan 2019 15:21:50 -0800 (PST) Received: from xps13.canonical.com (c-107-2-141-103.hsd1.co.comcast.net. [107.2.141.103]) by smtp.gmail.com with ESMTPSA id e22sm10024830iol.49.2019.01.08.15.21.49 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 08 Jan 2019 15:21:49 -0800 (PST) Date: Tue, 8 Jan 2019 16:21:48 -0700 From: dann frazier To: kernel-team@lists.ubuntu.com Subject: [PULL][Disco] Update drivers specific to HiSilicon server SoCs Message-ID: <20190108232148.GB25078@xps13.dannf> References: <20190108220534.GA25078@xps13.dannf> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190108220534.GA25078@xps13.dannf> User-Agent: Mutt/1.10.1 (2018-07-13) 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/1810457 The first commit here is a revert of a change that was unintentionally applied twice, but luckily appears to have not caused any issues. The remaining patches are all clean cherry picks from upstream, restricted to drivers specific to the Hi1616 and Hi1620 SoCs in the D05 and D06 server development boards. The following changes since commit 720550341d6bd26df9b61bb4edbb9204e93b0692: Linux 4.19.13 (2019-01-07 08:19:08 -0600) are available in the Git repository at: git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hisi-soc-updates-disco for you to fetch changes up to 2d69da533fd95b7229a53ebd06ccf140cc3b5dcf: net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT (2019-01-08 15:25:31 -0700) ---------------------------------------------------------------- Arnd Bergmann (1): hns3: prevent building without CONFIG_INET Christoph Hellwig (1): scsi: hisi_sas: use dma_set_mask_and_coherent Colin Ian King (4): net: hns3: fix spelling mistake "intrerrupt" -> "interrupt" net: hns3: fix spelling mistake, "assertting" -> "asserting" net: hns3: fix spelling mistake "failded" -> "failed" net: hns3: fix spelling mistake "offser" -> "offset" David S. Miller (2): hns3: Fix the build. hns3: Another build fix. Fuyun Liang (10): net: hns3: Fix for setting speed for phy failed problem net: hns3: Fix speed/duplex information loss problem when executing ethtool ethx cmd of VF net: hns3: Set extra mac address of pause param for HW net: hns3: Rename loop mode net: hns3: Rename mac loopback to app loopback net: hns3: Add serdes parallel inner loopback support net: hns3: add handling for big TX fragment net: hns3: rename hns_nic_dma_unmap net: hns3: fix for multiple unmapping DMA problem net: hns3: remove 1000M/half support of phy Gustavo A. R. Silva (1): scsi: hisi_sas: Fix NULL pointer dereference Huazhong Tan (43): net: hns3: Fix for multicast failure net: hns3: Change return type of hclge_tm_schd_info_update() net: hns3: Modify hns3_get_max_available_channels net: hns3: Fix loss of coal configuration while doing reset net: hns3: add error handler for hns3_nic_init_vector_data() net: hns3: bugfix for buffer not free problem during resetting net: hns3: bugfix for reporting unknown vector0 interrupt repeatly problem net: hns3: remove unnecessary queue reset in the hns3_uninit_all_ring() net: hns3: bugfix for is_valid_csq_clean_head() net: hns3: bugfix for hclge_mdio_write and hclge_mdio_read net: hns3: fix incorrect return value/type of some functions net: hns3: bugfix for not checking return value net: hns3: use HNS3_NIC_STATE_INITED to indicate the initialization state of enet net: hns3: add set_default_reset_request in the hnae3_ae_ops net: hns3: provide some interface & information for the client net: hns3: adjust the location of clearing the table when doing reset net: hns3: enable/disable ring in the enet while doing UP/DOWN net: hns3: use HNS3_NIC_STATE_RESETTING to indicate resetting net: hns3: ignore new coming low-level reset while doing high-level reset net: hns3: move some reset information from hnae3_handle into hclge_dev/hclgevf_dev net: hns3: adjust the process of PF reset net: hns3: call roce's reset notify callback when resetting net: hns3: add error handler for hclge_reset() net: hns3: fix for cmd queue memory not freed problem during reset net: hns3: add reset_hdev to reinit the hdev in VF's reset process net: hns3: adjust VF's reset process net: hns3: add reset handling for VF when doing PF reset net: hns3: add reset handling for VF when doing Core/Global/IMP reset net: hns3: stop handling command queue while resetting VF net: hns3: add error handler for hclgevf_reset() net: hns3: stop napi polling when HNS3_NIC_STATE_DOWN is set net: hns3: implement the IMP reset processing for PF net: hns3: add PCIe FLR support for PF net: hns3: do VF's pci re-initialization while PF doing FLR net: hns3: add PCIe FLR support for VF net: hns3: fix error handling int the hns3_get_vector_ring_chain net: hns3: uninitialize pci in the hclgevf_uninit net: hns3: fix napi_disable not return problem net: hns3: update some variables while hclge_reset()/hclgevf_reset() done net: hns3: remove unnecessary configuration recapture while resetting net: hns3: fix incomplete uninitialization of IRQ in the hns3_nic_uninit_vector_data() net: hns3: reset tqp while doing DOWN operation net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT Jian Shen (39): net: hns3: Fix error of checking used vlan id net: hns3: Remove redundant codes of query advertised flow control abilitiy net: hns3: Refine hns3_get_link_ksettings() net: hns3: Fix cmdq registers initialization issue for vf net: hns3: Clear client pointer when initialize client failed or unintialize finished net: hns3: Fix client initialize state issue when roce client initialize failed net: hns3: Fix parameter type for q_id in hclge_tm_q_to_qs_map_cfg() net: hns3: Unify the type convert for desc.data net: hns3: Adjust prefix of tx/rx statistic names net: hns3: Fix tqp array traversal condition for vf net: hns3: Unify the prefix of vf functions net: hns3: Add handle for default case net: hns3: Add unlikely for dma_mapping_error check net: hns3: Remove print messages for error packet net: hns3: Add flow director initialization net: hns3: Add input key and action config support for flow director net: hns3: Add support for rule add/delete for flow director net: hns3: Add support for rule query of flow director net: hns3: Add reset handle for flow director net: hns3: Remove all flow director rules when unload hns3 driver net: hns3: Add support for enable/disable flow director net: hns3: Remove the default mask configuration for mac vlan table net: hns3: Clear mac vlan table entries when unload driver or function reset net: hns3: Optimize for unicast mac vlan table net: hns3: Drop depricated mta table support net: hns3: Fix for rx vlan id handle to support Rev 0x21 hardware net: hns3: Add new RSS hash algorithm support for PF net: hns3: Add RSS general configuration support for VF net: hns3: Add RSS tuples support for VF net: hns3: Enable promisc mode when mac vlan table is full net: hns3: Resume promisc mode and vlan filter status after reset net: hns3: Resume promisc mode and vlan filter status after loopback test net: hns3: Support "ethtool -d" for HNS3 VF driver net: hns3: Adds support to dump(using ethool-d) PCIe regs in HNS3 PF driver net: hns3: refine the handle for hns3_nic_net_open/stop() net: hns3: change default tc state to close net: hns3: add max vector number check for pf net: hns3: fix vf id check issue when add flow director rule net: hns3: don't restore rules when flow director is disabled John Garry (2): scsi: hisi_sas: Fix spin lock management in slot_index_alloc_quirk_v2_hw() scsi: hisi_sas: Fix warnings detected by sparse Luo Jiaxing (2): scsi: hisi_sas: Feed back linkrate(max/min) when re-attached scsi: hisi_sas: Move evaluation of hisi_hba in hisi_sas_task_prep() Peng Li (20): net: hns3: Add default irq affinity net: hns3: Add unlikely for buf_num check net: hns3: Remove tx budget to clean more TX descriptors in a napi net: hns3: Remove packet statistics of public net: hns3: Add get_media_type ops support for VF net: hns3: Remove redundant hclge_get_port_type() net: hns3: Add support for sctp checksum offload net: hns3: Add HW RSS hash information to RX skb net: hns3: remove hns3_fill_desc_tso net: hns3: move DMA map into hns3_fill_desc net: hns3: Enable HW GRO for Rev B(=0x21) HNS3 hardware net: hns3: Add handling of GRO Pkts not fully RX'ed in NAPI poll net: hns3: Add support for ethtool -K to enable/disable HW GRO net: hns3: Add skb chain when num of RX buf exceeds MAX_SKB_FRAGS net: hns3: Adds GRO params to SKB for the stack net: hns3: update coalesce param per second net: hns3: synchronize speed and duplex from phy when phy link up net: hns3: fix a bug caused by udelay net: hns3: fix the descriptor index when get rss type net: hns3: remove redundant variable initialization Salil Mehta (1): net: hns3: add handling of hw errors reported through MSIX Shiju Jose (21): net: hns3: Add PCIe AER callback error_detected net: hns3: Add PCIe AER error recovery net: hns3: Add support to enable and disable hw errors net: hns3: Add enable and process common ecc errors net: hns3: Add enable and process hw errors from IGU, EGU and NCSI net: hns3: Add enable and process hw errors from PPP net: hns3: Add enable and process hw errors of TM scheduler net: hns3: Fix for warning uninitialized symbol hw_err_lst3 net: hns3: remove existing process error functions and reorder hw_blk table net: hns3: rename enable error interrupt functions net: hns3: re-enable error interrupts on hw reset net: hns3: deletes unnecessary settings of the descriptor data net: hns3: rename process_hw_error function net: hns3: add optimization in the hclge_hw_error_set_state net: hns3: add handling of hw ras errors using new set of commands net: hns3: deleted logging 1 bit errors net: hns3: add handling of hw errors of MAC net: hns3: handle hw errors of PPP PF net: hns3: handle hw errors of PPU(RCB) net: hns3: handle hw errors of SSU net: hns3: add handling of RDMA RAS errors Wei Yongjun (1): net: hns: make function hns_gmac_wait_fifo_clean() static Xi Wang (1): net: hns3: Add support for hns3_nic_netdev_ops.ndo_do_ioctl Xiang Chen (13): scsi: hisi_sas: Fix the race between IO completion and timeout for SMP/internal IO scsi: hisi_sas: Free slot later in slot_complete_vx_hw() scsi: hisi_sas: unmask interrupts ent72 and ent74 scsi: hisi_sas: Use block layer tag instead for IPTT scsi: hisi_sas: Update v3 hw AIP_LIMIT and CFG_AGING_TIME register values scsi: hisi_sas: Create separate host attributes per HBA scsi: hisi_sas: Add support for interrupt converge for v3 hw scsi: hisi_sas: Add support for interrupt coalescing for v3 hw scsi: hisi_sas: Relocate some codes to avoid an unused check scsi: hisi_sas: change the time of SAS SSP connection scsi: hisi_sas: Relocate some code to reduce complexity scsi: hisi_sas: Make sg_tablesize consistent value scsi: hisi_sas: Add support for DIF feature for v2 hw Yonglong Liu (10): net: hns: Incorrect offset address used for some registers. net: hns: All ports can not work when insmod hns ko after rmmod. net: hns: Some registers use wrong address according to the datasheet. net: hns: Fixed bug that netdev was opened twice net: hns: Clean rx fbd when ae stopped. net: hns: Free irq when exit from abnormal branch net: hns: Avoid net reset caused by pause frames storm net: hns: Fix ntuple-filters status error. net: hns: Add mac pcs config when enable|disable mac net: hns: Fix ping failed when use net bridge and send multicast YueHaibing (1): net: hns3: Remove set but not used variable 'reset_level' Yunsheng Lin (14): net: hns3: Implement shutdown ops in hns3 pci driver net: hns3: Fix for loopback selftest failed problem net: hns3: Only update mac configuation when necessary net: hns3: Change the dst mac addr of loopback packet net: hns3: Fix for netdev not up problem when setting mtu net: hns3: Support two vlan header when setting mtu net: hns3: Refactor mac mtu setting related functions net: hns3: Add vport alive state checking support net: hns3: Add mtu setting support for vf net: hns3: up/down netdev in hclge module when setting mtu net: hns3: add common validation in hclge_dcb net: hns3: getting tx and dv buffer size through firmware net: hns3: aligning buffer size in SSU to 256 bytes net: hns3: fix a SSU buffer checking bug Zhongzhu Liu (1): net: hns3: Add egress/ingress vlan filter for revision 0x21 dann frazier (1): UBUNTU: SAUCE: Revert "net: hns3: Updates RX packet info fetch in case of multi BD" liuzhongzhu (14): net: hns3: Add debugfs framework registration net: hns3: Add "queue info" query function net: hns3: Add "FD flow table" info query function net: hns3: Add "tc config" info query function net: hns3: Add "tm config" info query function net: hns3: Add "qos pause" config info query function net: hns3: Add "qos prio map" info query function net: hns3: Add "qos buffer" config info query function net: hns3: Add "bd info" query function net: hns3: Add "manager table" information query function net: hns3: Add "status register" information query function net: hns3: Add "dcb register" status information query function net: hns3: Add "queue map" information query function net: hns3: Add "tm map" status information query function drivers/net/ethernet/hisilicon/Kconfig | 1 + drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c | 3 + drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c | 16 +- drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 15 + drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 503 ++- drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h | 13 +- drivers/net/ethernet/hisilicon/hns/hns_enet.c | 43 +- drivers/net/ethernet/hisilicon/hns3/Makefile | 2 +- drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 13 +- drivers/net/ethernet/hisilicon/hns3/hnae3.c | 12 +- drivers/net/ethernet/hisilicon/hns3/hnae3.h | 111 +- drivers/net/ethernet/hisilicon/hns3/hns3_dcbnl.c | 12 + drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c | 399 +++ drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 1253 +++++-- drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 72 +- drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 231 +- .../net/ethernet/hisilicon/hns3/hns3pf/Makefile | 2 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c | 23 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 206 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 62 +- .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 933 +++++ .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.h | 713 ++++ .../net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c | 1412 ++++++++ .../net/ethernet/hisilicon/hns3/hns3pf/hclge_err.h | 120 + .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 3640 ++++++++++++++------ .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 473 ++- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 162 +- .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 10 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 14 +- .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 19 +- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 154 +- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 17 +- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 1391 ++++++-- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 121 +- .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 22 +- drivers/scsi/hisi_sas/hisi_sas.h | 16 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 337 +- drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 25 +- drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 88 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 336 +- 40 files changed, 10433 insertions(+), 2562 deletions(-) create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.h create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.h