ionic: add devlink firmware update
authorShannon Nelson <snelson@pensando.io>
Fri, 18 Sep 2020 01:13:27 +0000 (18:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Sep 2020 20:54:23 +0000 (13:54 -0700)
commit30b5191ad103b8ebfbbbeb3f45dc511c3156cfe6
tree9ff96728f22991796bf9b6364479abb486b6aee3
parent87c905d84f3714a1b57b9e245961ef8b1b9ad2db
ionic: add devlink firmware update

Add support for firmware update through the devlink interface.
This update copies the firmware object into the device, asks
the current firmware to install it, then asks the firmware to
select the new firmware for the next boot-up.

The install and select steps are launched as asynchronous
requests, which are then followed up with status request
commands.  These status request commands will be answered with
an EAGAIN return value and will try again until the request
has completed or reached the timeout specified.

Signed-off-by: Shannon Nelson <snelson@pensando.io>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/Makefile
drivers/net/ethernet/pensando/ionic/ionic_devlink.c
drivers/net/ethernet/pensando/ionic/ionic_devlink.h
drivers/net/ethernet/pensando/ionic/ionic_fw.c [new file with mode: 0644]
drivers/net/ethernet/pensando/ionic/ionic_main.c