mhp                43 drivers/infiniband/hw/cxgb3/iwch_mem.c static int iwch_finish_mem_reg(struct iwch_mr *mhp, u32 stag)
mhp                47 drivers/infiniband/hw/cxgb3/iwch_mem.c 	mhp->attr.state = 1;
mhp                48 drivers/infiniband/hw/cxgb3/iwch_mem.c 	mhp->attr.stag = stag;
mhp                50 drivers/infiniband/hw/cxgb3/iwch_mem.c 	mhp->ibmr.rkey = mhp->ibmr.lkey = stag;
mhp                51 drivers/infiniband/hw/cxgb3/iwch_mem.c 	pr_debug("%s mmid 0x%x mhp %p\n", __func__, mmid, mhp);
mhp                52 drivers/infiniband/hw/cxgb3/iwch_mem.c 	return xa_insert_irq(&mhp->rhp->mrs, mmid, mhp, GFP_KERNEL);
mhp                56 drivers/infiniband/hw/cxgb3/iwch_mem.c 		      struct iwch_mr *mhp, int shift)
mhp                62 drivers/infiniband/hw/cxgb3/iwch_mem.c 				   &stag, mhp->attr.pdid,
mhp                63 drivers/infiniband/hw/cxgb3/iwch_mem.c 				   mhp->attr.perms,
mhp                64 drivers/infiniband/hw/cxgb3/iwch_mem.c 				   mhp->attr.zbva,
mhp                65 drivers/infiniband/hw/cxgb3/iwch_mem.c 				   mhp->attr.va_fbo,
mhp                66 drivers/infiniband/hw/cxgb3/iwch_mem.c 				   mhp->attr.len,
mhp                68 drivers/infiniband/hw/cxgb3/iwch_mem.c 				   mhp->attr.pbl_size, mhp->attr.pbl_addr))
mhp                71 drivers/infiniband/hw/cxgb3/iwch_mem.c 	ret = iwch_finish_mem_reg(mhp, stag);
mhp                73 drivers/infiniband/hw/cxgb3/iwch_mem.c 		cxio_dereg_mem(&rhp->rdev, mhp->attr.stag, mhp->attr.pbl_size,
mhp                74 drivers/infiniband/hw/cxgb3/iwch_mem.c 		       mhp->attr.pbl_addr);
mhp                78 drivers/infiniband/hw/cxgb3/iwch_mem.c int iwch_alloc_pbl(struct iwch_mr *mhp, int npages)
mhp                80 drivers/infiniband/hw/cxgb3/iwch_mem.c 	mhp->attr.pbl_addr = cxio_hal_pblpool_alloc(&mhp->rhp->rdev,
mhp                83 drivers/infiniband/hw/cxgb3/iwch_mem.c 	if (!mhp->attr.pbl_addr)
mhp                86 drivers/infiniband/hw/cxgb3/iwch_mem.c 	mhp->attr.pbl_size = npages;
mhp                91 drivers/infiniband/hw/cxgb3/iwch_mem.c void iwch_free_pbl(struct iwch_mr *mhp)
mhp                93 drivers/infiniband/hw/cxgb3/iwch_mem.c 	cxio_hal_pblpool_free(&mhp->rhp->rdev, mhp->attr.pbl_addr,
mhp                94 drivers/infiniband/hw/cxgb3/iwch_mem.c 			      mhp->attr.pbl_size << 3);
mhp                97 drivers/infiniband/hw/cxgb3/iwch_mem.c int iwch_write_pbl(struct iwch_mr *mhp, __be64 *pages, int npages, int offset)
mhp                99 drivers/infiniband/hw/cxgb3/iwch_mem.c 	return cxio_write_pbl(&mhp->rhp->rdev, pages,
mhp               100 drivers/infiniband/hw/cxgb3/iwch_mem.c 			      mhp->attr.pbl_addr + (offset << 3), npages);
mhp               334 drivers/infiniband/hw/cxgb3/iwch_provider.c 	struct iwch_mr *mhp;
mhp               339 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp = to_iwch_mr(ib_mr);
mhp               340 drivers/infiniband/hw/cxgb3/iwch_provider.c 	kfree(mhp->pages);
mhp               341 drivers/infiniband/hw/cxgb3/iwch_provider.c 	rhp = mhp->rhp;
mhp               342 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mmid = mhp->attr.stag >> 8;
mhp               343 drivers/infiniband/hw/cxgb3/iwch_provider.c 	cxio_dereg_mem(&rhp->rdev, mhp->attr.stag, mhp->attr.pbl_size,
mhp               344 drivers/infiniband/hw/cxgb3/iwch_provider.c 		       mhp->attr.pbl_addr);
mhp               345 drivers/infiniband/hw/cxgb3/iwch_provider.c 	iwch_free_pbl(mhp);
mhp               347 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (mhp->kva)
mhp               348 drivers/infiniband/hw/cxgb3/iwch_provider.c 		kfree((void *) (unsigned long) mhp->kva);
mhp               349 drivers/infiniband/hw/cxgb3/iwch_provider.c 	ib_umem_release(mhp->umem);
mhp               350 drivers/infiniband/hw/cxgb3/iwch_provider.c 	pr_debug("%s mmid 0x%x ptr %p\n", __func__, mmid, mhp);
mhp               351 drivers/infiniband/hw/cxgb3/iwch_provider.c 	kfree(mhp);
mhp               361 drivers/infiniband/hw/cxgb3/iwch_provider.c 	struct iwch_mr *mhp;
mhp               375 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp = kzalloc(sizeof(*mhp), GFP_KERNEL);
mhp               376 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (!mhp)
mhp               379 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->rhp = rhp;
mhp               399 drivers/infiniband/hw/cxgb3/iwch_provider.c 	ret = iwch_alloc_pbl(mhp, npages);
mhp               405 drivers/infiniband/hw/cxgb3/iwch_provider.c 	ret = iwch_write_pbl(mhp, page_list, npages, 0);
mhp               410 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.pdid = php->pdid;
mhp               411 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.zbva = 0;
mhp               413 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.perms = iwch_ib_to_tpt_access(acc);
mhp               414 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.va_fbo = 0;
mhp               415 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.page_size = shift - 12;
mhp               417 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.len = (u32) total_size;
mhp               418 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.pbl_size = npages;
mhp               419 drivers/infiniband/hw/cxgb3/iwch_provider.c 	ret = iwch_register_mem(rhp, php, mhp, shift);
mhp               423 drivers/infiniband/hw/cxgb3/iwch_provider.c 	return &mhp->ibmr;
mhp               426 drivers/infiniband/hw/cxgb3/iwch_provider.c 	iwch_free_pbl(mhp);
mhp               429 drivers/infiniband/hw/cxgb3/iwch_provider.c 	kfree(mhp);
mhp               441 drivers/infiniband/hw/cxgb3/iwch_provider.c 	struct iwch_mr *mhp;
mhp               448 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp = kzalloc(sizeof(*mhp), GFP_KERNEL);
mhp               449 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (!mhp)
mhp               452 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->rhp = rhp;
mhp               454 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->umem = ib_umem_get(udata, start, length, acc, 0);
mhp               455 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (IS_ERR(mhp->umem)) {
mhp               456 drivers/infiniband/hw/cxgb3/iwch_provider.c 		err = PTR_ERR(mhp->umem);
mhp               457 drivers/infiniband/hw/cxgb3/iwch_provider.c 		kfree(mhp);
mhp               463 drivers/infiniband/hw/cxgb3/iwch_provider.c 	n = ib_umem_num_pages(mhp->umem);
mhp               465 drivers/infiniband/hw/cxgb3/iwch_provider.c 	err = iwch_alloc_pbl(mhp, n);
mhp               477 drivers/infiniband/hw/cxgb3/iwch_provider.c 	for_each_sg_dma_page(mhp->umem->sg_head.sgl, &sg_iter, mhp->umem->nmap, 0) {
mhp               480 drivers/infiniband/hw/cxgb3/iwch_provider.c 			err = iwch_write_pbl(mhp, pages, i, n);
mhp               489 drivers/infiniband/hw/cxgb3/iwch_provider.c 		err = iwch_write_pbl(mhp, pages, i, n);
mhp               496 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.pdid = php->pdid;
mhp               497 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.zbva = 0;
mhp               498 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.perms = iwch_ib_to_tpt_access(acc);
mhp               499 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.va_fbo = virt;
mhp               500 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.page_size = shift - 12;
mhp               501 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.len = (u32) length;
mhp               503 drivers/infiniband/hw/cxgb3/iwch_provider.c 	err = iwch_register_mem(rhp, php, mhp, shift);
mhp               508 drivers/infiniband/hw/cxgb3/iwch_provider.c 		uresp.pbl_addr = (mhp->attr.pbl_addr -
mhp               514 drivers/infiniband/hw/cxgb3/iwch_provider.c 			iwch_dereg_mr(&mhp->ibmr, udata);
mhp               520 drivers/infiniband/hw/cxgb3/iwch_provider.c 	return &mhp->ibmr;
mhp               523 drivers/infiniband/hw/cxgb3/iwch_provider.c 	iwch_free_pbl(mhp);
mhp               526 drivers/infiniband/hw/cxgb3/iwch_provider.c 	ib_umem_release(mhp->umem);
mhp               527 drivers/infiniband/hw/cxgb3/iwch_provider.c 	kfree(mhp);
mhp               536 drivers/infiniband/hw/cxgb3/iwch_provider.c 	struct iwch_mw *mhp;
mhp               546 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp = kzalloc(sizeof(*mhp), GFP_KERNEL);
mhp               547 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (!mhp)
mhp               551 drivers/infiniband/hw/cxgb3/iwch_provider.c 		kfree(mhp);
mhp               554 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->rhp = rhp;
mhp               555 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.pdid = php->pdid;
mhp               556 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.type = TPT_MW;
mhp               557 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.stag = stag;
mhp               559 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->ibmw.rkey = stag;
mhp               560 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (xa_insert_irq(&rhp->mrs, mmid, mhp, GFP_KERNEL)) {
mhp               561 drivers/infiniband/hw/cxgb3/iwch_provider.c 		cxio_deallocate_window(&rhp->rdev, mhp->attr.stag);
mhp               562 drivers/infiniband/hw/cxgb3/iwch_provider.c 		kfree(mhp);
mhp               565 drivers/infiniband/hw/cxgb3/iwch_provider.c 	pr_debug("%s mmid 0x%x mhp %p stag 0x%x\n", __func__, mmid, mhp, stag);
mhp               566 drivers/infiniband/hw/cxgb3/iwch_provider.c 	return &(mhp->ibmw);
mhp               572 drivers/infiniband/hw/cxgb3/iwch_provider.c 	struct iwch_mw *mhp;
mhp               575 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp = to_iwch_mw(mw);
mhp               576 drivers/infiniband/hw/cxgb3/iwch_provider.c 	rhp = mhp->rhp;
mhp               578 drivers/infiniband/hw/cxgb3/iwch_provider.c 	cxio_deallocate_window(&rhp->rdev, mhp->attr.stag);
mhp               580 drivers/infiniband/hw/cxgb3/iwch_provider.c 	pr_debug("%s ib_mw %p mmid 0x%x ptr %p\n", __func__, mw, mmid, mhp);
mhp               581 drivers/infiniband/hw/cxgb3/iwch_provider.c 	kfree(mhp);
mhp               590 drivers/infiniband/hw/cxgb3/iwch_provider.c 	struct iwch_mr *mhp;
mhp               601 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp = kzalloc(sizeof(*mhp), GFP_KERNEL);
mhp               602 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (!mhp)
mhp               605 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->pages = kcalloc(max_num_sg, sizeof(u64), GFP_KERNEL);
mhp               606 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (!mhp->pages)
mhp               609 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->rhp = rhp;
mhp               610 drivers/infiniband/hw/cxgb3/iwch_provider.c 	ret = iwch_alloc_pbl(mhp, max_num_sg);
mhp               613 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.pbl_size = max_num_sg;
mhp               615 drivers/infiniband/hw/cxgb3/iwch_provider.c 				 mhp->attr.pbl_size, mhp->attr.pbl_addr);
mhp               618 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.pdid = php->pdid;
mhp               619 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.type = TPT_NON_SHARED_MR;
mhp               620 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.stag = stag;
mhp               621 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->attr.state = 1;
mhp               623 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->ibmr.rkey = mhp->ibmr.lkey = stag;
mhp               624 drivers/infiniband/hw/cxgb3/iwch_provider.c 	ret = xa_insert_irq(&rhp->mrs, mmid, mhp, GFP_KERNEL);
mhp               628 drivers/infiniband/hw/cxgb3/iwch_provider.c 	pr_debug("%s mmid 0x%x mhp %p stag 0x%x\n", __func__, mmid, mhp, stag);
mhp               629 drivers/infiniband/hw/cxgb3/iwch_provider.c 	return &(mhp->ibmr);
mhp               631 drivers/infiniband/hw/cxgb3/iwch_provider.c 	cxio_dereg_mem(&rhp->rdev, stag, mhp->attr.pbl_size,
mhp               632 drivers/infiniband/hw/cxgb3/iwch_provider.c 		       mhp->attr.pbl_addr);
mhp               634 drivers/infiniband/hw/cxgb3/iwch_provider.c 	iwch_free_pbl(mhp);
mhp               636 drivers/infiniband/hw/cxgb3/iwch_provider.c 	kfree(mhp->pages);
mhp               638 drivers/infiniband/hw/cxgb3/iwch_provider.c 	kfree(mhp);
mhp               645 drivers/infiniband/hw/cxgb3/iwch_provider.c 	struct iwch_mr *mhp = to_iwch_mr(ibmr);
mhp               647 drivers/infiniband/hw/cxgb3/iwch_provider.c 	if (unlikely(mhp->npages == mhp->attr.pbl_size))
mhp               650 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->pages[mhp->npages++] = addr;
mhp               658 drivers/infiniband/hw/cxgb3/iwch_provider.c 	struct iwch_mr *mhp = to_iwch_mr(ibmr);
mhp               660 drivers/infiniband/hw/cxgb3/iwch_provider.c 	mhp->npages = 0;
mhp               340 drivers/infiniband/hw/cxgb3/iwch_provider.h 		      struct iwch_mr *mhp, int shift);
mhp               341 drivers/infiniband/hw/cxgb3/iwch_provider.h int iwch_alloc_pbl(struct iwch_mr *mhp, int npages);
mhp               342 drivers/infiniband/hw/cxgb3/iwch_provider.h void iwch_free_pbl(struct iwch_mr *mhp);
mhp               343 drivers/infiniband/hw/cxgb3/iwch_provider.h int iwch_write_pbl(struct iwch_mr *mhp, __be64 *pages, int npages, int offset);
mhp               152 drivers/infiniband/hw/cxgb3/iwch_qp.c 	struct iwch_mr *mhp = to_iwch_mr(wr->mr);
mhp               156 drivers/infiniband/hw/cxgb3/iwch_qp.c 	if (mhp->npages > T3_MAX_FASTREG_DEPTH)
mhp               160 drivers/infiniband/hw/cxgb3/iwch_qp.c 	wqe->fastreg.len = cpu_to_be32(mhp->ibmr.length);
mhp               161 drivers/infiniband/hw/cxgb3/iwch_qp.c 	wqe->fastreg.va_base_hi = cpu_to_be32(mhp->ibmr.iova >> 32);
mhp               163 drivers/infiniband/hw/cxgb3/iwch_qp.c 				cpu_to_be32(mhp->ibmr.iova & 0xffffffff);
mhp               165 drivers/infiniband/hw/cxgb3/iwch_qp.c 		V_FR_PAGE_COUNT(mhp->npages) |
mhp               170 drivers/infiniband/hw/cxgb3/iwch_qp.c 	for (i = 0; i < mhp->npages; i++, p++) {
mhp               179 drivers/infiniband/hw/cxgb3/iwch_qp.c 			       0, 1 + mhp->npages - T3_MAX_FASTREG_FRAG,
mhp               184 drivers/infiniband/hw/cxgb3/iwch_qp.c 		*p = cpu_to_be64((u64)mhp->pages[i]);
mhp               186 drivers/infiniband/hw/cxgb3/iwch_qp.c 	*flit_cnt = 5 + mhp->npages;
mhp               205 drivers/infiniband/hw/cxgb3/iwch_qp.c 	struct iwch_mr *mhp;
mhp               209 drivers/infiniband/hw/cxgb3/iwch_qp.c 		mhp = get_mhp(rhp, (sg_list[i].lkey) >> 8);
mhp               210 drivers/infiniband/hw/cxgb3/iwch_qp.c 		if (!mhp) {
mhp               214 drivers/infiniband/hw/cxgb3/iwch_qp.c 		if (!mhp->attr.state) {
mhp               218 drivers/infiniband/hw/cxgb3/iwch_qp.c 		if (mhp->attr.zbva) {
mhp               223 drivers/infiniband/hw/cxgb3/iwch_qp.c 		if (sg_list[i].addr < mhp->attr.va_fbo) {
mhp               233 drivers/infiniband/hw/cxgb3/iwch_qp.c 		    mhp->attr.va_fbo + ((u64) mhp->attr.len)) {
mhp               237 drivers/infiniband/hw/cxgb3/iwch_qp.c 		offset = sg_list[i].addr - mhp->attr.va_fbo;
mhp               238 drivers/infiniband/hw/cxgb3/iwch_qp.c 		offset += mhp->attr.va_fbo &
mhp               239 drivers/infiniband/hw/cxgb3/iwch_qp.c 			  ((1UL << (12 + mhp->attr.page_size)) - 1);
mhp               240 drivers/infiniband/hw/cxgb3/iwch_qp.c 		pbl_addr[i] = ((mhp->attr.pbl_addr -
mhp               242 drivers/infiniband/hw/cxgb3/iwch_qp.c 			      (offset >> (12 + mhp->attr.page_size));
mhp               243 drivers/infiniband/hw/cxgb3/iwch_qp.c 		page_size[i] = mhp->attr.page_size;
mhp               393 drivers/infiniband/hw/cxgb4/mem.c static int finish_mem_reg(struct c4iw_mr *mhp, u32 stag)
mhp               397 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.state = 1;
mhp               398 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.stag = stag;
mhp               400 drivers/infiniband/hw/cxgb4/mem.c 	mhp->ibmr.rkey = mhp->ibmr.lkey = stag;
mhp               401 drivers/infiniband/hw/cxgb4/mem.c 	mhp->ibmr.length = mhp->attr.len;
mhp               402 drivers/infiniband/hw/cxgb4/mem.c 	mhp->ibmr.iova = mhp->attr.va_fbo;
mhp               403 drivers/infiniband/hw/cxgb4/mem.c 	mhp->ibmr.page_size = 1U << (mhp->attr.page_size + 12);
mhp               404 drivers/infiniband/hw/cxgb4/mem.c 	pr_debug("mmid 0x%x mhp %p\n", mmid, mhp);
mhp               405 drivers/infiniband/hw/cxgb4/mem.c 	return xa_insert_irq(&mhp->rhp->mrs, mmid, mhp, GFP_KERNEL);
mhp               409 drivers/infiniband/hw/cxgb4/mem.c 		      struct c4iw_mr *mhp, int shift)
mhp               414 drivers/infiniband/hw/cxgb4/mem.c 	ret = write_tpt_entry(&rhp->rdev, 0, &stag, 1, mhp->attr.pdid,
mhp               415 drivers/infiniband/hw/cxgb4/mem.c 			      FW_RI_STAG_NSMR, mhp->attr.len ?
mhp               416 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->attr.perms : 0,
mhp               417 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->attr.mw_bind_enable, mhp->attr.zbva,
mhp               418 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->attr.va_fbo, mhp->attr.len ?
mhp               419 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->attr.len : -1, shift - 12,
mhp               420 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->attr.pbl_size, mhp->attr.pbl_addr, NULL,
mhp               421 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->wr_waitp);
mhp               425 drivers/infiniband/hw/cxgb4/mem.c 	ret = finish_mem_reg(mhp, stag);
mhp               427 drivers/infiniband/hw/cxgb4/mem.c 		dereg_mem(&rhp->rdev, mhp->attr.stag, mhp->attr.pbl_size,
mhp               428 drivers/infiniband/hw/cxgb4/mem.c 			  mhp->attr.pbl_addr, mhp->dereg_skb, mhp->wr_waitp);
mhp               429 drivers/infiniband/hw/cxgb4/mem.c 		mhp->dereg_skb = NULL;
mhp               434 drivers/infiniband/hw/cxgb4/mem.c static int alloc_pbl(struct c4iw_mr *mhp, int npages)
mhp               436 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.pbl_addr = c4iw_pblpool_alloc(&mhp->rhp->rdev,
mhp               439 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->attr.pbl_addr)
mhp               442 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.pbl_size = npages;
mhp               451 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mr *mhp;
mhp               459 drivers/infiniband/hw/cxgb4/mem.c 	mhp = kzalloc(sizeof(*mhp), GFP_KERNEL);
mhp               460 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp)
mhp               462 drivers/infiniband/hw/cxgb4/mem.c 	mhp->wr_waitp = c4iw_alloc_wr_wait(GFP_KERNEL);
mhp               463 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->wr_waitp) {
mhp               467 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_init_wr_wait(mhp->wr_waitp);
mhp               469 drivers/infiniband/hw/cxgb4/mem.c 	mhp->dereg_skb = alloc_skb(SGE_MAX_WR_LEN, GFP_KERNEL);
mhp               470 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->dereg_skb) {
mhp               475 drivers/infiniband/hw/cxgb4/mem.c 	mhp->rhp = rhp;
mhp               476 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.pdid = php->pdid;
mhp               477 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.perms = c4iw_ib_to_tpt_access(acc);
mhp               478 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.mw_bind_enable = (acc&IB_ACCESS_MW_BIND) == IB_ACCESS_MW_BIND;
mhp               479 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.zbva = 0;
mhp               480 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.va_fbo = 0;
mhp               481 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.page_size = 0;
mhp               482 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.len = ~0ULL;
mhp               483 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.pbl_size = 0;
mhp               486 drivers/infiniband/hw/cxgb4/mem.c 			      FW_RI_STAG_NSMR, mhp->attr.perms,
mhp               487 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->attr.mw_bind_enable, 0, 0, ~0ULL, 0, 0, 0,
mhp               488 drivers/infiniband/hw/cxgb4/mem.c 			      NULL, mhp->wr_waitp);
mhp               492 drivers/infiniband/hw/cxgb4/mem.c 	ret = finish_mem_reg(mhp, stag);
mhp               495 drivers/infiniband/hw/cxgb4/mem.c 	return &mhp->ibmr;
mhp               497 drivers/infiniband/hw/cxgb4/mem.c 	dereg_mem(&rhp->rdev, mhp->attr.stag, mhp->attr.pbl_size,
mhp               498 drivers/infiniband/hw/cxgb4/mem.c 		  mhp->attr.pbl_addr, mhp->dereg_skb, mhp->wr_waitp);
mhp               500 drivers/infiniband/hw/cxgb4/mem.c 	kfree_skb(mhp->dereg_skb);
mhp               502 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_put_wr_wait(mhp->wr_waitp);
mhp               504 drivers/infiniband/hw/cxgb4/mem.c 	kfree(mhp);
mhp               517 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mr *mhp;
mhp               533 drivers/infiniband/hw/cxgb4/mem.c 	mhp = kzalloc(sizeof(*mhp), GFP_KERNEL);
mhp               534 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp)
mhp               536 drivers/infiniband/hw/cxgb4/mem.c 	mhp->wr_waitp = c4iw_alloc_wr_wait(GFP_KERNEL);
mhp               537 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->wr_waitp)
mhp               540 drivers/infiniband/hw/cxgb4/mem.c 	mhp->dereg_skb = alloc_skb(SGE_MAX_WR_LEN, GFP_KERNEL);
mhp               541 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->dereg_skb)
mhp               544 drivers/infiniband/hw/cxgb4/mem.c 	mhp->rhp = rhp;
mhp               546 drivers/infiniband/hw/cxgb4/mem.c 	mhp->umem = ib_umem_get(udata, start, length, acc, 0);
mhp               547 drivers/infiniband/hw/cxgb4/mem.c 	if (IS_ERR(mhp->umem))
mhp               552 drivers/infiniband/hw/cxgb4/mem.c 	n = ib_umem_num_pages(mhp->umem);
mhp               553 drivers/infiniband/hw/cxgb4/mem.c 	err = alloc_pbl(mhp, n);
mhp               565 drivers/infiniband/hw/cxgb4/mem.c 	for_each_sg_dma_page(mhp->umem->sg_head.sgl, &sg_iter, mhp->umem->nmap, 0) {
mhp               568 drivers/infiniband/hw/cxgb4/mem.c 			err = write_pbl(&mhp->rhp->rdev, pages,
mhp               569 drivers/infiniband/hw/cxgb4/mem.c 					mhp->attr.pbl_addr + (n << 3), i,
mhp               570 drivers/infiniband/hw/cxgb4/mem.c 					mhp->wr_waitp);
mhp               579 drivers/infiniband/hw/cxgb4/mem.c 		err = write_pbl(&mhp->rhp->rdev, pages,
mhp               580 drivers/infiniband/hw/cxgb4/mem.c 				mhp->attr.pbl_addr + (n << 3), i,
mhp               581 drivers/infiniband/hw/cxgb4/mem.c 				mhp->wr_waitp);
mhp               588 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.pdid = php->pdid;
mhp               589 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.zbva = 0;
mhp               590 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.perms = c4iw_ib_to_tpt_access(acc);
mhp               591 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.va_fbo = virt;
mhp               592 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.page_size = shift - 12;
mhp               593 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.len = length;
mhp               595 drivers/infiniband/hw/cxgb4/mem.c 	err = register_mem(rhp, php, mhp, shift);
mhp               599 drivers/infiniband/hw/cxgb4/mem.c 	return &mhp->ibmr;
mhp               602 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_pblpool_free(&mhp->rhp->rdev, mhp->attr.pbl_addr,
mhp               603 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->attr.pbl_size << 3);
mhp               605 drivers/infiniband/hw/cxgb4/mem.c 	ib_umem_release(mhp->umem);
mhp               607 drivers/infiniband/hw/cxgb4/mem.c 	kfree_skb(mhp->dereg_skb);
mhp               609 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_put_wr_wait(mhp->wr_waitp);
mhp               611 drivers/infiniband/hw/cxgb4/mem.c 	kfree(mhp);
mhp               620 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mw *mhp;
mhp               630 drivers/infiniband/hw/cxgb4/mem.c 	mhp = kzalloc(sizeof(*mhp), GFP_KERNEL);
mhp               631 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp)
mhp               634 drivers/infiniband/hw/cxgb4/mem.c 	mhp->wr_waitp = c4iw_alloc_wr_wait(GFP_KERNEL);
mhp               635 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->wr_waitp) {
mhp               640 drivers/infiniband/hw/cxgb4/mem.c 	mhp->dereg_skb = alloc_skb(SGE_MAX_WR_LEN, GFP_KERNEL);
mhp               641 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->dereg_skb) {
mhp               646 drivers/infiniband/hw/cxgb4/mem.c 	ret = allocate_window(&rhp->rdev, &stag, php->pdid, mhp->wr_waitp);
mhp               649 drivers/infiniband/hw/cxgb4/mem.c 	mhp->rhp = rhp;
mhp               650 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.pdid = php->pdid;
mhp               651 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.type = FW_RI_STAG_MW;
mhp               652 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.stag = stag;
mhp               654 drivers/infiniband/hw/cxgb4/mem.c 	mhp->ibmw.rkey = stag;
mhp               655 drivers/infiniband/hw/cxgb4/mem.c 	if (xa_insert_irq(&rhp->mrs, mmid, mhp, GFP_KERNEL)) {
mhp               659 drivers/infiniband/hw/cxgb4/mem.c 	pr_debug("mmid 0x%x mhp %p stag 0x%x\n", mmid, mhp, stag);
mhp               660 drivers/infiniband/hw/cxgb4/mem.c 	return &(mhp->ibmw);
mhp               663 drivers/infiniband/hw/cxgb4/mem.c 	deallocate_window(&rhp->rdev, mhp->attr.stag, mhp->dereg_skb,
mhp               664 drivers/infiniband/hw/cxgb4/mem.c 			  mhp->wr_waitp);
mhp               666 drivers/infiniband/hw/cxgb4/mem.c 	kfree_skb(mhp->dereg_skb);
mhp               668 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_put_wr_wait(mhp->wr_waitp);
mhp               670 drivers/infiniband/hw/cxgb4/mem.c 	kfree(mhp);
mhp               677 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mw *mhp;
mhp               680 drivers/infiniband/hw/cxgb4/mem.c 	mhp = to_c4iw_mw(mw);
mhp               681 drivers/infiniband/hw/cxgb4/mem.c 	rhp = mhp->rhp;
mhp               684 drivers/infiniband/hw/cxgb4/mem.c 	deallocate_window(&rhp->rdev, mhp->attr.stag, mhp->dereg_skb,
mhp               685 drivers/infiniband/hw/cxgb4/mem.c 			  mhp->wr_waitp);
mhp               686 drivers/infiniband/hw/cxgb4/mem.c 	kfree_skb(mhp->dereg_skb);
mhp               687 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_put_wr_wait(mhp->wr_waitp);
mhp               688 drivers/infiniband/hw/cxgb4/mem.c 	pr_debug("ib_mw %p mmid 0x%x ptr %p\n", mw, mmid, mhp);
mhp               689 drivers/infiniband/hw/cxgb4/mem.c 	kfree(mhp);
mhp               698 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mr *mhp;
mhp               712 drivers/infiniband/hw/cxgb4/mem.c 	mhp = kzalloc(sizeof(*mhp), GFP_KERNEL);
mhp               713 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp) {
mhp               718 drivers/infiniband/hw/cxgb4/mem.c 	mhp->wr_waitp = c4iw_alloc_wr_wait(GFP_KERNEL);
mhp               719 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->wr_waitp) {
mhp               723 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_init_wr_wait(mhp->wr_waitp);
mhp               725 drivers/infiniband/hw/cxgb4/mem.c 	mhp->mpl = dma_alloc_coherent(&rhp->rdev.lldi.pdev->dev,
mhp               726 drivers/infiniband/hw/cxgb4/mem.c 				      length, &mhp->mpl_addr, GFP_KERNEL);
mhp               727 drivers/infiniband/hw/cxgb4/mem.c 	if (!mhp->mpl) {
mhp               731 drivers/infiniband/hw/cxgb4/mem.c 	mhp->max_mpl_len = length;
mhp               733 drivers/infiniband/hw/cxgb4/mem.c 	mhp->rhp = rhp;
mhp               734 drivers/infiniband/hw/cxgb4/mem.c 	ret = alloc_pbl(mhp, max_num_sg);
mhp               737 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.pbl_size = max_num_sg;
mhp               739 drivers/infiniband/hw/cxgb4/mem.c 			    mhp->attr.pbl_size, mhp->attr.pbl_addr,
mhp               740 drivers/infiniband/hw/cxgb4/mem.c 			    mhp->wr_waitp);
mhp               743 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.pdid = php->pdid;
mhp               744 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.type = FW_RI_STAG_NSMR;
mhp               745 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.stag = stag;
mhp               746 drivers/infiniband/hw/cxgb4/mem.c 	mhp->attr.state = 0;
mhp               748 drivers/infiniband/hw/cxgb4/mem.c 	mhp->ibmr.rkey = mhp->ibmr.lkey = stag;
mhp               749 drivers/infiniband/hw/cxgb4/mem.c 	if (xa_insert_irq(&rhp->mrs, mmid, mhp, GFP_KERNEL)) {
mhp               754 drivers/infiniband/hw/cxgb4/mem.c 	pr_debug("mmid 0x%x mhp %p stag 0x%x\n", mmid, mhp, stag);
mhp               755 drivers/infiniband/hw/cxgb4/mem.c 	return &(mhp->ibmr);
mhp               757 drivers/infiniband/hw/cxgb4/mem.c 	dereg_mem(&rhp->rdev, stag, mhp->attr.pbl_size,
mhp               758 drivers/infiniband/hw/cxgb4/mem.c 		  mhp->attr.pbl_addr, mhp->dereg_skb, mhp->wr_waitp);
mhp               760 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_pblpool_free(&mhp->rhp->rdev, mhp->attr.pbl_addr,
mhp               761 drivers/infiniband/hw/cxgb4/mem.c 			      mhp->attr.pbl_size << 3);
mhp               763 drivers/infiniband/hw/cxgb4/mem.c 	dma_free_coherent(&mhp->rhp->rdev.lldi.pdev->dev,
mhp               764 drivers/infiniband/hw/cxgb4/mem.c 			  mhp->max_mpl_len, mhp->mpl, mhp->mpl_addr);
mhp               766 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_put_wr_wait(mhp->wr_waitp);
mhp               768 drivers/infiniband/hw/cxgb4/mem.c 	kfree(mhp);
mhp               775 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mr *mhp = to_c4iw_mr(ibmr);
mhp               777 drivers/infiniband/hw/cxgb4/mem.c 	if (unlikely(mhp->mpl_len == mhp->attr.pbl_size))
mhp               780 drivers/infiniband/hw/cxgb4/mem.c 	mhp->mpl[mhp->mpl_len++] = addr;
mhp               788 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mr *mhp = to_c4iw_mr(ibmr);
mhp               790 drivers/infiniband/hw/cxgb4/mem.c 	mhp->mpl_len = 0;
mhp               798 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mr *mhp;
mhp               803 drivers/infiniband/hw/cxgb4/mem.c 	mhp = to_c4iw_mr(ib_mr);
mhp               804 drivers/infiniband/hw/cxgb4/mem.c 	rhp = mhp->rhp;
mhp               805 drivers/infiniband/hw/cxgb4/mem.c 	mmid = mhp->attr.stag >> 8;
mhp               807 drivers/infiniband/hw/cxgb4/mem.c 	if (mhp->mpl)
mhp               808 drivers/infiniband/hw/cxgb4/mem.c 		dma_free_coherent(&mhp->rhp->rdev.lldi.pdev->dev,
mhp               809 drivers/infiniband/hw/cxgb4/mem.c 				  mhp->max_mpl_len, mhp->mpl, mhp->mpl_addr);
mhp               810 drivers/infiniband/hw/cxgb4/mem.c 	dereg_mem(&rhp->rdev, mhp->attr.stag, mhp->attr.pbl_size,
mhp               811 drivers/infiniband/hw/cxgb4/mem.c 		  mhp->attr.pbl_addr, mhp->dereg_skb, mhp->wr_waitp);
mhp               812 drivers/infiniband/hw/cxgb4/mem.c 	if (mhp->attr.pbl_size)
mhp               813 drivers/infiniband/hw/cxgb4/mem.c 		c4iw_pblpool_free(&mhp->rhp->rdev, mhp->attr.pbl_addr,
mhp               814 drivers/infiniband/hw/cxgb4/mem.c 				  mhp->attr.pbl_size << 3);
mhp               815 drivers/infiniband/hw/cxgb4/mem.c 	if (mhp->kva)
mhp               816 drivers/infiniband/hw/cxgb4/mem.c 		kfree((void *) (unsigned long) mhp->kva);
mhp               817 drivers/infiniband/hw/cxgb4/mem.c 	ib_umem_release(mhp->umem);
mhp               818 drivers/infiniband/hw/cxgb4/mem.c 	pr_debug("mmid 0x%x ptr %p\n", mmid, mhp);
mhp               819 drivers/infiniband/hw/cxgb4/mem.c 	c4iw_put_wr_wait(mhp->wr_waitp);
mhp               820 drivers/infiniband/hw/cxgb4/mem.c 	kfree(mhp);
mhp               826 drivers/infiniband/hw/cxgb4/mem.c 	struct c4iw_mr *mhp;
mhp               830 drivers/infiniband/hw/cxgb4/mem.c 	mhp = xa_load(&rhp->mrs, rkey >> 8);
mhp               831 drivers/infiniband/hw/cxgb4/mem.c 	if (mhp)
mhp               832 drivers/infiniband/hw/cxgb4/mem.c 		mhp->attr.state = 0;
mhp               788 drivers/infiniband/hw/cxgb4/qp.c 			      const struct ib_reg_wr *wr, struct c4iw_mr *mhp,
mhp               794 drivers/infiniband/hw/cxgb4/qp.c 	fr->stag = cpu_to_be32(mhp->ibmr.rkey);
mhp               797 drivers/infiniband/hw/cxgb4/qp.c 		FW_RI_TPTE_STAGKEY_V((mhp->ibmr.rkey & FW_RI_TPTE_STAGKEY_M)) |
mhp               800 drivers/infiniband/hw/cxgb4/qp.c 		FW_RI_TPTE_PDID_V(mhp->attr.pdid));
mhp               806 drivers/infiniband/hw/cxgb4/qp.c 		PBL_OFF(&mhp->rhp->rdev, mhp->attr.pbl_addr)>>3));
mhp               809 drivers/infiniband/hw/cxgb4/qp.c 	fr->tpte.len_lo = cpu_to_be32(mhp->ibmr.length);
mhp               810 drivers/infiniband/hw/cxgb4/qp.c 	fr->tpte.va_hi = cpu_to_be32(mhp->ibmr.iova >> 32);
mhp               811 drivers/infiniband/hw/cxgb4/qp.c 	fr->tpte.va_lo_fbo = cpu_to_be32(mhp->ibmr.iova & 0xffffffff);
mhp               813 drivers/infiniband/hw/cxgb4/qp.c 	p[0] = cpu_to_be64((u64)mhp->mpl[0]);
mhp               814 drivers/infiniband/hw/cxgb4/qp.c 	p[1] = cpu_to_be64((u64)mhp->mpl[1]);
mhp               820 drivers/infiniband/hw/cxgb4/qp.c 			const struct ib_reg_wr *wr, struct c4iw_mr *mhp,
mhp               826 drivers/infiniband/hw/cxgb4/qp.c 	int pbllen = roundup(mhp->mpl_len * sizeof(u64), 32);
mhp               829 drivers/infiniband/hw/cxgb4/qp.c 	if (mhp->mpl_len > t4_max_fr_depth(dsgl_supported && use_dsgl))
mhp               837 drivers/infiniband/hw/cxgb4/qp.c 	wqe->fr.len_lo = cpu_to_be32(mhp->ibmr.length);
mhp               839 drivers/infiniband/hw/cxgb4/qp.c 	wqe->fr.va_hi = cpu_to_be32(mhp->ibmr.iova >> 32);
mhp               840 drivers/infiniband/hw/cxgb4/qp.c 	wqe->fr.va_lo_fbo = cpu_to_be32(mhp->ibmr.iova &
mhp               846 drivers/infiniband/hw/cxgb4/qp.c 		for (i = 0; i < mhp->mpl_len; i++)
mhp               847 drivers/infiniband/hw/cxgb4/qp.c 			mhp->mpl[i] = (__force u64)cpu_to_be64((u64)mhp->mpl[i]);
mhp               853 drivers/infiniband/hw/cxgb4/qp.c 		sglp->addr0 = cpu_to_be64(mhp->mpl_addr);
mhp               865 drivers/infiniband/hw/cxgb4/qp.c 		for (i = 0; i < mhp->mpl_len; i++) {
mhp               866 drivers/infiniband/hw/cxgb4/qp.c 			*p = cpu_to_be64((u64)mhp->mpl[i]);
mhp              1192 drivers/infiniband/hw/cxgb4/qp.c 			struct c4iw_mr *mhp = to_c4iw_mr(reg_wr(wr)->mr);
mhp              1196 drivers/infiniband/hw/cxgb4/qp.c 			    !mhp->attr.state && mhp->mpl_len <= 2) {
mhp              1199 drivers/infiniband/hw/cxgb4/qp.c 						  mhp, &len16);
mhp              1203 drivers/infiniband/hw/cxgb4/qp.c 				       mhp, &len16,
mhp              1208 drivers/infiniband/hw/cxgb4/qp.c 			mhp->attr.state = 1;
mhp               440 drivers/infiniband/hw/cxgb4/restrack.c 	struct c4iw_mr *mhp = to_c4iw_mr(ibmr);
mhp               441 drivers/infiniband/hw/cxgb4/restrack.c 	struct c4iw_dev *dev = mhp->rhp;
mhp               442 drivers/infiniband/hw/cxgb4/restrack.c 	u32 stag = mhp->attr.stag;
mhp              4652 drivers/iommu/intel-iommu.c 	struct memory_notify *mhp = v;
mhp              4658 drivers/iommu/intel-iommu.c 		start = mhp->start_pfn << PAGE_SHIFT;
mhp              4659 drivers/iommu/intel-iommu.c 		end = ((mhp->start_pfn + mhp->nr_pages) << PAGE_SHIFT) - 1;
mhp              4669 drivers/iommu/intel-iommu.c 		start_vpfn = mm_to_dma_pfn(mhp->start_pfn);
mhp              4670 drivers/iommu/intel-iommu.c 		last_vpfn = mm_to_dma_pfn(mhp->start_pfn + mhp->nr_pages - 1);
mhp              3026 mm/hugetlb.c   	unsigned long *mhp;
mhp              3040 mm/hugetlb.c   		mhp = &default_hstate_max_huge_pages;
mhp              3042 mm/hugetlb.c   		mhp = &parsed_hstate->max_huge_pages;
mhp              3044 mm/hugetlb.c   	if (mhp == last_mhp) {
mhp              3049 mm/hugetlb.c   	if (sscanf(s, "%lu", mhp) <= 0)
mhp              3050 mm/hugetlb.c   		*mhp = 0;
mhp              3060 mm/hugetlb.c   	last_mhp = mhp;