mlx5 PMD does not require configuration restore on rte_eth_dev_start(). Add implementation of get_restore_flags() indicating that.
Signed-off-by: Dariusz Sosnowski <dsosnow...@nvidia.com> --- drivers/net/mlx5/mlx5.c | 2 ++ drivers/net/mlx5/mlx5.h | 3 +++ drivers/net/mlx5/mlx5_ethdev.c | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 8d266b0e64..9b6acaf7f1 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -2571,6 +2571,7 @@ const struct eth_dev_ops mlx5_dev_ops = { .count_aggr_ports = mlx5_count_aggr_ports, .map_aggr_tx_affinity = mlx5_map_aggr_tx_affinity, .rx_metadata_negotiate = mlx5_flow_rx_metadata_negotiate, + .get_restore_flags = mlx5_get_restore_flags, }; /* Available operations from secondary process. */ @@ -2663,6 +2664,7 @@ const struct eth_dev_ops mlx5_dev_ops_isolate = { .get_monitor_addr = mlx5_get_monitor_addr, .count_aggr_ports = mlx5_count_aggr_ports, .map_aggr_tx_affinity = mlx5_map_aggr_tx_affinity, + .get_restore_flags = mlx5_get_restore_flags, }; /** diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 869aac032b..a5829fb71a 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -2228,6 +2228,9 @@ eth_rx_burst_t mlx5_select_rx_function(struct rte_eth_dev *dev); struct mlx5_priv *mlx5_port_to_eswitch_info(uint16_t port, bool valid); struct mlx5_priv *mlx5_dev_to_eswitch_info(struct rte_eth_dev *dev); int mlx5_dev_configure_rss_reta(struct rte_eth_dev *dev); +void mlx5_get_restore_flags(struct rte_eth_dev *dev, + enum rte_eth_dev_operation op, + uint32_t *flags); /* mlx5_ethdev_os.c */ diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c index 6a678d6dcc..8b78efc3fd 100644 --- a/drivers/net/mlx5/mlx5_ethdev.c +++ b/drivers/net/mlx5/mlx5_ethdev.c @@ -796,3 +796,22 @@ mlx5_hairpin_cap_get(struct rte_eth_dev *dev, struct rte_eth_hairpin_cap *cap) cap->tx_cap.rte_memory = hca_attr->hairpin_sq_wq_in_host_mem; return 0; } + +/** + * Indicate to ethdev layer, what configuration must be restored. + * + * @param[in] dev + * Pointer to Ethernet device structure. + * @param[in] op + * Type of operation which might require. + * @param[out] flags + * Restore flags will be stored here. + */ +void +mlx5_get_restore_flags(__rte_unused struct rte_eth_dev *dev, + __rte_unused enum rte_eth_dev_operation op, + uint32_t *flags) +{ + /* mlx5 PMD does not require any configuration restore. */ + *flags = 0; +} -- 2.39.5