common/mlx5: share MR mempool registration
[dpdk.git] / drivers / common / mlx5 / mlx5_prm.h
index d361bcf..54e62aa 100644 (file)
@@ -1386,10 +1386,10 @@ struct mlx5_ifc_cmd_hca_cap_bits {
        u8 rtr2rts_qp_counters_set_id[0x1];
        u8 rts2rts_udp_sport[0x1];
        u8 rts2rts_lag_tx_port_affinity[0x1];
-       u8 dma_mmo[0x1];
+       u8 dma_mmo_sq[0x1];
        u8 compress_min_block_size[0x4];
-       u8 compress[0x1];
-       u8 decompress[0x1];
+       u8 compress_mmo_sq[0x1];
+       u8 decompress_mmo_sq[0x1];
        u8 log_max_ra_res_qp[0x6];
        u8 end_pad[0x1];
        u8 cc_query_allowed[0x1];
@@ -1519,7 +1519,9 @@ struct mlx5_ifc_cmd_hca_cap_bits {
        u8 num_lag_ports[0x4];
        u8 reserved_at_280[0x10];
        u8 max_wqe_sz_sq[0x10];
-       u8 reserved_at_2a0[0x10];
+       u8 reserved_at_2a0[0xc];
+       u8 regexp_mmo_sq[0x1];
+       u8 reserved_at_2b0[0x3];
        u8 max_wqe_sz_rq[0x10];
        u8 max_flow_counter_31_16[0x10];
        u8 max_wqe_sz_sq_dc[0x10];
@@ -1632,7 +1634,12 @@ struct mlx5_ifc_cmd_hca_cap_bits {
        u8 num_vhca_ports[0x8];
        u8 reserved_at_618[0x6];
        u8 sw_owner_id[0x1];
-       u8 reserved_at_61f[0x1e1];
+       u8 reserved_at_61f[0x109];
+       u8 dma_mmo_qp[0x1];
+       u8 regexp_mmo_qp[0x1];
+       u8 compress_mmo_qp[0x1];
+       u8 decompress_mmo_qp[0x1];
+       u8 reserved_at_624[0xd4];
 };
 
 struct mlx5_ifc_qos_cap_bits {
@@ -3236,6 +3243,28 @@ struct mlx5_ifc_create_qp_out_bits {
        u8 reserved_at_60[0x20];
 };
 
+struct mlx5_ifc_qpc_extension_bits {
+       u8 reserved_at_0[0x2];
+       u8 mmo[0x1];
+       u8 reserved_at_3[0x5fd];
+};
+
+#ifdef PEDANTIC
+#pragma GCC diagnostic ignored "-Wpedantic"
+#endif
+struct mlx5_ifc_qpc_pas_list_bits {
+       u8 pas[0][0x40];
+};
+
+#ifdef PEDANTIC
+#pragma GCC diagnostic ignored "-Wpedantic"
+#endif
+struct mlx5_ifc_qpc_extension_and_pas_list_bits {
+       struct mlx5_ifc_qpc_extension_bits qpc_data_extension;
+       u8 pas[0][0x40];
+};
+
+
 #ifdef PEDANTIC
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
@@ -3244,7 +3273,8 @@ struct mlx5_ifc_create_qp_in_bits {
        u8 uid[0x10];
        u8 reserved_at_20[0x10];
        u8 op_mod[0x10];
-       u8 reserved_at_40[0x40];
+       u8 qpc_ext[0x1];
+       u8 reserved_at_41[0x3f];
        u8 opt_param_mask[0x20];
        u8 reserved_at_a0[0x20];
        struct mlx5_ifc_qpc_bits qpc;
@@ -3252,7 +3282,11 @@ struct mlx5_ifc_create_qp_in_bits {
        u8 wq_umem_id[0x20];
        u8 wq_umem_valid[0x1];
        u8 reserved_at_861[0x1f];
-       u8 pas[0][0x40];
+       union {
+               struct mlx5_ifc_qpc_pas_list_bits qpc_pas_list;
+               struct mlx5_ifc_qpc_extension_and_pas_list_bits
+                                       qpc_extension_and_pas_list;
+       };
 };
 #ifdef PEDANTIC
 #pragma GCC diagnostic error "-Wpedantic"