IB/qib: Add qib post send table
Add initial table for table driven post_send support. Reviewed-by: Jianxin Xiong <jianxin.xiong@intel.com> Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
committed by
Doug Ledford
parent
1ac57c50e9
commit
9ec4faa391
@ -106,6 +106,49 @@ static u32 credit_table[31] = {
|
|||||||
32768 /* 1E */
|
32768 /* 1E */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const struct rvt_operation_params qib_post_parms[RVT_OPERATION_MAX] = {
|
||||||
|
[IB_WR_RDMA_WRITE] = {
|
||||||
|
.length = sizeof(struct ib_rdma_wr),
|
||||||
|
.qpt_support = BIT(IB_QPT_UC) | BIT(IB_QPT_RC),
|
||||||
|
},
|
||||||
|
|
||||||
|
[IB_WR_RDMA_READ] = {
|
||||||
|
.length = sizeof(struct ib_rdma_wr),
|
||||||
|
.qpt_support = BIT(IB_QPT_RC),
|
||||||
|
.flags = RVT_OPERATION_ATOMIC,
|
||||||
|
},
|
||||||
|
|
||||||
|
[IB_WR_ATOMIC_CMP_AND_SWP] = {
|
||||||
|
.length = sizeof(struct ib_atomic_wr),
|
||||||
|
.qpt_support = BIT(IB_QPT_RC),
|
||||||
|
.flags = RVT_OPERATION_ATOMIC | RVT_OPERATION_ATOMIC_SGE,
|
||||||
|
},
|
||||||
|
|
||||||
|
[IB_WR_ATOMIC_FETCH_AND_ADD] = {
|
||||||
|
.length = sizeof(struct ib_atomic_wr),
|
||||||
|
.qpt_support = BIT(IB_QPT_RC),
|
||||||
|
.flags = RVT_OPERATION_ATOMIC | RVT_OPERATION_ATOMIC_SGE,
|
||||||
|
},
|
||||||
|
|
||||||
|
[IB_WR_RDMA_WRITE_WITH_IMM] = {
|
||||||
|
.length = sizeof(struct ib_rdma_wr),
|
||||||
|
.qpt_support = BIT(IB_QPT_UC) | BIT(IB_QPT_RC),
|
||||||
|
},
|
||||||
|
|
||||||
|
[IB_WR_SEND] = {
|
||||||
|
.length = sizeof(struct ib_send_wr),
|
||||||
|
.qpt_support = BIT(IB_QPT_UD) | BIT(IB_QPT_SMI) | BIT(IB_QPT_GSI) |
|
||||||
|
BIT(IB_QPT_UC) | BIT(IB_QPT_RC),
|
||||||
|
},
|
||||||
|
|
||||||
|
[IB_WR_SEND_WITH_IMM] = {
|
||||||
|
.length = sizeof(struct ib_send_wr),
|
||||||
|
.qpt_support = BIT(IB_QPT_UD) | BIT(IB_QPT_SMI) | BIT(IB_QPT_GSI) |
|
||||||
|
BIT(IB_QPT_UC) | BIT(IB_QPT_RC),
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
static void get_map_page(struct rvt_qpn_table *qpt, struct rvt_qpn_map *map,
|
static void get_map_page(struct rvt_qpn_table *qpt, struct rvt_qpn_map *map,
|
||||||
gfp_t gfp)
|
gfp_t gfp)
|
||||||
{
|
{
|
||||||
|
@ -1582,6 +1582,8 @@ static void qib_fill_device_attr(struct qib_devdata *dd)
|
|||||||
rdi->dparms.props.max_total_mcast_qp_attach =
|
rdi->dparms.props.max_total_mcast_qp_attach =
|
||||||
rdi->dparms.props.max_mcast_qp_attach *
|
rdi->dparms.props.max_mcast_qp_attach *
|
||||||
rdi->dparms.props.max_mcast_grp;
|
rdi->dparms.props.max_mcast_grp;
|
||||||
|
/* post send table */
|
||||||
|
dd->verbs_dev.rdi.post_parms = qib_post_parms;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -497,4 +497,6 @@ extern unsigned int ib_qib_max_srq_wrs;
|
|||||||
|
|
||||||
extern const u32 ib_qib_rnr_table[];
|
extern const u32 ib_qib_rnr_table[];
|
||||||
|
|
||||||
|
extern const struct rvt_operation_params qib_post_parms[];
|
||||||
|
|
||||||
#endif /* QIB_VERBS_H */
|
#endif /* QIB_VERBS_H */
|
||||||
|
Reference in New Issue
Block a user