Commit 7b9b1a59 authored by Naresh Gottumukkala's avatar Naresh Gottumukkala Committed by Roland Dreier

RDMA/ocrdma: Remove __packed

1) Remove __packed for structures.
2) Align and pad all ABI structure to 64 bit boundaries
   instead of using __packed.
Signed-off-by: default avatarNaresh Gottumukkala <bgottumukkala@emulex.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 057729cb
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
#ifndef __OCRDMA_ABI_H__ #ifndef __OCRDMA_ABI_H__
#define __OCRDMA_ABI_H__ #define __OCRDMA_ABI_H__
/* user kernel communication data structures. */
struct ocrdma_alloc_ucontext_resp { struct ocrdma_alloc_ucontext_resp {
u32 dev_id; u32 dev_id;
u32 wqe_size; u32 wqe_size;
...@@ -35,16 +37,16 @@ struct ocrdma_alloc_ucontext_resp { ...@@ -35,16 +37,16 @@ struct ocrdma_alloc_ucontext_resp {
u32 dpp_wqe_size; u32 dpp_wqe_size;
u64 ah_tbl_page; u64 ah_tbl_page;
u32 ah_tbl_len; u32 ah_tbl_len;
u32 rsvd;
u8 fw_ver[32];
u32 rqe_size; u32 rqe_size;
u8 fw_ver[32];
/* for future use/new features in progress */
u64 rsvd1; u64 rsvd1;
} __packed; u64 rsvd2;
};
/* user kernel communication data structures. */
struct ocrdma_alloc_pd_ureq { struct ocrdma_alloc_pd_ureq {
u64 rsvd1; u64 rsvd1;
} __packed; };
struct ocrdma_alloc_pd_uresp { struct ocrdma_alloc_pd_uresp {
u32 id; u32 id;
...@@ -52,12 +54,12 @@ struct ocrdma_alloc_pd_uresp { ...@@ -52,12 +54,12 @@ struct ocrdma_alloc_pd_uresp {
u32 dpp_page_addr_hi; u32 dpp_page_addr_hi;
u32 dpp_page_addr_lo; u32 dpp_page_addr_lo;
u64 rsvd1; u64 rsvd1;
} __packed; };
struct ocrdma_create_cq_ureq { struct ocrdma_create_cq_ureq {
u32 dpp_cq; u32 dpp_cq;
u32 rsvd; u32 rsvd; /* pad */
} __packed; };
#define MAX_CQ_PAGES 8 #define MAX_CQ_PAGES 8
struct ocrdma_create_cq_uresp { struct ocrdma_create_cq_uresp {
...@@ -69,9 +71,10 @@ struct ocrdma_create_cq_uresp { ...@@ -69,9 +71,10 @@ struct ocrdma_create_cq_uresp {
u64 db_page_addr; u64 db_page_addr;
u32 db_page_size; u32 db_page_size;
u32 phase_change; u32 phase_change;
/* for future use/new features in progress */
u64 rsvd1; u64 rsvd1;
u64 rsvd2; u64 rsvd2;
} __packed; };
#define MAX_QP_PAGES 8 #define MAX_QP_PAGES 8
#define MAX_UD_AV_PAGES 8 #define MAX_UD_AV_PAGES 8
...@@ -80,14 +83,14 @@ struct ocrdma_create_qp_ureq { ...@@ -80,14 +83,14 @@ struct ocrdma_create_qp_ureq {
u8 enable_dpp_cq; u8 enable_dpp_cq;
u8 rsvd; u8 rsvd;
u16 dpp_cq_id; u16 dpp_cq_id;
u32 rsvd1; u32 rsvd1; /* pad */
}; };
struct ocrdma_create_qp_uresp { struct ocrdma_create_qp_uresp {
u16 qp_id; u16 qp_id;
u16 sq_dbid; u16 sq_dbid;
u16 rq_dbid; u16 rq_dbid;
u16 resv0; u16 resv0; /* pad */
u32 sq_page_size; u32 sq_page_size;
u32 rq_page_size; u32 rq_page_size;
u32 num_sq_pages; u32 num_sq_pages;
...@@ -98,19 +101,19 @@ struct ocrdma_create_qp_uresp { ...@@ -98,19 +101,19 @@ struct ocrdma_create_qp_uresp {
u32 db_page_size; u32 db_page_size;
u32 dpp_credit; u32 dpp_credit;
u32 dpp_offset; u32 dpp_offset;
u32 rsvd1;
u32 num_wqe_allocated; u32 num_wqe_allocated;
u32 num_rqe_allocated; u32 num_rqe_allocated;
u32 db_sq_offset; u32 db_sq_offset;
u32 db_rq_offset; u32 db_rq_offset;
u32 db_shift; u32 db_shift;
u64 rsvd1;
u64 rsvd2; u64 rsvd2;
u64 rsvd3; u64 rsvd3;
} __packed; } __packed;
struct ocrdma_create_srq_uresp { struct ocrdma_create_srq_uresp {
u16 rq_dbid; u16 rq_dbid;
u16 resv0; u16 resv0; /* pad */
u32 resv1; u32 resv1;
u32 rq_page_size; u32 rq_page_size;
...@@ -126,6 +129,6 @@ struct ocrdma_create_srq_uresp { ...@@ -126,6 +129,6 @@ struct ocrdma_create_srq_uresp {
u64 rsvd2; u64 rsvd2;
u64 rsvd3; u64 rsvd3;
} __packed; };
#endif /* __OCRDMA_ABI_H__ */ #endif /* __OCRDMA_ABI_H__ */
...@@ -177,7 +177,7 @@ struct ocrdma_mbx_hdr { ...@@ -177,7 +177,7 @@ struct ocrdma_mbx_hdr {
u32 timeout; /* in seconds */ u32 timeout; /* in seconds */
u32 cmd_len; u32 cmd_len;
u32 rsvd_version; u32 rsvd_version;
} __packed; };
enum { enum {
OCRDMA_MBX_RSP_OPCODE_SHIFT = 0, OCRDMA_MBX_RSP_OPCODE_SHIFT = 0,
...@@ -197,7 +197,7 @@ struct ocrdma_mbx_rsp { ...@@ -197,7 +197,7 @@ struct ocrdma_mbx_rsp {
u32 status; u32 status;
u32 rsp_len; u32 rsp_len;
u32 add_rsp_len; u32 add_rsp_len;
} __packed; };
enum { enum {
OCRDMA_MQE_EMBEDDED = 1, OCRDMA_MQE_EMBEDDED = 1,
...@@ -208,7 +208,7 @@ struct ocrdma_mqe_sge { ...@@ -208,7 +208,7 @@ struct ocrdma_mqe_sge {
u32 pa_lo; u32 pa_lo;
u32 pa_hi; u32 pa_hi;
u32 len; u32 len;
} __packed; };
enum { enum {
OCRDMA_MQE_HDR_EMB_SHIFT = 0, OCRDMA_MQE_HDR_EMB_SHIFT = 0,
...@@ -225,12 +225,12 @@ struct ocrdma_mqe_hdr { ...@@ -225,12 +225,12 @@ struct ocrdma_mqe_hdr {
u32 tag_lo; u32 tag_lo;
u32 tag_hi; u32 tag_hi;
u32 rsvd3; u32 rsvd3;
} __packed; };
struct ocrdma_mqe_emb_cmd { struct ocrdma_mqe_emb_cmd {
struct ocrdma_mbx_hdr mch; struct ocrdma_mbx_hdr mch;
u8 pyld[220]; u8 pyld[220];
} __packed; };
struct ocrdma_mqe { struct ocrdma_mqe {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
...@@ -242,7 +242,7 @@ struct ocrdma_mqe { ...@@ -242,7 +242,7 @@ struct ocrdma_mqe {
u8 cmd[236]; u8 cmd[236];
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
} u; } u;
} __packed; };
#define OCRDMA_EQ_LEN 4096 #define OCRDMA_EQ_LEN 4096
#define OCRDMA_MQ_CQ_LEN 256 #define OCRDMA_MQ_CQ_LEN 256
...@@ -259,12 +259,12 @@ struct ocrdma_mqe { ...@@ -259,12 +259,12 @@ struct ocrdma_mqe {
struct ocrdma_delete_q_req { struct ocrdma_delete_q_req {
struct ocrdma_mbx_hdr req; struct ocrdma_mbx_hdr req;
u32 id; u32 id;
} __packed; };
struct ocrdma_pa { struct ocrdma_pa {
u32 lo; u32 lo;
u32 hi; u32 hi;
} __packed; };
#define MAX_OCRDMA_EQ_PAGES (8) #define MAX_OCRDMA_EQ_PAGES (8)
struct ocrdma_create_eq_req { struct ocrdma_create_eq_req {
...@@ -275,7 +275,7 @@ struct ocrdma_create_eq_req { ...@@ -275,7 +275,7 @@ struct ocrdma_create_eq_req {
u32 delay; u32 delay;
u32 rsvd; u32 rsvd;
struct ocrdma_pa pa[MAX_OCRDMA_EQ_PAGES]; struct ocrdma_pa pa[MAX_OCRDMA_EQ_PAGES];
} __packed; };
enum { enum {
OCRDMA_CREATE_EQ_VALID = Bit(29), OCRDMA_CREATE_EQ_VALID = Bit(29),
...@@ -310,7 +310,7 @@ struct ocrdma_mcqe { ...@@ -310,7 +310,7 @@ struct ocrdma_mcqe {
u32 tag_lo; u32 tag_lo;
u32 tag_hi; u32 tag_hi;
u32 valid_ae_cmpl_cons; u32 valid_ae_cmpl_cons;
} __packed; };
enum { enum {
OCRDMA_AE_MCQE_QPVALID = Bit(31), OCRDMA_AE_MCQE_QPVALID = Bit(31),
...@@ -332,7 +332,7 @@ struct ocrdma_ae_mcqe { ...@@ -332,7 +332,7 @@ struct ocrdma_ae_mcqe {
u32 cqvalid_cqid; u32 cqvalid_cqid;
u32 evt_tag; u32 evt_tag;
u32 valid_ae_event; u32 valid_ae_event;
} __packed; };
enum { enum {
OCRDMA_AE_MPA_MCQE_REQ_ID_SHIFT = 16, OCRDMA_AE_MPA_MCQE_REQ_ID_SHIFT = 16,
...@@ -356,7 +356,7 @@ struct ocrdma_ae_mpa_mcqe { ...@@ -356,7 +356,7 @@ struct ocrdma_ae_mpa_mcqe {
u32 w1; u32 w1;
u32 w2; u32 w2;
u32 valid_ae_event; u32 valid_ae_event;
} __packed; };
enum { enum {
OCRDMA_AE_QP_MCQE_NEW_QP_STATE_SHIFT = 0, OCRDMA_AE_QP_MCQE_NEW_QP_STATE_SHIFT = 0,
...@@ -382,7 +382,7 @@ struct ocrdma_ae_qp_mcqe { ...@@ -382,7 +382,7 @@ struct ocrdma_ae_qp_mcqe {
u32 w1; u32 w1;
u32 w2; u32 w2;
u32 valid_ae_event; u32 valid_ae_event;
} __packed; };
#define OCRDMA_ASYNC_EVE_CODE 0x14 #define OCRDMA_ASYNC_EVE_CODE 0x14
...@@ -487,7 +487,8 @@ struct ocrdma_mbx_query_config { ...@@ -487,7 +487,8 @@ struct ocrdma_mbx_query_config {
u32 max_ird_ord_per_qp; u32 max_ird_ord_per_qp;
u32 max_shared_ird_ord; u32 max_shared_ird_ord;
u32 max_mr; u32 max_mr;
u64 max_mr_size; u32 max_mr_size_lo;
u32 max_mr_size_hi;
u32 max_num_mr_pbl; u32 max_num_mr_pbl;
u32 max_mw; u32 max_mw;
u32 max_fmr; u32 max_fmr;
...@@ -502,14 +503,14 @@ struct ocrdma_mbx_query_config { ...@@ -502,14 +503,14 @@ struct ocrdma_mbx_query_config {
u32 max_wqes_rqes_per_q; u32 max_wqes_rqes_per_q;
u32 max_cq_cqes_per_cq; u32 max_cq_cqes_per_cq;
u32 max_srq_rqe_sge; u32 max_srq_rqe_sge;
} __packed; };
struct ocrdma_fw_ver_rsp { struct ocrdma_fw_ver_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
u8 running_ver[32]; u8 running_ver[32];
} __packed; };
struct ocrdma_fw_conf_rsp { struct ocrdma_fw_conf_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
...@@ -535,7 +536,7 @@ struct ocrdma_fw_conf_rsp { ...@@ -535,7 +536,7 @@ struct ocrdma_fw_conf_rsp {
u32 base_eqid; u32 base_eqid;
u32 max_eq; u32 max_eq;
} __packed; };
enum { enum {
OCRDMA_FN_MODE_RDMA = 0x4 OCRDMA_FN_MODE_RDMA = 0x4
...@@ -584,7 +585,7 @@ struct ocrdma_create_cq_cmd { ...@@ -584,7 +585,7 @@ struct ocrdma_create_cq_cmd {
struct ocrdma_create_cq { struct ocrdma_create_cq {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_create_cq_cmd cmd; struct ocrdma_create_cq_cmd cmd;
} __packed; };
enum { enum {
OCRDMA_CREATE_CQ_RSP_CQ_ID_MASK = 0xFFFF OCRDMA_CREATE_CQ_RSP_CQ_ID_MASK = 0xFFFF
...@@ -593,12 +594,12 @@ enum { ...@@ -593,12 +594,12 @@ enum {
struct ocrdma_create_cq_cmd_rsp { struct ocrdma_create_cq_cmd_rsp {
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
u32 cq_id; u32 cq_id;
} __packed; };
struct ocrdma_create_cq_rsp { struct ocrdma_create_cq_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_create_cq_cmd_rsp rsp; struct ocrdma_create_cq_cmd_rsp rsp;
} __packed; };
enum { enum {
OCRDMA_CREATE_MQ_V0_CQ_ID_SHIFT = 22, OCRDMA_CREATE_MQ_V0_CQ_ID_SHIFT = 22,
...@@ -617,12 +618,12 @@ struct ocrdma_create_mq_req { ...@@ -617,12 +618,12 @@ struct ocrdma_create_mq_req {
u32 async_cqid_valid; u32 async_cqid_valid;
u32 rsvd; u32 rsvd;
struct ocrdma_pa pa[8]; struct ocrdma_pa pa[8];
} __packed; };
struct ocrdma_create_mq_rsp { struct ocrdma_create_mq_rsp {
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
u32 id; u32 id;
} __packed; };
enum { enum {
OCRDMA_DESTROY_CQ_QID_SHIFT = 0, OCRDMA_DESTROY_CQ_QID_SHIFT = 0,
...@@ -637,12 +638,12 @@ struct ocrdma_destroy_cq { ...@@ -637,12 +638,12 @@ struct ocrdma_destroy_cq {
struct ocrdma_mbx_hdr req; struct ocrdma_mbx_hdr req;
u32 bypass_flush_qid; u32 bypass_flush_qid;
} __packed; };
struct ocrdma_destroy_cq_rsp { struct ocrdma_destroy_cq_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
} __packed; };
enum { enum {
OCRDMA_QPT_GSI = 1, OCRDMA_QPT_GSI = 1,
...@@ -766,7 +767,7 @@ struct ocrdma_create_qp_req { ...@@ -766,7 +767,7 @@ struct ocrdma_create_qp_req {
u32 dpp_credits_cqid; u32 dpp_credits_cqid;
u32 rpir_lkey; u32 rpir_lkey;
struct ocrdma_pa ird_addr[MAX_OCRDMA_IRD_PAGES]; struct ocrdma_pa ird_addr[MAX_OCRDMA_IRD_PAGES];
} __packed; };
enum { enum {
OCRDMA_CREATE_QP_RSP_QP_ID_SHIFT = 0, OCRDMA_CREATE_QP_RSP_QP_ID_SHIFT = 0,
...@@ -820,18 +821,18 @@ struct ocrdma_create_qp_rsp { ...@@ -820,18 +821,18 @@ struct ocrdma_create_qp_rsp {
u32 max_ord_ird; u32 max_ord_ird;
u32 sq_rq_id; u32 sq_rq_id;
u32 dpp_response; u32 dpp_response;
} __packed; };
struct ocrdma_destroy_qp { struct ocrdma_destroy_qp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_hdr req; struct ocrdma_mbx_hdr req;
u32 qp_id; u32 qp_id;
} __packed; };
struct ocrdma_destroy_qp_rsp { struct ocrdma_destroy_qp_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
} __packed; };
enum { enum {
OCRDMA_MODIFY_QP_ID_SHIFT = 0, OCRDMA_MODIFY_QP_ID_SHIFT = 0,
...@@ -975,7 +976,7 @@ struct ocrdma_qp_params { ...@@ -975,7 +976,7 @@ struct ocrdma_qp_params {
u32 dmac_b0_to_b3; u32 dmac_b0_to_b3;
u32 vlan_dmac_b4_to_b5; u32 vlan_dmac_b4_to_b5;
u32 qkey; u32 qkey;
} __packed; };
struct ocrdma_modify_qp { struct ocrdma_modify_qp {
...@@ -986,7 +987,7 @@ struct ocrdma_modify_qp { ...@@ -986,7 +987,7 @@ struct ocrdma_modify_qp {
u32 flags; u32 flags;
u32 rdma_flags; u32 rdma_flags;
u32 num_outstanding_atomic_rd; u32 num_outstanding_atomic_rd;
} __packed; };
enum { enum {
OCRDMA_MODIFY_QP_RSP_MAX_RQE_SHIFT = 0, OCRDMA_MODIFY_QP_RSP_MAX_RQE_SHIFT = 0,
...@@ -1007,7 +1008,7 @@ struct ocrdma_modify_qp_rsp { ...@@ -1007,7 +1008,7 @@ struct ocrdma_modify_qp_rsp {
u32 max_wqe_rqe; u32 max_wqe_rqe;
u32 max_ord_ird; u32 max_ord_ird;
} __packed; };
struct ocrdma_query_qp { struct ocrdma_query_qp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
...@@ -1016,13 +1017,13 @@ struct ocrdma_query_qp { ...@@ -1016,13 +1017,13 @@ struct ocrdma_query_qp {
#define OCRDMA_QUERY_UP_QP_ID_SHIFT 0 #define OCRDMA_QUERY_UP_QP_ID_SHIFT 0
#define OCRDMA_QUERY_UP_QP_ID_MASK 0xFFFFFF #define OCRDMA_QUERY_UP_QP_ID_MASK 0xFFFFFF
u32 qp_id; u32 qp_id;
} __packed; };
struct ocrdma_query_qp_rsp { struct ocrdma_query_qp_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
struct ocrdma_qp_params params; struct ocrdma_qp_params params;
} __packed; };
enum { enum {
OCRDMA_CREATE_SRQ_PD_ID_SHIFT = 0, OCRDMA_CREATE_SRQ_PD_ID_SHIFT = 0,
...@@ -1051,7 +1052,7 @@ struct ocrdma_create_srq { ...@@ -1051,7 +1052,7 @@ struct ocrdma_create_srq {
u32 max_sge_rqe; u32 max_sge_rqe;
u32 pages_rqe_sz; u32 pages_rqe_sz;
struct ocrdma_pa rq_addr[MAX_OCRDMA_SRQ_PAGES]; struct ocrdma_pa rq_addr[MAX_OCRDMA_SRQ_PAGES];
} __packed; };
enum { enum {
OCRDMA_CREATE_SRQ_RSP_SRQ_ID_SHIFT = 0, OCRDMA_CREATE_SRQ_RSP_SRQ_ID_SHIFT = 0,
...@@ -1070,7 +1071,7 @@ struct ocrdma_create_srq_rsp { ...@@ -1070,7 +1071,7 @@ struct ocrdma_create_srq_rsp {
u32 id; u32 id;
u32 max_sge_rqe_allocated; u32 max_sge_rqe_allocated;
} __packed; };
enum { enum {
OCRDMA_MODIFY_SRQ_ID_SHIFT = 0, OCRDMA_MODIFY_SRQ_ID_SHIFT = 0,
...@@ -1089,7 +1090,7 @@ struct ocrdma_modify_srq { ...@@ -1089,7 +1090,7 @@ struct ocrdma_modify_srq {
u32 id; u32 id;
u32 limit_max_rqe; u32 limit_max_rqe;
} __packed; };
enum { enum {
OCRDMA_QUERY_SRQ_ID_SHIFT = 0, OCRDMA_QUERY_SRQ_ID_SHIFT = 0,
...@@ -1101,7 +1102,7 @@ struct ocrdma_query_srq { ...@@ -1101,7 +1102,7 @@ struct ocrdma_query_srq {
struct ocrdma_mbx_rsp req; struct ocrdma_mbx_rsp req;
u32 id; u32 id;
} __packed; };
enum { enum {
OCRDMA_QUERY_SRQ_RSP_PD_ID_SHIFT = 0, OCRDMA_QUERY_SRQ_RSP_PD_ID_SHIFT = 0,
...@@ -1123,7 +1124,7 @@ struct ocrdma_query_srq_rsp { ...@@ -1123,7 +1124,7 @@ struct ocrdma_query_srq_rsp {
u32 max_rqe_pdid; u32 max_rqe_pdid;
u32 srq_lmt_max_sge; u32 srq_lmt_max_sge;
} __packed; };
enum { enum {
OCRDMA_DESTROY_SRQ_ID_SHIFT = 0, OCRDMA_DESTROY_SRQ_ID_SHIFT = 0,
...@@ -1135,7 +1136,7 @@ struct ocrdma_destroy_srq { ...@@ -1135,7 +1136,7 @@ struct ocrdma_destroy_srq {
struct ocrdma_mbx_rsp req; struct ocrdma_mbx_rsp req;
u32 id; u32 id;
} __packed; };
enum { enum {
OCRDMA_ALLOC_PD_ENABLE_DPP = BIT(16), OCRDMA_ALLOC_PD_ENABLE_DPP = BIT(16),
...@@ -1147,7 +1148,7 @@ struct ocrdma_alloc_pd { ...@@ -1147,7 +1148,7 @@ struct ocrdma_alloc_pd {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_hdr req; struct ocrdma_mbx_hdr req;
u32 enable_dpp_rsvd; u32 enable_dpp_rsvd;
} __packed; };
enum { enum {
OCRDMA_ALLOC_PD_RSP_DPP = Bit(16), OCRDMA_ALLOC_PD_RSP_DPP = Bit(16),
...@@ -1159,18 +1160,18 @@ struct ocrdma_alloc_pd_rsp { ...@@ -1159,18 +1160,18 @@ struct ocrdma_alloc_pd_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
u32 dpp_page_pdid; u32 dpp_page_pdid;
} __packed; };
struct ocrdma_dealloc_pd { struct ocrdma_dealloc_pd {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_hdr req; struct ocrdma_mbx_hdr req;
u32 id; u32 id;
} __packed; };
struct ocrdma_dealloc_pd_rsp { struct ocrdma_dealloc_pd_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
} __packed; };
enum { enum {
OCRDMA_ADDR_CHECK_ENABLE = 1, OCRDMA_ADDR_CHECK_ENABLE = 1,
...@@ -1206,7 +1207,7 @@ struct ocrdma_alloc_lkey { ...@@ -1206,7 +1207,7 @@ struct ocrdma_alloc_lkey {
u32 pdid; u32 pdid;
u32 pbl_sz_flags; u32 pbl_sz_flags;
} __packed; };
struct ocrdma_alloc_lkey_rsp { struct ocrdma_alloc_lkey_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
...@@ -1214,7 +1215,7 @@ struct ocrdma_alloc_lkey_rsp { ...@@ -1214,7 +1215,7 @@ struct ocrdma_alloc_lkey_rsp {
u32 lrkey; u32 lrkey;
u32 num_pbl_rsvd; u32 num_pbl_rsvd;
} __packed; };
struct ocrdma_dealloc_lkey { struct ocrdma_dealloc_lkey {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
...@@ -1222,12 +1223,12 @@ struct ocrdma_dealloc_lkey { ...@@ -1222,12 +1223,12 @@ struct ocrdma_dealloc_lkey {
u32 lkey; u32 lkey;
u32 rsvd_frmr; u32 rsvd_frmr;
} __packed; };
struct ocrdma_dealloc_lkey_rsp { struct ocrdma_dealloc_lkey_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
} __packed; };
#define MAX_OCRDMA_NSMR_PBL (u32)22 #define MAX_OCRDMA_NSMR_PBL (u32)22
#define MAX_OCRDMA_PBL_SIZE 65536 #define MAX_OCRDMA_PBL_SIZE 65536
...@@ -1283,7 +1284,7 @@ struct ocrdma_reg_nsmr { ...@@ -1283,7 +1284,7 @@ struct ocrdma_reg_nsmr {
u32 va_loaddr; u32 va_loaddr;
u32 va_hiaddr; u32 va_hiaddr;
struct ocrdma_pa pbl[MAX_OCRDMA_NSMR_PBL]; struct ocrdma_pa pbl[MAX_OCRDMA_NSMR_PBL];
} __packed; };
enum { enum {
OCRDMA_REG_NSMR_CONT_PBL_SHIFT = 0, OCRDMA_REG_NSMR_CONT_PBL_SHIFT = 0,
...@@ -1310,7 +1311,7 @@ struct ocrdma_reg_nsmr_cont { ...@@ -1310,7 +1311,7 @@ struct ocrdma_reg_nsmr_cont {
struct ocrdma_pbe { struct ocrdma_pbe {
u32 pa_hi; u32 pa_hi;
u32 pa_lo; u32 pa_lo;
} __packed; };
enum { enum {
OCRDMA_REG_NSMR_RSP_NUM_PBL_SHIFT = 16, OCRDMA_REG_NSMR_RSP_NUM_PBL_SHIFT = 16,
...@@ -1322,7 +1323,7 @@ struct ocrdma_reg_nsmr_rsp { ...@@ -1322,7 +1323,7 @@ struct ocrdma_reg_nsmr_rsp {
u32 lrkey; u32 lrkey;
u32 num_pbl; u32 num_pbl;
} __packed; };
enum { enum {
OCRDMA_REG_NSMR_CONT_RSP_LRKEY_INDEX_SHIFT = 0, OCRDMA_REG_NSMR_CONT_RSP_LRKEY_INDEX_SHIFT = 0,
...@@ -1342,7 +1343,7 @@ struct ocrdma_reg_nsmr_cont_rsp { ...@@ -1342,7 +1343,7 @@ struct ocrdma_reg_nsmr_cont_rsp {
u32 lrkey_key_index; u32 lrkey_key_index;
u32 num_pbl; u32 num_pbl;
} __packed; };
enum { enum {
OCRDMA_ALLOC_MW_PD_ID_SHIFT = 0, OCRDMA_ALLOC_MW_PD_ID_SHIFT = 0,
...@@ -1354,7 +1355,7 @@ struct ocrdma_alloc_mw { ...@@ -1354,7 +1355,7 @@ struct ocrdma_alloc_mw {
struct ocrdma_mbx_hdr req; struct ocrdma_mbx_hdr req;
u32 pdid; u32 pdid;
} __packed; };
enum { enum {
OCRDMA_ALLOC_MW_RSP_LRKEY_INDEX_SHIFT = 0, OCRDMA_ALLOC_MW_RSP_LRKEY_INDEX_SHIFT = 0,
...@@ -1366,7 +1367,7 @@ struct ocrdma_alloc_mw_rsp { ...@@ -1366,7 +1367,7 @@ struct ocrdma_alloc_mw_rsp {
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
u32 lrkey_index; u32 lrkey_index;
} __packed; };
struct ocrdma_attach_mcast { struct ocrdma_attach_mcast {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
...@@ -1375,12 +1376,12 @@ struct ocrdma_attach_mcast { ...@@ -1375,12 +1376,12 @@ struct ocrdma_attach_mcast {
u8 mgid[16]; u8 mgid[16];
u32 mac_b0_to_b3; u32 mac_b0_to_b3;
u32 vlan_mac_b4_to_b5; u32 vlan_mac_b4_to_b5;
} __packed; };
struct ocrdma_attach_mcast_rsp { struct ocrdma_attach_mcast_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
} __packed; };
struct ocrdma_detach_mcast { struct ocrdma_detach_mcast {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
...@@ -1389,12 +1390,12 @@ struct ocrdma_detach_mcast { ...@@ -1389,12 +1390,12 @@ struct ocrdma_detach_mcast {
u8 mgid[16]; u8 mgid[16];
u32 mac_b0_to_b3; u32 mac_b0_to_b3;
u32 vlan_mac_b4_to_b5; u32 vlan_mac_b4_to_b5;
} __packed; };
struct ocrdma_detach_mcast_rsp { struct ocrdma_detach_mcast_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
} __packed; };
enum { enum {
OCRDMA_CREATE_AH_NUM_PAGES_SHIFT = 19, OCRDMA_CREATE_AH_NUM_PAGES_SHIFT = 19,
...@@ -1418,24 +1419,24 @@ struct ocrdma_create_ah_tbl { ...@@ -1418,24 +1419,24 @@ struct ocrdma_create_ah_tbl {
u32 ah_conf; u32 ah_conf;
struct ocrdma_pa tbl_addr[8]; struct ocrdma_pa tbl_addr[8];
} __packed; };
struct ocrdma_create_ah_tbl_rsp { struct ocrdma_create_ah_tbl_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
u32 ahid; u32 ahid;
} __packed; };
struct ocrdma_delete_ah_tbl { struct ocrdma_delete_ah_tbl {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_hdr req; struct ocrdma_mbx_hdr req;
u32 ahid; u32 ahid;
} __packed; };
struct ocrdma_delete_ah_tbl_rsp { struct ocrdma_delete_ah_tbl_rsp {
struct ocrdma_mqe_hdr hdr; struct ocrdma_mqe_hdr hdr;
struct ocrdma_mbx_rsp rsp; struct ocrdma_mbx_rsp rsp;
} __packed; };
enum { enum {
OCRDMA_EQE_VALID_SHIFT = 0, OCRDMA_EQE_VALID_SHIFT = 0,
...@@ -1448,7 +1449,7 @@ enum { ...@@ -1448,7 +1449,7 @@ enum {
struct ocrdma_eqe { struct ocrdma_eqe {
u32 id_valid; u32 id_valid;
} __packed; };
enum OCRDMA_CQE_STATUS { enum OCRDMA_CQE_STATUS {
OCRDMA_CQE_SUCCESS = 0, OCRDMA_CQE_SUCCESS = 0,
...@@ -1532,14 +1533,14 @@ struct ocrdma_cqe { ...@@ -1532,14 +1533,14 @@ struct ocrdma_cqe {
} cmn; } cmn;
}; };
u32 flags_status_srcqpn; /* w3 */ u32 flags_status_srcqpn; /* w3 */
} __packed; };
struct ocrdma_sge { struct ocrdma_sge {
u32 addr_hi; u32 addr_hi;
u32 addr_lo; u32 addr_lo;
u32 lrkey; u32 lrkey;
u32 len; u32 len;
} __packed; };
enum { enum {
OCRDMA_FLAG_SIG = 0x1, OCRDMA_FLAG_SIG = 0x1,
...@@ -1600,14 +1601,14 @@ struct ocrdma_hdr_wqe { ...@@ -1600,14 +1601,14 @@ struct ocrdma_hdr_wqe {
u32 lkey; u32 lkey;
}; };
u32 total_len; u32 total_len;
} __packed; };
struct ocrdma_ewqe_ud_hdr { struct ocrdma_ewqe_ud_hdr {
u32 rsvd_dest_qpn; u32 rsvd_dest_qpn;
u32 qkey; u32 qkey;
u32 rsvd_ahid; u32 rsvd_ahid;
u32 rsvd; u32 rsvd;
} __packed; };
struct ocrdma_eth_basic { struct ocrdma_eth_basic {
u8 dmac[6]; u8 dmac[6];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment