e1000e: workaround EEPROM configuration change on 82579
An update to the EEPROM on 82579 will extend a delay in hardware to fix an issue with WoL not working after a G3->S5 transition which is unrelated to the driver. However, this extended delay conflicts with nominal operation of the device when it is initialized by the driver and after every reset of the hardware (i.e. the driver starts configuring the device before the hardware is done with it's own configuration work). The workaround for when the driver is in control of the device is to tell the hardware after every reset the configuration delay should be the original shorter one. Some pre-existing variables are renamed generically to be re-used with new register accesses. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:

committed by
Jeff Kirsher

parent
e4ae004b84
commit
62bc813e48
@@ -51,6 +51,7 @@ enum e1e_registers {
|
||||
E1000_FEXTNVM = 0x00028, /* Future Extended NVM - RW */
|
||||
E1000_FCT = 0x00030, /* Flow Control Type - RW */
|
||||
E1000_VET = 0x00038, /* VLAN Ether Type - RW */
|
||||
E1000_FEXTNVM3 = 0x0003C, /* Future Extended NVM 3 - RW */
|
||||
E1000_ICR = 0x000C0, /* Interrupt Cause Read - R/clr */
|
||||
E1000_ITR = 0x000C4, /* Interrupt Throttling Rate - RW */
|
||||
E1000_ICS = 0x000C8, /* Interrupt Cause Set - WO */
|
||||
|
Reference in New Issue
Block a user