diff options
author | Naresh Gottumukkala <bgottumukkala@emulex.com> | 2013-08-07 12:52:37 +0530 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2013-08-12 11:00:51 -0700 |
commit | 45e86b33ec8b33f9ed41d9f9005f9e663018f8f1 (patch) | |
tree | eca311e7455a7edba0c361afdb05996b4b42cb3e /drivers/infiniband/hw/ocrdma/ocrdma_hw.c | |
parent | 7b9b1a596e0f37b463dfe3bc36b6d035c7450ca0 (diff) | |
download | op-kernel-dev-45e86b33ec8b33f9ed41d9f9005f9e663018f8f1.zip op-kernel-dev-45e86b33ec8b33f9ed41d9f9005f9e663018f8f1.tar.gz |
RDMA/ocrdma: Cache recv DB until QP moved to RTR
1) In post recv, don't ring the DB doorbell if the QP is in RTR state.
Cache the DB calls, until the QP is moved to RTS state.
2) Add max_rd_sge support to dev->attr.
3) Code cleanup in alloc_pd path.
Signed-off-by: Naresh Gottumukkala <bgottumukkala@emulex.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/ocrdma/ocrdma_hw.c')
-rw-r--r-- | drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c index c4bb29c..97bb1ce 100644 --- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c +++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c @@ -992,6 +992,9 @@ static void ocrdma_get_attr(struct ocrdma_dev *dev, attr->max_srq_sge = (rsp->max_srq_rqe_sge & OCRDMA_MBX_QUERY_CFG_MAX_SRQ_SGE_MASK) >> OCRDMA_MBX_QUERY_CFG_MAX_SRQ_SGE_OFFSET; + attr->max_rdma_sge = (rsp->max_write_send_sge & + OCRDMA_MBX_QUERY_CFG_MAX_WRITE_SGE_MASK) >> + OCRDMA_MBX_QUERY_CFG_MAX_WRITE_SGE_SHIFT; attr->max_ord_per_qp = (rsp->max_ird_ord_per_qp & OCRDMA_MBX_QUERY_CFG_MAX_ORD_PER_QP_MASK) >> OCRDMA_MBX_QUERY_CFG_MAX_ORD_PER_QP_SHIFT; |