b1d08cb258
The driver currently reads the combo image version data from within the Boot Configuration TLV block of the PFA area of the NVM. This allows access to the active Option ROM version data, assuming that it has been properly copied into this section. There is no equivalent method for reading the Option ROM version data from a pending Option ROM update, as it will not yet have been copied into the PFA boot configuration block. Instead, replace this implementation with one which scans for the CIVD data section of the Option ROM image data. This CIVD data is stored in a packed structured format within the Option ROM. It is always aligned to a 512 byte boundary, and starts with a special '$CIV' 4-byte signature. Data integrity is checked using a simple modulo 256 sum of the structure bytes. Implement a new ice_get_orom_civd_data function which allows reading from the selected flash bank (active or inactive), and scans for valid CIVD data. Use this instead of the boot configuration TLV in order to report the combo version data of precisely what is in the Option ROM data. To allow access to reading the inactive Option ROM bank, introduce a new ice_get_inactive_orom_ver function. Use of a new function is done in order to avoid leaking the bank selection abstraction outside of ice_nvm.c With this new function, the driver can now read and display the version of the to-be-activated Option ROM when an update has been initiated but not yet finalized. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Qiming Yang <qiming.yang@intel.com> |
||
---|---|---|
.. | ||
baseband | ||
bus | ||
common | ||
compress | ||
crypto | ||
event | ||
mempool | ||
net | ||
raw | ||
regex | ||
vdpa | ||
meson.build |