* - ``io_eq_size``
      - driverinit
      - The range is between 64 and 4096.
+   * - ``event_eq_size``
+     - driverinit
+     - The range is between 64 and 4096.
 
 The ``mlx5`` driver also implements the following driver-specific
 parameters.
 
                              mlx5_devlink_enable_remote_dev_reset_set, NULL),
        DEVLINK_PARAM_GENERIC(IO_EQ_SIZE, BIT(DEVLINK_PARAM_CMODE_DRIVERINIT),
                              NULL, NULL, mlx5_devlink_eq_depth_validate),
+       DEVLINK_PARAM_GENERIC(EVENT_EQ_SIZE, BIT(DEVLINK_PARAM_CMODE_DRIVERINIT),
+                             NULL, NULL, mlx5_devlink_eq_depth_validate),
 };
 
 static void mlx5_devlink_set_params_init_values(struct devlink *devlink)
        devlink_param_driverinit_value_set(devlink,
                                           DEVLINK_PARAM_GENERIC_ID_IO_EQ_SIZE,
                                           value);
+
+       value.vu32 = MLX5_NUM_ASYNC_EQE;
+       devlink_param_driverinit_value_set(devlink,
+                                          DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE,
+                                          value);
 }
 
 static const struct devlink_param enable_eth_param =
 
                              name, err);
 }
 
+static u16 async_eq_depth_devlink_param_get(struct mlx5_core_dev *dev)
+{
+       struct devlink *devlink = priv_to_devlink(dev);
+       union devlink_param_value val;
+       int err;
+
+       err = devlink_param_driverinit_value_get(devlink,
+                                                DEVLINK_PARAM_GENERIC_ID_EVENT_EQ_SIZE,
+                                                &val);
+       if (!err)
+               return val.vu32;
+       mlx5_core_dbg(dev, "Failed to get param. using default. err = %d\n", err);
+       return MLX5_NUM_ASYNC_EQE;
+}
 static int create_async_eqs(struct mlx5_core_dev *dev)
 {
        struct mlx5_eq_table *table = dev->priv.eq_table;
 
        param = (struct mlx5_eq_param) {
                .irq_index = MLX5_IRQ_EQ_CTRL,
-               .nent = MLX5_NUM_ASYNC_EQE,
+               .nent = async_eq_depth_devlink_param_get(dev),
        };
 
        gather_async_events_mask(dev, param.mask);