APPLIED/Cmnt: [PULL v3][SRU Disco] Hi1620 SoC driver updates

Kleber Souza kleber.souza at canonical.com
Mon Jul 1 15:29:27 UTC 2019


On 6/27/19 1:01 AM, dann frazier wrote:
> 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.
> 
> v3:
>   - Add bug fix: "RDMa/hns: Don't stuck in endless timeout loop"
> 
> v2:
>   - 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)

Applied to disco/master-next branch, skipping the following patches which
had already been applied:

- net: hns3: fix compile error
- RDMA/hns: Fix bug that caused srq creation to fail


Thanks,
Kleber

> 
> ----------------------------------------------------------------
> 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