Message ID | 1737030796-1441634-1-git-send-email-moshe@nvidia.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] net/mlxfw: Drop hard coded max FW flash image size | expand |
On Thu, Jan 16, 2025 at 02:33:16PM +0200, Moshe Shemesh wrote: > From: Maher Sanalla <msanalla@nvidia.com> > > Currently, mlxfw kernel module limits FW flash image size to be > 10MB at most, preventing the ability to burn recent BlueField-3 > FW that exceeds the said size limit. > > Thus, drop the hard coded limit. Instead, rely on FW's > max_component_size threshold that is reported in MCQI register > as the size limit for FW image. > > Fixes: 410ed13cae39 ("Add the mlxfw module for Mellanox firmware flash process") > Cc: Ido Schimmel <idosch@nvidia.com> > Signed-off-by: Maher Sanalla <msanalla@nvidia.com> > Signed-off-by: Moshe Shemesh <moshe@nvidia.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Tested-by: Ido Schimmel <idosch@nvidia.com> Tested on Spectrum-{1,2,3,4}.
On Thu, Jan 16, 2025 at 02:33:16PM +0200, Moshe Shemesh wrote: > From: Maher Sanalla <msanalla@nvidia.com> > > Currently, mlxfw kernel module limits FW flash image size to be > 10MB at most, preventing the ability to burn recent BlueField-3 > FW that exceeds the said size limit. > > Thus, drop the hard coded limit. Instead, rely on FW's > max_component_size threshold that is reported in MCQI register > as the size limit for FW image. > > Fixes: 410ed13cae39 ("Add the mlxfw module for Mellanox firmware flash process") > Cc: Ido Schimmel <idosch@nvidia.com> > Signed-off-by: Maher Sanalla <msanalla@nvidia.com> > Signed-off-by: Moshe Shemesh <moshe@nvidia.com> > --- > drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c > index 46245e0b2462..43c84900369a 100644 > --- a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c > +++ b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c > @@ -14,7 +14,6 @@ > #define MLXFW_FSM_STATE_WAIT_TIMEOUT_MS 30000 > #define MLXFW_FSM_STATE_WAIT_ROUNDS \ > (MLXFW_FSM_STATE_WAIT_TIMEOUT_MS / MLXFW_FSM_STATE_WAIT_CYCLE_MS) > -#define MLXFW_FSM_MAX_COMPONENT_SIZE (10 * (1 << 20)) > > static const int mlxfw_fsm_state_errno[] = { > [MLXFW_FSM_STATE_ERR_ERROR] = -EIO, > @@ -229,7 +228,6 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev, > return err; > } > > - comp_max_size = min_t(u32, comp_max_size, MLXFW_FSM_MAX_COMPONENT_SIZE); > if (comp->data_size > comp_max_size) { > MLXFW_ERR_MSG(mlxfw_dev, extack, > "Component size is bigger than limit", -EINVAL); Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com> > -- > 2.18.2
diff --git a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c index 46245e0b2462..43c84900369a 100644 --- a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c +++ b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c @@ -14,7 +14,6 @@ #define MLXFW_FSM_STATE_WAIT_TIMEOUT_MS 30000 #define MLXFW_FSM_STATE_WAIT_ROUNDS \ (MLXFW_FSM_STATE_WAIT_TIMEOUT_MS / MLXFW_FSM_STATE_WAIT_CYCLE_MS) -#define MLXFW_FSM_MAX_COMPONENT_SIZE (10 * (1 << 20)) static const int mlxfw_fsm_state_errno[] = { [MLXFW_FSM_STATE_ERR_ERROR] = -EIO, @@ -229,7 +228,6 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev, return err; } - comp_max_size = min_t(u32, comp_max_size, MLXFW_FSM_MAX_COMPONENT_SIZE); if (comp->data_size > comp_max_size) { MLXFW_ERR_MSG(mlxfw_dev, extack, "Component size is bigger than limit", -EINVAL);