[pull][bionic] enable ROCE and HNS3 driver support for hip08 SoC

Manoj Iyer manoj.iyer at canonical.com
Thu Mar 15 14:33:29 UTC 2018


Please consider the following pull-request to enable ROCE and HNS3 driver 
support for hip08 SoC. These patches were cleanly cherry-picked from 
4.16-rc. and a test kernel is available in ppa:manjo/uose3

Tracking bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1756097

The kernel was tested on a Hisilicon D06 server reference board.

ubuntu at d06:~$ uname -a
Linux d06 4.15.0-12-generic #13~uose+build.5 SMP Wed Mar 14 17:25:28 UTC 
2018 aarch64 aarch64 aarch64 GNU/Linux
ubuntu at d06:~$

ubuntu at d06:~$ lsmod | grep hns
hns3                   57344  0
hnae3                  16384  1 hns3
ubuntu at d06:~$

ubuntu at d06:~$ sudo modprobe hns-roce-hw-v2

ubuntu at d06:~$ lsmod | grep hns
hns_roce_hw_v2         53248  0
hns_roce               81920  1 hns_roce_hw_v2
ib_core               278528  2 hns_roce,hns_roce_hw_v2
hns3                   57344  0
hnae3                  16384  2 hns3,hns_roce_hw_v2
ubuntu at d06:~$

The following changes since commit feb5d80bbf6250033bcf0e9bd9eb550e9dcdcdff:

   UBUNTU: [Config]: enable RAS_EXTN and ARM_SDE_INTERFACE (2018-03-09 13:37:55 -0600)

are available in the git repository at:

   git+ssh://git.launchpad.net/~manjo/+git/linux-hisid06

for you to fetch changes up to f5aba01a5cffa015e60a059f752bf3d56ba54804:

   UBUNTU: [Config]: enable CONFIG_HNS3_HCLGEVF as module. (2018-03-14 13:47:45 -0500)

----------------------------------------------------------------
Fuyun Liang (19):
       net: hns3: cleanup mac auto-negotiation state query
       net: hns3: fix for getting auto-negotiation state in hclge_get_autoneg
       net: hns3: add Asym Pause support to phy default features
       net: hns3: fix for updating fc_mode_last_time
       net: hns3: fix for setting MTU
       net: hns3: fix for changing MTU
       net: hns3: add MTU initialization for hardware
       net: hns3: fix for not setting pause parameters
       net: hns3: add ethtool_ops.get_coalesce support to PF
       net: hns3: add ethtool_ops.set_coalesce support to PF
       net: hns3: refactor interrupt coalescing init function
       net: hns3: refactor GL update function
       net: hns3: remove unused GL setup function
       net: hns3: change the unit of GL value macro
       net: hns3: add int_gl_idx setup for TX and RX queues
       net: hns3: add support for get_regs
       net: hns3: add manager table initialization for hardware
       net: hns3: add get/set_coalesce support to VF
       net: hns3: add int_gl_idx setup for VF

Huazhong Tan (1):
       net: hns: Fix for variable may be used uninitialized warnings

Jason Gunthorpe (1):
       RDMA/hns: Fix endian problems around imm_data and rkey

Jian Shen (18):
       net: hns3: Add ethtool interface for vlan filter
       net: hns3: Disable VFs change rxvlan offload status
       net: hns3: Unify the strings display of packet statistics
       net: hns3: Fix spelling errors
       net: hns3: Remove repeat statistic of rx_errors
       net: hns3: Modify the update period of packet statistics
       net: hns3: Mask the packet statistics query when NIC is down
       net: hns3: Fix an error of total drop packet statistics
       net: hns3: Fix a loop index error of tqp statistics query
       net: hns3: Fix an error macro definition of HNS3_TQP_STAT
       net: hns3: Remove a useless member of struct hns3_stats
       net: hns3: Add packet statistics of netdev
       net: hns3: Fix a response data read error of tqp statistics query
       net: hns3: Add more packet size statisctics
       net: hns3: add feature check when feature changed
       net: hns3: check for NULL function pointer in hns3_nic_set_features
       net: hns3: add ethtool -p support for fiber port
       net: hns3: add net status led support for fiber port

Manoj Iyer (1):
       UBUNTU: [Config]: enable CONFIG_HNS3_HCLGEVF as module.

Peng Li (19):
       net: hns3: add support to query tqps number
       net: hns3: add support to modify tqps number
       net: hns3: change the returned tqp number by ethtool -x
       net: hns3: free the ring_data structrue when change tqps
       net: hns3: get rss_size_max from configuration but not hardcode
       net: hns3: add a mask initialization for mac_vlan table
       net: hns3: add vlan offload config command
       net: hns3: add ethtool related offload command
       net: hns3: add handling vlan tag offload in bd
       net: hns3: add support for set_pauseparam
       net: hns3: add support to update flow control settings after autoneg
       net: hns3: add support for querying advertised pause frame by ethtool ethx
       net: hns3: Increase the default depth of bucket for TM shaper
       net: hns3: change TM sched mode to TC-based mode when SRIOV enabled
       net: hns3: remove redundant semicolon
       Revert "net: hns3: Add packet statistics of netdev"
       net: hns3: report the function type the same line with hns3_nic_get_stats64
       net: hns3: add ethtool_ops.get_channels support for VF
       net: hns3: remove TSO config command from VF driver

