vdpa/mlx5: fix mkey creation check
[dpdk.git] / drivers / vdpa / mlx5 / mlx5_vdpa.h
index d9a68e7..2261792 100644 (file)
@@ -12,7 +12,7 @@
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 #include <rte_vdpa.h>
-#include <rte_vdpa_dev.h>
+#include <vdpa_driver.h>
 #include <rte_vhost.h>
 #ifdef PEDANTIC
 #pragma GCC diagnostic error "-Wpedantic"
@@ -59,10 +59,10 @@ struct mlx5_vdpa_event_qp {
 
 struct mlx5_vdpa_query_mr {
        SLIST_ENTRY(mlx5_vdpa_query_mr) next;
-       void *addr;
-       uint64_t length;
-       struct mlx5dv_devx_umem *umem;
-       struct mlx5_devx_obj *mkey;
+       union {
+               struct ibv_mr *mr;
+               struct mlx5_devx_obj *mkey;
+       };
        int is_indirect;
 };
 
@@ -89,7 +89,7 @@ struct mlx5_vdpa_virtq {
                void *buf;
                uint32_t size;
        } umems[3];
-       struct rte_intr_handle intr_handle;
+       struct rte_intr_handle *intr_handle;
        uint64_t err_time[3]; /* RDTSC time of recent errors. */
        uint32_t n_retry;
        struct mlx5_devx_virtio_q_couners_attr reset;
@@ -136,18 +136,18 @@ struct mlx5_vdpa_priv {
        struct rte_vhost_memory *vmem;
        struct mlx5dv_devx_event_channel *eventc;
        struct mlx5dv_devx_event_channel *err_chnl;
-       struct mlx5dv_devx_uar *uar;
-       struct rte_intr_handle err_intr_handle;
+       struct mlx5_uar uar;
+       struct rte_intr_handle *err_intr_handle;
        struct mlx5_devx_obj *td;
        struct mlx5_devx_obj *tiss[16]; /* TIS list for each LAG port. */
        uint16_t nr_virtqs;
        uint8_t num_lag_ports;
-       uint8_t qp_ts_format;
        uint64_t features; /* Negotiated features. */
        uint16_t log_max_rqt_size;
        struct mlx5_vdpa_steer steer;
        struct mlx5dv_var *var;
        void *virtq_db_addr;
+       struct mlx5_pmd_wrapped_mr lm_mr;
        SLIST_HEAD(mr_list, mlx5_vdpa_query_mr) mr_list;
        struct mlx5_vdpa_virtq virtqs[];
 };