Lines Matching refs:hwmr

699 	mr->hwmr.fr_mr = 0;  in ocrdma_alloc_lkey()
700 mr->hwmr.local_rd = 1; in ocrdma_alloc_lkey()
701 mr->hwmr.remote_rd = (acc & IB_ACCESS_REMOTE_READ) ? 1 : 0; in ocrdma_alloc_lkey()
702 mr->hwmr.remote_wr = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0; in ocrdma_alloc_lkey()
703 mr->hwmr.local_wr = (acc & IB_ACCESS_LOCAL_WRITE) ? 1 : 0; in ocrdma_alloc_lkey()
704 mr->hwmr.mw_bind = (acc & IB_ACCESS_MW_BIND) ? 1 : 0; in ocrdma_alloc_lkey()
705 mr->hwmr.remote_atomic = (acc & IB_ACCESS_REMOTE_ATOMIC) ? 1 : 0; in ocrdma_alloc_lkey()
706 mr->hwmr.num_pbls = num_pbls; in ocrdma_alloc_lkey()
708 status = ocrdma_mbx_alloc_lkey(dev, &mr->hwmr, pdid, addr_check); in ocrdma_alloc_lkey()
712 mr->ibmr.lkey = mr->hwmr.lkey; in ocrdma_alloc_lkey()
713 if (mr->hwmr.remote_wr || mr->hwmr.remote_rd) in ocrdma_alloc_lkey()
714 mr->ibmr.rkey = mr->hwmr.lkey; in ocrdma_alloc_lkey()
782 mr->hwmr.num_pbes = num_pbes; in ocrdma_get_pbl_info()
783 mr->hwmr.num_pbls = num_pbls; in ocrdma_get_pbl_info()
784 mr->hwmr.pbl_size = pbl_size; in ocrdma_get_pbl_info()
820 struct ocrdma_pbl *pbl_tbl = mr->hwmr.pbl_table; in build_user_pbes()
824 if (!mr->hwmr.num_pbes) in build_user_pbes()
841 if (pbe_cnt == (mr->hwmr.pbl_size / sizeof(u64))) { in build_user_pbes()
875 mr->hwmr.pbe_size = PAGE_SIZE; in ocrdma_reg_user_mr()
876 mr->hwmr.va = usr_addr; in ocrdma_reg_user_mr()
877 mr->hwmr.len = len; in ocrdma_reg_user_mr()
878 mr->hwmr.remote_wr = (acc & IB_ACCESS_REMOTE_WRITE) ? 1 : 0; in ocrdma_reg_user_mr()
879 mr->hwmr.remote_rd = (acc & IB_ACCESS_REMOTE_READ) ? 1 : 0; in ocrdma_reg_user_mr()
880 mr->hwmr.local_wr = (acc & IB_ACCESS_LOCAL_WRITE) ? 1 : 0; in ocrdma_reg_user_mr()
881 mr->hwmr.local_rd = 1; in ocrdma_reg_user_mr()
882 mr->hwmr.remote_atomic = (acc & IB_ACCESS_REMOTE_ATOMIC) ? 1 : 0; in ocrdma_reg_user_mr()
883 status = ocrdma_build_pbl_tbl(dev, &mr->hwmr); in ocrdma_reg_user_mr()
887 status = ocrdma_reg_mr(dev, &mr->hwmr, pd->id, acc); in ocrdma_reg_user_mr()
890 mr->ibmr.lkey = mr->hwmr.lkey; in ocrdma_reg_user_mr()
891 if (mr->hwmr.remote_wr || mr->hwmr.remote_rd) in ocrdma_reg_user_mr()
892 mr->ibmr.rkey = mr->hwmr.lkey; in ocrdma_reg_user_mr()
897 ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); in ocrdma_reg_user_mr()
908 (void) ocrdma_mbx_dealloc_lkey(dev, mr->hwmr.fr_mr, mr->hwmr.lkey); in ocrdma_dereg_mr()
911 ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); in ocrdma_dereg_mr()
2029 struct ocrdma_pbl *pbl_tbl = mr->hwmr.pbl_table; in ocrdma_build_reg()
2069 if (num_pbes == (mr->hwmr.pbl_size/sizeof(u64))) { in ocrdma_build_reg()
2922 mr->hwmr.fr_mr = 1; in ocrdma_alloc_mr()
2923 mr->hwmr.remote_rd = 0; in ocrdma_alloc_mr()
2924 mr->hwmr.remote_wr = 0; in ocrdma_alloc_mr()
2925 mr->hwmr.local_rd = 0; in ocrdma_alloc_mr()
2926 mr->hwmr.local_wr = 0; in ocrdma_alloc_mr()
2927 mr->hwmr.mw_bind = 0; in ocrdma_alloc_mr()
2928 status = ocrdma_build_pbl_tbl(dev, &mr->hwmr); in ocrdma_alloc_mr()
2931 status = ocrdma_reg_mr(dev, &mr->hwmr, pd->id, 0); in ocrdma_alloc_mr()
2934 mr->ibmr.rkey = mr->hwmr.lkey; in ocrdma_alloc_mr()
2935 mr->ibmr.lkey = mr->hwmr.lkey; in ocrdma_alloc_mr()
2936 dev->stag_arr[(mr->hwmr.lkey >> 8) & (OCRDMA_MAX_STAG - 1)] = in ocrdma_alloc_mr()
2940 ocrdma_free_mr_pbl_tbl(dev, &mr->hwmr); in ocrdma_alloc_mr()
2952 if (unlikely(mr->npages == mr->hwmr.num_pbes)) in ocrdma_set_page()