Blame SOURCES/0001-mlx5-DR-Create-NC-UAR-as-default-but-fall-back-to-WC.patch

3bcb62
From 297cc2c6323514a69b57aeeb5207cf63e5e2549b Mon Sep 17 00:00:00 2001
3bcb62
From: Bodong Wang <bodong@nvidia.com>
3bcb62
Date: Tue, 27 Oct 2020 08:59:02 -0500
3bcb62
Subject: [PATCH] mlx5: DR, Create NC UAR as default but fall-back to WC if
3bcb62
 failed
3bcb62
3bcb62
[ Upstream commit 40b8e48792a423da1ceeaf58ac8eee81e9e0194a ]
3bcb62
3bcb62
Some devices may only support either NC or WC UAR. To handle such
3bcb62
devices, first try to create NC, then try WC if NC failed.
3bcb62
3bcb62
Fixes: 84ac5272a05a ("mlx5: Enhance mlx5dv_devx_alloc_uar() functionality")
3bcb62
Signed-off-by: Bodong Wang <bodong@nvidia.com>
3bcb62
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
3bcb62
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
3bcb62
---
3bcb62
 providers/mlx5/dr_domain.c | 8 +++++++-
3bcb62
 1 file changed, 7 insertions(+), 1 deletion(-)
3bcb62
3bcb62
diff --git a/providers/mlx5/dr_domain.c b/providers/mlx5/dr_domain.c
3bcb62
index b47c5841f624..5b8739dca2ef 100644
3bcb62
--- a/providers/mlx5/dr_domain.c
3bcb62
+++ b/providers/mlx5/dr_domain.c
3bcb62
@@ -50,7 +50,13 @@ static int dr_domain_init_resources(struct mlx5dv_dr_domain *dmn)
3bcb62
 		return ret;
3bcb62
 	}
3bcb62
 
3bcb62
-	dmn->uar = mlx5dv_devx_alloc_uar(dmn->ctx, 0);
3bcb62
+	dmn->uar = mlx5dv_devx_alloc_uar(dmn->ctx,
3bcb62
+					 MLX5_IB_UAPI_UAR_ALLOC_TYPE_NC);
3bcb62
+
3bcb62
+	if (!dmn->uar)
3bcb62
+		dmn->uar = mlx5dv_devx_alloc_uar(dmn->ctx,
3bcb62
+						 MLX5_IB_UAPI_UAR_ALLOC_TYPE_BF);
3bcb62
+
3bcb62
 	if (!dmn->uar) {
3bcb62
 		dr_dbg(dmn, "Can't allocate UAR\n");
3bcb62
 		goto clean_pd;
3bcb62
-- 
3bcb62
2.25.4
3bcb62