]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
RDMA/hns: Update calculation of irrl_ba field for hip08
authoroulijun <oulijun@huawei.com>
Fri, 10 Nov 2017 08:55:43 +0000 (16:55 +0800)
committerDoug Ledford <dledford@redhat.com>
Fri, 10 Nov 2017 17:15:11 +0000 (12:15 -0500)
The irrl(initiator RDMA Read/Atomic list) base address of qp
context is assigned for addr[63:6]. This patch mainly fixed
it.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Shaobo Xu <xushaobo2@huawei.com>
Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

index 3b0cf5536486e2b0c383093031dba14fbf4a6174..a950f78385556a1237f18fad537a880674262051 100644 (file)
@@ -2393,11 +2393,11 @@ static int modify_qp_init_to_rtr(struct ib_qp *ibqp,
                       V2_QPC_BYTE_108_RX_REQ_EPSN_M,
                       V2_QPC_BYTE_108_RX_REQ_EPSN_S, 0);
 
-       context->irrl_ba = (u32)dma_handle_2;
+       context->irrl_ba = (u32)(dma_handle_2 >> 6);
        qpc_mask->irrl_ba = 0;
        roce_set_field(context->byte_208_irrl, V2_QPC_BYTE_208_IRRL_BA_M,
                       V2_QPC_BYTE_208_IRRL_BA_S,
-                     (dma_handle_2 >> 32) & V2_QPC_BYTE_208_IRRL_BA_M);
+                      dma_handle_2 >> (32 + 6));
        roce_set_field(qpc_mask->byte_208_irrl, V2_QPC_BYTE_208_IRRL_BA_M,
                       V2_QPC_BYTE_208_IRRL_BA_S, 0);