RDMA/hns: Support owner mode doorbell
authorLang Cheng <chenglang@huawei.com>
Tue, 20 Oct 2020 12:04:53 +0000 (20:04 +0800)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 28 Oct 2020 16:13:41 +0000 (13:13 -0300)
commitaba457ca890c6a8042ba941a71129337b858d993
treea7a2805a52092291d0f7ef4e2bd7489710dadcac
parentdae7a75f1f19bffb579daf148f8d8addd2726772
RDMA/hns: Support owner mode doorbell

The doorbell needs to store PI information into QPC, so the RoCEE should
wait for the results of storing, that is, it needs two bus operations to
complete a doorbell. When ROCEE is in SDI mode, multiple doorbells may be
interlocked because the RoCEE can only handle bus operations serially. So a
flag to mark if HIP09 is working in SDI mode is added. When the SDI flag is
set, the ROCEE will ignore the PI information of the doorbell, continue to
fetch wqe and verify its validity by it's owner_bit.

Link: https://lore.kernel.org/r/1603195493-22741-1-git-send-email-liweihang@huawei.com
Signed-off-by: Lang Cheng <chenglang@huawei.com>
Signed-off-by: Weihang Li <liweihang@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_qp.c