linux/drivers/net/ethernet/intel
Jacob Keller 81f07491e2 ice: discover and store size of available flash
When reading from the NVM using a flat address, it is useful to know the
upper bound on the size of the flash contents. This value is not stored
within the NVM.

We can determine the size by performing a bisection between upper and
lower bounds. It is known that the size cannot exceed 16 MB (offset of
0xFFFFFF).

Use a while loop to bisect the upper and lower bounds by reading one
byte at a time. On a failed read, lower the maximum bound. On
a successful read, increase the lower bound.

Save this as the flash_size in the ice_nvm_info structure that contains
data related to the NVM.

The size will be used in a future patch for implementing full NVM read
via ethtool's GEEPROM command.

The maximum possible size for the flash is bounded by the size limit for
the NVM AdminQ commands. Add a new macro, ICE_AQC_NVM_MAX_OFFSET, which
can be used to represent this upper bound.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2020-03-21 00:29:10 -07:00
..
e1000 net: e1000: reject unsupported coalescing params 2020-03-12 11:32:36 -07:00
e1000e e1000e: reject unsupported coalescing params 2020-03-05 12:12:35 -08:00
fm10k net: fm10k: reject unsupported coalescing params 2020-03-12 11:32:36 -07:00
i40e net: i40e: reject unsupported coalescing params 2020-03-12 11:32:36 -07:00
iavf net: iavf: reject unsupported coalescing params 2020-03-12 11:32:36 -07:00
ice ice: discover and store size of available flash 2020-03-21 00:29:10 -07:00
igb net: igb: let core reject the unsupported coalescing parameters 2020-03-12 11:32:36 -07:00
igbvf net: igbvf: reject unsupported coalescing params 2020-03-12 11:32:36 -07:00
igc net: igc: let core reject the unsupported coalescing parameters 2020-03-12 11:32:36 -07:00
ixgb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-12-22 15:15:05 -08:00
ixgbe net: ixgbe: reject unsupported coalescing params 2020-03-12 11:32:36 -07:00
ixgbevf net: ixgbevf: reject unsupported coalescing params 2020-03-12 11:32:36 -07:00
e100.c netdev: pass the stuck queue to the timeout handler 2019-12-12 21:38:57 -08:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile igc: Add skeletal frame for Intel(R) 2.5G Ethernet Controller support 2018-10-17 12:14:54 -07:00