IB/core: add RW API support for signature MRs
Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
b99f8e4d7b
commit
0e353e34e1
@@ -47,6 +47,15 @@ struct rdma_rw_ctx {
|
||||
struct ib_send_wr inv_wr;
|
||||
struct ib_mr *mr;
|
||||
} *reg;
|
||||
|
||||
struct {
|
||||
struct rdma_rw_reg_ctx data;
|
||||
struct rdma_rw_reg_ctx prot;
|
||||
struct ib_send_wr sig_inv_wr;
|
||||
struct ib_mr *sig_mr;
|
||||
struct ib_sge sig_sge;
|
||||
struct ib_sig_handover_wr sig_wr;
|
||||
} *sig;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -57,6 +66,16 @@ void rdma_rw_ctx_destroy(struct rdma_rw_ctx *ctx, struct ib_qp *qp, u8 port_num,
|
||||
struct scatterlist *sg, u32 sg_cnt,
|
||||
enum dma_data_direction dir);
|
||||
|
||||
int rdma_rw_ctx_signature_init(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
|
||||
u8 port_num, struct scatterlist *sg, u32 sg_cnt,
|
||||
struct scatterlist *prot_sg, u32 prot_sg_cnt,
|
||||
struct ib_sig_attrs *sig_attrs, u64 remote_addr, u32 rkey,
|
||||
enum dma_data_direction dir);
|
||||
void rdma_rw_ctx_destroy_signature(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
|
||||
u8 port_num, struct scatterlist *sg, u32 sg_cnt,
|
||||
struct scatterlist *prot_sg, u32 prot_sg_cnt,
|
||||
enum dma_data_direction dir);
|
||||
|
||||
struct ib_send_wr *rdma_rw_ctx_wrs(struct rdma_rw_ctx *ctx, struct ib_qp *qp,
|
||||
u8 port_num, struct ib_cqe *cqe, struct ib_send_wr *chain_wr);
|
||||
int rdma_rw_ctx_post(struct rdma_rw_ctx *ctx, struct ib_qp *qp, u8 port_num,
|
||||
|
Reference in New Issue
Block a user