net/mlx5: support new global device syntax
authorXueming Li <xuemingl@nvidia.com>
Thu, 23 Sep 2021 06:45:26 +0000 (14:45 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 29 Sep 2021 16:55:54 +0000 (18:55 +0200)
This patch support new global device syntax like:
bus=pci,addr=BB:DD.F/class=eth/driver=mlx5,devargs,..

In driver parameters check, ignores "driver" key which is part of new
global device syntax instead of reporting error.

Signed-off-by: Xueming Li <xuemingl@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5.c

index 02ea2e7..aa42836 100644 (file)
@@ -43,6 +43,9 @@
 
 #define MLX5_ETH_DRIVER_NAME mlx5_eth
 
+/* Driver type key for new device global syntax. */
+#define MLX5_DRIVER_KEY "driver"
+
 /* Device parameter to enable RX completion queue compression. */
 #define MLX5_RXQ_CQE_COMP_EN "rxq_cqe_comp_en"
 
@@ -1862,7 +1865,7 @@ mlx5_args_check(const char *key, const char *val, void *opaque)
        signed long tmp;
 
        /* No-op, port representors are processed in mlx5_dev_spawn(). */
-       if (!strcmp(MLX5_REPRESENTOR, key))
+       if (!strcmp(MLX5_DRIVER_KEY, key) || !strcmp(MLX5_REPRESENTOR, key))
                return 0;
        errno = 0;
        tmp = strtol(val, NULL, 0);
@@ -2016,6 +2019,7 @@ int
 mlx5_args(struct mlx5_dev_config *config, struct rte_devargs *devargs)
 {
        const char **params = (const char *[]){
+               MLX5_DRIVER_KEY,
                MLX5_RXQ_CQE_COMP_EN,
                MLX5_RXQ_PKT_PAD_EN,
                MLX5_RX_MPRQ_EN,