ixgbe: Display EEPROM version in ethtool -i queries
Currently ixgbe does not display the EEPROM version in ethtool -i, where other drivers do. The EEPROM version is located at offset 0x29. This patch adds support to display it. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3201d3130e
commit
34b0368c68
3 changed files with 13 additions and 1 deletions
|
@ -310,6 +310,8 @@ struct ixgbe_adapter {
|
|||
struct work_struct watchdog_task;
|
||||
struct work_struct sfp_task;
|
||||
struct timer_list sfp_timer;
|
||||
|
||||
u16 eeprom_version;
|
||||
};
|
||||
|
||||
enum ixbge_state_t {
|
||||
|
|
|
@ -679,10 +679,17 @@ static void ixgbe_get_drvinfo(struct net_device *netdev,
|
|||
struct ethtool_drvinfo *drvinfo)
|
||||
{
|
||||
struct ixgbe_adapter *adapter = netdev_priv(netdev);
|
||||
char firmware_version[32];
|
||||
|
||||
strncpy(drvinfo->driver, ixgbe_driver_name, 32);
|
||||
strncpy(drvinfo->version, ixgbe_driver_version, 32);
|
||||
strncpy(drvinfo->fw_version, "N/A", 32);
|
||||
|
||||
sprintf(firmware_version, "%d.%d-%d",
|
||||
(adapter->eeprom_version & 0xF000) >> 12,
|
||||
(adapter->eeprom_version & 0x0FF0) >> 4,
|
||||
adapter->eeprom_version & 0x000F);
|
||||
|
||||
strncpy(drvinfo->fw_version, firmware_version, 32);
|
||||
strncpy(drvinfo->bus_info, pci_name(adapter->pdev), 32);
|
||||
drvinfo->n_stats = IXGBE_STATS_LEN;
|
||||
drvinfo->regdump_len = ixgbe_get_regs_len(netdev);
|
||||
|
|
|
@ -4191,6 +4191,9 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
|
|||
"PCI-Express slot is required.\n");
|
||||
}
|
||||
|
||||
/* save off EEPROM version number */
|
||||
hw->eeprom.ops.read(hw, 0x29, &adapter->eeprom_version);
|
||||
|
||||
/* reset the hardware with the new settings */
|
||||
hw->mac.ops.start_hw(hw);
|
||||
|
||||
|
|
Loading…
Reference in a new issue