summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/hns/hns_roce_device.h
diff options
context:
space:
mode:
authoroulijun <oulijun@huawei.com>2018-02-05 21:14:00 +0800
committerDoug Ledford <dledford@redhat.com>2018-02-05 10:48:48 -0500
commit8b9b8d143b467ec9c65f87b7c2596dc2aabe6737 (patch)
treee7e8bfd3bbaaf03ee1435cf97c74447b141400c6 /drivers/infiniband/hw/hns/hns_roce_device.h
parente9d1e389273aac7fc50c53f0d4492dc190185882 (diff)
downloadtalos-op-linux-8b9b8d143b467ec9c65f87b7c2596dc2aabe6737.tar.gz
talos-op-linux-8b9b8d143b467ec9c65f87b7c2596dc2aabe6737.zip
RDMA/hns: Fix the endian problem for hns
The hip06 and hip08 run on a little endian ARM, it needs to revise the annotations to indicate that the HW uses little endian data in the various DMA buffers, and flow the necessary swaps throughout. The imm_data use big endian mode. The cpu_to_le32/le32_to_cpu swaps are no-op for this, which makes the only substantive change the handling of imm_data which is now mandatory swapped. This also keep match with the userspace hns driver and resolve the warning by sparse. Signed-off-by: Lijun Ou <oulijun@huawei.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/hns/hns_roce_device.h')
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_device.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h
index edf4d80c5402..165a09b314f6 100644
--- a/drivers/infiniband/hw/hns/hns_roce_device.h
+++ b/drivers/infiniband/hw/hns/hns_roce_device.h
@@ -466,7 +466,7 @@ struct hns_roce_qp {
struct ib_qp ibqp;
struct hns_roce_buf hr_buf;
struct hns_roce_wq rq;
- __le64 doorbell_qpn;
+ u32 doorbell_qpn;
__le32 sq_signal_bits;
u32 sq_next_wqe;
int sq_max_wqes_per_wr;
OpenPOWER on IntegriCloud