Salil Mehta (12):
       net: hns3: Refactor of the reset interrupt handling logic
       net: hns3: Add reset service task for handling reset requests
       net: hns3: Refactors the requested reset & pending reset handling code
       net: hns3: Add HNS3 VF IMP(Integrated Management Proc) cmd interface
       net: hns3: Add mailbox support to VF driver
       net: hns3: Add HNS3 VF HCL(Hardware Compatibility Layer) Support
       net: hns3: Add HNS3 VF driver to kernel build framework
       net: hns3: Unified HNS3 {VF|PF} Ethernet Driver for hip08 SoC
       net: hns3: Add mailbox support to PF driver
       net: hns3: Change PF to add ring-vect binding & resetQ to mailbox
       net: hns3: Add mailbox interrupt handling to PF driver
       net: hns3: converting spaces into tabs to avoid checkpatch.pl warning

Yixian Liu (4):
       RDMA/hns: Refactor eq code for hip06
       RDMA/hns: Add eq support of hip08
       RDMA/hns: Add detailed comments for mb() call
       RDMA/hns: Fix QP state judgement before sending work requests

kbuild test robot (1):
       net: hns3: hns3_get_channels() can be static

oulijun (12):
       RDMA/hns: Add rq inline data support for hip08 RoCE
       RDMA/hns: Update the usage of sr_max and rr_max field
       RDMA/hns: Set access flags of hip08 RoCE
       RDMA/hns: Filter for zero length of sge in hip08 kernel mode
       RDMA/hns: Assign dest_qp when deregistering mr
       RDMA/hns: Assign the correct value for tx_cqn
       RDMA/hns: Create gsi qp in hip08
       RDMA/hns: Add gsi qp support for modifying qp in hip08
       RDMA/hns: Fill sq wqe context of ud type in hip08
       RDMA/hns: Assign zero for pkey_index of wc in hip08
       RDMA/hns: Update the verbs of polling for completion
       RDMA/hns: Set the guid for hip08 RoCE device

  debian.master/config/config.common.ubuntu          |    1 +
  drivers/infiniband/hw/hns/Makefile                 |    2 +-
  drivers/infiniband/hw/hns/hns_roce_cmd.c           |    1 +
  drivers/infiniband/hw/hns/hns_roce_cmd.h           |   10 +
  drivers/infiniband/hw/hns/hns_roce_common.h        |   11 +
  drivers/infiniband/hw/hns/hns_roce_cq.c            |   19 +-
  drivers/infiniband/hw/hns/hns_roce_device.h        |  103 +-
  drivers/infiniband/hw/hns/hns_roce_eq.c            |  759 --------
  drivers/infiniband/hw/hns/hns_roce_eq.h            |  134 --
  drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |  754 +++++++-
  drivers/infiniband/hw/hns/hns_roce_hw_v1.h         |   44 +-
  drivers/infiniband/hw/hns/hns_roce_hw_v2.c         | 1837 ++++++++++++++++++--
  drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |  283 ++-
  drivers/infiniband/hw/hns/hns_roce_main.c          |   16 +-
  drivers/infiniband/hw/hns/hns_roce_qp.c            |   72 +-
  drivers/net/ethernet/hisilicon/Kconfig             |   28 +-
  drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c |   52 +-
  drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  |    7 +-
  drivers/net/ethernet/hisilicon/hns3/Makefile       |    7 +
  drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h    |   88 +
  drivers/net/ethernet/hisilicon/hns3/hnae3.c        |   14 +-
  drivers/net/ethernet/hisilicon/hns3/hnae3.h        |   32 +-
  .../hisilicon/hns3/{hns3pf => }/hns3_dcbnl.c       |    2 +-
  .../hisilicon/hns3/{hns3pf => }/hns3_enet.c        |  405 ++++-
  .../hisilicon/hns3/{hns3pf => }/hns3_enet.h        |   28 +-
  .../hisilicon/hns3/{hns3pf => }/hns3_ethtool.c     |  347 +++-
  .../net/ethernet/hisilicon/hns3/hns3pf/Makefile    |    8 +-
  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h |  106 +-
  .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    | 1632 ++++++++++++++---
  .../ethernet/hisilicon/hns3/hns3pf/hclge_main.h    |  129 +-
  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c |  418 +++++
  .../ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c    |    5 +
  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c  |   64 +-
  .../net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h  |   12 +
  .../net/ethernet/hisilicon/hns3/hns3vf/Makefile    |    9 +
  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c   |  342 ++++
  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h   |  248 +++
  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c  | 1505 ++++++++++++++++
  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h  |  164 ++
  .../ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c   |  181 ++
  40 files changed, 8315 insertions(+), 1564 deletions(-)
  delete mode 100644 drivers/infiniband/hw/hns/hns_roce_eq.c
  delete mode 100644 drivers/infiniband/hw/hns/hns_roce_eq.h
  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h
  rename drivers/net/ethernet/hisilicon/hns3/{hns3pf => }/hns3_dcbnl.c (97%)
  rename drivers/net/ethernet/hisilicon/hns3/{hns3pf => }/hns3_enet.c (89%)
  rename drivers/net/ethernet/hisilicon/hns3/{hns3pf => }/hns3_enet.h (94%)
  rename drivers/net/ethernet/hisilicon/hns3/{hns3pf => }/hns3_ethtool.c (70%)
  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3vf/Makefile
  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c
  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h
  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h
  create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c

--
============================
Manoj Iyer
Ubuntu/Canonical
ARM Servers - Cloud
============================




More information about the kernel-team mailing list