Commit 4107b8a0 authored by Mike Marciniszyn's avatar Mike Marciniszyn Committed by Doug Ledford

IB/rdmavt: Add functions to get and release QP references

This centralizes the function and improves code readability.
Reviewed-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: default avatarMike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent e4618d40
......@@ -465,6 +465,25 @@ static inline struct rvt_rwqe *rvt_get_rwqe_ptr(struct rvt_rq *rq, unsigned n)
rq->max_sge * sizeof(struct ib_sge)) * n);
}
/**
* rvt_get_qp - get a QP reference
* @qp - the QP to hold
*/
static inline void rvt_get_qp(struct rvt_qp *qp)
{
atomic_inc(&qp->refcount);
}
/**
* rvt_put_qp - release a QP reference
* @qp - the QP to release
*/
static inline void rvt_put_qp(struct rvt_qp *qp)
{
if (qp && atomic_dec_and_test(&qp->refcount))
wake_up(&qp->wait);
}
/**
* rvt_qp_wqe_reserve - reserve operation
* @qp - the rvt qp
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment