• Home
  • Raw
  • Download

Lines Matching refs:ibmr

838 	mr->ibmr.lkey = mr->mmkey.key;  in mlx5_ib_get_dma_mr()
839 mr->ibmr.rkey = mr->mmkey.key; in mlx5_ib_get_dma_mr()
842 return &mr->ibmr; in mlx5_ib_get_dma_mr()
1001 mr->ibmr.pd = pd; in alloc_mr_from_cache()
1102 wr.pd = mr->ibmr.pd; in mlx5_ib_update_xlt()
1165 static struct mlx5_ib_mr *reg_create(struct ib_mr *ibmr, struct ib_pd *pd, in reg_create() argument
1180 mr = ibmr ? to_mmr(ibmr) : kzalloc(sizeof(*mr), GFP_KERNEL); in reg_create()
1184 mr->ibmr.pd = pd; in reg_create()
1244 if (!ibmr) in reg_create()
1253 mr->ibmr.lkey = mr->mmkey.key; in set_mr_fields()
1254 mr->ibmr.rkey = mr->mmkey.key; in set_mr_fields()
1255 mr->ibmr.length = length; in set_mr_fields()
1294 return &mr->ibmr; in mlx5_ib_get_dm_mr()
1389 return &mr->ibmr; in mlx5_ib_reg_user_mr()
1459 return &mr->ibmr; in mlx5_ib_reg_user_mr()
1593 mr->ibmr.pd = pd; in mlx5_ib_rereg_user_mr()
1663 struct ib_device *device = mr->ibmr.device; in mlx5_free_priv_descs()
1716 int mlx5_ib_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata) in mlx5_ib_dereg_mr() argument
1718 struct mlx5_ib_mr *mmr = to_mmr(ibmr); in mlx5_ib_dereg_mr()
1720 if (ibmr->type == IB_MR_TYPE_INTEGRITY) { in mlx5_ib_dereg_mr()
1721 dereg_mr(to_mdev(mmr->mtt_mr->ibmr.device), mmr->mtt_mr); in mlx5_ib_dereg_mr()
1722 dereg_mr(to_mdev(mmr->klm_mr->ibmr.device), mmr->klm_mr); in mlx5_ib_dereg_mr()
1730 dereg_mr(to_mdev(ibmr->device), mmr); in mlx5_ib_dereg_mr()
1774 mr->ibmr.lkey = mr->mmkey.key; in _mlx5_alloc_mkey_descs()
1775 mr->ibmr.rkey = mr->mmkey.key; in _mlx5_alloc_mkey_descs()
1799 mr->ibmr.pd = pd; in mlx5_ib_alloc_pi_mr()
1800 mr->ibmr.device = pd->device; in mlx5_ib_alloc_pi_mr()
1903 dereg_mr(to_mdev(mr->mtt_mr->ibmr.device), mr->mtt_mr); in mlx5_alloc_integrity_descs()
1906 dereg_mr(to_mdev(mr->klm_mr->ibmr.device), mr->klm_mr); in mlx5_alloc_integrity_descs()
1942 mr->ibmr.device = pd->device; in __mlx5_ib_alloc_mr()
1966 return &mr->ibmr; in __mlx5_ib_alloc_mr()
2085 int mlx5_ib_check_mr_status(struct ib_mr *ibmr, u32 check_mask, in mlx5_ib_check_mr_status() argument
2088 struct mlx5_ib_mr *mmr = to_mmr(ibmr); in mlx5_ib_check_mr_status()
2109 if (ibmr->lkey == mmr->sig->err_item.key) in mlx5_ib_check_mr_status()
2127 mlx5_ib_map_pa_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg, in mlx5_ib_map_pa_mr_sg_pi() argument
2132 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_pa_mr_sg_pi()
2154 ibmr->length = mr->data_length + mr->meta_length; in mlx5_ib_map_pa_mr_sg_pi()
2172 u32 lkey = mr->ibmr.pd->local_dma_lkey; in mlx5_ib_sg_to_klms()
2175 mr->ibmr.iova = sg_dma_address(sg) + sg_offset; in mlx5_ib_sg_to_klms()
2176 mr->ibmr.length = 0; in mlx5_ib_sg_to_klms()
2184 mr->ibmr.length += sg_dma_len(sg) - sg_offset; in mlx5_ib_sg_to_klms()
2193 mr->data_length = mr->ibmr.length; in mlx5_ib_sg_to_klms()
2206 mr->ibmr.length += sg_dma_len(sg) - sg_offset; in mlx5_ib_sg_to_klms()
2214 mr->meta_length = mr->ibmr.length - mr->data_length; in mlx5_ib_sg_to_klms()
2220 static int mlx5_set_page(struct ib_mr *ibmr, u64 addr) in mlx5_set_page() argument
2222 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_set_page()
2234 static int mlx5_set_page_pi(struct ib_mr *ibmr, u64 addr) in mlx5_set_page_pi() argument
2236 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_set_page_pi()
2250 mlx5_ib_map_mtt_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg, in mlx5_ib_map_mtt_mr_sg_pi() argument
2255 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_mtt_mr_sg_pi()
2263 ib_dma_sync_single_for_cpu(ibmr->device, pi_mr->desc_map, in mlx5_ib_map_mtt_mr_sg_pi()
2267 pi_mr->ibmr.page_size = ibmr->page_size; in mlx5_ib_map_mtt_mr_sg_pi()
2268 n = ib_sg_to_pages(&pi_mr->ibmr, data_sg, data_sg_nents, data_sg_offset, in mlx5_ib_map_mtt_mr_sg_pi()
2273 pi_mr->data_iova = pi_mr->ibmr.iova; in mlx5_ib_map_mtt_mr_sg_pi()
2274 pi_mr->data_length = pi_mr->ibmr.length; in mlx5_ib_map_mtt_mr_sg_pi()
2275 pi_mr->ibmr.length = pi_mr->data_length; in mlx5_ib_map_mtt_mr_sg_pi()
2276 ibmr->length = pi_mr->data_length; in mlx5_ib_map_mtt_mr_sg_pi()
2279 u64 page_mask = ~((u64)ibmr->page_size - 1); in mlx5_ib_map_mtt_mr_sg_pi()
2282 n += ib_sg_to_pages(&pi_mr->ibmr, meta_sg, meta_sg_nents, in mlx5_ib_map_mtt_mr_sg_pi()
2285 pi_mr->meta_length = pi_mr->ibmr.length; in mlx5_ib_map_mtt_mr_sg_pi()
2293 pi_mr->ndescs * ibmr->page_size + in mlx5_ib_map_mtt_mr_sg_pi()
2294 (pi_mr->ibmr.iova & ~page_mask); in mlx5_ib_map_mtt_mr_sg_pi()
2302 pi_mr->ibmr.length = pi_mr->pi_iova + pi_mr->meta_length - iova; in mlx5_ib_map_mtt_mr_sg_pi()
2303 pi_mr->ibmr.iova = iova; in mlx5_ib_map_mtt_mr_sg_pi()
2304 ibmr->length += pi_mr->meta_length; in mlx5_ib_map_mtt_mr_sg_pi()
2307 ib_dma_sync_single_for_device(ibmr->device, pi_mr->desc_map, in mlx5_ib_map_mtt_mr_sg_pi()
2315 mlx5_ib_map_klm_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg, in mlx5_ib_map_klm_mr_sg_pi() argument
2320 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_klm_mr_sg_pi()
2328 ib_dma_sync_single_for_cpu(ibmr->device, pi_mr->desc_map, in mlx5_ib_map_klm_mr_sg_pi()
2335 ib_dma_sync_single_for_device(ibmr->device, pi_mr->desc_map, in mlx5_ib_map_klm_mr_sg_pi()
2341 pi_mr->ibmr.iova = 0; in mlx5_ib_map_klm_mr_sg_pi()
2343 ibmr->length = pi_mr->ibmr.length; in mlx5_ib_map_klm_mr_sg_pi()
2348 int mlx5_ib_map_mr_sg_pi(struct ib_mr *ibmr, struct scatterlist *data_sg, in mlx5_ib_map_mr_sg_pi() argument
2353 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_mr_sg_pi()
2357 WARN_ON(ibmr->type != IB_MR_TYPE_INTEGRITY); in mlx5_ib_map_mr_sg_pi()
2370 n = mlx5_ib_map_pa_mr_sg_pi(ibmr, data_sg, data_sg_nents, in mlx5_ib_map_mr_sg_pi()
2384 n = mlx5_ib_map_mtt_mr_sg_pi(ibmr, data_sg, data_sg_nents, in mlx5_ib_map_mr_sg_pi()
2391 n = mlx5_ib_map_klm_mr_sg_pi(ibmr, data_sg, data_sg_nents, in mlx5_ib_map_mr_sg_pi()
2399 ibmr->iova = 0; in mlx5_ib_map_mr_sg_pi()
2402 ibmr->sig_attrs->meta_length = pi_mr->meta_length; in mlx5_ib_map_mr_sg_pi()
2404 ibmr->sig_attrs->meta_length = mr->meta_length; in mlx5_ib_map_mr_sg_pi()
2409 int mlx5_ib_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents, in mlx5_ib_map_mr_sg() argument
2412 struct mlx5_ib_mr *mr = to_mmr(ibmr); in mlx5_ib_map_mr_sg()
2417 ib_dma_sync_single_for_cpu(ibmr->device, mr->desc_map, in mlx5_ib_map_mr_sg()
2425 n = ib_sg_to_pages(ibmr, sg, sg_nents, sg_offset, in mlx5_ib_map_mr_sg()
2428 ib_dma_sync_single_for_device(ibmr->device, mr->desc_map, in mlx5_ib_map_mr_sg()