Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mlx5/mlx5_core/mlx5_fw.c
Show First 20 Lines • Show All 300 Lines • ▼ Show 20 Lines | int mlx5_cmd_force_teardown_hca(struct mlx5_core_dev *dev) | ||||
} | } | ||||
return 0; | return 0; | ||||
} | } | ||||
#define MLX5_FAST_TEARDOWN_WAIT_MS 3000 | #define MLX5_FAST_TEARDOWN_WAIT_MS 3000 | ||||
int mlx5_cmd_fast_teardown_hca(struct mlx5_core_dev *dev) | int mlx5_cmd_fast_teardown_hca(struct mlx5_core_dev *dev) | ||||
{ | { | ||||
int end, delay_ms = MLX5_FAST_TEARDOWN_WAIT_MS; | unsigned long end, delay_ms = MLX5_FAST_TEARDOWN_WAIT_MS; | ||||
u32 out[MLX5_ST_SZ_DW(teardown_hca_out)] = {}; | u32 out[MLX5_ST_SZ_DW(teardown_hca_out)] = {}; | ||||
u32 in[MLX5_ST_SZ_DW(teardown_hca_in)] = {}; | u32 in[MLX5_ST_SZ_DW(teardown_hca_in)] = {}; | ||||
int state; | int state; | ||||
int ret; | int ret; | ||||
if (!MLX5_CAP_GEN(dev, fast_teardown)) { | if (!MLX5_CAP_GEN(dev, fast_teardown)) { | ||||
mlx5_core_dbg(dev, "fast teardown is not supported in the firmware\n"); | mlx5_core_dbg(dev, "fast teardown is not supported in the firmware\n"); | ||||
return -EOPNOTSUPP; | return -EOPNOTSUPP; | ||||
Show All 20 Lines | int mlx5_cmd_fast_teardown_hca(struct mlx5_core_dev *dev) | ||||
do { | do { | ||||
if (mlx5_get_nic_state(dev) == MLX5_NIC_IFC_DISABLED) | if (mlx5_get_nic_state(dev) == MLX5_NIC_IFC_DISABLED) | ||||
break; | break; | ||||
pause("W", 1); | pause("W", 1); | ||||
} while (!time_after(jiffies, end)); | } while (!time_after(jiffies, end)); | ||||
if (mlx5_get_nic_state(dev) != MLX5_NIC_IFC_DISABLED) { | if (mlx5_get_nic_state(dev) != MLX5_NIC_IFC_DISABLED) { | ||||
mlx5_core_err(dev, "NIC IFC still %d after %ums.\n", | mlx5_core_err(dev, "NIC IFC still %d after %lums.\n", | ||||
mlx5_get_nic_state(dev), delay_ms); | mlx5_get_nic_state(dev), delay_ms); | ||||
return -EIO; | return -EIO; | ||||
} | } | ||||
return 0; | return 0; | ||||
} | } | ||||
int mlx5_core_set_dc_cnak_trace(struct mlx5_core_dev *dev, int enable, | int mlx5_core_set_dc_cnak_trace(struct mlx5_core_dev *dev, int enable, | ||||
u64 addr) | u64 addr) | ||||
▲ Show 20 Lines • Show All 281 Lines • Show Last 20 Lines |