diff mbox

[rdma-core,3/7] mlx4: Convert datagram segment to use mlx4_av struct

Message ID 1498736828-17875-4-git-send-email-yishaih@mellanox.com (mailing list archive)
State Accepted
Headers show

Commit Message

Yishai Hadas June 29, 2017, 11:47 a.m. UTC
From: Maor Gottlieb <maorg@mellanox.com>

The datagram segment struct contains array which
represents the address vector, convert the array
to mlx4_av.

mlx4dv will use this struct in downstream patches.

Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
---
 providers/mlx4/mlx4.h   | 13 -------------
 providers/mlx4/mlx4dv.h | 15 ++++++++++++++-
 providers/mlx4/qp.c     |  2 +-
 3 files changed, 15 insertions(+), 15 deletions(-)
diff mbox

Patch

diff --git a/providers/mlx4/mlx4.h b/providers/mlx4/mlx4.h
index 8f0d6f2..bdb7f16 100644
--- a/providers/mlx4/mlx4.h
+++ b/providers/mlx4/mlx4.h
@@ -214,19 +214,6 @@  struct mlx4_qp {
 	uint32_t			qp_cap_cache;
 };
 
-struct mlx4_av {
-	uint32_t			port_pd;
-	uint8_t				reserved1;
-	uint8_t				g_slid;
-	uint16_t			dlid;
-	uint8_t				reserved2;
-	uint8_t				gid_index;
-	uint8_t				stat_rate;
-	uint8_t				hop_limit;
-	uint32_t			sl_tclass_flowlabel;
-	uint8_t				dgid[16];
-};
-
 struct mlx4_ah {
 	struct ibv_ah			ibv_ah;
 	struct mlx4_av			av;
diff --git a/providers/mlx4/mlx4dv.h b/providers/mlx4/mlx4dv.h
index e677fe1..7679ece 100644
--- a/providers/mlx4/mlx4dv.h
+++ b/providers/mlx4/mlx4dv.h
@@ -325,8 +325,21 @@  struct mlx4_wqe_ctrl_seg {
 	uint32_t		imm;
 };
 
+struct mlx4_av {
+	uint32_t			port_pd;
+	uint8_t				reserved1;
+	uint8_t				g_slid;
+	uint16_t			dlid;
+	uint8_t				reserved2;
+	uint8_t				gid_index;
+	uint8_t				stat_rate;
+	uint8_t				hop_limit;
+	uint32_t			sl_tclass_flowlabel;
+	uint8_t				dgid[16];
+};
+
 struct mlx4_wqe_datagram_seg {
-	uint32_t		av[8];
+	struct mlx4_av		av;
 	uint32_t		dqpn;
 	uint32_t		qkey;
 	uint16_t		vlan;
diff --git a/providers/mlx4/qp.c b/providers/mlx4/qp.c
index b7e3669..1be100b 100644
--- a/providers/mlx4/qp.c
+++ b/providers/mlx4/qp.c
@@ -175,7 +175,7 @@  static void set_atomic_seg(struct mlx4_wqe_atomic_seg *aseg, struct ibv_send_wr
 static void set_datagram_seg(struct mlx4_wqe_datagram_seg *dseg,
 			     struct ibv_send_wr *wr)
 {
-	memcpy(dseg->av, &to_mah(wr->wr.ud.ah)->av, sizeof (struct mlx4_av));
+	memcpy(&dseg->av, &to_mah(wr->wr.ud.ah)->av, sizeof (struct mlx4_av));
 	dseg->dqpn = htobe32(wr->wr.ud.remote_qpn);
 	dseg->qkey = htobe32(wr->wr.ud.remote_qkey);
 	dseg->vlan = htobe16(to_mah(wr->wr.ud.ah)->vlan);