regex/mlx5: fix UAR allocation
authorViacheslav Ovsiienko <viacheslavo@nvidia.com>
Tue, 10 Nov 2020 16:04:17 +0000 (16:04 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Sat, 14 Nov 2020 09:56:30 +0000 (10:56 +0100)
This patch provides the UAR allocation workaround for the
hosts where UAR allocation with Write-Combining memory
mapping type fails.

Fixes: b34d816363b5 ("regex/mlx5: support rules import")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/regex/mlx5/mlx5_regex.c

index 17590b9..05048e7 100644 (file)
@@ -176,7 +176,12 @@ mlx5_regex_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
                rte_errno = ENOMEM;
                goto error;
        }
-       priv->uar = mlx5_glue->devx_alloc_uar(ctx, 0);
+       /*
+        * This PMD always claims the write memory barrier on UAR
+        * registers writings, it is safe to allocate UAR with any
+        * memory mapping type.
+        */
+       priv->uar = mlx5_devx_alloc_uar(ctx, -1);
        if (!priv->uar) {
                DRV_LOG(ERR, "can't allocate uar.");
                rte_errno = ENOMEM;