Skip to content

Commit d3daae1

Browse files
idoschdavem330
authored andcommitted
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: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 5ec2ee7 commit d3daae1

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -536,12 +536,15 @@ static int mlxsw_sp_sb_mms_init(struct mlxsw_sp *mlxsw_sp)
536536
return 0;
537537
}
538538

539-
#define MLXSW_SP_SB_SIZE (16 * 1024 * 1024)
540-
541539
int mlxsw_sp_buffers_init(struct mlxsw_sp *mlxsw_sp)
542540
{
541+
u64 sb_size;
543542
int err;
544543

544+
if (!MLXSW_CORE_RES_VALID(mlxsw_sp->core, MAX_BUFFER_SIZE))
545+
return -EIO;
546+
sb_size = MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_BUFFER_SIZE);
547+
545548
err = mlxsw_sp_sb_ports_init(mlxsw_sp);
546549
if (err)
547550
return err;
@@ -554,8 +557,7 @@ int mlxsw_sp_buffers_init(struct mlxsw_sp *mlxsw_sp)
554557
err = mlxsw_sp_sb_mms_init(mlxsw_sp);
555558
if (err)
556559
goto err_sb_mms_init;
557-
err = devlink_sb_register(priv_to_devlink(mlxsw_sp->core), 0,
558-
MLXSW_SP_SB_SIZE,
560+
err = devlink_sb_register(priv_to_devlink(mlxsw_sp->core), 0, sb_size,
559561
MLXSW_SP_SB_POOL_COUNT,
560562
MLXSW_SP_SB_POOL_COUNT,
561563
MLXSW_SP_SB_TC_COUNT,

0 commit comments

Comments
 (0)