From: Jiri Pirko <j...@mellanox.com> When user is flashing device using devlink, he currenly does not see any information about what is going on, percentages, etc. Drivers, for example mlxsw and mlx5, have notion about the progress and what is happening. This patchset exposes this progress information to userspace.
Example output for existing flash command: $ devlink dev flash pci/0000:01:00.0 file firmware.bin Preparing to flash Flashing 100% Flashing done See this console recording which shows flashing FW on a Mellanox Spectrum device: https://asciinema.org/a/247926 --- Please see individual patches for changelog. v2->v3 only adds tags and the last selftest patch Jiri Pirko (8): mlxsw: Move firmware flash implementation to devlink mlx5: Move firmware flash implementation to devlink mlxfw: Propagate error messages through extack devlink: allow driver to update progress of flash update mlxfw: Introduce status_notify op and call it to notify about the status mlxsw: Implement flash update status notifications netdevsim: implement fake flash updating with notifications selftests: add basic netdevsim devlink flash testing drivers/net/ethernet/mellanox/mlx5/core/en.h | 2 - .../ethernet/mellanox/mlx5/core/en_ethtool.c | 35 ------ drivers/net/ethernet/mellanox/mlx5/core/fw.c | 6 +- .../mellanox/mlx5/core/ipoib/ethtool.c | 9 -- .../net/ethernet/mellanox/mlx5/core/main.c | 20 ++++ .../ethernet/mellanox/mlx5/core/mlx5_core.h | 3 +- drivers/net/ethernet/mellanox/mlxfw/mlxfw.h | 11 +- .../net/ethernet/mellanox/mlxfw/mlxfw_fsm.c | 57 ++++++++-- drivers/net/ethernet/mellanox/mlxsw/core.c | 15 +++ drivers/net/ethernet/mellanox/mlxsw/core.h | 3 + .../net/ethernet/mellanox/mlxsw/spectrum.c | 75 +++++++------ drivers/net/netdevsim/dev.c | 44 ++++++++ drivers/net/netdevsim/netdevsim.h | 1 + include/net/devlink.h | 8 ++ include/uapi/linux/devlink.h | 5 + net/core/devlink.c | 102 ++++++++++++++++++ .../drivers/net/netdevsim/devlink.sh | 53 +++++++++ 17 files changed, 358 insertions(+), 91 deletions(-) create mode 100755 tools/testing/selftests/drivers/net/netdevsim/devlink.sh -- 2.17.2