Lines Matching refs:rb_key

304 	set_mkc_access_pd_addr_fields(mkc, ent->rb_key.access_flags, 0,  in set_cache_mkc()
308 MLX5_SET(mkc, mkc, access_mode_1_0, ent->rb_key.access_mode & 0x3); in set_cache_mkc()
310 (ent->rb_key.access_mode >> 2) & 0x7); in set_cache_mkc()
311 MLX5_SET(mkc, mkc, ma_translation_mode, !!ent->rb_key.ats); in set_cache_mkc()
314 get_mkc_octo_size(ent->rb_key.access_mode, in set_cache_mkc()
315 ent->rb_key.ndescs)); in set_cache_mkc()
696 cmp = cache_ent_key_cmp(cur->rb_key, ent->rb_key); in mlx5_cache_ent_insert()
714 struct mlx5r_cache_rb_key rb_key) in mkey_cache_ent_from_rb_key() argument
725 cmp = cache_ent_key_cmp(cur->rb_key, rb_key); in mkey_cache_ent_from_rb_key()
737 smallest->rb_key.access_mode == rb_key.access_mode && in mkey_cache_ent_from_rb_key()
738 smallest->rb_key.access_flags == rb_key.access_flags && in mkey_cache_ent_from_rb_key()
739 smallest->rb_key.ats == rb_key.ats) ? in mkey_cache_ent_from_rb_key()
809 struct mlx5r_cache_rb_key rb_key = { in mlx5_mr_cache_alloc() local
814 struct mlx5_cache_ent *ent = mkey_cache_ent_from_rb_key(dev, rb_key); in mlx5_mr_cache_alloc()
849 int order = order_base_2(ent->rb_key.ndescs); in mlx5_mkey_cache_debugfs_add_ent()
855 if (ent->rb_key.access_mode == MLX5_MKC_ACCESS_MODE_KSM) in mlx5_mkey_cache_debugfs_add_ent()
886 struct mlx5r_cache_rb_key rb_key, in mlx5r_cache_create_ent_locked() argument
898 ent->rb_key = rb_key; in mlx5r_cache_create_ent_locked()
911 if (rb_key.access_mode == MLX5_MKC_ACCESS_MODE_KSM) in mlx5r_cache_create_ent_locked()
914 order = order_base_2(rb_key.ndescs) - 2; in mlx5r_cache_create_ent_locked()
966 struct mlx5r_cache_rb_key rb_key = { in mlx5_mkey_cache_init() local
989 rb_key.ndescs = 1 << (i + 2); in mlx5_mkey_cache_init()
990 ent = mlx5r_cache_create_ent_locked(dev, rb_key, true); in mlx5_mkey_cache_init()
1154 struct mlx5r_cache_rb_key rb_key = { in alloc_cacheable_mr() local
1170 rb_key.ndescs = ib_umem_num_dma_blocks(umem, page_size); in alloc_cacheable_mr()
1171 rb_key.ats = mlx5_umem_needs_ats(dev, umem, access_flags); in alloc_cacheable_mr()
1172 rb_key.access_flags = get_unchangeable_access_flags(dev, access_flags); in alloc_cacheable_mr()
1173 ent = mkey_cache_ent_from_rb_key(dev, rb_key); in alloc_cacheable_mr()
1184 mr->mmkey.rb_key = rb_key; in alloc_cacheable_mr()
1620 return (mr->mmkey.cache_ent->rb_key.ndescs) >= in can_use_umr_rereg_pas()
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()
1848 ent = mlx5r_cache_create_ent_locked(dev, mr->mmkey.rb_key, false); in cache_ent_find_and_store()