Home
last modified time | relevance | path

Searched refs:ibmr (Results 1 – 25 of 44) sorted by relevance

12

/linux/net/rds/
H A Dib_frmr.c36 rds_transition_frwr_state(struct rds_ib_mr *ibmr, in rds_transition_frwr_state() argument
40 if (cmpxchg(&ibmr->u.frmr.fr_state, in rds_transition_frwr_state()
47 atomic_dec(&ibmr->ic->i_fastreg_inuse_count); in rds_transition_frwr_state()
57 struct rds_ib_mr *ibmr = NULL; in rds_ib_alloc_frmr() local
66 ibmr = rds_ib_try_reuse_ibmr(pool); in rds_ib_alloc_frmr()
67 if (ibmr) in rds_ib_alloc_frmr()
68 return ibmr; in rds_ib_alloc_frmr()
70 ibmr = kzalloc_node(sizeof(*ibmr), GFP_KERNEL, in rds_ib_alloc_frmr()
72 if (!ibmr) { in rds_ib_alloc_frmr()
77 frmr = &ibmr->u.frmr; in rds_ib_alloc_frmr()
[all …]
H A Dib_rdma.c196 struct rds_ib_mr *ibmr = NULL; in rds_ib_reuse_mr() local
204 ibmr = llist_entry(ret, struct rds_ib_mr, llnode); in rds_ib_reuse_mr()
211 return ibmr; in rds_ib_reuse_mr()
216 struct rds_ib_mr *ibmr = trans_private; in rds_ib_sync_mr() local
217 struct rds_ib_device *rds_ibdev = ibmr->device; in rds_ib_sync_mr()
219 if (ibmr->odp) in rds_ib_sync_mr()
224 ib_dma_sync_sg_for_cpu(rds_ibdev->dev, ibmr->sg, in rds_ib_sync_mr()
225 ibmr->sg_dma_len, DMA_BIDIRECTIONAL); in rds_ib_sync_mr()
228 ib_dma_sync_sg_for_device(rds_ibdev->dev, ibmr->sg, in rds_ib_sync_mr()
229 ibmr->sg_dma_len, DMA_BIDIRECTIONAL); in rds_ib_sync_mr()
[all …]
/linux/drivers/infiniband/hw/vmw_pvrdma/
H A Dpvrdma_mr.c94 mr->ibmr.lkey = resp->lkey; in pvrdma_get_dma_mr()
95 mr->ibmr.rkey = resp->rkey; in pvrdma_get_dma_mr()
97 return &mr->ibmr; in pvrdma_get_dma_mr()
187 mr->ibmr.lkey = resp->lkey; in pvrdma_reg_user_mr()
188 mr->ibmr.rkey = resp->rkey; in pvrdma_reg_user_mr()
190 return &mr->ibmr; in pvrdma_reg_user_mr()
259 mr->ibmr.lkey = resp->lkey; in pvrdma_alloc_mr()
260 mr->ibmr.rkey = resp->rkey; in pvrdma_alloc_mr()
264 return &mr->ibmr; in pvrdma_alloc_mr()
282 int pvrdma_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata) in pvrdma_dereg_mr() argument
[all …]
H A Dpvrdma.h141 struct ib_mr ibmr; member
284 static inline struct pvrdma_user_mr *to_vmr(struct ib_mr *ibmr) in to_vmr() argument
286 return container_of(ibmr, struct pvrdma_user_mr, ibmr); in to_vmr()
/linux/drivers/infiniband/hw/mlx4/
H A Dmr.c76 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_get_dma_mr()
79 return &mr->ibmr; in mlx4_ib_get_dma_mr()
183 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_reg_user_mr()
184 mr->ibmr.page_size = 1U << shift; in mlx4_ib_reg_user_mr()
186 return &mr->ibmr; in mlx4_ib_reg_user_mr()
329 struct ib_device *device = mr->ibmr.device; in mlx4_free_priv_pages()
338 int mlx4_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata) in mlx4_ib_dereg_mr() argument
340 struct mlx4_ib_mr *mr = to_mmr(ibmr); in mlx4_ib_dereg_mr()
345 ret = mlx4_mr_free(to_mdev(ibmr->device)->dev, &mr->mmr); in mlx4_ib_dereg_mr()
415 mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; in mlx4_ib_alloc_mr()
[all …]
/linux/drivers/infiniband/hw/mlx5/
H A Dmr.c62 static int __mlx5_ib_dereg_mr(struct ib_mr *ibmr);
1085 mr->ibmr.lkey = mr->mmkey.key; in mlx5_ib_get_dma_mr()
1086 mr->ibmr.rkey = mr->mmkey.key; in mlx5_ib_get_dma_mr()
1089 return &mr->ibmr; in mlx5_ib_get_dma_mr()
1121 mr->ibmr.lkey = mr->mmkey.key; in set_mr_fields()
1122 mr->ibmr.rkey = mr->mmkey.key; in set_mr_fields()
1123 mr->ibmr.length = length; in set_mr_fields()
1124 mr->ibmr.device = &dev->ib_dev; in set_mr_fields()
1125 mr->ibmr.iova = iova; in set_mr_fields()
1186 mr->ibmr.pd = pd; in alloc_cacheable_mr()
[all …]
H A Dwr.c198 seg->log2_page_size = ilog2(mr->ibmr.page_size); in set_reg_mkey_seg()
206 seg->start_addr = cpu_to_be64(mr->ibmr.iova); in set_reg_mkey_seg()
207 seg->len = cpu_to_be64(mr->ibmr.length); in set_reg_mkey_seg()
436 data_key = pi_mr->ibmr.lkey; in set_sig_data_segment()
440 prot_key = pi_mr->ibmr.lkey; in set_sig_data_segment()
564 struct ib_sig_attrs *sig_attrs = sig_mr->ibmr.sig_attrs; in set_pi_umr_wr()
576 region_len = pi_mr->ibmr.length; in set_pi_umr_wr()
867 reg_pi_wr.mr = &pi_mr->ibmr; in handle_reg_mr_integrity()
869 reg_pi_wr.key = pi_mr->ibmr.rkey; in handle_reg_mr_integrity()
889 pa_pi_mr.ibmr.lkey = mr->ibmr.pd->local_dma_lkey; in handle_reg_mr_integrity()
[all …]
H A Dodp.c149 pksm->key = cpu_to_be32(mtt->ibmr.lkey); in populate_ksm()
226 mlx5_ib_dereg_mr(&mr->ibmr, NULL); in free_implicit_child_mr_work()
490 mr->ibmr.pd = imr->ibmr.pd; in implicit_get_child_mr()
491 mr->ibmr.device = &mr_to_mdev(imr)->ib_dev; in implicit_get_child_mr()
493 mr->ibmr.lkey = mr->mmkey.key; in implicit_get_child_mr()
494 mr->ibmr.rkey = mr->mmkey.key; in implicit_get_child_mr()
495 mr->ibmr.iova = idx * mlx5_imr_mtt_size; in implicit_get_child_mr()
548 mlx5_ib_dereg_mr(&mr->ibmr, NULL); in implicit_get_child_mr()
626 imr->ibmr.pd = &pd->ibpd; in mlx5_ib_alloc_implicit_mr()
627 imr->ibmr.iova = 0; in mlx5_ib_alloc_implicit_mr()
[all …]
/linux/drivers/infiniband/sw/rxe/
H A Drxe_mr.c29 switch (mr->ibmr.type) { in mr_check_range()
35 if (iova < mr->ibmr.iova || in mr_check_range()
36 iova + length > mr->ibmr.iova + mr->ibmr.length) { in mr_check_range()
57 mr->lkey = mr->ibmr.lkey = key; in rxe_mr_init()
58 mr->rkey = mr->ibmr.rkey = key; in rxe_mr_init()
61 mr->ibmr.page_size = PAGE_SIZE; in rxe_mr_init()
72 mr->ibmr.type = IB_MR_TYPE_DMA; in rxe_mr_init_dma()
94 idx = (iova - (mr->ibmr.iova & mr->page_mask)) >> PAGE_SHIFT; in rxe_mr_iova_to_index()
97 (mr->ibmr.iova >> mr->page_shift); in rxe_mr_iova_to_index()
216 mr->ibmr.type = IB_MR_TYPE_USER; in rxe_mr_init_user()
[all …]
H A Drxe_verbs.c1259 mr->ibmr.pd = ibpd; in rxe_get_dma_mr()
1260 mr->ibmr.device = ibpd->device; in rxe_get_dma_mr()
1264 return &mr->ibmr; in rxe_get_dma_mr()
1302 mr->ibmr.pd = ibpd; in rxe_reg_user_mr()
1303 mr->ibmr.device = ibpd->device; in rxe_reg_user_mr()
1315 return &mr->ibmr; in rxe_reg_user_mr()
1327 static struct ib_mr *rxe_rereg_user_mr(struct ib_mr *ibmr, int flags, in rxe_rereg_user_mr() argument
1332 struct rxe_mr *mr = to_rmr(ibmr); in rxe_rereg_user_mr()
1333 struct rxe_pd *old_pd = to_rpd(ibmr->pd); in rxe_rereg_user_mr()
1347 mr->ibmr.pd = ibpd; in rxe_rereg_user_mr()
[all …]
H A Drxe_mw.c117 if (unlikely(wqe->wr.wr.mw.length > mr->ibmr.length)) { in rxe_check_bind_mw()
123 if (unlikely((wqe->wr.wr.mw.addr < mr->ibmr.iova) || in rxe_check_bind_mw()
125 (mr->ibmr.iova + mr->ibmr.length)))) { in rxe_check_bind_mw()
/linux/drivers/infiniband/sw/rdmavt/
H A Dmr.c259 mr->ibmr.lkey = mr->mr.lkey; in __rvt_alloc_mr()
260 mr->ibmr.rkey = mr->mr.lkey; in __rvt_alloc_mr()
314 ret = &mr->ibmr; in rvt_get_dma_mr()
392 return &mr->ibmr; in rvt_reg_user_mr()
514 int rvt_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata) in rvt_dereg_mr() argument
516 struct rvt_mr *mr = to_imr(ibmr); in rvt_dereg_mr()
552 return &mr->ibmr; in rvt_alloc_mr()
562 static int rvt_set_page(struct ib_mr *ibmr, u64 addr) in rvt_set_page() argument
564 struct rvt_mr *mr = to_imr(ibmr); in rvt_set_page()
593 int rvt_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, in rvt_map_mr_sg() argument
[all …]
H A Dtrace_mr.h144 TP_PROTO(struct ib_mr *ibmr, int sg_nents, unsigned int *sg_offset),
145 TP_ARGS(ibmr, sg_nents, sg_offset),
147 RDI_DEV_ENTRY(ib_to_rvt(to_imr(ibmr)->mr.pd->device))
156 RDI_DEV_ASSIGN(ib_to_rvt(to_imr(ibmr)->mr.pd->device));
157 __entry->ibmr_iova = ibmr->iova;
158 __entry->iova = to_imr(ibmr)->mr.iova;
159 __entry->user_base = to_imr(ibmr)->mr.user_base;
160 __entry->ibmr_length = to_imr(ibmr)->mr.length;
/linux/drivers/infiniband/hw/hns/
H A Dhns_roce_mr.c221 mr->ibmr.rkey = mr->ibmr.lkey = mr->key; in hns_roce_get_dma_mr()
223 return &mr->ibmr; in hns_roce_get_dma_mr()
270 mr->ibmr.rkey = mr->ibmr.lkey = mr->key; in hns_roce_reg_user_mr()
272 return &mr->ibmr; in hns_roce_reg_user_mr()
286 struct ib_mr *hns_roce_rereg_user_mr(struct ib_mr *ibmr, int flags, u64 start, in hns_roce_rereg_user_mr() argument
291 struct hns_roce_dev *hr_dev = to_hr_dev(ibmr->device); in hns_roce_rereg_user_mr()
293 struct hns_roce_mr *mr = to_hr_mr(ibmr); in hns_roce_rereg_user_mr()
367 int hns_roce_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata) in hns_roce_dereg_mr() argument
369 struct hns_roce_dev *hr_dev = to_hr_dev(ibmr->device); in hns_roce_dereg_mr()
370 struct hns_roce_mr *mr = to_hr_mr(ibmr); in hns_roce_dereg_mr()
[all …]
/linux/drivers/infiniband/hw/usnic/
H A Dusnic_ib.h69 struct ib_mr ibmr; member
125 struct usnic_ib_mr *to_umr(struct ib_mr *ibmr) in to_umr() argument
127 return container_of(ibmr, struct usnic_ib_mr, ibmr); in to_umr()
H A Dusnic_ib_verbs.c618 mr->ibmr.lkey = mr->ibmr.rkey = 0; in usnic_ib_reg_mr()
619 return &mr->ibmr; in usnic_ib_reg_mr()
626 int usnic_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata) in usnic_ib_dereg_mr() argument
628 struct usnic_ib_mr *mr = to_umr(ibmr); in usnic_ib_dereg_mr()
/linux/net/sunrpc/xprtrdma/
H A Dfrwr_ops.c293 struct ib_mr *ibmr; in frwr_map() local
319 ibmr = mr->mr_ibmr; in frwr_map()
320 n = ib_map_mr_sg(ibmr, mr->mr_sg, dma_nents, NULL, PAGE_SIZE); in frwr_map()
324 ibmr->iova &= 0x00000000ffffffff; in frwr_map()
325 ibmr->iova |= ((u64)be32_to_cpu(xid)) << 32; in frwr_map()
326 key = (u8)(ibmr->rkey & 0x000000FF); in frwr_map()
327 ib_update_fast_reg_key(ibmr, ++key); in frwr_map()
330 reg_wr->mr = ibmr; in frwr_map()
331 reg_wr->key = ibmr->rkey; in frwr_map()
336 mr->mr_handle = ibmr->rkey; in frwr_map()
[all …]
/linux/drivers/infiniband/hw/mana/
H A Dmr.c83 mr->ibmr.lkey = resp.lkey; in mana_ib_gd_create_mr()
84 mr->ibmr.rkey = resp.rkey; in mana_ib_gd_create_mr()
188 return &mr->ibmr; in mana_ib_reg_user_mr()
262 return &mr->ibmr; in mana_ib_reg_user_mr_dmabuf()
300 return &mr->ibmr; in mana_ib_get_dma_mr()
307 int mana_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata) in mana_ib_dereg_mr() argument
309 struct mana_ib_mr *mr = container_of(ibmr, struct mana_ib_mr, ibmr); in mana_ib_dereg_mr()
310 struct ib_device *ibdev = ibmr->device; in mana_ib_dereg_mr()
444 return &mr->ibmr; in mana_ib_reg_dm_mr()
/linux/drivers/infiniband/hw/cxgb4/
H A Dmem.c384 mhp->ibmr.rkey = mhp->ibmr.lkey = stag; in finish_mem_reg()
385 mhp->ibmr.length = mhp->attr.len; in finish_mem_reg()
386 mhp->ibmr.page_size = 1U << (mhp->attr.page_size + 12); in finish_mem_reg()
478 return &mhp->ibmr; in c4iw_get_dma_mr()
586 return &mhp->ibmr; in c4iw_reg_user_mr()
657 mhp->ibmr.rkey = mhp->ibmr.lkey = stag; in c4iw_alloc_mr()
664 return &(mhp->ibmr); in c4iw_alloc_mr()
682 static int c4iw_set_page(struct ib_mr *ibmr, u64 addr) in c4iw_set_page() argument
684 struct c4iw_mr *mhp = to_c4iw_mr(ibmr); in c4iw_set_page()
694 int c4iw_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents, in c4iw_map_mr_sg() argument
[all …]
/linux/drivers/infiniband/hw/mthca/
H A Dmthca_provider.h74 struct ib_mr ibmr; member
286 static inline struct mthca_mr *to_mmr(struct ib_mr *ibmr) in to_mmr() argument
288 return container_of(ibmr, struct mthca_mr, ibmr); in to_mmr()
/linux/drivers/infiniband/hw/erdma/
H A Derdma_verbs.c140 struct erdma_pd *pd = to_epd(mr->ibmr.pd); in regmr_cmd()
161 FIELD_PREP(ERDMA_CMD_MR_KEY_MASK, mr->ibmr.lkey & 0xFF) | in regmr_cmd()
162 FIELD_PREP(ERDMA_CMD_MR_MPT_IDX_MASK, mr->ibmr.lkey >> 8); in regmr_cmd()
1128 mr->ibmr.lkey = stag; in erdma_get_dma_mr()
1129 mr->ibmr.rkey = stag; in erdma_get_dma_mr()
1130 mr->ibmr.pd = ibpd; in erdma_get_dma_mr()
1136 return &mr->ibmr; in erdma_get_dma_mr()
1140 mr->ibmr.lkey >> 8); in erdma_get_dma_mr()
1172 mr->ibmr.lkey = stag; in erdma_ib_alloc_mr()
1173 mr->ibmr.rkey = stag; in erdma_ib_alloc_mr()
[all …]
/linux/drivers/infiniband/hw/ionic/
H A Dionic_controlpath.c859 mr->ibmr.lkey = IONIC_DMA_LKEY; in ionic_get_dma_mr()
860 mr->ibmr.rkey = IONIC_DMA_RKEY; in ionic_get_dma_mr()
865 return &mr->ibmr; in ionic_get_dma_mr()
889 mr->ibmr.lkey = mr->mrid; in ionic_reg_user_mr()
890 mr->ibmr.rkey = mr->mrid; in ionic_reg_user_mr()
891 mr->ibmr.iova = addr; in ionic_reg_user_mr()
892 mr->ibmr.length = length; in ionic_reg_user_mr()
920 return &mr->ibmr; in ionic_reg_user_mr()
956 mr->ibmr.lkey = mr->mrid; in ionic_reg_user_mr_dmabuf()
957 mr->ibmr.rkey = mr->mrid; in ionic_reg_user_mr_dmabuf()
[all …]
/linux/drivers/i2c/busses/
H A Di2c-pxa.c136 u32 ibmr; member
158 .ibmr = 0x00,
167 .ibmr = 0x00,
176 .ibmr = 0x14,
185 .ibmr = 0x00,
196 .ibmr = 0x00,
1297 u32 ibmr = readl(_IBMR(i2c)); in i2c_pxa_prepare_recovery() local
1303 gpiod_set_value(i2c->recovery.scl_gpiod, ibmr & IBMR_SCLS); in i2c_pxa_prepare_recovery()
1304 gpiod_set_value(i2c->recovery.sda_gpiod, ibmr & IBMR_SDAS); in i2c_pxa_prepare_recovery()
1469 i2c->reg_ibmr = i2c->reg_base + pxa_reg_layout[i2c_type].ibmr; in i2c_pxa_probe()
/linux/drivers/infiniband/hw/efa/
H A Defa_verbs.c152 static inline struct efa_mr *to_emr(struct ib_mr *ibmr) in to_emr() argument
154 return container_of(ibmr, struct efa_mr, ibmr); in to_emr()
1743 mr->ibmr.lkey = result.l_key; in efa_register_mr()
1744 mr->ibmr.rkey = result.r_key; in efa_register_mr()
1745 mr->ibmr.length = length; in efa_register_mr()
1752 ibdev_dbg(&dev->ibdev, "Registered mr[%d]\n", mr->ibmr.lkey); in efa_register_mr()
1793 return &mr->ibmr; in efa_reg_user_mr_dmabuf()
1837 return &mr->ibmr; in efa_reg_mr()
1850 struct ib_mr *ibmr = uverbs_attr_get_obj(attrs, EFA_IB_ATTR_QUERY_MR_HANDLE); in UVERBS_HANDLER() local
1851 struct efa_mr *mr = to_emr(ibmr); in UVERBS_HANDLER()
[all …]
/linux/drivers/infiniband/hw/irdma/
H A Dverbs.c3007 struct irdma_pd *iwpd = to_iwpd(iwmr->ibmr.pd); in irdma_hw_alloc_mw()
3108 struct ib_pd *pd = iwmr->ibmr.pd; in irdma_hw_alloc_stag()
3165 iwmr->ibmr.rkey = stag; in irdma_alloc_mr()
3166 iwmr->ibmr.lkey = stag; in irdma_alloc_mr()
3167 iwmr->ibmr.pd = pd; in irdma_alloc_mr()
3168 iwmr->ibmr.device = pd->device; in irdma_alloc_mr()
3187 return &iwmr->ibmr; in irdma_alloc_mr()
3203 static int irdma_set_page(struct ib_mr *ibmr, u64 addr) in irdma_set_page() argument
3205 struct irdma_mr *iwmr = to_iwmr(ibmr); in irdma_set_page()
3234 static int irdma_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, in irdma_map_mr_sg() argument
[all …]

12