Skip to content
Snippets Groups Projects
Commit d3daae1b authored by Ido Schimmel's avatar Ido Schimmel Committed by David S. Miller
Browse files

mlxsw: spectrum_buffers: Query shared buffer size from firmware


Instead of hard coding the size of the shared buffer in the driver,
query it from the firmware, as it may change in future devices.

Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5ec2ee7d
No related branches found
No related tags found
Loading
...@@ -536,12 +536,15 @@ static int mlxsw_sp_sb_mms_init(struct mlxsw_sp *mlxsw_sp) ...@@ -536,12 +536,15 @@ static int mlxsw_sp_sb_mms_init(struct mlxsw_sp *mlxsw_sp)
return 0; return 0;
} }
#define MLXSW_SP_SB_SIZE (16 * 1024 * 1024)
int mlxsw_sp_buffers_init(struct mlxsw_sp *mlxsw_sp) int mlxsw_sp_buffers_init(struct mlxsw_sp *mlxsw_sp)
{ {
u64 sb_size;
int err; int err;
if (!MLXSW_CORE_RES_VALID(mlxsw_sp->core, MAX_BUFFER_SIZE))
return -EIO;
sb_size = MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_BUFFER_SIZE);
err = mlxsw_sp_sb_ports_init(mlxsw_sp); err = mlxsw_sp_sb_ports_init(mlxsw_sp);
if (err) if (err)
return err; return err;
...@@ -554,8 +557,7 @@ int mlxsw_sp_buffers_init(struct mlxsw_sp *mlxsw_sp) ...@@ -554,8 +557,7 @@ int mlxsw_sp_buffers_init(struct mlxsw_sp *mlxsw_sp)
err = mlxsw_sp_sb_mms_init(mlxsw_sp); err = mlxsw_sp_sb_mms_init(mlxsw_sp);
if (err) if (err)
goto err_sb_mms_init; goto err_sb_mms_init;
err = devlink_sb_register(priv_to_devlink(mlxsw_sp->core), 0, err = devlink_sb_register(priv_to_devlink(mlxsw_sp->core), 0, sb_size,
MLXSW_SP_SB_SIZE,
MLXSW_SP_SB_POOL_COUNT, MLXSW_SP_SB_POOL_COUNT,
MLXSW_SP_SB_POOL_COUNT, MLXSW_SP_SB_POOL_COUNT,
MLXSW_SP_SB_TC_COUNT, MLXSW_SP_SB_TC_COUNT,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment