Lines Matching refs:hwmr

783 	mr->hwmr.fr_mr = 0;  in ocrdma_alloc_lkey()
784 mr->hwmr.local_rd = 1; in ocrdma_alloc_lkey()
785 mr->hwmr.remote_rd = (acc & IB_ACCESS_REMOTE_READ) ? 1 : 0; in ocrdma_alloc_lkey()
786 mr->hwmr.remote_wr = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0; in ocrdma_alloc_lkey()
787 mr->hwmr.local_wr = (acc & IB_ACCESS_LOCAL_WRITE) ? 1 : 0; in ocrdma_alloc_lkey()
788 mr->hwmr.mw_bind = (acc & IB_ACCESS_MW_BIND) ? 1 : 0; in ocrdma_alloc_lkey()
789 mr->hwmr.remote_atomic = (acc & IB_ACCESS_REMOTE_ATOMIC) ? 1 : 0; in ocrdma_alloc_lkey()
790 mr->hwmr.num_pbls = num_pbls; in ocrdma_alloc_lkey()
792 status = ocrdma_mbx_alloc_lkey(dev, &mr->hwmr, pdid, addr_check); in ocrdma_alloc_lkey()
796 mr->ibmr.lkey = mr->hwmr.lkey; in ocrdma_alloc_lkey()
797 if (mr->hwmr.remote_wr || mr->hwmr.remote_rd) in ocrdma_alloc_lkey()
798 mr->ibmr.rkey = mr->hwmr.lkey; in ocrdma_alloc_lkey()
866 mr->hwmr.num_pbes = num_pbes; in ocrdma_get_pbl_info()
867 mr->hwmr.num_pbls = num_pbls; in ocrdma_get_pbl_info()
868 mr->hwmr.pbl_size = pbl_size; in ocrdma_get_pbl_info()
906 struct ocrdma_pbl *pbl_tbl = mr->hwmr.pbl_table; in build_user_pbes()
910 if (!mr->hwmr.num_pbes) in build_user_pbes()
943 (mr->hwmr.pbl_size / sizeof(u64))) { in build_user_pbes()
980 mr->hwmr.pbe_size = mr->umem->page_size; in ocrdma_reg_user_mr()
981 mr->hwmr.fbo = ib_umem_offset(mr->umem); in ocrdma_reg_user_mr()
982 mr->hwmr.va = usr_addr; in ocrdma_reg_user_mr()
983 mr->hwmr.len = len; in ocrdma_reg_user_mr()
984 mr->hwmr.remote_wr = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0; in ocrdma_reg_user_mr()
985 mr->hwmr.remote_rd = (acc & IB_ACCESS_REMOTE_READ) ? 1 : 0; in ocrdma_reg_user_mr()
986 mr->hwmr.local_wr = (acc & IB_ACCESS_LOCAL_WRITE) ? 1 : 0; in ocrdma_reg_user_mr()
987 mr->hwmr.local_rd = 1; in ocrdma_reg_user_mr()
988 mr->hwmr.remote_atomic = (acc & IB_ACCESS_REMOTE_ATOMIC) ? 1 : 0; in ocrdma_reg_user_mr()
989 status = ocrdma_build_pbl_tbl(dev, &mr->hwmr); in ocrdma_reg_user_mr()
993 status = ocrdma_reg_mr(dev, &mr->hwmr, pd->id, acc); in ocrdma_reg_user_mr()
996 mr->ibmr.lkey = mr->hwmr.lkey; in ocrdma_reg_user_mr()
997 if (mr->hwmr.remote_wr || mr->hwmr.remote_rd) in ocrdma_reg_user_mr()
998 mr->ibmr.rkey = mr->hwmr.lkey; in ocrdma_reg_user_mr()
1003 ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); in ocrdma_reg_user_mr()
1014 (void) ocrdma_mbx_dealloc_lkey(dev, mr->hwmr.fr_mr, mr->hwmr.lkey); in ocrdma_dereg_mr()
1017 ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); in ocrdma_dereg_mr()
2153 struct ocrdma_pbl *pbl_tbl = mr->hwmr.pbl_table; in ocrdma_build_reg()
2193 if (num_pbes == (mr->hwmr.pbl_size/sizeof(u64))) { in ocrdma_build_reg()
3043 mr->hwmr.fr_mr = 1; in ocrdma_alloc_mr()
3044 mr->hwmr.remote_rd = 0; in ocrdma_alloc_mr()
3045 mr->hwmr.remote_wr = 0; in ocrdma_alloc_mr()
3046 mr->hwmr.local_rd = 0; in ocrdma_alloc_mr()
3047 mr->hwmr.local_wr = 0; in ocrdma_alloc_mr()
3048 mr->hwmr.mw_bind = 0; in ocrdma_alloc_mr()
3049 status = ocrdma_build_pbl_tbl(dev, &mr->hwmr); in ocrdma_alloc_mr()
3052 status = ocrdma_reg_mr(dev, &mr->hwmr, pd->id, 0); in ocrdma_alloc_mr()
3055 mr->ibmr.rkey = mr->hwmr.lkey; in ocrdma_alloc_mr()
3056 mr->ibmr.lkey = mr->hwmr.lkey; in ocrdma_alloc_mr()
3057 dev->stag_arr[(mr->hwmr.lkey >> 8) & (OCRDMA_MAX_STAG - 1)] = in ocrdma_alloc_mr()
3061 ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); in ocrdma_alloc_mr()
3108 struct ocrdma_hw_mr *hwmr) in build_kernel_pbes() argument
3118 if (!hwmr->num_pbes) in build_kernel_pbes()
3130 hwmr->len += buf_list[i].size; in build_kernel_pbes()
3158 if (total_num_pbes == hwmr->num_pbes) in build_kernel_pbes()
3163 if (num_pbes == (hwmr->pbl_size/sizeof(u64))) { in build_kernel_pbes()
3201 mr->hwmr.pbe_size = pbe_size; in ocrdma_reg_kernel_mr()
3202 mr->hwmr.fbo = *iova_start - (buf_list[0].addr & PAGE_MASK); in ocrdma_reg_kernel_mr()
3203 mr->hwmr.va = *iova_start; in ocrdma_reg_kernel_mr()
3204 mr->hwmr.local_rd = 1; in ocrdma_reg_kernel_mr()
3205 mr->hwmr.remote_wr = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0; in ocrdma_reg_kernel_mr()
3206 mr->hwmr.remote_rd = (acc & IB_ACCESS_REMOTE_READ) ? 1 : 0; in ocrdma_reg_kernel_mr()
3207 mr->hwmr.local_wr = (acc & IB_ACCESS_LOCAL_WRITE) ? 1 : 0; in ocrdma_reg_kernel_mr()
3208 mr->hwmr.remote_atomic = (acc & IB_ACCESS_REMOTE_ATOMIC) ? 1 : 0; in ocrdma_reg_kernel_mr()
3209 mr->hwmr.mw_bind = (acc & IB_ACCESS_MW_BIND) ? 1 : 0; in ocrdma_reg_kernel_mr()
3211 status = ocrdma_build_pbl_tbl(dev, &mr->hwmr); in ocrdma_reg_kernel_mr()
3214 build_kernel_pbes(buf_list, buf_cnt, pbe_size, mr->hwmr.pbl_table, in ocrdma_reg_kernel_mr()
3215 &mr->hwmr); in ocrdma_reg_kernel_mr()
3216 status = ocrdma_reg_mr(dev, &mr->hwmr, pd->id, acc); in ocrdma_reg_kernel_mr()
3220 mr->ibmr.lkey = mr->hwmr.lkey; in ocrdma_reg_kernel_mr()
3221 if (mr->hwmr.remote_wr || mr->hwmr.remote_rd) in ocrdma_reg_kernel_mr()
3222 mr->ibmr.rkey = mr->hwmr.lkey; in ocrdma_reg_kernel_mr()
3226 ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); in ocrdma_reg_kernel_mr()
3236 if (unlikely(mr->npages == mr->hwmr.num_pbes)) in ocrdma_set_page()