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 | |||||