summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h
diff options
context:
space:
mode:
authorMoshe Shemesh <moshe@nvidia.com>2023-05-31 13:50:21 +0300
committerSaeed Mahameed <saeedm@nvidia.com>2023-08-14 14:40:21 -0700
commita9f168e4c6e1f623dcf2640b9d76a4f61b9731e5 (patch)
tree5ccb4a9012a8d773672ad1fc1fd63469025980e4 /drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h
parent6486c0f44ed8e91073c1b08e83075e3832618ae5 (diff)
downloadlinux-stable-a9f168e4c6e1f623dcf2640b9d76a4f61b9731e5.tar.gz
linux-stable-a9f168e4c6e1f623dcf2640b9d76a4f61b9731e5.tar.bz2
linux-stable-a9f168e4c6e1f623dcf2640b9d76a4f61b9731e5.zip
net/mlx5: Check with FW that sync reset completed successfully
Even if the PF driver had no error on his part of the sync reset flow, the firmware can see wider picture as it syncs all the PFs in the flow. So add at end of sync reset flow check with firmware by reading MFRL register and initialization segment that the flow had no issue from firmware point of view too. Signed-off-by: Moshe Shemesh <moshe@nvidia.com> Reviewed-by: Shay Drory <shayd@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h
index c57465595f7c..ea527d06a85f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.h
@@ -12,6 +12,8 @@ int mlx5_fw_reset_set_reset_sync(struct mlx5_core_dev *dev, u8 reset_type_sel,
int mlx5_fw_reset_set_live_patch(struct mlx5_core_dev *dev);
int mlx5_fw_reset_wait_reset_done(struct mlx5_core_dev *dev);
+int mlx5_fw_reset_verify_fw_complete(struct mlx5_core_dev *dev,
+ struct netlink_ext_ack *extack);
void mlx5_fw_reset_events_start(struct mlx5_core_dev *dev);
void mlx5_fw_reset_events_stop(struct mlx5_core_dev *dev);
void mlx5_drain_fw_reset(struct mlx5_core_dev *dev);