RDMA/hns: Update the data type of immediate data
Because the data structure of hip08 is little endian, it needs to fix the immediate field of wqe and cqe into __le32. Signed-off-by: Lijun Ou <oulijun@huawei.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
73b4e1f4c0
commit
0c4a0e2987
@ -272,7 +272,8 @@ static int hns_roce_v2_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
|
||||
switch (wr->opcode) {
|
||||
case IB_WR_SEND_WITH_IMM:
|
||||
case IB_WR_RDMA_WRITE_WITH_IMM:
|
||||
ud_sq_wqe->immtdata = wr->ex.imm_data;
|
||||
ud_sq_wqe->immtdata =
|
||||
cpu_to_le32(be32_to_cpu(wr->ex.imm_data));
|
||||
break;
|
||||
default:
|
||||
ud_sq_wqe->immtdata = 0;
|
||||
@ -370,7 +371,8 @@ static int hns_roce_v2_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
|
||||
switch (wr->opcode) {
|
||||
case IB_WR_SEND_WITH_IMM:
|
||||
case IB_WR_RDMA_WRITE_WITH_IMM:
|
||||
rc_sq_wqe->immtdata = wr->ex.imm_data;
|
||||
rc_sq_wqe->immtdata =
|
||||
cpu_to_le32(be32_to_cpu(wr->ex.imm_data));
|
||||
break;
|
||||
case IB_WR_SEND_WITH_INV:
|
||||
rc_sq_wqe->inv_key =
|
||||
@ -2178,7 +2180,8 @@ static int hns_roce_v2_poll_one(struct hns_roce_cq *hr_cq,
|
||||
case HNS_ROCE_V2_OPCODE_RDMA_WRITE_IMM:
|
||||
wc->opcode = IB_WC_RECV_RDMA_WITH_IMM;
|
||||
wc->wc_flags = IB_WC_WITH_IMM;
|
||||
wc->ex.imm_data = cqe->immtdata;
|
||||
wc->ex.imm_data =
|
||||
cpu_to_be32(le32_to_cpu(cqe->immtdata));
|
||||
break;
|
||||
case HNS_ROCE_V2_OPCODE_SEND:
|
||||
wc->opcode = IB_WC_RECV;
|
||||
@ -2187,7 +2190,8 @@ static int hns_roce_v2_poll_one(struct hns_roce_cq *hr_cq,
|
||||
case HNS_ROCE_V2_OPCODE_SEND_WITH_IMM:
|
||||
wc->opcode = IB_WC_RECV;
|
||||
wc->wc_flags = IB_WC_WITH_IMM;
|
||||
wc->ex.imm_data = cqe->immtdata;
|
||||
wc->ex.imm_data =
|
||||
cpu_to_be32(le32_to_cpu(cqe->immtdata));
|
||||
break;
|
||||
case HNS_ROCE_V2_OPCODE_SEND_WITH_INV:
|
||||
wc->opcode = IB_WC_RECV;
|
||||
|
@ -772,7 +772,7 @@ struct hns_roce_v2_cqe {
|
||||
__le32 byte_4;
|
||||
union {
|
||||
__le32 rkey;
|
||||
__be32 immtdata;
|
||||
__le32 immtdata;
|
||||
};
|
||||
__le32 byte_12;
|
||||
__le32 byte_16;
|
||||
@ -930,7 +930,7 @@ struct hns_roce_v2_cq_db {
|
||||
struct hns_roce_v2_ud_send_wqe {
|
||||
__le32 byte_4;
|
||||
__le32 msg_len;
|
||||
__be32 immtdata;
|
||||
__le32 immtdata;
|
||||
__le32 byte_16;
|
||||
__le32 byte_20;
|
||||
__le32 byte_24;
|
||||
@ -1016,7 +1016,7 @@ struct hns_roce_v2_rc_send_wqe {
|
||||
__le32 msg_len;
|
||||
union {
|
||||
__le32 inv_key;
|
||||
__be32 immtdata;
|
||||
__le32 immtdata;
|
||||
};
|
||||
__le32 byte_16;
|
||||
__le32 byte_20;
|
||||
|
Loading…
Reference in New Issue
Block a user