History

Merge tag 'mlx5-updates-2022-05-09' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

Saeed Mahameed says: ==================== mlx5-updates-2022-05-09 1) Gavin Li, adds exit route from waiting for FW init on device boot and increases FW init timeout on health recovery flow 2) Support 4 ports HCAs LAG mode Mark Bloch Says: ================ This series adds to mlx5 drivers support for 4 ports HCAs. Starting with ConnectX-7 HCAs with 4 ports are possible. As most driver parts aren't affected by such configuration most driver code is unchanged. Specially the only affected areas are: - Lag - Devcom - Merged E-Switch - Single FDB E-Switch Lag was chosen to be converted first. Creating hardware LAG when all 4 ports are added to the same bond device. Devom, merge E-Switch and single FDB E-Switch, are marked as supporting only 2 ports HCAs and future patches will add support for 4 ports HCAs. In order to activate the hardware lag a user can execute the: ip link add bond0 type bond ip link set bond0 type bond miimon 100 mode 2 ip link set eth2 master bond0 ip link set eth3 master bond0 ip link set eth4 master bond0 ip link set eth5 master bond0 Where eth2, eth3, eth4 and eth5 are the PFs of the same HCA. ================ ====================

David S. Miller committed 4 years ago

Commit dc3a2002 parents 53a332f 7f46a0b22 files · +720 −302Browse files

Showing the changes to include (1 of 22 files). Show all

Unified · Split

include/linux/mlx5/driver.h+4−1
@@ -84,7 +84,7 @@ enum mlx5_sqp_t { · 83 unmodified lines
8484 };
8585
8686 enum {
87− MLX5_MAX_PORTS = 2,
87+ MLX5_MAX_PORTS = 4,
8888 };
8989
9090 enum {
@@ -558,6 +558,7 @@ struct mlx5_debugfs_entries { · 467 unmodified lines
558558 struct dentry *cq_debugfs;
559559 struct dentry *cmdif_debugfs;
560560 struct dentry *pages_debugfs;
561+ struct dentry *lag_debugfs;
561562 };
562563
563564 struct mlx5_ft_pool;
@@ -632,6 +633,7 @@ enum mlx5_device_state { · 68 unmodified lines
632633
633634 enum mlx5_interface_state {
634635 MLX5_INTERFACE_STATE_UP = BIT(0),
636+ MLX5_BREAK_FW_WAIT = BIT(1),
635637 };
636638
637639 enum mlx5_pci_status {
@@ -1141,6 +1143,7 @@ int mlx5_lag_query_cong_counters(struct mlx5_core_dev *dev, · 503 unmodified lines
11411143 int num_counters,
11421144 size_t *offsets);
11431145 struct mlx5_core_dev *mlx5_lag_get_peer_mdev(struct mlx5_core_dev *dev);
1146+u8 mlx5_lag_get_num_ports(struct mlx5_core_dev *dev);
11441147 struct mlx5_uars_page *mlx5_get_uars_page(struct mlx5_core_dev *mdev);
11451148 void mlx5_put_uars_page(struct mlx5_core_dev *mdev, struct mlx5_uars_page *up);
11461149 int mlx5_dm_sw_icm_alloc(struct mlx5_core_dev *dev, enum mlx5_sw_icm_type type,