netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch net-next 0/9] mlxsw: Support firmware flash
@ 2017-05-23  6:52 Jiri Pirko
  2017-05-23  6:52 ` [patch net-next 1/9] Add the mlxfw module for Mellanox firmware flash process Jiri Pirko
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Jiri Pirko @ 2017-05-23  6:52 UTC (permalink / raw)
  To: netdev; +Cc: davem, idosch, yotamg, mlxsw

From: Jiri Pirko <jiri@mellanox.com>

Add support for device firmware flash on mlxsw spectrum. The firmware files
are expected to be in the Mellanox Firmware Archive version 2 (MFA2)
format.

The firmware flash can be triggered via "ethtool -f" or on driver
initialization time if the device firmware version does not meet the
minimum firmware version supported by the driver.

Currently, to activate the newly flashed firmware, the user needs to
reboot his system.

The first patch introduces the mlxfw module, which implements common logic
needed for the firmware flash process on Mellanox products, such as the
MFA2 format parsing and the firmware flash state machine logic. As the
module implements common logic which will be needed by various different
Mellanox drivers, it defines a set of callbacks needed to interact with the
specific device.

Patches 1-5 implement the needed mlxfw callbacks in the mlxsw spectrum
driver.

Patches 6-8 add the "ethtool -f" and the boot-time firmware upgrade on the
mlxsw spectrum driver.

Patch 9 adds a fix needed for new firmware versions.

Ido Schimmel (1):
  mlxsw: spectrum_router: Adjust RIF configuration for new firmware
    versions

Yotam Gigi (8):
  Add the mlxfw module for Mellanox firmware flash process
  mlxsw: reg: Add Management Component Query Information register
  mlxsw: reg: Add Management Component Control register
  mlxsw: reg: Add Management Component Data Access register
  mlxsw: spectrum: Add the needed callbacks for mlxfw integration
  mlxsw: spectrum: Implement the ethtool flash_device callback
  mlxsw: core: Create the mlxsw_fw_rev struct
  mlxsw: spectrum: Validate firmware revision on init

 MAINTAINERS                                        |   8 +
 drivers/net/ethernet/mellanox/Kconfig              |   1 +
 drivers/net/ethernet/mellanox/Makefile             |   1 +
 drivers/net/ethernet/mellanox/mlxfw/Kconfig        |   6 +
 drivers/net/ethernet/mellanox/mlxfw/Makefile       |   2 +
 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h        | 102 ++++
 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c    | 273 +++++++++
 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c   | 620 +++++++++++++++++++++
 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.h   |  66 +++
 .../net/ethernet/mellanox/mlxfw/mlxfw_mfa2_file.h  |  60 ++
 .../ethernet/mellanox/mlxfw/mlxfw_mfa2_format.h    | 103 ++++
 .../net/ethernet/mellanox/mlxfw/mlxfw_mfa2_tlv.h   |  98 ++++
 .../ethernet/mellanox/mlxfw/mlxfw_mfa2_tlv_multi.c | 126 +++++
 .../ethernet/mellanox/mlxfw/mlxfw_mfa2_tlv_multi.h |  71 +++
 drivers/net/ethernet/mellanox/mlxsw/Kconfig        |   1 +
 drivers/net/ethernet/mellanox/mlxsw/core.h         |  12 +-
 drivers/net/ethernet/mellanox/mlxsw/reg.h          | 219 ++++++++
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c     | 266 +++++++++
 .../net/ethernet/mellanox/mlxsw/spectrum_router.c  |  22 +
 19 files changed, 2052 insertions(+), 5 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/Kconfig
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/Makefile
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw.h
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.h
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2_file.h
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2_format.h
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2_tlv.h
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2_tlv_multi.c
 create mode 100644 drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2_tlv_multi.h

-- 
2.9.3

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2017-05-31 18:18 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-23  6:52 [patch net-next 0/9] mlxsw: Support firmware flash Jiri Pirko
2017-05-23  6:52 ` [patch net-next 1/9] Add the mlxfw module for Mellanox firmware flash process Jiri Pirko
2017-05-23  6:52 ` [patch net-next 2/9] mlxsw: reg: Add Management Component Query Information register Jiri Pirko
2017-05-23  6:52 ` [patch net-next 3/9] mlxsw: reg: Add Management Component Control register Jiri Pirko
2017-05-23  6:52 ` [patch net-next 4/9] mlxsw: reg: Add Management Component Data Access register Jiri Pirko
2017-05-23  6:52 ` [patch net-next 5/9] mlxsw: spectrum: Add the needed callbacks for mlxfw integration Jiri Pirko
2017-05-23  6:52 ` [patch net-next 6/9] mlxsw: spectrum: Implement the ethtool flash_device callback Jiri Pirko
2017-05-23  6:52 ` [patch net-next 7/9] mlxsw: core: Create the mlxsw_fw_rev struct Jiri Pirko
2017-05-23  6:53 ` [patch net-next 8/9] mlxsw: spectrum: Validate firmware revision on init Jiri Pirko
2017-05-23  6:53 ` [patch net-next 9/9] mlxsw: spectrum_router: Adjust RIF configuration for new firmware versions Jiri Pirko
2017-05-23 13:18 ` [patch net-next 0/9] mlxsw: Support firmware flash Mintz, Yuval
2017-05-23 14:37   ` Yotam Gigi
2017-05-23 15:04     ` Mintz, Yuval
2017-05-23 15:14       ` Yotam Gigi
2017-05-23 15:19         ` Mintz, Yuval
2017-05-23 15:38         ` David Miller
2017-05-23 15:52           ` Jiri Pirko
2017-05-28  7:26           ` Yotam Gigi
2017-05-29  0:17             ` Jakub Kicinski
2017-05-29  8:33               ` Yotam Gigi
2017-05-29  8:52               ` Or Gerlitz
2017-05-29 21:40                 ` Jakub Kicinski
2017-05-30 20:32             ` Or Gerlitz
2017-05-31 18:18               ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).