aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox
diff options
context:
space:
mode:
authorPetr Machata <petrm@mellanox.com>2018-09-20 09:21:30 +0300
committerDavid S. Miller <davem@davemloft.net>2018-09-20 07:46:01 -0700
commit41057e28288b89da91d535ff3244bfcf90ebc97c (patch)
tree7ffb2d2503390ebe7e7d0d2f67231b6d7126c616 /drivers/net/ethernet/mellanox
parentmlxsw: spectrum_buffers: Allow an infinite maximum for per-TC pool limit (diff)
downloadlinux-dev-41057e28288b89da91d535ff3244bfcf90ebc97c.tar.xz
linux-dev-41057e28288b89da91d535ff3244bfcf90ebc97c.zip
mlxsw: spectrum_buffers: Pass SBPM min_size in cells
The SBPM register configures the shared buffer allocation and configuration per port and pool. The min_buff value is the buffer size dedicated to this single function, and is configured in cells. Currently, all sb_pm entries have 0 for min_buff, and therefore the actual unit is immaterial. However, in a follow-up patch we want to add entries with non-zero minimum. Therefore pass the min_buff from the sb_pm table through the cell conversion before handing it over to mlxsw_sp_sb_pm_write(). Signed-off-by: Petr Machata <petrm@mellanox.com> Reviewed-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox')
-rw-r--r--drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
index de51f567a76b..021b7c219f4e 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c
@@ -523,9 +523,11 @@ static int mlxsw_sp_port_sb_pms_init(struct mlxsw_sp_port *mlxsw_sp_port)
for (i = 0; i < MLXSW_SP_SB_PMS_LEN; i++) {
const struct mlxsw_sp_sb_pm *pm = &mlxsw_sp_sb_pms[i];
+ u32 min_buff;
+ min_buff = mlxsw_sp_bytes_cells(mlxsw_sp, pm->min_buff);
err = mlxsw_sp_sb_pm_write(mlxsw_sp, mlxsw_sp_port->local_port,
- i, pm->min_buff, pm->max_buff);
+ i, min_buff, pm->max_buff);
if (err)
return err;
}