• Home
  • Raw
  • Download

Lines Matching refs:mhp

448 	struct iwch_mr *mhp;  in iwch_dereg_mr()  local
456 mhp = to_iwch_mr(ib_mr); in iwch_dereg_mr()
457 rhp = mhp->rhp; in iwch_dereg_mr()
458 mmid = mhp->attr.stag >> 8; in iwch_dereg_mr()
459 cxio_dereg_mem(&rhp->rdev, mhp->attr.stag, mhp->attr.pbl_size, in iwch_dereg_mr()
460 mhp->attr.pbl_addr); in iwch_dereg_mr()
461 iwch_free_pbl(mhp); in iwch_dereg_mr()
463 if (mhp->kva) in iwch_dereg_mr()
464 kfree((void *) (unsigned long) mhp->kva); in iwch_dereg_mr()
465 if (mhp->umem) in iwch_dereg_mr()
466 ib_umem_release(mhp->umem); in iwch_dereg_mr()
467 PDBG("%s mmid 0x%x ptr %p\n", __func__, mmid, mhp); in iwch_dereg_mr()
468 kfree(mhp); in iwch_dereg_mr()
484 struct iwch_mr *mhp; in iwch_register_phys_mem() local
491 mhp = kzalloc(sizeof(*mhp), GFP_KERNEL); in iwch_register_phys_mem()
492 if (!mhp) in iwch_register_phys_mem()
495 mhp->rhp = rhp; in iwch_register_phys_mem()
514 ret = iwch_alloc_pbl(mhp, npages); in iwch_register_phys_mem()
520 ret = iwch_write_pbl(mhp, page_list, npages, 0); in iwch_register_phys_mem()
525 mhp->attr.pdid = php->pdid; in iwch_register_phys_mem()
526 mhp->attr.zbva = 0; in iwch_register_phys_mem()
528 mhp->attr.perms = iwch_ib_to_tpt_access(acc); in iwch_register_phys_mem()
529 mhp->attr.va_fbo = *iova_start; in iwch_register_phys_mem()
530 mhp->attr.page_size = shift - 12; in iwch_register_phys_mem()
532 mhp->attr.len = (u32) total_size; in iwch_register_phys_mem()
533 mhp->attr.pbl_size = npages; in iwch_register_phys_mem()
534 ret = iwch_register_mem(rhp, php, mhp, shift); in iwch_register_phys_mem()
538 return &mhp->ibmr; in iwch_register_phys_mem()
541 iwch_free_pbl(mhp); in iwch_register_phys_mem()
544 kfree(mhp); in iwch_register_phys_mem()
557 struct iwch_mr mh, *mhp; in iwch_reregister_phys_mem() local
572 mhp = to_iwch_mr(mr); in iwch_reregister_phys_mem()
573 rhp = mhp->rhp; in iwch_reregister_phys_mem()
580 memcpy(&mh, mhp, sizeof *mhp); in iwch_reregister_phys_mem()
601 mhp->attr.pdid = php->pdid; in iwch_reregister_phys_mem()
603 mhp->attr.perms = iwch_ib_to_tpt_access(acc); in iwch_reregister_phys_mem()
605 mhp->attr.zbva = 0; in iwch_reregister_phys_mem()
606 mhp->attr.va_fbo = *iova_start; in iwch_reregister_phys_mem()
607 mhp->attr.page_size = shift - 12; in iwch_reregister_phys_mem()
608 mhp->attr.len = (u32) total_size; in iwch_reregister_phys_mem()
609 mhp->attr.pbl_size = npages; in iwch_reregister_phys_mem()
625 struct iwch_mr *mhp; in iwch_reg_user_mr() local
632 mhp = kzalloc(sizeof(*mhp), GFP_KERNEL); in iwch_reg_user_mr()
633 if (!mhp) in iwch_reg_user_mr()
636 mhp->rhp = rhp; in iwch_reg_user_mr()
638 mhp->umem = ib_umem_get(pd->uobject->context, start, length, acc, 0); in iwch_reg_user_mr()
639 if (IS_ERR(mhp->umem)) { in iwch_reg_user_mr()
640 err = PTR_ERR(mhp->umem); in iwch_reg_user_mr()
641 kfree(mhp); in iwch_reg_user_mr()
645 shift = ffs(mhp->umem->page_size) - 1; in iwch_reg_user_mr()
647 n = mhp->umem->nmap; in iwch_reg_user_mr()
649 err = iwch_alloc_pbl(mhp, n); in iwch_reg_user_mr()
661 for_each_sg(mhp->umem->sg_head.sgl, sg, mhp->umem->nmap, entry) { in iwch_reg_user_mr()
665 mhp->umem->page_size * k); in iwch_reg_user_mr()
667 err = iwch_write_pbl(mhp, pages, i, n); in iwch_reg_user_mr()
677 err = iwch_write_pbl(mhp, pages, i, n); in iwch_reg_user_mr()
684 mhp->attr.pdid = php->pdid; in iwch_reg_user_mr()
685 mhp->attr.zbva = 0; in iwch_reg_user_mr()
686 mhp->attr.perms = iwch_ib_to_tpt_access(acc); in iwch_reg_user_mr()
687 mhp->attr.va_fbo = virt; in iwch_reg_user_mr()
688 mhp->attr.page_size = shift - 12; in iwch_reg_user_mr()
689 mhp->attr.len = (u32) length; in iwch_reg_user_mr()
691 err = iwch_register_mem(rhp, php, mhp, shift); in iwch_reg_user_mr()
696 uresp.pbl_addr = (mhp->attr.pbl_addr - in iwch_reg_user_mr()
702 iwch_dereg_mr(&mhp->ibmr); in iwch_reg_user_mr()
708 return &mhp->ibmr; in iwch_reg_user_mr()
711 iwch_free_pbl(mhp); in iwch_reg_user_mr()
714 ib_umem_release(mhp->umem); in iwch_reg_user_mr()
715 kfree(mhp); in iwch_reg_user_mr()
741 struct iwch_mw *mhp; in iwch_alloc_mw() local
751 mhp = kzalloc(sizeof(*mhp), GFP_KERNEL); in iwch_alloc_mw()
752 if (!mhp) in iwch_alloc_mw()
756 kfree(mhp); in iwch_alloc_mw()
759 mhp->rhp = rhp; in iwch_alloc_mw()
760 mhp->attr.pdid = php->pdid; in iwch_alloc_mw()
761 mhp->attr.type = TPT_MW; in iwch_alloc_mw()
762 mhp->attr.stag = stag; in iwch_alloc_mw()
764 mhp->ibmw.rkey = stag; in iwch_alloc_mw()
765 if (insert_handle(rhp, &rhp->mmidr, mhp, mmid)) { in iwch_alloc_mw()
766 cxio_deallocate_window(&rhp->rdev, mhp->attr.stag); in iwch_alloc_mw()
767 kfree(mhp); in iwch_alloc_mw()
770 PDBG("%s mmid 0x%x mhp %p stag 0x%x\n", __func__, mmid, mhp, stag); in iwch_alloc_mw()
771 return &(mhp->ibmw); in iwch_alloc_mw()
777 struct iwch_mw *mhp; in iwch_dealloc_mw() local
780 mhp = to_iwch_mw(mw); in iwch_dealloc_mw()
781 rhp = mhp->rhp; in iwch_dealloc_mw()
783 cxio_deallocate_window(&rhp->rdev, mhp->attr.stag); in iwch_dealloc_mw()
785 PDBG("%s ib_mw %p mmid 0x%x ptr %p\n", __func__, mw, mmid, mhp); in iwch_dealloc_mw()
786 kfree(mhp); in iwch_dealloc_mw()
794 struct iwch_mr *mhp; in iwch_alloc_fast_reg_mr() local
801 mhp = kzalloc(sizeof(*mhp), GFP_KERNEL); in iwch_alloc_fast_reg_mr()
802 if (!mhp) in iwch_alloc_fast_reg_mr()
805 mhp->rhp = rhp; in iwch_alloc_fast_reg_mr()
806 ret = iwch_alloc_pbl(mhp, pbl_depth); in iwch_alloc_fast_reg_mr()
809 mhp->attr.pbl_size = pbl_depth; in iwch_alloc_fast_reg_mr()
811 mhp->attr.pbl_size, mhp->attr.pbl_addr); in iwch_alloc_fast_reg_mr()
814 mhp->attr.pdid = php->pdid; in iwch_alloc_fast_reg_mr()
815 mhp->attr.type = TPT_NON_SHARED_MR; in iwch_alloc_fast_reg_mr()
816 mhp->attr.stag = stag; in iwch_alloc_fast_reg_mr()
817 mhp->attr.state = 1; in iwch_alloc_fast_reg_mr()
819 mhp->ibmr.rkey = mhp->ibmr.lkey = stag; in iwch_alloc_fast_reg_mr()
820 if (insert_handle(rhp, &rhp->mmidr, mhp, mmid)) in iwch_alloc_fast_reg_mr()
823 PDBG("%s mmid 0x%x mhp %p stag 0x%x\n", __func__, mmid, mhp, stag); in iwch_alloc_fast_reg_mr()
824 return &(mhp->ibmr); in iwch_alloc_fast_reg_mr()
826 cxio_dereg_mem(&rhp->rdev, stag, mhp->attr.pbl_size, in iwch_alloc_fast_reg_mr()
827 mhp->attr.pbl_addr); in iwch_alloc_fast_reg_mr()
829 iwch_free_pbl(mhp); in iwch_alloc_fast_reg_mr()
831 kfree(mhp); in iwch_alloc_fast_reg_mr()