mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
net/mlxfw: Drop hard coded max FW flash image size
[ Upstream commit 70d81f25cc92cc4e914516c9935ae752f27d78ad ]
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: 410ed13cae ("Add the mlxfw module for Mellanox firmware flash process")
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>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Link: https://patch.msgid.link/1737030796-1441634-1-git-send-email-moshe@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5860abbf15
commit
349bb80fa0
@@ -14,7 +14,6 @@
|
|||||||
#define MLXFW_FSM_STATE_WAIT_TIMEOUT_MS 30000
|
#define MLXFW_FSM_STATE_WAIT_TIMEOUT_MS 30000
|
||||||
#define MLXFW_FSM_STATE_WAIT_ROUNDS \
|
#define MLXFW_FSM_STATE_WAIT_ROUNDS \
|
||||||
(MLXFW_FSM_STATE_WAIT_TIMEOUT_MS / MLXFW_FSM_STATE_WAIT_CYCLE_MS)
|
(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[] = {
|
static const int mlxfw_fsm_state_errno[] = {
|
||||||
[MLXFW_FSM_STATE_ERR_ERROR] = -EIO,
|
[MLXFW_FSM_STATE_ERR_ERROR] = -EIO,
|
||||||
@@ -229,7 +228,6 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev,
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
comp_max_size = min_t(u32, comp_max_size, MLXFW_FSM_MAX_COMPONENT_SIZE);
|
|
||||||
if (comp->data_size > comp_max_size) {
|
if (comp->data_size > comp_max_size) {
|
||||||
MLXFW_ERR_MSG(mlxfw_dev, extack,
|
MLXFW_ERR_MSG(mlxfw_dev, extack,
|
||||||
"Component size is bigger than limit", -EINVAL);
|
"Component size is bigger than limit", -EINVAL);
|
||||||
|
|||||||
Reference in New Issue
Block a user