mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 07:31:45 +00:00
RDMA/ocrdma: Increase STAG array size
1) Increase STAG Array size. 2) Max inline data size should be set to the same value used during QP creation 3) Set max_sge_rd to zero since we dont support RD transport in our adapters. 4) Max cqes reported in ibv_devinfo should be from QUERY_CONFIG. Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
cffce99051
commit
c43e9ab84d
@ -994,6 +994,9 @@ static void ocrdma_get_attr(struct ocrdma_dev *dev,
|
||||
attr->max_num_mr_pbl = rsp->max_num_mr_pbl;
|
||||
attr->max_cqe = rsp->max_cq_cqes_per_cq &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_CQES_PER_CQ_MASK;
|
||||
attr->max_cq = (rsp->max_cq_cqes_per_cq &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_CQ_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_CQ_OFFSET;
|
||||
attr->wqe_size = ((rsp->wqe_rqe_stride_max_dpp_cqs &
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_WQE_SIZE_MASK) >>
|
||||
OCRDMA_MBX_QUERY_CFG_MAX_WQE_SIZE_OFFSET) *
|
||||
@ -1026,7 +1029,6 @@ static int ocrdma_check_fw_config(struct ocrdma_dev *dev,
|
||||
return -EINVAL;
|
||||
dev->base_eqid = conf->base_eqid;
|
||||
dev->max_eq = conf->max_eq;
|
||||
dev->attr.max_cq = OCRDMA_MAX_CQ - 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -91,7 +91,7 @@ enum {
|
||||
|
||||
#define OCRDMA_MAX_QP 2048
|
||||
#define OCRDMA_MAX_CQ 2048
|
||||
#define OCRDMA_MAX_STAG 2048
|
||||
#define OCRDMA_MAX_STAG 8192
|
||||
|
||||
enum {
|
||||
OCRDMA_DB_RQ_OFFSET = 0xE0,
|
||||
|
@ -85,7 +85,7 @@ int ocrdma_query_device(struct ib_device *ibdev, struct ib_device_attr *attr)
|
||||
IB_DEVICE_LOCAL_DMA_LKEY |
|
||||
IB_DEVICE_MEM_MGT_EXTENSIONS;
|
||||
attr->max_sge = min(dev->attr.max_send_sge, dev->attr.max_srq_sge);
|
||||
attr->max_sge_rd = dev->attr.max_rdma_sge;
|
||||
attr->max_sge_rd = 0;
|
||||
attr->max_cq = dev->attr.max_cq;
|
||||
attr->max_cqe = dev->attr.max_cqe;
|
||||
attr->max_mr = dev->attr.max_mr;
|
||||
@ -1365,7 +1365,7 @@ int ocrdma_query_qp(struct ib_qp *ibqp,
|
||||
qp_attr->cap.max_recv_wr = qp->rq.max_cnt - 1;
|
||||
qp_attr->cap.max_send_sge = qp->sq.max_sges;
|
||||
qp_attr->cap.max_recv_sge = qp->rq.max_sges;
|
||||
qp_attr->cap.max_inline_data = dev->attr.max_inline_data;
|
||||
qp_attr->cap.max_inline_data = qp->max_inline_data;
|
||||
qp_init_attr->cap = qp_attr->cap;
|
||||
memcpy(&qp_attr->ah_attr.grh.dgid, ¶ms.dgid[0],
|
||||
sizeof(params.dgid));
|
||||
|
Loading…
Reference in New Issue
Block a user