mlxfw_dev 484 drivers/net/ethernet/mellanox/mlx5/core/fw.c struct mlxfw_dev mlxfw_dev; mlxfw_dev 488 drivers/net/ethernet/mellanox/mlx5/core/fw.c static int mlx5_component_query(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 493 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 505 drivers/net/ethernet/mellanox/mlx5/core/fw.c static int mlx5_fsm_lock(struct mlxfw_dev *mlxfw_dev, u32 *fwhandle) mlxfw_dev 508 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 525 drivers/net/ethernet/mellanox/mlx5/core/fw.c static int mlx5_fsm_component_update(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 529 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 536 drivers/net/ethernet/mellanox/mlx5/core/fw.c static int mlx5_fsm_block_download(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 540 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 546 drivers/net/ethernet/mellanox/mlx5/core/fw.c static int mlx5_fsm_component_verify(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 550 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 557 drivers/net/ethernet/mellanox/mlx5/core/fw.c static int mlx5_fsm_activate(struct mlxfw_dev *mlxfw_dev, u32 fwhandle) mlxfw_dev 560 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 567 drivers/net/ethernet/mellanox/mlx5/core/fw.c static int mlx5_fsm_query_state(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 572 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 587 drivers/net/ethernet/mellanox/mlx5/core/fw.c static void mlx5_fsm_cancel(struct mlxfw_dev *mlxfw_dev, u32 fwhandle) mlxfw_dev 590 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 596 drivers/net/ethernet/mellanox/mlx5/core/fw.c static void mlx5_fsm_release(struct mlxfw_dev *mlxfw_dev, u32 fwhandle) mlxfw_dev 599 drivers/net/ethernet/mellanox/mlx5/core/fw.c container_of(mlxfw_dev, struct mlx5_mlxfw_dev, mlxfw_dev); mlxfw_dev 623 drivers/net/ethernet/mellanox/mlx5/core/fw.c .mlxfw_dev = { mlxfw_dev 639 drivers/net/ethernet/mellanox/mlx5/core/fw.c return mlxfw_firmware_flash(&mlx5_mlxfw_dev.mlxfw_dev, mlxfw_dev 34 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h struct mlxfw_dev; mlxfw_dev 37 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int (*component_query)(struct mlxfw_dev *mlxfw_dev, u16 component_index, mlxfw_dev 41 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int (*fsm_lock)(struct mlxfw_dev *mlxfw_dev, u32 *fwhandle); mlxfw_dev 43 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int (*fsm_component_update)(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 46 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int (*fsm_block_download)(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 49 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int (*fsm_component_verify)(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 52 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int (*fsm_activate)(struct mlxfw_dev *mlxfw_dev, u32 fwhandle); mlxfw_dev 54 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int (*fsm_query_state)(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 58 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h void (*fsm_cancel)(struct mlxfw_dev *mlxfw_dev, u32 fwhandle); mlxfw_dev 60 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h void (*fsm_release)(struct mlxfw_dev *mlxfw_dev, u32 fwhandle); mlxfw_dev 62 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h void (*status_notify)(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 74 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 79 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 42 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c static void mlxfw_status_notify(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 46 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c if (!mlxfw_dev->ops->status_notify) mlxfw_dev 48 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_dev->ops->status_notify(mlxfw_dev, msg, comp_name, mlxfw_dev 52 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c static int mlxfw_fsm_state_wait(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 63 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_dev->ops->fsm_query_state(mlxfw_dev, fwhandle, mlxfw_dev 92 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 108 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_dev->ops->component_query(mlxfw_dev, comp->index, mlxfw_dev 126 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_status_notify(mlxfw_dev, "Updating component", comp_name, 0, 0); mlxfw_dev 127 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_dev->ops->fsm_component_update(mlxfw_dev, fwhandle, mlxfw_dev 133 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_fsm_state_wait(mlxfw_dev, fwhandle, mlxfw_dev 139 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_status_notify(mlxfw_dev, "Downloading component", mlxfw_dev 147 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_dev->ops->fsm_block_download(mlxfw_dev, fwhandle, mlxfw_dev 152 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_status_notify(mlxfw_dev, "Downloading component", mlxfw_dev 158 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_status_notify(mlxfw_dev, "Verifying component", comp_name, 0, 0); mlxfw_dev 159 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_dev->ops->fsm_component_verify(mlxfw_dev, fwhandle, mlxfw_dev 164 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_fsm_state_wait(mlxfw_dev, fwhandle, mlxfw_dev 171 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_dev->ops->fsm_cancel(mlxfw_dev, fwhandle); mlxfw_dev 175 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c static int mlxfw_flash_components(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 183 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_mfa2_file_component_count(mfa2_file, mlxfw_dev->psid, mlxfw_dev 184 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_dev->psid_size, mlxfw_dev 195 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c comp = mlxfw_mfa2_file_component_get(mfa2_file, mlxfw_dev->psid, mlxfw_dev 196 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_dev->psid_size, i); mlxfw_dev 201 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_flash_component(mlxfw_dev, fwhandle, comp, extack); mlxfw_dev 209 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 228 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_status_notify(mlxfw_dev, "Initializing firmware flash process", mlxfw_dev 230 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_dev->ops->fsm_lock(mlxfw_dev, &fwhandle); mlxfw_dev 237 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_fsm_state_wait(mlxfw_dev, fwhandle, mlxfw_dev 242 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_flash_components(mlxfw_dev, fwhandle, mfa2_file, extack); mlxfw_dev 247 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_status_notify(mlxfw_dev, "Activating image", NULL, 0, 0); mlxfw_dev 248 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_dev->ops->fsm_activate(mlxfw_dev, fwhandle); mlxfw_dev 255 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c err = mlxfw_fsm_state_wait(mlxfw_dev, fwhandle, mlxfw_dev 261 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_dev->ops->fsm_release(mlxfw_dev, fwhandle); mlxfw_dev 264 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_status_notify(mlxfw_dev, "Firmware flash done", NULL, 0, 0); mlxfw_dev 272 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c mlxfw_dev->ops->fsm_release(mlxfw_dev, fwhandle); mlxfw_dev 147 drivers/net/ethernet/mellanox/mlxsw/spectrum.c struct mlxfw_dev mlxfw_dev; mlxfw_dev 184 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_component_query(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 189 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 207 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_fsm_lock(struct mlxfw_dev *mlxfw_dev, u32 *fwhandle) mlxfw_dev 210 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 231 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_fsm_component_update(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 236 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 245 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_fsm_block_download(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 250 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 258 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_fsm_component_verify(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 262 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 271 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_fsm_activate(struct mlxfw_dev *mlxfw_dev, u32 fwhandle) mlxfw_dev 274 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 283 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static int mlxsw_sp_fsm_query_state(struct mlxfw_dev *mlxfw_dev, u32 fwhandle, mlxfw_dev 288 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 307 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static void mlxsw_sp_fsm_cancel(struct mlxfw_dev *mlxfw_dev, u32 fwhandle) mlxfw_dev 310 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 319 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static void mlxsw_sp_fsm_release(struct mlxfw_dev *mlxfw_dev, u32 fwhandle) mlxfw_dev 322 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 332 drivers/net/ethernet/mellanox/mlxsw/spectrum.c static void mlxsw_sp_status_notify(struct mlxfw_dev *mlxfw_dev, mlxfw_dev 337 drivers/net/ethernet/mellanox/mlxsw/spectrum.c container_of(mlxfw_dev, struct mlxsw_sp_mlxfw_dev, mlxfw_dev); mlxfw_dev 363 drivers/net/ethernet/mellanox/mlxsw/spectrum.c .mlxfw_dev = { mlxfw_dev 374 drivers/net/ethernet/mellanox/mlxsw/spectrum.c err = mlxfw_firmware_flash(&mlxsw_sp_mlxfw_dev.mlxfw_dev,