common/mlx5: change class values as bits
authorParav Pandit <parav@mellanox.com>
Mon, 27 Jul 2020 17:47:12 +0000 (20:47 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 28 Jul 2020 16:52:11 +0000 (18:52 +0200)
mlx5 PCI Device supports multiple classes of devices such as net, vdpa,
and/or regex.
To support these multiple classes, change mlx5_class to a
bitmap values so that if users asks to enable multiple of them, all
supported classes can be parsed.

Signed-off-by: Parav Pandit <parav@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
drivers/common/mlx5/mlx5_common.h

index e8b0852..712e212 100644 (file)
@@ -13,6 +13,7 @@
 #include <rte_log.h>
 #include <rte_kvargs.h>
 #include <rte_devargs.h>
+#include <rte_bitops.h>
 
 #include "mlx5_prm.h"
 #include "mlx5_devx_cmds.h"
@@ -208,10 +209,10 @@ int mlx5_get_ifname_sysfs(const char *ibdev_path, char *ifname);
 #define MLX5_CLASS_ARG_NAME "class"
 
 enum mlx5_class {
-       MLX5_CLASS_NET,
-       MLX5_CLASS_VDPA,
-       MLX5_CLASS_REGEX,
        MLX5_CLASS_INVALID,
+       MLX5_CLASS_NET = RTE_BIT64(0),
+       MLX5_CLASS_VDPA = RTE_BIT64(1),
+       MLX5_CLASS_REGEX = RTE_BIT64(2),
 };
 
 #define MLX5_DBR_PAGE_SIZE 4096 /* Must be >= 512. */