[PULL v3][SRU Disco] Hi1620 SoC driver updates

dann frazier dann.frazier at canonical.com
Wed Jun 26 23:01:55 UTC 2019

BugLink: https://bugs.launchpad.net/bugs/1830815

All changes are restricted to Hi1620-specific drivers, except for the
ethtool change. That change just adds defines that the hns3 driver update
consumes. All are clean cherry-picks from upstream/linux-next except
for 2 commits that required minor backporting, described in the commit log.

  - Add bug fix: "RDMa/hns: Don't stuck in endless timeout loop"

  - Additional patches from linux-next.

The following changes since commit fdc10a3711d4cb8ae2c42efb2c89dcca919d1e4d:

  UBUNTU: Ubuntu-5.0.0-18.19 (2019-06-12 19:29:09 +0200)

are available in the Git repository at:

  git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux hi1620-disco-v3

for you to fetch changes up to cbfb779664095490f38b58ac20616fe260153e20:

  RDMa/hns: Don't stuck in endless timeout loop (2019-06-26 16:03:05 -0600)

Aya Levin (1):
      ethtool: Added support for 50Gbps per lane link modes

Colin Ian King (3):
      net: hns3: remove redundant assignment of l2_hdr to itself
      RDMA/hns: fix inverted logic of readl read and shift
      net: hns3: fix dereference of ae_dev before it is null checked

Geert Uytterhoeven (1):
      net: hns3: Add missing newline at end of file

Huazhong Tan (36):
      net: hns3: simplify hclgevf_cmd_csq_clean
      net: hns3: check resetting status in hns3_get_stats()
      net: hns3: prevent change MTU when resetting
      net: hns3: modify HNS3_NIC_STATE_INITED flag in hns3_reset_notify_uninit_enet
      net: hns3: set vport alive state to default while resetting
      net: hns3: set up the vport alive state while reinitializing
      net: hns3: not reset vport who not alive when PF reset
      net: hns3: adjust the timing of hns3_client_stop when unloading
      net: hns3: deactive the reset timer when reset successfully
      net: hns3: ignore lower-level new coming reset
      net: hns3: do not request reset when hardware resetting
      net: hns3: handle pending reset while reset fail
      net: hns3: stop mailbox handling when command queue need re-init
      net: hns3: add error handler for initializing command queue
      net: hns3: remove resetting check in hclgevf_reset_task_schedule
      net: hns3: fix keep_alive_timer not stop problem
      net: hns3: add reset statistics info for PF
      net: hns3: add reset statistics for VF
      net: hns3: add some debug information for hclge_check_event_cause
      net: hns3: add some debug info for hclgevf_get_mbx_resp()
      net: hns3: stop sending keep alive msg when VF command queue needs reinit
      net: hns3: use atomic_t replace u32 for arq's count
      net: hns3: use a reserved byte to identify need_resp flag
      net: hns3: not reset TQP in the DOWN while VF resetting
      net: hns3: fix pause configure fail problem
      net: hns3: prevent double free in hns3_put_ring_config()
      net: hns3: use HCLGE_STATE_NIC_REGISTERED to indicate PF NIC client has registered
      net: hns3: use HCLGE_STATE_ROCE_REGISTERED to indicate PF ROCE client has registered
      net: hns3: use HCLGEVF_STATE_NIC_REGISTERED to indicate VF NIC client has registered
      net: hns3: modify hclge_init_client_instance()
      net: hns3: modify hclgevf_init_client_instance()
      net: hns3: add handshake with hardware while doing reset
      net: hns3: stop schedule reset service while unloading driver
      net: hns3: adjust hns3_uninit_phy()'s location in the hns3_client_uninit()
      net: hns3: fix a memory leak issue for hclge_map_unmap_ring_to_vf_vector
      net: hns3: remove redundant core reset

Jian Shen (22):
      net: hns3: add protect when handling mac addr list
      net: hns3: split function hnae3_match_n_instantiate()
      net: hns3: modify VLAN initialization to be compatible with port based VLAN
      net: hns3: fix VLAN offload handle for VLAN inserted by port
      net: hns3: fix set port based VLAN for PF
      net: hns3: fix set port based VLAN issue for VF
      net: hns3: do not initialize MDIO bus when PHY is inexistent
      net: hns3: fix sparse: warning when calling hclge_set_vlan_filter_hw()
      net: hns3: refine tx timeout count handle
      net: hns3: fix loop condition of hns3_get_tx_timeo_queue_info()
      net: hns3: dump more information when tx timeout happens
      net: hns3: add support for multiple media type
      net: hns3: add autoneg and change speed support for fibre port
      net: hns3: add support for FEC encoding control
      net: hns3: initialize CPU reverse mapping
      net: hns3: refine the flow director handle
      net: hns3: add aRFS support for PF
      net: hns3: fix for FEC configuration
      net: hns3: fix compile warning without CONFIG_RFS_ACCEL
      net: hns3: don't configure new VLAN ID into VF VLAN table when it's full
      net: hns3: fix VLAN filter restore issue after reset
      net: hns3: small changes for magic numbers

