Lines Matching refs:rkey

397  * about the rkey value and should not validate or use it.
398 * Instead set qp->resp.rkey to 0 which is an invalid rkey
410 qp->resp.rkey = 0;
412 qp->resp.rkey = reth_rkey(pkt);
419 qp->resp.rkey = atmeth_rkey(pkt);
423 /* resolve the packet rkey to qp->resp.mr or set qp->resp.mr to NULL
424 * if an invalid rkey is received or the rdma length is zero. For middle
433 u32 rkey;
441 * for va, length, rkey, etc. or use current value for
469 * set an addr or rkey. See C9-88
478 rkey = qp->resp.rkey;
482 if (rkey_is_mw(rkey)) {
483 mw = rxe_lookup_mw(qp, access, rkey);
485 rxe_dbg_qp(qp, "no MW matches rkey %#x\n", rkey);
504 mr = lookup_mr(qp->pd, access, rkey, RXE_LOOKUP_REMOTE);
506 rxe_dbg_qp(qp, "no MR matches rkey %#x\n", rkey);
617 res->read.rkey = qp->resp.rkey;
810 * rxe_recheck_mr - revalidate MR from rkey and get a reference
812 * @rkey: the rkey
826 static struct rxe_mr *rxe_recheck_mr(struct rxe_qp *qp, u32 rkey)
832 if (rkey_is_mw(rkey)) {
833 mw = rxe_pool_get_index(&rxe->mw_pool, rkey >> 8);
838 if (mw->rkey != rkey || mw->state != RXE_MW_STATE_VALID ||
850 mr = rxe_pool_get_index(&rxe->mr_pool, rkey >> 8);
854 if (mr->rkey != rkey || mr->state != RXE_MR_STATE_VALID) {
892 mr = rxe_recheck_mr(qp, res->read.rkey);
902 /* re-lookup mr from rkey on all later packets.
906 mr = rxe_recheck_mr(qp, res->read.rkey);
969 static int invalidate_rkey(struct rxe_qp *qp, u32 rkey)
971 if (rkey_is_mw(rkey))
972 return rxe_invalidate_mw(qp, rkey);
974 return rxe_invalidate_mr(qp, rkey);
1025 u32 rkey = ieth_rkey(pkt);
1027 err = invalidate_rkey(qp, rkey);
1324 if (reth_rkey(pkt) != res->read.rkey) {