Lines Matching refs:mhp
43 static int iwch_finish_mem_reg(struct iwch_mr *mhp, u32 stag) in iwch_finish_mem_reg() argument
47 mhp->attr.state = 1; in iwch_finish_mem_reg()
48 mhp->attr.stag = stag; in iwch_finish_mem_reg()
50 mhp->ibmr.rkey = mhp->ibmr.lkey = stag; in iwch_finish_mem_reg()
51 PDBG("%s mmid 0x%x mhp %p\n", __func__, mmid, mhp); in iwch_finish_mem_reg()
52 return insert_handle(mhp->rhp, &mhp->rhp->mmidr, mhp, mmid); in iwch_finish_mem_reg()
56 struct iwch_mr *mhp, int shift) in iwch_register_mem() argument
62 &stag, mhp->attr.pdid, in iwch_register_mem()
63 mhp->attr.perms, in iwch_register_mem()
64 mhp->attr.zbva, in iwch_register_mem()
65 mhp->attr.va_fbo, in iwch_register_mem()
66 mhp->attr.len, in iwch_register_mem()
68 mhp->attr.pbl_size, mhp->attr.pbl_addr)) in iwch_register_mem()
71 ret = iwch_finish_mem_reg(mhp, stag); in iwch_register_mem()
73 cxio_dereg_mem(&rhp->rdev, mhp->attr.stag, mhp->attr.pbl_size, in iwch_register_mem()
74 mhp->attr.pbl_addr); in iwch_register_mem()
79 struct iwch_mr *mhp, in iwch_reregister_mem() argument
87 if (npages > mhp->attr.pbl_size) in iwch_reregister_mem()
90 stag = mhp->attr.stag; in iwch_reregister_mem()
92 &stag, mhp->attr.pdid, in iwch_reregister_mem()
93 mhp->attr.perms, in iwch_reregister_mem()
94 mhp->attr.zbva, in iwch_reregister_mem()
95 mhp->attr.va_fbo, in iwch_reregister_mem()
96 mhp->attr.len, in iwch_reregister_mem()
98 mhp->attr.pbl_size, mhp->attr.pbl_addr)) in iwch_reregister_mem()
101 ret = iwch_finish_mem_reg(mhp, stag); in iwch_reregister_mem()
103 cxio_dereg_mem(&rhp->rdev, mhp->attr.stag, mhp->attr.pbl_size, in iwch_reregister_mem()
104 mhp->attr.pbl_addr); in iwch_reregister_mem()
109 int iwch_alloc_pbl(struct iwch_mr *mhp, int npages) in iwch_alloc_pbl() argument
111 mhp->attr.pbl_addr = cxio_hal_pblpool_alloc(&mhp->rhp->rdev, in iwch_alloc_pbl()
114 if (!mhp->attr.pbl_addr) in iwch_alloc_pbl()
117 mhp->attr.pbl_size = npages; in iwch_alloc_pbl()
122 void iwch_free_pbl(struct iwch_mr *mhp) in iwch_free_pbl() argument
124 cxio_hal_pblpool_free(&mhp->rhp->rdev, mhp->attr.pbl_addr, in iwch_free_pbl()
125 mhp->attr.pbl_size << 3); in iwch_free_pbl()
128 int iwch_write_pbl(struct iwch_mr *mhp, __be64 *pages, int npages, int offset) in iwch_write_pbl() argument
130 return cxio_write_pbl(&mhp->rhp->rdev, pages, in iwch_write_pbl()
131 mhp->attr.pbl_addr + (offset << 3), npages); in iwch_write_pbl()