Commit 3232e8c6 authored by Petr Machata's avatar Petr Machata Committed by David S. Miller

mlxsw: spectrum: Keep maximum speed around

The maximum port speed depends on link modes supported by the port, and for
Ethernet ports is constant. The maximum speed will be handy when setting
SBIB, the internal buffer used for traffic mirroring. Therefore, keep it in
struct mlxsw_sp_port for easy access.
Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2ecf87ae
...@@ -1849,6 +1849,14 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, ...@@ -1849,6 +1849,14 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port,
goto err_port_speed_by_width_set; goto err_port_speed_by_width_set;
} }
err = mlxsw_sp->port_type_speed_ops->ptys_max_speed(mlxsw_sp_port,
&mlxsw_sp_port->max_speed);
if (err) {
dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to get maximum speed\n",
mlxsw_sp_port->local_port);
goto err_max_speed_get;
}
err = mlxsw_sp_port_max_mtu_get(mlxsw_sp_port, &mlxsw_sp_port->max_mtu); err = mlxsw_sp_port_max_mtu_get(mlxsw_sp_port, &mlxsw_sp_port->max_mtu);
if (err) { if (err) {
dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to get maximum MTU\n", dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to get maximum MTU\n",
...@@ -1981,6 +1989,7 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, ...@@ -1981,6 +1989,7 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port,
err_port_admin_status_set: err_port_admin_status_set:
err_port_mtu_set: err_port_mtu_set:
err_port_max_mtu_get: err_port_max_mtu_get:
err_max_speed_get:
err_port_speed_by_width_set: err_port_speed_by_width_set:
err_port_system_port_mapping_set: err_port_system_port_mapping_set:
err_dev_addr_init: err_dev_addr_init:
......
...@@ -320,6 +320,7 @@ struct mlxsw_sp_port { ...@@ -320,6 +320,7 @@ struct mlxsw_sp_port {
struct delayed_work speed_update_dw; struct delayed_work speed_update_dw;
} span; } span;
int max_mtu; int max_mtu;
u32 max_speed;
}; };
struct mlxsw_sp_port_type_speed_ops { struct mlxsw_sp_port_type_speed_ops {
......
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