John Garry (2):
      scsi: hisi_sas: Fix for setting the PHY linkrate when disconnected
      scsi: hisi_sas: Reduce HISI_SAS_SGE_PAGE_CNT in size

Krzysztof Kozlowski (1):
      net: hns3: Fix inconsistent indenting

Lang Cheng (2):
      RDMA/hns: Move spin_lock_irqsave to the correct place
      RDMA/hns: Remove jiffies operation in disable interrupt context

Leon Romanovsky (3):
      RDMA/hns: Limit scope of hns_roce_cmq_send()
      RDMA/hns: Fix bad endianess of port_pd variable
      RDMa/hns: Don't stuck in endless timeout loop

Lijun Ou (14):
      RDMA/hns: Only assign the relatived fields of psn if IB_QP_SQ_PSN is set
      RDMA/hns: Only assign the fields of the rq psn if IB_QP_RQ_PSN is set
      RDMA/hns: Update the range of raq_psn field of qp context
      RDMA/hns: Only assgin some fields if the relatived attr_mask is set
      RDMA/hns: Hide error print information with roce vf device
      RDMA/hns: Bugfix for sending with invalidate
      RDMA/hns: Delete unused variable in hns_roce_v2_modify_qp function
      RDMA/hns: Dump detailed driver-specific CQ
      RDMA/hns: Fix bug that caused srq creation to fail
      RDMA/hns: Bugfix for mapping user db
      RDMA/hns: Update CQE specifications
      RDMA/hns: Replace magic numbers with #defines
      RDMA/hns: Bugfix for posting multiple srq work request
      RDMA/hns: Bugfix for filling the sge of srq

Luo Jiaxing (3):
      scsi: hisi_sas: Don't hard reset disk during controller reset
      scsi: hisi_sas: Don't fail IT nexus reset for Open Reject timeout
      scsi: hisi_sas: Ignore the error code between phy down to phy up

Matthew Wilcox (2):
      RDMA/hns: Convert cq_table to XArray
      RDMA/hns: Convert qp_table_tree to XArray

Peng Li (5):
      net: hns3: check 1000M half for hns3_ethtool_ops.set_link_ksettings
      net: hns3: return 0 and print warning when hit duplicate MAC
      net: hns3: free the pending skb when clean RX ring
      net: hns3: code optimization for command queue' spin lock
      net: hns3: clear restting state when initializing HW device

Shiju Jose (4):
      net: hns3: delay setting of reset level for hw errors until slot_reset is called
      net: hns3: fix avoid unnecessary resetting for the H/W errors which do not require reset
      net: hns3: process H/W errors occurred before HNS dev initialization
      net: hns3: add recovery for the H/W errors occurred before the HNS dev initialization

Weihang Li (15):
      net: hns3: set dividual reset level for all RAS and MSI-X errors
      net: hns3: add support for dump ncl config by debugfs
      net: hns3: Add handling of MAC tunnel interruption
      net: hns3: remove reset after command send failed
      net: hns3: add a check to pointer in error_detected and slot_reset
      net: hns3: set ops to null when unregister ad_dev
      net: hns3: add handling of two bits in MAC tunnel interrupts
      net: hns3: remove setting bit of reset_requests when handling mac tunnel interrupts
      net: hns3: add opcode about query and clear RAS & MSI-X to special opcode
      net: hns3: delay and separate enabling of NIC and ROCE HW errors
      net: hns3: trigger VF reset if a VF has an over_8bd_nfe_err
      net: hns3: fix some coding style issues
      net: hns3: some changes of MSI-X bits in PPU(RCB)
      net: hns3: extract handling of mpf/pf msi-x errors into functions
      net: hns3: some variable modification

Xi Wang (1):
      net: hns3: fix compile error

Xiang Chen (8):
      scsi: hisi_sas: add host reset interface for test
      scsi: hisi_sas: Remedy inconsistent PHY down state in software
      scsi: hisi_sas: Adjust the printk format of functions hisi_sas_init_device()
      scsi: hisi_sas: allocate different SAS address for directly attached situation
      scsi: hisi_sas: Some misc tidy-up
      scsi: hisi_sas: Delete PHY timers when rmmod or probe failed
      scsi: hisi_sas: Change the type of some numbers to unsigned
      scsi: hisi_sas: Disable stash for v3 hw

Xiaofei Tan (3):
      scsi: hisi_sas: Support all RAS events with MSI interrupts
      net: hns3: log detail error info of ROCEE ECC and AXI errors
      scsi: hisi_sas: Fix the issue of argument mismatch of printing ecc errors

Yangyang Li (1):
      RDMA/hns: Bugfix for SCC hem free

Yixian Liu (1):
      RDMA/hns: Remove unnecessary print message in aeq

Yonglong Liu (4):
      net: hns3: reduce resources use in kdump kernel
      net: hns3: Add support for netif message level settings
      net: hns3: delete the redundant user NIC codes
      net: hns3: free irq when exit from abnormal branch

YueHaibing (2):
      net: hns3: Make hclgevf_update_link_mode static
      net: hns3: Make hclge_destroy_cmd_queue static

