[PULL][SRU Bionic] Update drivers specific to HiSilicon server SoCs

dann frazier dann.frazier at canonical.com
Tue Jan 8 23:37:25 UTC 2019


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. Next
we revert the remaining hns3 SAUCE patches, which have now been
superseded by upstream changes that are applied later in this series.

The remaining changes are clean cherry-picks from upstream, except for
4 that required minor backporting to bionic, noted in the s-o-b section.

All changes are restricted to drivers specific to the Hi1616 and Hi1620
SoCs in the D05 and D06 server development boards.

The following changes since commit a957cd35a1a5227b3f4372b974057a927cc98bf5:

  i2c: i801: Don't restore config registers on runtime PM (2019-01-03 09:14:24 -0800)

are available in the Git repository at:

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

for you to fetch changes up to c370ec483e5ed10709de165d79e54c1d9eee4ba3:

  net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT (2019-01-08 15:30:19 -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

Geert Uytterhoeven (1):
      scsi: hisi_sas: Remove depends on HAS_DMA in case of platform dependency

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

Joe Perches (1):
      ethernet: hisilicon: hns: hns_dsaf_mac: Use generic eth_broadcast_addr

John Garry (5):
      scsi: hisi_sas: remove some unneeded structure members
      scsi: hisi_sas: Introduce hisi_sas_phy_set_linkrate()
      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 (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: 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 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 (2):
      net: hns: Fix the process of adding broadcast addresses to tcam
      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

Xiaofei Tan (1):
      scsi: hisi_sas: consolidate command check in hisi_sas_get_ata_protocol()

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 (6):
      UBUNTU: SAUCE: Revert "net: hns3: Updates RX packet info fetch in case of multi BD"
      Revert "UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when resetting"
      Revert "UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce callback function"
      Revert "UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback function when link status change"
      Revert "UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying roce client"
      Revert "UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE"

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  |   34 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c |  548 ++-
 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        |  108 +-
 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    | 1250 +++++--
 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    | 3583 ++++++++++++++------
 .../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  | 1392 ++++++--
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |  121 +-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |   22 +-
 drivers/scsi/hisi_sas/Kconfig                      |    2 +-
 drivers/scsi/hisi_sas/hisi_sas.h                   |   20 +-
 drivers/scsi/hisi_sas/hisi_sas_main.c              |  431 ++-
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c             |   67 +-
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c             |  111 +-
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c             |  361 +-
 46 files changed, 10545 insertions(+), 2914 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



More information about the kernel-team mailing list