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

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