Lines Matching defs:mkc
53 static void set_mkc_access_pd_addr_fields(void *mkc, int acc, u64 start_addr,
58 MLX5_SET(mkc, mkc, a, !!(acc & IB_ACCESS_REMOTE_ATOMIC));
59 MLX5_SET(mkc, mkc, rw, !!(acc & IB_ACCESS_REMOTE_WRITE));
60 MLX5_SET(mkc, mkc, rr, !!(acc & IB_ACCESS_REMOTE_READ));
61 MLX5_SET(mkc, mkc, lw, !!(acc & IB_ACCESS_LOCAL_WRITE));
62 MLX5_SET(mkc, mkc, lr, 1);
65 MLX5_SET(mkc, mkc, relaxed_ordering_write,
68 MLX5_SET(mkc, mkc, relaxed_ordering_read,
71 MLX5_SET(mkc, mkc, pd, to_mpd(pd)->pdn);
72 MLX5_SET(mkc, mkc, qpn, 0xffffff);
73 MLX5_SET64(mkc, mkc, start_addr, start_addr);
81 void *mkc;
83 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
84 MLX5_SET(mkc, mkc, mkey_7_0, key);
168 static struct mlx5_ib_mr *alloc_cache_mr(struct mlx5_cache_ent *ent, void *mkc)
179 set_mkc_access_pd_addr_fields(mkc, 0, 0, ent->dev->umrc.pd);
180 MLX5_SET(mkc, mkc, free, 1);
181 MLX5_SET(mkc, mkc, umr_en, 1);
182 MLX5_SET(mkc, mkc, access_mode_1_0, ent->access_mode & 0x3);
183 MLX5_SET(mkc, mkc, access_mode_4_2, (ent->access_mode >> 2) & 0x7);
185 MLX5_SET(mkc, mkc, translations_octword_size, ent->xlt);
186 MLX5_SET(mkc, mkc, log_page_size, ent->page);
195 void *mkc;
204 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
206 mr = alloc_cache_mr(ent, mkc);
243 void *mkc;
250 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
252 mr = alloc_cache_mr(ent, mkc);
816 void *mkc;
830 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
832 MLX5_SET(mkc, mkc, access_mode_1_0, MLX5_MKC_ACCESS_MODE_PA);
833 MLX5_SET(mkc, mkc, length64, 1);
834 set_mkc_access_pd_addr_fields(mkc, acc, 0, pd);
1178 void *mkc;
1213 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
1214 set_mkc_access_pd_addr_fields(mkc, access_flags, virt_addr,
1216 MLX5_SET(mkc, mkc, free, !populate);
1217 MLX5_SET(mkc, mkc, access_mode_1_0, MLX5_MKC_ACCESS_MODE_MTT);
1218 MLX5_SET(mkc, mkc, umr_en, 1);
1220 MLX5_SET64(mkc, mkc, len, length);
1221 MLX5_SET(mkc, mkc, bsf_octword_size, 0);
1222 MLX5_SET(mkc, mkc, translations_octword_size,
1224 MLX5_SET(mkc, mkc, log_page_size, page_shift);
1269 void *mkc;
1283 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
1285 MLX5_SET(mkc, mkc, access_mode_1_0, mode & 0x3);
1286 MLX5_SET(mkc, mkc, access_mode_4_2, (mode >> 2) & 0x7);
1287 MLX5_SET64(mkc, mkc, len, length);
1288 set_mkc_access_pd_addr_fields(mkc, acc, start_addr, pd);
1742 void *mkc;
1744 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
1747 set_mkc_access_pd_addr_fields(mkc, 0, 0, pd);
1748 MLX5_SET(mkc, mkc, free, 1);
1749 MLX5_SET(mkc, mkc, translations_octword_size, ndescs);
1750 MLX5_SET(mkc, mkc, access_mode_1_0, access_mode & 0x3);
1751 MLX5_SET(mkc, mkc, access_mode_4_2, (access_mode >> 2) & 0x7);
1752 MLX5_SET(mkc, mkc, umr_en, 1);
1753 MLX5_SET(mkc, mkc, log_page_size, page_shift);
1853 void *mkc;
1888 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
1889 MLX5_SET(mkc, mkc, bsf_en, 1);
1890 MLX5_SET(mkc, mkc, bsf_octword_size, MLX5_MKEY_BSF_OCTO_SIZE);
1998 void *mkc;
2027 mkc = MLX5_ADDR_OF(create_mkey_in, in, memory_key_mkey_entry);
2029 MLX5_SET(mkc, mkc, free, 1);
2030 MLX5_SET(mkc, mkc, translations_octword_size, ndescs);
2031 MLX5_SET(mkc, mkc, pd, to_mpd(ibmw->pd)->pdn);
2032 MLX5_SET(mkc, mkc, umr_en, 1);
2033 MLX5_SET(mkc, mkc, lr, 1);
2034 MLX5_SET(mkc, mkc, access_mode_1_0, MLX5_MKC_ACCESS_MODE_KLMS);
2035 MLX5_SET(mkc, mkc, en_rinval, !!((ibmw->type == IB_MW_TYPE_2)));
2036 MLX5_SET(mkc, mkc, qpn, 0xffffff);