Yufeng Mo (4):
      net: hns3: add function type check for debugfs help information
      net: hns3: use macros instead of magic numbers
      net: hns3: refactor PF/VF RSS hash key configuration
      net: hns3: some modifications to simplify and optimize code

Yunsheng Lin (30):
      net: hns3: minor optimization for ring_space
      net: hns3: minor optimization for datapath
      net: hns3: minor refactor for hns3_rx_checksum
      net: hns3: add hns3_gro_complete for HW GRO process
      net: hns3: always assume no drop TC for performance reason
      net: hns3: divide shared buffer between TC
      net: hns3: fix for vport->bw_limit overflow problem
      net: hns3: fix data race between ring->next_to_clean
      net: hns3: fix for TX clean num when cleaning TX BD
      net: hns3: handle the BD info on the last BD of the packet
      net: hns3: unify maybe_stop_tx for TSO and non-TSO case
      net: hns3: use napi_schedule_irqoff in hard interrupts handlers
      net: hns3: add counter for times RX pages gets allocated
      net: hns3: add linearizing checking for TSO case
      net: hns3: fix for tunnel type handling in hns3_rx_checksum
      net: hns3: refactor BD filling for l2l3l4 info
      net: hns3: combine len and checksum handling for inner and outer header.
      net: hns3: fix error handling for desc filling
      net: hns3: optimize the barrier using when cleaning TX BD
      net: hns3: unify the page reusing for page size 4K and 64K
      net: hns3: some cleanup for struct hns3_enet_ring
      net: hns3: use devm_kcalloc when allocating desc_cb
      net: hns3: fix for HNS3_RXD_GRO_SIZE_M macro
      net: hns3: set the port shaper according to MAC speed
      net: hns3: make HW GRO handling compliant with SW GRO
      net: hns3: replace numa_node_id with numa_mem_id for buffer reusing
      net: hns3: refactor hns3_get_new_int_gl function
      net: hns3: fix for dereferencing before null checking
      net: hns3: fix for skb leak when doing selftest
      net: hns3: delay ring buffer clearing during reset

Zhongzhu Liu (2):
      net: hns3: add support for dump firmware statistics by debugfs
      net: hns3: fix wrong size of mailbox responding data

chenglang (1):
      RDMA/hns: Support to create 1M srq queue

liuzhongzhu (3):
      net: hns3: modify the VF network port media type acquisition method
      net: hns3: add queue's statistics update to service task
      net: hns3: extend the loopback state acquisition time

 drivers/infiniband/hw/hns/Makefile                 |    4 +-
 drivers/infiniband/hw/hns/hns_roce_ah.c            |    2 +-
 drivers/infiniband/hw/hns/hns_roce_cmd.h           |    1 +
 drivers/infiniband/hw/hns/hns_roce_cq.c            |   33 +-
 drivers/infiniband/hw/hns/hns_roce_db.c            |    8 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |   56 +-
 drivers/infiniband/hw/hns/hns_roce_hem.c           |   45 +-
 drivers/infiniband/hw/hns/hns_roce_hem.h           |    2 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   26 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |  390 ++--
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |   13 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2_dfx.c     |   35 +
 drivers/infiniband/hw/hns/hns_roce_main.c          |   18 +-
 drivers/infiniband/hw/hns/hns_roce_mr.c            |   47 +-
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   55 +-
 drivers/infiniband/hw/hns/hns_roce_restrack.c      |  126 ++
 drivers/infiniband/hw/hns/hns_roce_srq.c           |   15 +-
 drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h    |   13 +-
 drivers/net/ethernet/hisilicon/hns3/hnae3.c        |   64 +-
 drivers/net/ethernet/hisilicon/hns3/hnae3.h        |   72 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_dcbnl.c   |   12 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c |   15 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c    | 1329 +++++++------
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.h    |   45 +-
 drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c |  256 ++-
 .../net/ethernet/hisilicon/hns3/hns3pf/Makefile    |    2 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.c |   29 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h |   68 +-
 .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c |  201 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c | 1385 +++++++++-----
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_err.h |   15 +-
 .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    | 1952 +++++++++++++++-----
 .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h    |  131 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c |  101 +-
 .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c    |   16 +-
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c  |  150 +-
 .../net/ethernet/hisilicon/hns3/hns3vf/Makefile    |    4 +-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c   |   54 +-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c  |  325 +++-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |   22 +-
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |   30 +-
 drivers/scsi/hisi_sas/hisi_sas.h                   |    7 +-
 drivers/scsi/hisi_sas/hisi_sas_main.c              |  112 +-
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c             |   21 +-
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c             |   95 +-
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c             |  495 +++--
 include/uapi/linux/ethtool.h                       |   18 +-
 47 files changed, 5423 insertions(+), 2492 deletions(-)
 create mode 100644 drivers/infiniband/hw/hns/hns_roce_hw_v2_dfx.c
 create mode 100644 drivers/infiniband/hw/hns/hns_roce_restrack.c

More information about the kernel-team mailing list