mbox series

[PULL,SRU,Cosmic] Update drivers specific to HiSilicon server SoCs

Message ID 20190108232513.GC25078@xps13.dannf
State New
Headers show
Series [PULL,SRU,Cosmic] Update drivers specific to HiSilicon server SoCs | expand

Pull-request

git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hisi-soc-updates-cosmic

Message

dann frazier Jan. 8, 2019, 11:25 p.m. UTC
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 b677330ac15da68ad37048c9968d0fcbc20a80b4:

  UBUNTU: SAUCE: (noup) USB: usb-storage: Make MMC support optional on ums-realtek (2018-12-29 23:44:42 -0500)

are available in the Git repository at:

  git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hisi-soc-updates-cosmic

for you to fetch changes up to 41c2644cf07ee382aa84684537c17865d836e43c:

  net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT (2019-01-08 15:26:41 -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 (5):
      net: hns3: remove redundant variable 'protocol'
      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.

Eric Dumazet (1):
      net: hns: remove ndo_poll_controller

Fuyun Liang (11):
      net: hns3: Set STATE_DOWN bit of hdev state when stopping net
      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 (3):
      net: hns: Mark expected switch fall-through
      net: hns3: Mark expected switch fall-through
      scsi: hisi_sas: Fix NULL pointer dereference

Huazhong Tan (51):
      net: hns3: fix return value error while hclge_cmd_csq_clean failed
      net: hns: modify variable type in hns_nic_reuse_page
      net: hns: use eth_get_headlen interface instead of hns_nic_get_headlen
      net: hns3: modify variable type in hns3_nic_reuse_page
      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: bugfix for the initialization of command queue's spin lock
      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 handling mailbox while the command queue reinitialized
      net: hns3: bugfix for rtnl_lock's range in the hclge_reset()
      net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset()
      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

Jia-Ju Bai (1):
      net: hisilicon: hns: Replace mdelay() with msleep()

Jian Shen (41):
      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: Fix ets validate issue
      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 nic state check before calling netif_tx_wake_queue
      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 (3):
      scsi: hisi_sas: Drop hisi_sas_slot_abort()
      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 (21):
      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: Check hdev state when getting link status
      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 (5):
      net: hns: Make many functions static
      net: hns: make hns_dsaf_roce_reset non static
      net: hns: remove redundant variables 'max_frm' and 'tmp_mac_key'
      scsi: hisi_sas: Remove set but not used variable 'dq_list'
      net: hns3: Remove set but not used variable 'reset_level'

Yunsheng Lin (20):
      net: hns3: Remove tx ring BD len register in hns3_enet
      net: hns3: Fix for vf vlan delete failed problem
      net: hns3: Implement shutdown ops in hns3 pci driver
      net: hns3: Fix for loopback selftest failed problem
      net: hns3: Fix ping exited problem when doing lp selftest
      net: hns3: Preserve vlan 0 in hardware table
      net: hns3: Only update mac configuation when necessary
      net: hns3: Change the dst mac addr of loopback packet
      net: hns3: Fix for packet buffer setting bug
      net: hns3: Fix for netdev not up problem when setting mtu
      net: hns3: Fix for out-of-bounds access when setting pfc back pressure
      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  |   33 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c |   18 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c  |   28 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c |  525 ++-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c |   13 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c  |   11 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c  |    4 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  |   13 +-
 .../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c    |    6 +-
 drivers/net/ethernet/hisilicon/hns/hns_enet.c      |  173 +-
 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c   |   25 +-
 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    | 1263 +++++--
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.h    |   73 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |  235 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/Makefile    |    2 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c |   47 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h |  206 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c |   68 +-
 .../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    | 3579 +++++++++++++++-----
 .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h    |  473 ++-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c |  168 +-
 .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c    |   10 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c  |   24 +-
 .../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  | 1397 ++++++--
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |  121 +-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |   22 +-
 drivers/scsi/hisi_sas/hisi_sas.h                   |   17 +-
 drivers/scsi/hisi_sas/hisi_sas_main.c              |  356 +-
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c             |   32 +-
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c             |   90 +-
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c             |  338 +-
 45 files changed, 10520 insertions(+), 2768 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

Comments

dann frazier Jan. 8, 2019, 11:33 p.m. UTC | #1
On Tue, Jan 8, 2019 at 4:25 PM dann frazier <dann.frazier@canonical.com> wrote:
>
> 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,

Sorry - cut & paste error here. 2 patches did require some minor
backporting for cosmic, noted in the sign-off section of those
commits.

  -dann
Stefan Bader Jan. 9, 2019, 11:12 a.m. UTC | #2
On 09.01.19 00:25, dann frazier wrote:
> 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 b677330ac15da68ad37048c9968d0fcbc20a80b4:
> 
>   UBUNTU: SAUCE: (noup) USB: usb-storage: Make MMC support optional on ums-realtek (2018-12-29 23:44:42 -0500)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hisi-soc-updates-cosmic
> 
> for you to fetch changes up to 41c2644cf07ee382aa84684537c17865d836e43c:
> 
>   net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT (2019-01-08 15:26:41 -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 (5):
>       net: hns3: remove redundant variable 'protocol'
>       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.
> 
> Eric Dumazet (1):
>       net: hns: remove ndo_poll_controller
> 
> Fuyun Liang (11):
>       net: hns3: Set STATE_DOWN bit of hdev state when stopping net
>       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 (3):
>       net: hns: Mark expected switch fall-through
>       net: hns3: Mark expected switch fall-through
>       scsi: hisi_sas: Fix NULL pointer dereference
> 
> Huazhong Tan (51):
>       net: hns3: fix return value error while hclge_cmd_csq_clean failed
>       net: hns: modify variable type in hns_nic_reuse_page
>       net: hns: use eth_get_headlen interface instead of hns_nic_get_headlen
>       net: hns3: modify variable type in hns3_nic_reuse_page
>       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: bugfix for the initialization of command queue's spin lock
>       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 handling mailbox while the command queue reinitialized
>       net: hns3: bugfix for rtnl_lock's range in the hclge_reset()
>       net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset()
>       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
> 
> Jia-Ju Bai (1):
>       net: hisilicon: hns: Replace mdelay() with msleep()
> 
> Jian Shen (41):
>       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: Fix ets validate issue
>       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 nic state check before calling netif_tx_wake_queue
>       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 (3):
>       scsi: hisi_sas: Drop hisi_sas_slot_abort()
>       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 (21):
>       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: Check hdev state when getting link status
>       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 (5):
>       net: hns: Make many functions static
>       net: hns: make hns_dsaf_roce_reset non static
>       net: hns: remove redundant variables 'max_frm' and 'tmp_mac_key'
>       scsi: hisi_sas: Remove set but not used variable 'dq_list'
>       net: hns3: Remove set but not used variable 'reset_level'
> 
> Yunsheng Lin (20):
>       net: hns3: Remove tx ring BD len register in hns3_enet
>       net: hns3: Fix for vf vlan delete failed problem
>       net: hns3: Implement shutdown ops in hns3 pci driver
>       net: hns3: Fix for loopback selftest failed problem
>       net: hns3: Fix ping exited problem when doing lp selftest
>       net: hns3: Preserve vlan 0 in hardware table
>       net: hns3: Only update mac configuation when necessary
>       net: hns3: Change the dst mac addr of loopback packet
>       net: hns3: Fix for packet buffer setting bug
>       net: hns3: Fix for netdev not up problem when setting mtu
>       net: hns3: Fix for out-of-bounds access when setting pfc back pressure
>       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  |   33 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c |   18 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c  |   28 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c |  525 ++-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c |   13 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c  |   11 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c  |    4 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  |   13 +-
>  .../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c    |    6 +-
>  drivers/net/ethernet/hisilicon/hns/hns_enet.c      |  173 +-
>  drivers/net/ethernet/hisilicon/hns/hns_ethtool.c   |   25 +-
>  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    | 1263 +++++--
>  drivers/net/ethernet/hisilicon/hns3/hns3_enet.h    |   73 +-
>  drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |  235 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/Makefile    |    2 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c |   47 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h |  206 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c |   68 +-
>  .../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    | 3579 +++++++++++++++-----
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h    |  473 ++-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c |  168 +-
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c    |   10 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c  |   24 +-
>  .../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  | 1397 ++++++--
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |  121 +-
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |   22 +-
>  drivers/scsi/hisi_sas/hisi_sas.h                   |   17 +-
>  drivers/scsi/hisi_sas/hisi_sas_main.c              |  356 +-
>  drivers/scsi/hisi_sas/hisi_sas_v1_hw.c             |   32 +-
>  drivers/scsi/hisi_sas/hisi_sas_v2_hw.c             |   90 +-
>  drivers/scsi/hisi_sas/hisi_sas_v3_hw.c             |  338 +-
>  45 files changed, 10520 insertions(+), 2768 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
> 
I am getting a bit fed up with this driver (specifically with the delta it
causes for the bionic kernel. I am sure you neither appreciate all that extra
work. Is there any possibility we can sustain a decision to say if anybody
insists on using this hardware with bionic, they just have to bite the bullet
and use the HWE kernel?

For Cosmic:

Acked-by: Stefan Bader <stefan.bader@canonical.com>
Kleber Sacilotto de Souza Jan. 9, 2019, 11:40 a.m. UTC | #3
On 1/9/19 12:25 AM, dann frazier wrote:
> 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 b677330ac15da68ad37048c9968d0fcbc20a80b4:
>
>   UBUNTU: SAUCE: (noup) USB: usb-storage: Make MMC support optional on ums-realtek (2018-12-29 23:44:42 -0500)
>
> are available in the Git repository at:
>
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hisi-soc-updates-cosmic
>
> for you to fetch changes up to 41c2644cf07ee382aa84684537c17865d836e43c:
>
>   net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT (2019-01-08 15:26:41 -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 (5):
>       net: hns3: remove redundant variable 'protocol'
>       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.
>
> Eric Dumazet (1):
>       net: hns: remove ndo_poll_controller
>
> Fuyun Liang (11):
>       net: hns3: Set STATE_DOWN bit of hdev state when stopping net
>       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 (3):
>       net: hns: Mark expected switch fall-through
>       net: hns3: Mark expected switch fall-through
>       scsi: hisi_sas: Fix NULL pointer dereference
>
> Huazhong Tan (51):
>       net: hns3: fix return value error while hclge_cmd_csq_clean failed
>       net: hns: modify variable type in hns_nic_reuse_page
>       net: hns: use eth_get_headlen interface instead of hns_nic_get_headlen
>       net: hns3: modify variable type in hns3_nic_reuse_page
>       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: bugfix for the initialization of command queue's spin lock
>       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 handling mailbox while the command queue reinitialized
>       net: hns3: bugfix for rtnl_lock's range in the hclge_reset()
>       net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset()
>       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
>
> Jia-Ju Bai (1):
>       net: hisilicon: hns: Replace mdelay() with msleep()
>
> Jian Shen (41):
>       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: Fix ets validate issue
>       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 nic state check before calling netif_tx_wake_queue
>       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 (3):
>       scsi: hisi_sas: Drop hisi_sas_slot_abort()
>       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 (21):
>       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: Check hdev state when getting link status
>       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 (5):
>       net: hns: Make many functions static
>       net: hns: make hns_dsaf_roce_reset non static
>       net: hns: remove redundant variables 'max_frm' and 'tmp_mac_key'
>       scsi: hisi_sas: Remove set but not used variable 'dq_list'
>       net: hns3: Remove set but not used variable 'reset_level'
>
> Yunsheng Lin (20):
>       net: hns3: Remove tx ring BD len register in hns3_enet
>       net: hns3: Fix for vf vlan delete failed problem
>       net: hns3: Implement shutdown ops in hns3 pci driver
>       net: hns3: Fix for loopback selftest failed problem
>       net: hns3: Fix ping exited problem when doing lp selftest
>       net: hns3: Preserve vlan 0 in hardware table
>       net: hns3: Only update mac configuation when necessary
>       net: hns3: Change the dst mac addr of loopback packet
>       net: hns3: Fix for packet buffer setting bug
>       net: hns3: Fix for netdev not up problem when setting mtu
>       net: hns3: Fix for out-of-bounds access when setting pfc back pressure
>       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  |   33 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c |   18 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c  |   28 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c |  525 ++-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c |   13 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c  |   11 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c  |    4 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  |   13 +-
>  .../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c    |    6 +-
>  drivers/net/ethernet/hisilicon/hns/hns_enet.c      |  173 +-
>  drivers/net/ethernet/hisilicon/hns/hns_ethtool.c   |   25 +-
>  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    | 1263 +++++--
>  drivers/net/ethernet/hisilicon/hns3/hns3_enet.h    |   73 +-
>  drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |  235 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/Makefile    |    2 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c |   47 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h |  206 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c |   68 +-
>  .../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    | 3579 +++++++++++++++-----
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h    |  473 ++-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c |  168 +-
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c    |   10 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c  |   24 +-
>  .../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  | 1397 ++++++--
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |  121 +-
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |   22 +-
>  drivers/scsi/hisi_sas/hisi_sas.h                   |   17 +-
>  drivers/scsi/hisi_sas/hisi_sas_main.c              |  356 +-
>  drivers/scsi/hisi_sas/hisi_sas_v1_hw.c             |   32 +-
>  drivers/scsi/hisi_sas/hisi_sas_v2_hw.c             |   90 +-
>  drivers/scsi/hisi_sas/hisi_sas_v3_hw.c             |  338 +-
>  45 files changed, 10520 insertions(+), 2768 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
>
Same feeling as Stefan's about this huge PR for an LTS release, so I'm
ACK'ing only Cosmic for now.

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Kleber Sacilotto de Souza Jan. 9, 2019, 1:51 p.m. UTC | #4
On 1/9/19 12:25 AM, dann frazier wrote:
> 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 b677330ac15da68ad37048c9968d0fcbc20a80b4:
>
>   UBUNTU: SAUCE: (noup) USB: usb-storage: Make MMC support optional on ums-realtek (2018-12-29 23:44:42 -0500)
>
> are available in the Git repository at:
>
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hisi-soc-updates-cosmic
>
> for you to fetch changes up to 41c2644cf07ee382aa84684537c17865d836e43c:
>
>   net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT (2019-01-08 15:26:41 -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 (5):
>       net: hns3: remove redundant variable 'protocol'
>       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.
>
> Eric Dumazet (1):
>       net: hns: remove ndo_poll_controller
>
> Fuyun Liang (11):
>       net: hns3: Set STATE_DOWN bit of hdev state when stopping net
>       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 (3):
>       net: hns: Mark expected switch fall-through
>       net: hns3: Mark expected switch fall-through
>       scsi: hisi_sas: Fix NULL pointer dereference
>
> Huazhong Tan (51):
>       net: hns3: fix return value error while hclge_cmd_csq_clean failed
>       net: hns: modify variable type in hns_nic_reuse_page
>       net: hns: use eth_get_headlen interface instead of hns_nic_get_headlen
>       net: hns3: modify variable type in hns3_nic_reuse_page
>       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: bugfix for the initialization of command queue's spin lock
>       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 handling mailbox while the command queue reinitialized
>       net: hns3: bugfix for rtnl_lock's range in the hclge_reset()
>       net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset()
>       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
>
> Jia-Ju Bai (1):
>       net: hisilicon: hns: Replace mdelay() with msleep()
>
> Jian Shen (41):
>       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: Fix ets validate issue
>       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 nic state check before calling netif_tx_wake_queue
>       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 (3):
>       scsi: hisi_sas: Drop hisi_sas_slot_abort()
>       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 (21):
>       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: Check hdev state when getting link status
>       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 (5):
>       net: hns: Make many functions static
>       net: hns: make hns_dsaf_roce_reset non static
>       net: hns: remove redundant variables 'max_frm' and 'tmp_mac_key'
>       scsi: hisi_sas: Remove set but not used variable 'dq_list'
>       net: hns3: Remove set but not used variable 'reset_level'
>
> Yunsheng Lin (20):
>       net: hns3: Remove tx ring BD len register in hns3_enet
>       net: hns3: Fix for vf vlan delete failed problem
>       net: hns3: Implement shutdown ops in hns3 pci driver
>       net: hns3: Fix for loopback selftest failed problem
>       net: hns3: Fix ping exited problem when doing lp selftest
>       net: hns3: Preserve vlan 0 in hardware table
>       net: hns3: Only update mac configuation when necessary
>       net: hns3: Change the dst mac addr of loopback packet
>       net: hns3: Fix for packet buffer setting bug
>       net: hns3: Fix for netdev not up problem when setting mtu
>       net: hns3: Fix for out-of-bounds access when setting pfc back pressure
>       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  |   33 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c |   18 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c  |   28 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c |  525 ++-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c |   13 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_ppe.c  |   11 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_rcb.c  |    4 +-
>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  |   13 +-
>  .../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c    |    6 +-
>  drivers/net/ethernet/hisilicon/hns/hns_enet.c      |  173 +-
>  drivers/net/ethernet/hisilicon/hns/hns_ethtool.c   |   25 +-
>  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    | 1263 +++++--
>  drivers/net/ethernet/hisilicon/hns3/hns3_enet.h    |   73 +-
>  drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |  235 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/Makefile    |    2 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c |   47 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h |  206 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c |   68 +-
>  .../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    | 3579 +++++++++++++++-----
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h    |  473 ++-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c |  168 +-
>  .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c    |   10 +-
>  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c  |   24 +-
>  .../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  | 1397 ++++++--
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |  121 +-
>  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |   22 +-
>  drivers/scsi/hisi_sas/hisi_sas.h                   |   17 +-
>  drivers/scsi/hisi_sas/hisi_sas_main.c              |  356 +-
>  drivers/scsi/hisi_sas/hisi_sas_v1_hw.c             |   32 +-
>  drivers/scsi/hisi_sas/hisi_sas_v2_hw.c             |   90 +-
>  drivers/scsi/hisi_sas/hisi_sas_v3_hw.c             |  338 +-
>  45 files changed, 10520 insertions(+), 2768 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
>
Applied to cosmic/master-next branch.

The following commits were skipped, since they have already been applied
as part of "Cosmic update: 4.18.19 upstream stable release" (LP: #1810820):

- "net: hns3: Fix for vf vlan delete failed problem"
- "net: hns3: Fix ping exited problem when doing lp selftest"
- "net: hns3: Preserve vlan 0 in hardware table"
- "net: hns3: Set STATE_DOWN bit of hdev state when stopping net"
- "net: hns3: Check hdev state when getting link status"
- "net: hns3: Fix ets validate issue"
- "net: hns3: Add nic state check before calling netif_tx_wake_queue"
- "net: hns3: Fix for packet buffer setting bug"


Thanks,
Kleber
dann frazier Jan. 9, 2019, 7:26 p.m. UTC | #5
On Wed, Jan 9, 2019 at 4:12 AM Stefan Bader <stefan.bader@canonical.com>
wrote:
> I am getting a bit fed up with this driver (specifically with the delta it
> causes for the bionic kernel. I am sure you neither appreciate all that
extra
> work. Is there any possibility we can sustain a decision to say if anybody
> insists on using this hardware with bionic, they just have to bite the
bullet
> and use the HWE kernel?

Thanks for reviewing, and your point about the HWE option is taken. I do
think the risk of regression in these types of updates are significant.
However, note that this vast majority of these patches only impact a chip
that was just publicly announced a few days ago. So, at this point, the
risk of breaking any real production environment would be negligible. Of
course, now that it is a "thing" we shouldn't continue these types of
updates to 4.15 going forward.

  -dann


[*] http://www.hisilicon.com/en/Media-Center/News/Kunpeng

> For Cosmic:
>
> Acked-by: Stefan Bader <stefan.bader@canonical.com>
>
<div dir="auto"><br>
<br>
On Wed, Jan 9, 2019 at 4:12 AM Stefan Bader &lt;<a href="mailto:stefan.bader@canonical.com" target="_blank" rel="noreferrer">stefan.bader@canonical.com</a>&gt; wrote:<br>
&gt; I am getting a bit fed up with this driver (specifically with the delta it<br>
&gt; causes for the bionic kernel. I am sure you neither appreciate all that extra<br>
&gt; work. Is there any possibility we can sustain a decision to say if anybody<br>
&gt; insists on using this hardware with bionic, they just have to bite the bullet<br>
&gt; and use the HWE kernel?<br>
<br>
Thanks for reviewing, and your point about the HWE option is taken. I do think the risk of regression in these types of updates are significant. However, note that this vast majority of these patches only impact a chip that was just publicly announced a few days ago. So, at this point, the risk of breaking any real production environment would be negligible. Of course, now that it is a &quot;thing&quot; we shouldn&#39;t continue these types of updates to 4.15 going forward.<div dir="auto"><br></div><div dir="auto">  -dann<br><div dir="auto">
<br>
<br>
[*] <a href="http://www.hisilicon.com/en/Media-Center/News/Kunpeng" rel="noreferrer noreferrer" target="_blank">http://www.hisilicon.com/en/Media-Center/News/Kunpeng</a><br>
<br>
&gt; For Cosmic:<br>
&gt;<br>
&gt; Acked-by: Stefan Bader &lt;<a href="mailto:stefan.bader@canonical.com" target="_blank" rel="noreferrer">stefan.bader@canonical.com</a>&gt;<br>
&gt;<br></div></div></div>