Qi Zhang
b1d08cb258
net/ice/base: read option ROM combo version from CIVD
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>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD-3-Clause license for the core libraries and drivers. The kernel components are GPL-2.0 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%