Lines Matching refs:mmkey

128 	WARN_ON(xa_load(&dev->odp_mkeys, mlx5_base_mkey(mr->mmkey.key)));  in destroy_mkey()
130 return mlx5_core_destroy_mkey(dev->mdev, mr->mmkey.key); in destroy_mkey()
762 err = create_cache_mkey(ent, &mr->mmkey.key); in _mlx5_mr_cache_alloc()
771 mr->mmkey.key = pop_stored_mkey(ent); in _mlx5_mr_cache_alloc()
775 mr->mmkey.cache_ent = ent; in _mlx5_mr_cache_alloc()
776 mr->mmkey.type = MLX5_MKEY_MR; in _mlx5_mr_cache_alloc()
777 init_waitqueue_head(&mr->mmkey.wait); in _mlx5_mr_cache_alloc()
1089 err = mlx5_ib_create_mkey(dev, &mr->mmkey, in, inlen); in mlx5_ib_get_dma_mr()
1094 mr->mmkey.type = MLX5_MKEY_MR; in mlx5_ib_get_dma_mr()
1095 mr->ibmr.lkey = mr->mmkey.key; in mlx5_ib_get_dma_mr()
1096 mr->ibmr.rkey = mr->mmkey.key; in mlx5_ib_get_dma_mr()
1131 mr->ibmr.lkey = mr->mmkey.key; in set_mr_fields()
1132 mr->ibmr.rkey = mr->mmkey.key; in set_mr_fields()
1184 mr->mmkey.rb_key = rb_key; in alloc_cacheable_mr()
1270 err = mlx5_ib_create_mkey(dev, &mr->mmkey, in, inlen); in reg_create()
1275 mr->mmkey.type = MLX5_MKEY_MR; in reg_create()
1276 mr->mmkey.ndescs = get_octo_len(iova, umem->length, mr->page_shift); in reg_create()
1281 mlx5_ib_dbg(dev, "mkey = 0x%x\n", mr->mmkey.key); in reg_create()
1319 err = mlx5_ib_create_mkey(dev, &mr->mmkey, in, inlen); in mlx5_ib_get_dm_mr()
1411 mlx5_ib_dbg(dev, "mkey 0x%x\n", mr->mmkey.key); in create_real_mr()
1474 err = mlx5r_store_odp_mkey(dev, &mr->mmkey); in create_user_odp_mr()
1567 mlx5_ib_dbg(dev, "mkey 0x%x\n", mr->mmkey.key); in mlx5_ib_reg_user_mr_dmabuf()
1571 err = mlx5r_store_odp_mkey(dev, &mr->mmkey); in mlx5_ib_reg_user_mr_dmabuf()
1611 if (!mr->mmkey.cache_ent) in can_use_umr_rereg_pas()
1620 return (mr->mmkey.cache_ent->rb_key.ndescs) >= in can_use_umr_rereg_pas()
1827 if (mr->mmkey.cache_ent) { in cache_ent_find_and_store()
1828 xa_lock_irq(&mr->mmkey.cache_ent->mkeys); in cache_ent_find_and_store()
1829 mr->mmkey.cache_ent->in_use--; in cache_ent_find_and_store()
1834 ent = mkey_cache_ent_from_rb_key(dev, mr->mmkey.rb_key); in cache_ent_find_and_store()
1836 if (ent->rb_key.ndescs == mr->mmkey.rb_key.ndescs) { in cache_ent_find_and_store()
1841 mr->mmkey.cache_ent = ent; in cache_ent_find_and_store()
1842 xa_lock_irq(&mr->mmkey.cache_ent->mkeys); in cache_ent_find_and_store()
1848 ent = mlx5r_cache_create_ent_locked(dev, mr->mmkey.rb_key, false); in cache_ent_find_and_store()
1853 mr->mmkey.cache_ent = ent; in cache_ent_find_and_store()
1854 xa_lock_irq(&mr->mmkey.cache_ent->mkeys); in cache_ent_find_and_store()
1857 ret = push_mkey_locked(mr->mmkey.cache_ent, false, in cache_ent_find_and_store()
1858 xa_mk_value(mr->mmkey.key)); in cache_ent_find_and_store()
1859 xa_unlock_irq(&mr->mmkey.cache_ent->mkeys); in cache_ent_find_and_store()
1875 refcount_read(&mr->mmkey.usecount) != 0 && in mlx5_ib_dereg_mr()
1876 xa_erase(&mr_to_mdev(mr)->odp_mkeys, mlx5_base_mkey(mr->mmkey.key))) in mlx5_ib_dereg_mr()
1877 mlx5r_deref_wait_odp_mkey(&mr->mmkey); in mlx5_ib_dereg_mr()
1880 xa_cmpxchg(&dev->sig_mrs, mlx5_base_mkey(mr->mmkey.key), in mlx5_ib_dereg_mr()
1911 mr->mmkey.cache_ent = NULL; in mlx5_ib_dereg_mr()
1913 if (!mr->mmkey.cache_ent) { in mlx5_ib_dereg_mr()
1930 if (!mr->mmkey.cache_ent) in mlx5_ib_dereg_mr()
1971 err = mlx5_ib_create_mkey(dev, &mr->mmkey, in, inlen); in _mlx5_alloc_mkey_descs()
1975 mr->mmkey.type = MLX5_MKEY_MR; in _mlx5_alloc_mkey_descs()
1976 mr->ibmr.lkey = mr->mmkey.key; in _mlx5_alloc_mkey_descs()
1977 mr->ibmr.rkey = mr->mmkey.key; in _mlx5_alloc_mkey_descs()
2095 err = xa_err(xa_store(&dev->sig_mrs, mlx5_base_mkey(mr->mmkey.key), in mlx5_alloc_integrity_descs()
2234 err = mlx5_ib_create_mkey(dev, &mw->mmkey, in, inlen); in mlx5_ib_alloc_mw()
2238 mw->mmkey.type = MLX5_MKEY_MW; in mlx5_ib_alloc_mw()
2239 ibmw->rkey = mw->mmkey.key; in mlx5_ib_alloc_mw()
2240 mw->mmkey.ndescs = ndescs; in mlx5_ib_alloc_mw()
2251 err = mlx5r_store_odp_mkey(dev, &mw->mmkey); in mlx5_ib_alloc_mw()
2260 mlx5_core_destroy_mkey(dev->mdev, mw->mmkey.key); in mlx5_ib_alloc_mw()
2272 xa_erase(&dev->odp_mkeys, mlx5_base_mkey(mmw->mmkey.key))) in mlx5_ib_dealloc_mw()
2277 mlx5r_deref_wait_odp_mkey(&mmw->mmkey); in mlx5_ib_dealloc_mw()
2279 return mlx5_core_destroy_mkey(dev->mdev, mmw->mmkey.key); in mlx5_ib_dealloc_mw()
2336 mr->mmkey.ndescs = 1; in mlx5_ib_map_pa_mr_sg_pi()
2389 mr->mmkey.ndescs = i; in mlx5_ib_sg_to_klms()
2422 if (unlikely(mr->mmkey.ndescs == mr->max_descs)) in mlx5_set_page()
2426 descs[mr->mmkey.ndescs++] = cpu_to_be64(addr | MLX5_EN_RD | MLX5_EN_WR); in mlx5_set_page()
2436 if (unlikely(mr->mmkey.ndescs + mr->meta_ndescs == mr->max_descs)) in mlx5_set_page_pi()
2440 descs[mr->mmkey.ndescs + mr->meta_ndescs++] = in mlx5_set_page_pi()
2456 pi_mr->mmkey.ndescs = 0; in mlx5_ib_map_mtt_mr_sg_pi()
2490 pi_mr->mmkey.ndescs * ibmr->page_size + in mlx5_ib_map_mtt_mr_sg_pi()
2521 pi_mr->mmkey.ndescs = 0; in mlx5_ib_map_klm_mr_sg_pi()
2556 mr->mmkey.ndescs = 0; in mlx5_ib_map_mr_sg_pi()
2612 mr->mmkey.ndescs = 0; in mlx5_ib_map_mr_sg()