mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
net/mlx5: Handle sync reset unload event
Added a new event handler to firmware sync reset, which is used to support firmware sync reset flow on smart NIC. Adding this new stage to the flow enables the firmware to ensure host PFs unload before ECPFs unload, to avoid race of PFs recovery. If firmware sends sync_reset_unload event to driver the driver should unload and close all HW resources of the function. Once the driver finishes unloading part, it can't get any more events from firmware as event queues are closed, so it polls the reset state field to know when to continue to next stage of the sync reset flow. Added capability bit for supporting sync_reset_unload event. Signed-off-by: Moshe Shemesh <moshe@nvidia.com> Reviewed-by: Shay Drory <shayd@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
committed by
Saeed Mahameed
parent
6f8551f8d9
commit
7a9770f1bf
@@ -716,6 +716,7 @@ enum sync_rst_state_type {
|
||||
MLX5_SYNC_RST_STATE_RESET_REQUEST = 0x0,
|
||||
MLX5_SYNC_RST_STATE_RESET_NOW = 0x1,
|
||||
MLX5_SYNC_RST_STATE_RESET_ABORT = 0x2,
|
||||
MLX5_SYNC_RST_STATE_RESET_UNLOAD = 0x3,
|
||||
};
|
||||
|
||||
struct mlx5_eqe_sync_fw_update {
|
||||
|
||||
@@ -1755,7 +1755,8 @@ struct mlx5_ifc_cmd_hca_cap_bits {
|
||||
u8 reserved_at_328[0x2];
|
||||
u8 relaxed_ordering_read[0x1];
|
||||
u8 log_max_pd[0x5];
|
||||
u8 reserved_at_330[0x7];
|
||||
u8 reserved_at_330[0x6];
|
||||
u8 pci_sync_for_fw_update_with_driver_unload[0x1];
|
||||
u8 vnic_env_cnt_steering_fail[0x1];
|
||||
u8 reserved_at_338[0x1];
|
||||
u8 q_counter_aggregation[0x1];
|
||||
|
||||
Reference in New Issue
Block a user