Thread (24 messages) 24 messages, 6 authors, 2017-05-31

Re: [patch net-next 0/9] mlxsw: Support firmware flash

From: Jakub Kicinski <hidden>
Date: 2017-05-29 00:17:43

On Sun, 28 May 2017 10:26:49 +0300, Yotam Gigi wrote:
On 05/23/2017 06:38 PM, David Miller wrote:
quoted
From: Yotam Gigi <redacted>
Date: Tue, 23 May 2017 18:14:15 +0300
 
quoted
Sorry, I am not sure I understand. You think that drivers should not implement
ethtool's flash_device callback anymore? do you have an alternative for firmware
flash?  
As stated, export an MTD device.  
So, after we have been going over MTD, it seems like it does not fit our needs
at all.

MTD device provides (erasable-)block access to a flash storage, where in our
case the firmware burn process is just pouring a binary BLOB into the device.
The driver is not aware of the internal storage used for storing the firmware as
it is not defined in our driver-hardware API.

Needless to say that block access has no meaning in our case, so any solution
that will involve MTD device to burn our firmware (if there is a solution at
all) will be a workaround and will not fit MTD purpose.

Apart for boot time firmware flash, which we have already pushed we would really
like to allow the user to ask for a specific firmware version. Do you have any
other solution for us apart from "ethtool -f"?
Could you elaborate on what the requirements are for "allowing users to
ask for a specific firmware version"?  How do the FWs differ?  I'm
asking because we are currently lacking ABI for selecting device
"modes".  Netronome has this problem.  Cavium has recently posted a
patch which used module parameter to flip between "OvS" and "basic NIC"
firmwares.

For Netronome we will definitely want a way to switch between at least
three applications so far - basic, OvS and eBPF - but I also feel like
we shouldn't limit that list, since anyone can write their own FW for
programmable NICs.

I think you were primarily concerned with writing persistent storage so
far.  Does "allowing the user to ask..." means write flash and reboot or
also a runtime switch?  I think we probably need both?
This problem is even more relevant in the Mellanox HCA driver team, which would
like to use that code in order to burn the HCA firmware, but not intend to
trigger it on boot time, which means that must have a way for the user to
trigger it.
What would the requirements for the HCA team be?  Is it about loading
different code or loading HW settings?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help