X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fvdpa%2Fmlx5%2Fmlx5_vdpa_mem.c;h=f8861d5d2661b7b156bb2071de645b52686be97c;hb=2ef79bea8fd908e7efcabb6c42cc4eb5e8d561b3;hp=398ca353ba625060ec95b198451b3747404e7050;hpb=cc07a42da2504e684f430fe9e2c4e50927df0e02;p=dpdk.git diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_mem.c b/drivers/vdpa/mlx5/mlx5_vdpa_mem.c index 398ca353ba..f8861d5d26 100644 --- a/drivers/vdpa/mlx5/mlx5_vdpa_mem.c +++ b/drivers/vdpa/mlx5/mlx5_vdpa_mem.c @@ -14,39 +14,6 @@ #include "mlx5_vdpa_utils.h" #include "mlx5_vdpa.h" -static int -mlx5_vdpa_pd_prepare(struct mlx5_vdpa_priv *priv) -{ -#ifdef HAVE_IBV_FLOW_DV_SUPPORT - if (priv->pd) - return 0; - priv->pd = mlx5_glue->alloc_pd(priv->ctx); - if (priv->pd == NULL) { - DRV_LOG(ERR, "Failed to allocate PD."); - return errno ? -errno : -ENOMEM; - } - struct mlx5dv_obj obj; - struct mlx5dv_pd pd_info; - int ret = 0; - - obj.pd.in = priv->pd; - obj.pd.out = &pd_info; - ret = mlx5_glue->dv_init_obj(&obj, MLX5DV_OBJ_PD); - if (ret) { - DRV_LOG(ERR, "Fail to get PD object info."); - mlx5_glue->dealloc_pd(priv->pd); - priv->pd = NULL; - return -errno; - } - priv->pdn = pd_info.pdn; - return 0; -#else - (void)priv; - DRV_LOG(ERR, "Cannot get pdn - no DV support."); - return -ENOTSUP; -#endif /* HAVE_IBV_FLOW_DV_SUPPORT */ -} - void mlx5_vdpa_mem_dereg(struct mlx5_vdpa_priv *priv) { @@ -68,10 +35,6 @@ mlx5_vdpa_mem_dereg(struct mlx5_vdpa_priv *priv) claim_zero(mlx5_glue->dereg_mr(priv->null_mr)); priv->null_mr = NULL; } - if (priv->pd) { - claim_zero(mlx5_glue->dealloc_pd(priv->pd)); - priv->pd = NULL; - } if (priv->vmem) { free(priv->vmem); priv->vmem = NULL; @@ -230,9 +193,6 @@ mlx5_vdpa_mem_register(struct mlx5_vdpa_priv *priv) if (!mem) return -rte_errno; priv->vmem = mem; - ret = mlx5_vdpa_pd_prepare(priv); - if (ret) - goto error; priv->null_mr = mlx5_glue->alloc_null_mr(priv->pd); if (!priv->null_mr) { DRV_LOG(ERR, "Failed to allocate null MR."); @@ -263,6 +223,8 @@ mlx5_vdpa_mem_register(struct mlx5_vdpa_priv *priv) mkey_attr.pg_access = 1; mkey_attr.klm_array = NULL; mkey_attr.klm_num = 0; + mkey_attr.relaxed_ordering_read = 0; + mkey_attr.relaxed_ordering_write = 0; entry->mkey = mlx5_devx_cmd_mkey_create(priv->ctx, &mkey_attr); if (!entry->mkey) { DRV_LOG(ERR, "Failed to create direct Mkey.");