net/bnxt: fix build with some compilers
[dpdk.git] / drivers / net / mlx5 / mlx5.c
index daadf4a..06a8c67 100644 (file)
 /* Select port representors to instantiate. */
 #define MLX5_REPRESENTOR "representor"
 
+/* Device parameter to configure the maximum number of dump files per queue. */
+#define MLX5_MAX_DUMP_FILES_NUM "max_dump_files_num"
+
 #ifndef HAVE_IBV_MLX5_MOD_MPW
 #define MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED (1 << 2)
 #define MLX5DV_CONTEXT_FLAGS_ENHANCED_MPW (1 << 3)
@@ -313,7 +316,7 @@ mlx5_free_shared_ibctx(struct mlx5_ibv_shared *sh)
         **/
        assert(!sh->intr_cnt);
        if (sh->intr_cnt)
-               rte_intr_callback_unregister
+               mlx5_intr_callback_unregister
                        (&sh->intr_handle, mlx5_dev_interrupt_handler, sh);
        pthread_mutex_destroy(&sh->intr_mutex);
        if (sh->pd)
@@ -773,6 +776,7 @@ const struct eth_dev_ops mlx5_dev_ops = {
        .xstats_get_names = mlx5_xstats_get_names,
        .fw_version_get = mlx5_fw_version_get,
        .dev_infos_get = mlx5_dev_infos_get,
+       .read_clock = mlx5_read_clock,
        .dev_supported_ptypes_get = mlx5_dev_supported_ptypes_get,
        .vlan_filter_set = mlx5_vlan_filter_set,
        .rx_queue_setup = mlx5_rx_queue_setup,
@@ -926,6 +930,8 @@ mlx5_args_check(const char *key, const char *val, void *opaque)
                config->dv_flow_en = !!tmp;
        } else if (strcmp(MLX5_MR_EXT_MEMSEG_EN, key) == 0) {
                config->mr_ext_memseg_en = !!tmp;
+       } else if (strcmp(MLX5_MAX_DUMP_FILES_NUM, key) == 0) {
+               config->max_dump_files_num = tmp;
        } else {
                DRV_LOG(WARNING, "%s: unknown parameter", key);
                rte_errno = EINVAL;
@@ -970,6 +976,7 @@ mlx5_args(struct mlx5_dev_config *config, struct rte_devargs *devargs)
                MLX5_DV_FLOW_EN,
                MLX5_MR_EXT_MEMSEG_EN,
                MLX5_REPRESENTOR,
+               MLX5_MAX_DUMP_FILES_NUM,
                NULL,
        };
        struct rte_kvargs *kvlist;
@@ -980,8 +987,10 @@ mlx5_args(struct mlx5_dev_config *config, struct rte_devargs *devargs)
                return 0;
        /* Following UGLY cast is done to pass checkpatch. */
        kvlist = rte_kvargs_parse(devargs->args, params);
-       if (kvlist == NULL)
-               return 0;
+       if (kvlist == NULL) {
+               rte_errno = EINVAL;
+               return -rte_errno;
+       }
        /* Process parameters. */
        for (i = 0; (params[i] != NULL); ++i) {
                if (rte_kvargs_count(kvlist, params[i])) {
@@ -1439,6 +1448,8 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
                DRV_LOG(WARNING, "Multi-Packet RQ isn't supported");
                config.mprq.enabled = 0;
        }
+       if (config.max_dump_files_num == 0)
+               config.max_dump_files_num = 128;
        eth_dev = rte_eth_dev_allocate(name);
        if (eth_dev == NULL) {
                DRV_LOG(ERR, "can not allocate rte ethdev");