mbox series

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

Message ID alpine.DEB.2.20.1803150926140.16085@lazy
State New
Headers show
Series [pull,bionic] enable ROCE and HNS3 driver support for hip08 SoC | expand

Pull-request

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

Message

Manoj Iyer March 15, 2018, 2:33 p.m. UTC
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@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@d06:~$

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

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

ubuntu@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@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
============================

Comments

Seth Forshee March 15, 2018, 3:14 p.m. UTC | #1
On Thu, Mar 15, 2018 at 09:33:29AM -0500, Manoj Iyer wrote:
> 
> 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.

These are all upstream cherry picks (except for the config change of
course) and limited to Hisilicon driver code, so this all looks okay.
Seth Forshee March 16, 2018, 4:01 p.m. UTC | #2
On Thu, Mar 15, 2018 at 09:33:29AM -0500, Manoj Iyer wrote:
> 
> 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.

Applied to bionic/master-next, thanks!