Lines Matching refs:ibmr
1082 mr->ibmr.lkey = mr->mmkey.key; in mlx5_ib_get_dma_mr()
1083 mr->ibmr.rkey = mr->mmkey.key; in mlx5_ib_get_dma_mr()
1086 return &mr->ibmr; in mlx5_ib_get_dma_mr()
1118 mr->ibmr.lkey = mr->mmkey.key; in set_mr_fields()
1119 mr->ibmr.rkey = mr->mmkey.key; in set_mr_fields()
1120 mr->ibmr.length = length; in set_mr_fields()
1121 mr->ibmr.device = &dev->ib_dev; in set_mr_fields()
1122 mr->ibmr.iova = iova; in set_mr_fields()
1179 mr->ibmr.pd = pd; in alloc_cacheable_mr()
1210 mr->ibmr.pd = pd; in reg_create()
1313 return &mr->ibmr; in mlx5_ib_get_dm_mr()
1409 mlx5_ib_dereg_mr(&mr->ibmr, NULL); in create_real_mr()
1413 return &mr->ibmr; in create_real_mr()
1440 return &mr->ibmr; in create_user_odp_mr()
1467 return &mr->ibmr; in create_user_odp_mr()
1470 mlx5_ib_dereg_mr(&mr->ibmr, NULL); in create_user_odp_mr()
1564 return &mr->ibmr; in mlx5_ib_reg_user_mr_dmabuf()
1567 mlx5_ib_dereg_mr(&mr->ibmr, NULL); in mlx5_ib_reg_user_mr_dmabuf()
1593 struct mlx5_ib_dev *dev = to_mdev(mr->ibmr.device); in can_use_umr_rereg_pas()
1613 struct mlx5_ib_dev *dev = to_mdev(mr->ibmr.device); in umr_rereg_pas()
1628 mr->ibmr.pd = pd; in umr_rereg_pas()
1636 mr->ibmr.iova = iova; in umr_rereg_pas()
1637 mr->ibmr.length = new_umem->length; in umr_rereg_pas()
1708 return create_real_mr(new_pd, umem, mr->ibmr.iova, in mlx5_ib_rereg_user_mr()
1789 struct ib_device *device = mr->ibmr.device; in mlx5_free_priv_descs()
1843 int mlx5_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata) in mlx5_ib_dereg_mr() argument
1845 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_dereg_mr()
1846 struct mlx5_ib_dev *dev = to_mdev(ibmr->device); in mlx5_ib_dereg_mr()
1859 if (ibmr->type == IB_MR_TYPE_INTEGRITY) { in mlx5_ib_dereg_mr()
1864 rc = mlx5_ib_dereg_mr(&mr->mtt_mr->ibmr, NULL); in mlx5_ib_dereg_mr()
1870 rc = mlx5_ib_dereg_mr(&mr->klm_mr->ibmr, NULL); in mlx5_ib_dereg_mr()
1894 rc = destroy_mkey(to_mdev(mr->ibmr.device), mr); in mlx5_ib_dereg_mr()
1956 mr->ibmr.lkey = mr->mmkey.key; in _mlx5_alloc_mkey_descs()
1957 mr->ibmr.rkey = mr->mmkey.key; in _mlx5_alloc_mkey_descs()
1981 mr->ibmr.pd = pd; in mlx5_ib_alloc_pi_mr()
1982 mr->ibmr.device = pd->device; in mlx5_ib_alloc_pi_mr()
2085 mlx5_ib_dereg_mr(&mr->mtt_mr->ibmr, NULL); in mlx5_alloc_integrity_descs()
2088 mlx5_ib_dereg_mr(&mr->klm_mr->ibmr, NULL); in mlx5_alloc_integrity_descs()
2124 mr->ibmr.device = pd->device; in __mlx5_ib_alloc_mr()
2148 return &mr->ibmr; in __mlx5_ib_alloc_mr()
2262 int mlx5_ib_check_mr_status(struct ib_mr *ibmr, u32 check_mask, in mlx5_ib_check_mr_status() argument
2265 struct mlx5_ib_mr *mmr = to_mmr(ibmr); in mlx5_ib_check_mr_status()
2286 if (ibmr->lkey == mmr->sig->err_item.key) in mlx5_ib_check_mr_status()
2304 mlx5_ib_map_pa_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg, in mlx5_ib_map_pa_mr_sg_pi() argument
2309 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_pa_mr_sg_pi()
2331 ibmr->length = mr->data_length + mr->meta_length; in mlx5_ib_map_pa_mr_sg_pi()
2349 u32 lkey = mr->ibmr.pd->local_dma_lkey; in mlx5_ib_sg_to_klms()
2352 mr->ibmr.iova = sg_dma_address(sg) + sg_offset; in mlx5_ib_sg_to_klms()
2353 mr->ibmr.length = 0; in mlx5_ib_sg_to_klms()
2361 mr->ibmr.length += sg_dma_len(sg) - sg_offset; in mlx5_ib_sg_to_klms()
2370 mr->data_length = mr->ibmr.length; in mlx5_ib_sg_to_klms()
2383 mr->ibmr.length += sg_dma_len(sg) - sg_offset; in mlx5_ib_sg_to_klms()
2391 mr->meta_length = mr->ibmr.length - mr->data_length; in mlx5_ib_sg_to_klms()
2397 static int mlx5_set_page(struct ib_mr *ibmr, u64 addr) in mlx5_set_page() argument
2399 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_set_page()
2411 static int mlx5_set_page_pi(struct ib_mr *ibmr, u64 addr) in mlx5_set_page_pi() argument
2413 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_set_page_pi()
2427 mlx5_ib_map_mtt_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg, in mlx5_ib_map_mtt_mr_sg_pi() argument
2432 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_mtt_mr_sg_pi()
2440 ib_dma_sync_single_for_cpu(ibmr->device, pi_mr->desc_map, in mlx5_ib_map_mtt_mr_sg_pi()
2444 pi_mr->ibmr.page_size = ibmr->page_size; in mlx5_ib_map_mtt_mr_sg_pi()
2445 n = ib_sg_to_pages(&pi_mr->ibmr, data_sg, data_sg_nents, data_sg_offset, in mlx5_ib_map_mtt_mr_sg_pi()
2450 pi_mr->data_iova = pi_mr->ibmr.iova; in mlx5_ib_map_mtt_mr_sg_pi()
2451 pi_mr->data_length = pi_mr->ibmr.length; in mlx5_ib_map_mtt_mr_sg_pi()
2452 pi_mr->ibmr.length = pi_mr->data_length; in mlx5_ib_map_mtt_mr_sg_pi()
2453 ibmr->length = pi_mr->data_length; in mlx5_ib_map_mtt_mr_sg_pi()
2456 u64 page_mask = ~((u64)ibmr->page_size - 1); in mlx5_ib_map_mtt_mr_sg_pi()
2459 n += ib_sg_to_pages(&pi_mr->ibmr, meta_sg, meta_sg_nents, in mlx5_ib_map_mtt_mr_sg_pi()
2462 pi_mr->meta_length = pi_mr->ibmr.length; in mlx5_ib_map_mtt_mr_sg_pi()
2470 pi_mr->mmkey.ndescs * ibmr->page_size + in mlx5_ib_map_mtt_mr_sg_pi()
2471 (pi_mr->ibmr.iova & ~page_mask); in mlx5_ib_map_mtt_mr_sg_pi()
2479 pi_mr->ibmr.length = pi_mr->pi_iova + pi_mr->meta_length - iova; in mlx5_ib_map_mtt_mr_sg_pi()
2480 pi_mr->ibmr.iova = iova; in mlx5_ib_map_mtt_mr_sg_pi()
2481 ibmr->length += pi_mr->meta_length; in mlx5_ib_map_mtt_mr_sg_pi()
2484 ib_dma_sync_single_for_device(ibmr->device, pi_mr->desc_map, in mlx5_ib_map_mtt_mr_sg_pi()
2492 mlx5_ib_map_klm_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg, in mlx5_ib_map_klm_mr_sg_pi() argument
2497 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_klm_mr_sg_pi()
2505 ib_dma_sync_single_for_cpu(ibmr->device, pi_mr->desc_map, in mlx5_ib_map_klm_mr_sg_pi()
2512 ib_dma_sync_single_for_device(ibmr->device, pi_mr->desc_map, in mlx5_ib_map_klm_mr_sg_pi()
2518 pi_mr->ibmr.iova = 0; in mlx5_ib_map_klm_mr_sg_pi()
2520 ibmr->length = pi_mr->ibmr.length; in mlx5_ib_map_klm_mr_sg_pi()
2525 int mlx5_ib_map_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg, in mlx5_ib_map_mr_sg_pi() argument
2530 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_mr_sg_pi()
2534 WARN_ON(ibmr->type != IB_MR_TYPE_INTEGRITY); in mlx5_ib_map_mr_sg_pi()
2547 n = mlx5_ib_map_pa_mr_sg_pi(ibmr, data_sg, data_sg_nents, in mlx5_ib_map_mr_sg_pi()
2561 n = mlx5_ib_map_mtt_mr_sg_pi(ibmr, data_sg, data_sg_nents, in mlx5_ib_map_mr_sg_pi()
2568 n = mlx5_ib_map_klm_mr_sg_pi(ibmr, data_sg, data_sg_nents, in mlx5_ib_map_mr_sg_pi()
2576 ibmr->iova = 0; in mlx5_ib_map_mr_sg_pi()
2579 ibmr->sig_attrs->meta_length = pi_mr->meta_length; in mlx5_ib_map_mr_sg_pi()
2581 ibmr->sig_attrs->meta_length = mr->meta_length; in mlx5_ib_map_mr_sg_pi()
2586 int mlx5_ib_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents, in mlx5_ib_map_mr_sg() argument
2589 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_mr_sg()
2594 ib_dma_sync_single_for_cpu(ibmr->device, mr->desc_map, in mlx5_ib_map_mr_sg()
2602 n = ib_sg_to_pages(ibmr, sg, sg_nents, sg_offset, in mlx5_ib_map_mr_sg()
2605 ib_dma_sync_single_for_device(ibmr->device, mr->desc_map, in mlx5_ib_map_mr_sg()