Merge branch 'wr-cleanup' into k.o/for-4.4
这个提交包含在:
@@ -1096,54 +1096,93 @@ struct ib_send_wr {
|
||||
__be32 imm_data;
|
||||
u32 invalidate_rkey;
|
||||
} ex;
|
||||
union {
|
||||
struct {
|
||||
u64 remote_addr;
|
||||
u32 rkey;
|
||||
} rdma;
|
||||
struct {
|
||||
u64 remote_addr;
|
||||
u64 compare_add;
|
||||
u64 swap;
|
||||
u64 compare_add_mask;
|
||||
u64 swap_mask;
|
||||
u32 rkey;
|
||||
} atomic;
|
||||
struct {
|
||||
struct ib_ah *ah;
|
||||
void *header;
|
||||
int hlen;
|
||||
int mss;
|
||||
u32 remote_qpn;
|
||||
u32 remote_qkey;
|
||||
u16 pkey_index; /* valid for GSI only */
|
||||
u8 port_num; /* valid for DR SMPs on switch only */
|
||||
} ud;
|
||||
struct {
|
||||
u64 iova_start;
|
||||
struct ib_fast_reg_page_list *page_list;
|
||||
unsigned int page_shift;
|
||||
unsigned int page_list_len;
|
||||
u32 length;
|
||||
int access_flags;
|
||||
u32 rkey;
|
||||
} fast_reg;
|
||||
struct {
|
||||
struct ib_mw *mw;
|
||||
/* The new rkey for the memory window. */
|
||||
u32 rkey;
|
||||
struct ib_mw_bind_info bind_info;
|
||||
} bind_mw;
|
||||
struct {
|
||||
struct ib_sig_attrs *sig_attrs;
|
||||
struct ib_mr *sig_mr;
|
||||
int access_flags;
|
||||
struct ib_sge *prot;
|
||||
} sig_handover;
|
||||
} wr;
|
||||
u32 xrc_remote_srq_num; /* XRC TGT QPs only */
|
||||
};
|
||||
|
||||
struct ib_rdma_wr {
|
||||
struct ib_send_wr wr;
|
||||
u64 remote_addr;
|
||||
u32 rkey;
|
||||
};
|
||||
|
||||
static inline struct ib_rdma_wr *rdma_wr(struct ib_send_wr *wr)
|
||||
{
|
||||
return container_of(wr, struct ib_rdma_wr, wr);
|
||||
}
|
||||
|
||||
struct ib_atomic_wr {
|
||||
struct ib_send_wr wr;
|
||||
u64 remote_addr;
|
||||
u64 compare_add;
|
||||
u64 swap;
|
||||
u64 compare_add_mask;
|
||||
u64 swap_mask;
|
||||
u32 rkey;
|
||||
};
|
||||
|
||||
static inline struct ib_atomic_wr *atomic_wr(struct ib_send_wr *wr)
|
||||
{
|
||||
return container_of(wr, struct ib_atomic_wr, wr);
|
||||
}
|
||||
|
||||
struct ib_ud_wr {
|
||||
struct ib_send_wr wr;
|
||||
struct ib_ah *ah;
|
||||
void *header;
|
||||
int hlen;
|
||||
int mss;
|
||||
u32 remote_qpn;
|
||||
u32 remote_qkey;
|
||||
u16 pkey_index; /* valid for GSI only */
|
||||
u8 port_num; /* valid for DR SMPs on switch only */
|
||||
};
|
||||
|
||||
static inline struct ib_ud_wr *ud_wr(struct ib_send_wr *wr)
|
||||
{
|
||||
return container_of(wr, struct ib_ud_wr, wr);
|
||||
}
|
||||
|
||||
struct ib_fast_reg_wr {
|
||||
struct ib_send_wr wr;
|
||||
u64 iova_start;
|
||||
struct ib_fast_reg_page_list *page_list;
|
||||
unsigned int page_shift;
|
||||
unsigned int page_list_len;
|
||||
u32 length;
|
||||
int access_flags;
|
||||
u32 rkey;
|
||||
};
|
||||
|
||||
static inline struct ib_fast_reg_wr *fast_reg_wr(struct ib_send_wr *wr)
|
||||
{
|
||||
return container_of(wr, struct ib_fast_reg_wr, wr);
|
||||
}
|
||||
|
||||
struct ib_bind_mw_wr {
|
||||
struct ib_send_wr wr;
|
||||
struct ib_mw *mw;
|
||||
/* The new rkey for the memory window. */
|
||||
u32 rkey;
|
||||
struct ib_mw_bind_info bind_info;
|
||||
};
|
||||
|
||||
static inline struct ib_bind_mw_wr *bind_mw_wr(struct ib_send_wr *wr)
|
||||
{
|
||||
return container_of(wr, struct ib_bind_mw_wr, wr);
|
||||
}
|
||||
|
||||
struct ib_sig_handover_wr {
|
||||
struct ib_send_wr wr;
|
||||
struct ib_sig_attrs *sig_attrs;
|
||||
struct ib_mr *sig_mr;
|
||||
int access_flags;
|
||||
struct ib_sge *prot;
|
||||
};
|
||||
|
||||
static inline struct ib_sig_handover_wr *sig_handover_wr(struct ib_send_wr *wr)
|
||||
{
|
||||
return container_of(wr, struct ib_sig_handover_wr, wr);
|
||||
}
|
||||
|
||||
struct ib_recv_wr {
|
||||
struct ib_recv_wr *next;
|
||||
u64 wr_id;
|
||||
|
在新工单中引用
屏蔽一个用户