Lines Matching refs:fr_desc

459 	struct fast_reg_descriptor *fr_desc, *tmp;  in isert_conn_free_fastreg_pool()  local
467 list_for_each_entry_safe(fr_desc, tmp, in isert_conn_free_fastreg_pool()
469 list_del(&fr_desc->list); in isert_conn_free_fastreg_pool()
470 ib_dereg_mr(fr_desc->data_mr); in isert_conn_free_fastreg_pool()
471 if (fr_desc->pi_ctx) { in isert_conn_free_fastreg_pool()
472 ib_dereg_mr(fr_desc->pi_ctx->prot_mr); in isert_conn_free_fastreg_pool()
473 ib_dereg_mr(fr_desc->pi_ctx->sig_mr); in isert_conn_free_fastreg_pool()
474 kfree(fr_desc->pi_ctx); in isert_conn_free_fastreg_pool()
476 kfree(fr_desc); in isert_conn_free_fastreg_pool()
533 struct fast_reg_descriptor *fr_desc) in isert_create_fr_desc() argument
535 fr_desc->data_mr = ib_alloc_mr(pd, IB_MR_TYPE_MEM_REG, in isert_create_fr_desc()
537 if (IS_ERR(fr_desc->data_mr)) { in isert_create_fr_desc()
539 PTR_ERR(fr_desc->data_mr)); in isert_create_fr_desc()
540 return PTR_ERR(fr_desc->data_mr); in isert_create_fr_desc()
542 fr_desc->ind |= ISERT_DATA_KEY_VALID; in isert_create_fr_desc()
544 isert_dbg("Created fr_desc %p\n", fr_desc); in isert_create_fr_desc()
552 struct fast_reg_descriptor *fr_desc; in isert_conn_create_fastreg_pool() local
566 fr_desc = kzalloc(sizeof(*fr_desc), GFP_KERNEL); in isert_conn_create_fastreg_pool()
567 if (!fr_desc) { in isert_conn_create_fastreg_pool()
574 device->pd, fr_desc); in isert_conn_create_fastreg_pool()
578 kfree(fr_desc); in isert_conn_create_fastreg_pool()
582 list_add_tail(&fr_desc->list, &isert_conn->fr_pool); in isert_conn_create_fastreg_pool()
1704 if (wr->fr_desc) { in isert_unreg_rdma()
1705 isert_dbg("Cmd %p free fr_desc %p\n", isert_cmd, wr->fr_desc); in isert_unreg_rdma()
1706 if (wr->fr_desc->ind & ISERT_PROTECTED) { in isert_unreg_rdma()
1708 wr->fr_desc->ind &= ~ISERT_PROTECTED; in isert_unreg_rdma()
1711 list_add_tail(&wr->fr_desc->list, &isert_conn->fr_pool); in isert_unreg_rdma()
1713 wr->fr_desc = NULL; in isert_unreg_rdma()
1884 if (wr->fr_desc && wr->fr_desc->ind & ISERT_PROTECTED) { in isert_completion_rdma_write()
1886 wr->fr_desc->pi_ctx->sig_mr); in isert_completion_rdma_write()
1887 wr->fr_desc->ind &= ~ISERT_PROTECTED; in isert_completion_rdma_write()
1910 if (wr->fr_desc && wr->fr_desc->ind & ISERT_PROTECTED) { in isert_completion_rdma_read()
1912 wr->fr_desc->pi_ctx->sig_mr); in isert_completion_rdma_read()
1913 wr->fr_desc->ind &= ~ISERT_PROTECTED; in isert_completion_rdma_read()
2517 struct fast_reg_descriptor *fr_desc, in isert_fast_reg_mr() argument
2540 mr = fr_desc->data_mr; in isert_fast_reg_mr()
2543 mr = fr_desc->pi_ctx->prot_mr; in isert_fast_reg_mr()
2545 if (!(fr_desc->ind & ind)) { in isert_fast_reg_mr()
2558 fr_desc, mem->nents, mem->offset); in isert_fast_reg_mr()
2579 fr_desc->ind &= ~ind; in isert_fast_reg_mr()
2651 struct fast_reg_descriptor *fr_desc) in isert_reg_sig_mr() argument
2655 struct pi_context *pi_ctx = fr_desc->pi_ctx; in isert_reg_sig_mr()
2666 if (!(fr_desc->ind & ISERT_SIG_KEY_VALID)) { in isert_reg_sig_mr()
2692 fr_desc->ind &= ~ISERT_SIG_KEY_VALID; in isert_reg_sig_mr()
2721 if (!wr->fr_desc->pi_ctx) { in isert_handle_prot_cmd()
2722 ret = isert_create_pi_ctx(wr->fr_desc, in isert_handle_prot_cmd()
2745 ret = isert_fast_reg_mr(isert_conn, wr->fr_desc, &wr->prot, in isert_handle_prot_cmd()
2754 ret = isert_reg_sig_mr(isert_conn, se_cmd, wr, wr->fr_desc); in isert_handle_prot_cmd()
2760 wr->fr_desc->ind |= ISERT_PROTECTED; in isert_handle_prot_cmd()
2778 struct fast_reg_descriptor *fr_desc = NULL; in isert_reg_rdma() local
2796 fr_desc = list_first_entry(&isert_conn->fr_pool, in isert_reg_rdma()
2798 list_del(&fr_desc->list); in isert_reg_rdma()
2800 wr->fr_desc = fr_desc; in isert_reg_rdma()
2803 ret = isert_fast_reg_mr(isert_conn, fr_desc, &wr->data, in isert_reg_rdma()
2845 if (fr_desc) { in isert_reg_rdma()
2847 list_add_tail(&fr_desc->list, &isert_conn->fr_pool); in isert_reg_rdma()