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