93
93
94
94
enum {
95
95
MLX5_OBJ_TYPE_GENEVE_TLV_OPT = 0x000b ,
96
+ MLX5_OBJ_TYPE_VIRTIO_NET_Q = 0x000d ,
96
97
MLX5_OBJ_TYPE_MKEY = 0xff01 ,
97
98
MLX5_OBJ_TYPE_QP = 0xff02 ,
98
99
MLX5_OBJ_TYPE_PSV = 0xff03 ,
@@ -981,17 +982,40 @@ struct mlx5_ifc_device_event_cap_bits {
981
982
u8 user_unaffiliated_events [4 ][0x40 ];
982
983
};
983
984
984
- struct mlx5_ifc_device_virtio_emulation_cap_bits {
985
- u8 reserved_at_0 [0x20 ];
985
+ struct mlx5_ifc_virtio_emulation_cap_bits {
986
+ u8 desc_tunnel_offload_type [0x1 ];
987
+ u8 eth_frame_offload_type [0x1 ];
988
+ u8 virtio_version_1_0 [0x1 ];
989
+ u8 device_features_bits_mask [0xd ];
990
+ u8 event_mode [0x8 ];
991
+ u8 virtio_queue_type [0x8 ];
986
992
987
- u8 reserved_at_20 [0x13 ];
993
+ u8 max_tunnel_desc [0x10 ];
994
+ u8 reserved_at_30 [0x3 ];
988
995
u8 log_doorbell_stride [0x5 ];
989
996
u8 reserved_at_38 [0x3 ];
990
997
u8 log_doorbell_bar_size [0x5 ];
991
998
992
999
u8 doorbell_bar_offset [0x40 ];
993
1000
994
- u8 reserved_at_80 [0x780 ];
1001
+ u8 max_emulated_devices [0x8 ];
1002
+ u8 max_num_virtio_queues [0x18 ];
1003
+
1004
+ u8 reserved_at_a0 [0x60 ];
1005
+
1006
+ u8 umem_1_buffer_param_a [0x20 ];
1007
+
1008
+ u8 umem_1_buffer_param_b [0x20 ];
1009
+
1010
+ u8 umem_2_buffer_param_a [0x20 ];
1011
+
1012
+ u8 umem_2_buffer_param_b [0x20 ];
1013
+
1014
+ u8 umem_3_buffer_param_a [0x20 ];
1015
+
1016
+ u8 umem_3_buffer_param_b [0x20 ];
1017
+
1018
+ u8 reserved_at_1c0 [0x640 ];
995
1019
};
996
1020
997
1021
enum {
@@ -1216,7 +1240,9 @@ struct mlx5_ifc_cmd_hca_cap_bits {
1216
1240
1217
1241
u8 max_sgl_for_optimized_performance [0x8 ];
1218
1242
u8 log_max_cq_sz [0x8 ];
1219
- u8 reserved_at_d0 [0xb ];
1243
+ u8 reserved_at_d0 [0x9 ];
1244
+ u8 virtio_net_device_emualtion_manager [0x1 ];
1245
+ u8 virtio_blk_device_emualtion_manager [0x1 ];
1220
1246
u8 log_max_cq [0x5 ];
1221
1247
1222
1248
u8 log_max_eq_sz [0x8 ];
@@ -2952,7 +2978,7 @@ union mlx5_ifc_hca_cap_union_bits {
2952
2978
struct mlx5_ifc_fpga_cap_bits fpga_cap ;
2953
2979
struct mlx5_ifc_tls_cap_bits tls_cap ;
2954
2980
struct mlx5_ifc_device_mem_cap_bits device_mem_cap ;
2955
- struct mlx5_ifc_device_virtio_emulation_cap_bits virtio_emulation_cap ;
2981
+ struct mlx5_ifc_virtio_emulation_cap_bits virtio_emulation_cap ;
2956
2982
u8 reserved_at_0 [0x8000 ];
2957
2983
};
2958
2984
@@ -3298,15 +3324,18 @@ struct mlx5_ifc_scheduling_context_bits {
3298
3324
};
3299
3325
3300
3326
struct mlx5_ifc_rqtc_bits {
3301
- u8 reserved_at_0 [0xa0 ];
3327
+ u8 reserved_at_0 [0xa0 ];
3302
3328
3303
- u8 reserved_at_a0 [0x10 ];
3304
- u8 rqt_max_size [0x10 ];
3329
+ u8 reserved_at_a0 [0x5 ];
3330
+ u8 list_q_type [0x3 ];
3331
+ u8 reserved_at_a8 [0x8 ];
3332
+ u8 rqt_max_size [0x10 ];
3305
3333
3306
- u8 reserved_at_c0 [0x10 ];
3307
- u8 rqt_actual_size [0x10 ];
3334
+ u8 rq_vhca_id_format [0x1 ];
3335
+ u8 reserved_at_c1 [0xf ];
3336
+ u8 rqt_actual_size [0x10 ];
3308
3337
3309
- u8 reserved_at_e0 [0x6a0 ];
3338
+ u8 reserved_at_e0 [0x6a0 ];
3310
3339
3311
3340
struct mlx5_ifc_rq_num_bits rq_num [];
3312
3341
};
@@ -7084,7 +7113,7 @@ struct mlx5_ifc_destroy_mkey_out_bits {
7084
7113
7085
7114
struct mlx5_ifc_destroy_mkey_in_bits {
7086
7115
u8 opcode [0x10 ];
7087
- u8 reserved_at_10 [0x10 ];
7116
+ u8 uid [0x10 ];
7088
7117
7089
7118
u8 reserved_at_20 [0x10 ];
7090
7119
u8 op_mod [0x10 ];
@@ -7782,7 +7811,7 @@ struct mlx5_ifc_create_mkey_out_bits {
7782
7811
7783
7812
struct mlx5_ifc_create_mkey_in_bits {
7784
7813
u8 opcode [0x10 ];
7785
- u8 reserved_at_10 [0x10 ];
7814
+ u8 uid [0x10 ];
7786
7815
7787
7816
u8 reserved_at_20 [0x10 ];
7788
7817
u8 op_mod [0x10 ];
@@ -10312,6 +10341,40 @@ struct mlx5_ifc_create_umem_in_bits {
10312
10341
struct mlx5_ifc_umem_bits umem ;
10313
10342
};
10314
10343
10344
+ struct mlx5_ifc_create_umem_out_bits {
10345
+ u8 status [0x8 ];
10346
+ u8 reserved_at_8 [0x18 ];
10347
+
10348
+ u8 syndrome [0x20 ];
10349
+
10350
+ u8 reserved_at_40 [0x8 ];
10351
+ u8 umem_id [0x18 ];
10352
+
10353
+ u8 reserved_at_60 [0x20 ];
10354
+ };
10355
+
10356
+ struct mlx5_ifc_destroy_umem_in_bits {
10357
+ u8 opcode [0x10 ];
10358
+ u8 uid [0x10 ];
10359
+
10360
+ u8 reserved_at_20 [0x10 ];
10361
+ u8 op_mod [0x10 ];
10362
+
10363
+ u8 reserved_at_40 [0x8 ];
10364
+ u8 umem_id [0x18 ];
10365
+
10366
+ u8 reserved_at_60 [0x20 ];
10367
+ };
10368
+
10369
+ struct mlx5_ifc_destroy_umem_out_bits {
10370
+ u8 status [0x8 ];
10371
+ u8 reserved_at_8 [0x18 ];
10372
+
10373
+ u8 syndrome [0x20 ];
10374
+
10375
+ u8 reserved_at_40 [0x40 ];
10376
+ };
10377
+
10315
10378
struct mlx5_ifc_create_uctx_in_bits {
10316
10379
u8 opcode [0x10 ];
10317
10380
u8 reserved_at_10 [0x10 ];
@@ -10324,6 +10387,18 @@ struct mlx5_ifc_create_uctx_in_bits {
10324
10387
struct mlx5_ifc_uctx_bits uctx ;
10325
10388
};
10326
10389
10390
+ struct mlx5_ifc_create_uctx_out_bits {
10391
+ u8 status [0x8 ];
10392
+ u8 reserved_at_8 [0x18 ];
10393
+
10394
+ u8 syndrome [0x20 ];
10395
+
10396
+ u8 reserved_at_40 [0x10 ];
10397
+ u8 uid [0x10 ];
10398
+
10399
+ u8 reserved_at_60 [0x20 ];
10400
+ };
10401
+
10327
10402
struct mlx5_ifc_destroy_uctx_in_bits {
10328
10403
u8 opcode [0x10 ];
10329
10404
u8 reserved_at_10 [0x10 ];
@@ -10337,6 +10412,15 @@ struct mlx5_ifc_destroy_uctx_in_bits {
10337
10412
u8 reserved_at_60 [0x20 ];
10338
10413
};
10339
10414
10415
+ struct mlx5_ifc_destroy_uctx_out_bits {
10416
+ u8 status [0x8 ];
10417
+ u8 reserved_at_8 [0x18 ];
10418
+
10419
+ u8 syndrome [0x20 ];
10420
+
10421
+ u8 reserved_at_40 [0x40 ];
10422
+ };
10423
+
10340
10424
struct mlx5_ifc_create_sw_icm_in_bits {
10341
10425
struct mlx5_ifc_general_obj_in_cmd_hdr_bits hdr ;
10342
10426
struct mlx5_ifc_sw_icm_bits sw_icm ;
0 commit comments