Commit 9947204c authored by Moshe Shemesh's avatar Moshe Shemesh Committed by Jakub Kicinski

net/mlx5: Add device cap for supporting hot reset in sync reset flow

New devices with new FW can support sync reset for firmware activate
using hot reset. Add capability for supporting it and add MFRL field to
query from FW which type of PCI reset method to use while handling sync
reset events.
Signed-off-by: default avatarMoshe Shemesh <moshe@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20240911201757.1505453-10-saeed@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 1217e698
...@@ -1856,7 +1856,8 @@ struct mlx5_ifc_cmd_hca_cap_bits { ...@@ -1856,7 +1856,8 @@ struct mlx5_ifc_cmd_hca_cap_bits {
u8 reserved_at_328[0x2]; u8 reserved_at_328[0x2];
u8 relaxed_ordering_read[0x1]; u8 relaxed_ordering_read[0x1];
u8 log_max_pd[0x5]; u8 log_max_pd[0x5];
u8 reserved_at_330[0x6]; u8 reserved_at_330[0x5];
u8 pcie_reset_using_hotreset_method[0x1];
u8 pci_sync_for_fw_update_with_driver_unload[0x1]; u8 pci_sync_for_fw_update_with_driver_unload[0x1];
u8 vnic_env_cnt_steering_fail[0x1]; u8 vnic_env_cnt_steering_fail[0x1];
u8 vport_counter_local_loopback[0x1]; u8 vport_counter_local_loopback[0x1];
...@@ -11188,6 +11189,11 @@ struct mlx5_ifc_mcda_reg_bits { ...@@ -11188,6 +11189,11 @@ struct mlx5_ifc_mcda_reg_bits {
u8 data[][0x20]; u8 data[][0x20];
}; };
enum {
MLX5_MFRL_REG_PCI_RESET_METHOD_LINK_TOGGLE = 0,
MLX5_MFRL_REG_PCI_RESET_METHOD_HOT_RESET = 1,
};
enum { enum {
MLX5_MFRL_REG_RESET_STATE_IDLE = 0, MLX5_MFRL_REG_RESET_STATE_IDLE = 0,
MLX5_MFRL_REG_RESET_STATE_IN_NEGOTIATION = 1, MLX5_MFRL_REG_RESET_STATE_IN_NEGOTIATION = 1,
...@@ -11215,7 +11221,8 @@ struct mlx5_ifc_mfrl_reg_bits { ...@@ -11215,7 +11221,8 @@ struct mlx5_ifc_mfrl_reg_bits {
u8 pci_sync_for_fw_update_start[0x1]; u8 pci_sync_for_fw_update_start[0x1];
u8 pci_sync_for_fw_update_resp[0x2]; u8 pci_sync_for_fw_update_resp[0x2];
u8 rst_type_sel[0x3]; u8 rst_type_sel[0x3];
u8 reserved_at_28[0x4]; u8 pci_reset_req_method[0x3];
u8 reserved_at_2b[0x1];
u8 reset_state[0x4]; u8 reset_state[0x4];
u8 reset_type[0x8]; u8 reset_type[0x8];
u8 reset_level[0x8]; u8 reset_level[0x8];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment