RDMA/hns: Support direct wqe of userspace
authorYixing Liu <liuyixing1@huawei.com>
Tue, 7 Dec 2021 12:49:01 +0000 (20:49 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Tue, 14 Dec 2021 23:59:07 +0000 (19:59 -0400)
commit0045e0d3f42ed7d05434bb5bc16acfc793ea4891
tree43beb583ac3757ab6d66cc2d566bc47570a8869d
parentb1a4da64bfc189510e08df1ccb1c589e667dc7a3
RDMA/hns: Support direct wqe of userspace

The current write wqe mechanism is to write to DDR first, and then notify
the hardware through doorbell to read the data. Direct wqe is a mechanism
to fill wqe directly into the hardware. In the case of light load, the wqe
will be filled into pcie bar space of the hardware, this will reduce one
memory access operation and therefore reduce the latency. SIMD
instructions allows cpu to write the 512 bits at one time to device
memory, thus it can be used for posting direct wqe.

Add direct wqe enable switch and address mapping.

Link: https://lore.kernel.org/r/20211207124901.42123-2-liangwenpeng@huawei.com
Signed-off-by: Yixing Liu <liuyixing1@huawei.com>
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/hns/hns_roce_device.h
drivers/infiniband/hw/hns/hns_roce_hw_v2.c
drivers/infiniband/hw/hns/hns_roce_main.c
drivers/infiniband/hw/hns/hns_roce_pd.c
drivers/infiniband/hw/hns/hns_roce_qp.c
include/uapi/rdma/hns-abi.h