Lines Matching refs:mr
51 struct rxe_mw *mw, struct rxe_mr *mr, int access)
83 if (unlikely(!mr || wqe->wr.wr.mw.length == 0)) {
91 if (!mr)
94 if (unlikely(mr->access & IB_ZERO_BASED)) {
100 if (unlikely(!(mr->access & IB_ACCESS_MW_BIND))) {
109 !(mr->access & IB_ACCESS_LOCAL_WRITE))) {
117 if (unlikely(wqe->wr.wr.mw.length > mr->ibmr.length)) {
123 if (unlikely((wqe->wr.wr.mw.addr < mr->ibmr.iova) ||
125 (mr->ibmr.iova + mr->ibmr.length)))) {
136 struct rxe_mw *mw, struct rxe_mr *mr, int access)
146 if (mw->mr) {
147 rxe_put(mw->mr);
148 atomic_dec(&mw->mr->num_mw);
149 mw->mr = NULL;
153 mw->mr = mr;
154 atomic_inc(&mr->num_mw);
155 rxe_get(mr);
168 struct rxe_mr *mr;
186 mr = rxe_pool_get_index(&rxe->mr_pool, mr_lkey >> 8);
187 if (unlikely(!mr)) {
192 if (unlikely(mr->lkey != mr_lkey)) {
197 mr = NULL;
208 ret = rxe_check_bind_mw(qp, wqe, mw, mr, access);
212 rxe_do_bind_mw(qp, wqe, mw, mr, access);
216 if (mr)
217 rxe_put(mr);
239 struct rxe_mr *mr;
247 mr = mw->mr;
248 mw->mr = NULL;
249 atomic_dec(&mr->num_mw);
250 rxe_put(mr);
319 if (mw->mr) {
320 struct rxe_mr *mr = mw->mr;
322 mw->mr = NULL;
323 atomic_dec(&mr->num_mw);
324 rxe_put(mr);