[Focal][Pull] Hisilicon DMA engine driver and RDMA/hns updates
Ike Panhc
ike.pan at canonical.com
Mon Mar 2 10:00:38 UTC 2020
Hi,
BugLink: http://launchpad.net/bugs/1859269
BugLink: http://launchpad.net/bugs/1864442
Here is new driver for Hisilicon DMA engine which only works on specific PCIid.
And also patches for RDMA on Hisilicon ethernet devices. Most of patches are
Hisilicon hardware specific but also need to cherry-pick 4 RDMA core patches
and backport IB/umem patch. The backport patch is pretty easy for removing
dmasync argument from ib_umem_get, and no functional changes.
Have functional tests on Software RoCE and Hisilicon RoCE, and they are all
good.
The following changes since commit f4cad6f4a3475e695cb83b05fc519307d2024def:
UBUNTU: [Config] CONFIG_SPI_HISI_SFC_V3XX=m (2020-02-25 20:57:41 -0600)
are available in the Git repository at:
git://kernel.ubuntu.com/ikepanhc/public.git lp1859269.2
for you to fetch changes up to 7d80c16b1ed833aa83b4723a41995c5d7927de68:
RDMA/hns: Add support for extended atomic in userspace (2020-02-27 11:06:33 +0800)
----------------------------------------------------------------
Christoph Hellwig (2):
dma-mapping: remove the DMA_ATTR_WRITE_BARRIER flag
IB/umem: remove the dmasync argument to ib_umem_get
Ike Panhc (1):
UBUNTU: [Config] CONFIG_HISI_DMA=m
Jiaran Zhang (1):
RDMA/hns: Add support for extended atomic in userspace
Kamal Heib (1):
RDMA/hns: Remove unsupported modify_port callback
Lang Cheng (3):
RDMA/hns: Remove unnecessary structure hns_roce_sqp
RDMA/hns: Simplify doorbell initialization code
RDMA/hns: Modify hns_roce_hw_v2_get_cfg to simplify the code
Leon Romanovsky (1):
RDMA/hns: Delete BITS_PER_BYTE redefinition
Lijun Ou (7):
RDMA/hns: Remove unused function hns_roce_init_eq_table()
RDMA/hns: Update the value of qp type
RDMA/hns: Delete unnessary parameters in hns_roce_v2_qp_modify()
RDMA/hns: Fix coding style issues
RDMA/hns: Bugfix for posting a wqe with sge
RDMA/hns: Add interfaces to get pf capabilities from firmware
RDMA/hns: Get pf capabilities from firmware
Michal Kalderon (3):
RDMA/core: Move core content from ib_uverbs to ib_core
RDMA/core: Create mmap database and cookie helper functions
RDMA: Connect between the mmap entry and the umap_priv structure
Weihang Li (2):
RDMA/hns: Modify variable/field name from vlan to vlan_id
RDMA/hns: Remove some redundant variables related to capabilities
Wenpeng Liang (2):
RDMA/hns: Modify appropriate printings
RDMA/hns: Replace custom macros HNS_ROCE_ALIGN_UP
Xi Wang (1):
RDMA/hns: Add support for reporting wc as software mode
Yixian Liu (9):
RDMA/hns: Delete unnecessary variable max_post
RDMA/hns: Delete unnecessary uar from hns_roce_cq
RDMA/hns: Modify fields of struct hns_roce_srq
RDMA/hns: Fix non-standard error codes
RDMA/hns: Redefine interfaces used in creating cq
RDMA/hns: Redefine the member of hns_roce_cq struct
RDMA/hns: Rename the functions used inside creating cq
RDMA/hns: Delete unnecessary callback functions for cq
RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs
Yixing Liu (3):
RDMA/hns: Fix a spelling mistake in a macro
RDMA/hns: Replace not intuitive function/macro names
RDMA/hns: Remove redundant print information
Zhou Wang (1):
dmaengine: hisilicon: Add Kunpeng DMA engine support
Documentation/DMA-attributes.txt | 18 ---
debian.master/config/config.common.ubuntu | 1 +
drivers/dma/Kconfig | 8 ++
drivers/dma/Makefile | 1 +
drivers/dma/hisi_dma.c | 611 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/infiniband/core/Makefile | 2 +-
drivers/infiniband/core/core_priv.h | 11 ++
drivers/infiniband/core/device.c | 1 +
drivers/infiniband/core/ib_core_uverbs.c | 335 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/infiniband/core/rdma_core.c | 1 +
drivers/infiniband/core/umem.c | 12 +-
drivers/infiniband/core/uverbs_cmd.c | 2 +
drivers/infiniband/core/uverbs_main.c | 84 ++------------
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 10 +-
drivers/infiniband/hw/cxgb3/iwch_provider.c | 2 +-
drivers/infiniband/hw/cxgb4/mem.c | 2 +-
drivers/infiniband/hw/efa/efa_verbs.c | 8 +-
drivers/infiniband/hw/hns/hns_roce_ah.c | 14 +--
drivers/infiniband/hw/hns/hns_roce_alloc.c | 4 +-
drivers/infiniband/hw/hns/hns_roce_cmd.h | 14 +--
drivers/infiniband/hw/hns/hns_roce_cq.c | 302 +++++++++++++++++++++----------------------------
drivers/infiniband/hw/hns/hns_roce_db.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_device.h | 97 ++++++++--------
drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 89 +++++++--------
drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 930 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------
drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 159 +++++++++++++++++++++++++-
drivers/infiniband/hw/hns/hns_roce_main.c | 127 ++++++++++++++-------
drivers/infiniband/hw/hns/hns_roce_mr.c | 69 ++++++------
drivers/infiniband/hw/hns/hns_roce_pd.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_qp.c | 112 +++++++++++++------
drivers/infiniband/hw/hns/hns_roce_srq.c | 62 +++++------
drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2 +-
drivers/infiniband/hw/mlx4/cq.c | 2 +-
drivers/infiniband/hw/mlx4/doorbell.c | 2 +-
drivers/infiniband/hw/mlx4/main.c | 9 +-
drivers/infiniband/hw/mlx4/mr.c | 2 +-
drivers/infiniband/hw/mlx4/qp.c | 5 +-
drivers/infiniband/hw/mlx4/srq.c | 2 +-
drivers/infiniband/hw/mlx5/cq.c | 4 +-
drivers/infiniband/hw/mlx5/devx.c | 2 +-
drivers/infiniband/hw/mlx5/doorbell.c | 2 +-
drivers/infiniband/hw/mlx5/main.c | 8 +-
drivers/infiniband/hw/mlx5/mr.c | 2 +-
drivers/infiniband/hw/mlx5/qp.c | 4 +-
drivers/infiniband/hw/mlx5/srq.c | 2 +-
drivers/infiniband/hw/mthca/mthca_provider.c | 4 +-
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +-
drivers/infiniband/hw/qedr/verbs.c | 25 ++---
drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 2 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 4 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +-
drivers/infiniband/sw/rdmavt/mr.c | 2 +-
drivers/infiniband/sw/rxe/rxe_mr.c | 2 +-
include/linux/dma-mapping.h | 5 +-
include/rdma/ib_umem.h | 4 +-
include/rdma/ib_verbs.h | 48 ++++++--
57 files changed, 2325 insertions(+), 917 deletions(-)
create mode 100644 drivers/dma/hisi_dma.c
create mode 100644 drivers/infiniband/core/ib_core_uverbs.c
More information about the kernel-team
mailing list