2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 23:53:55 +08:00
linux-next/drivers/net/ethernet/intel/e1000e
Konstantin Khlebnikov 66148babe7 e1000e: fix runtime power management transitions
This patch removes redundant actions from driver and fixes its interaction
with actions in pci-bus runtime power management code.

It removes pci_save_state() from __e1000_shutdown() for normal adapters,
PCI bus callbacks pci_pm_*() will do all this for us. Now __e1000_shutdown()
switches to D3-state only quad-port adapters, because they needs quirk for
clearing false-positive error from downsteam pci-e port.

pci_save_state() now called after clearing bus-master bit, thus __e1000_resume()
and e1000_io_slot_reset() must set it back after restoring configuration space.

This patch set get_link_status before calling pm_runtime_put() in e1000_open()
to allow e1000_idle() get real link status and schedule first runtime suspend.

This patch also enables wakeup for device if management mode is enabled
(like for WoL) as result pci_prepare_to_sleep() would setup wakeup without
special actions like custom 'enable_wakeup' sign.

Cc: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Borislav Petkov <bp@suse.de>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2013-03-07 02:48:30 -08:00
..
80003es2lan.c e1000e: cosmetic move of #defines to the new 80003es2lan.h 2013-02-04 23:32:20 -08:00
80003es2lan.h e1000e: cosmetic move of #defines to the new 80003es2lan.h 2013-02-04 23:32:20 -08:00
82571.c e1000e: cleanup checkpatch braces checks 2013-02-05 00:37:47 -08:00
82571.h e1000e: cosmetic move of #defines and prototypes to the new 82571.h 2013-02-04 23:24:41 -08:00
defines.h e1000e: cosmetic move of #defines and prototypes to the new ich8lan.h 2013-02-04 23:45:47 -08:00
e1000.h e1000e: cosmetic move of #defines and prototypes to the new manage.h 2013-02-05 00:12:27 -08:00
ethtool.c e1000e: cleanup checkpatch braces checks 2013-02-05 00:37:47 -08:00
hw.h e1000e: convert enums of register offsets and move #defines to regs.h 2013-02-05 00:30:59 -08:00
ich8lan.c e1000e: workaround DMA unit hang on I218 2013-03-05 01:01:43 -08:00
ich8lan.h e1000e: workaround DMA unit hang on I218 2013-03-05 01:01:43 -08:00
mac.c e1000e: use generic IEEE MII definitions 2013-01-31 22:34:59 -08:00
mac.h e1000e: cosmetic move of function prototypes to the new mac.h 2013-02-04 23:52:44 -08:00
Makefile e1000e: update copyright date 2013-01-27 01:22:53 -08:00
manage.c e1000e: cosmetic move of #defines and prototypes to the new manage.h 2013-02-05 00:12:27 -08:00
manage.h e1000e: cosmetic move of #defines and prototypes to the new manage.h 2013-02-05 00:12:27 -08:00
netdev.c e1000e: fix runtime power management transitions 2013-03-07 02:48:30 -08:00
nvm.c e1000e: update copyright date 2013-01-27 01:22:53 -08:00
nvm.h e1000e: cosmetic move of #defines and function prototypes to the new nvm.h 2013-02-05 00:05:41 -08:00
param.c e1000e: cleanup some whitespace and indentation issues 2013-01-31 22:16:11 -08:00
phy.c e1000e: cleanup checkpatch braces checks 2013-02-05 00:37:47 -08:00
phy.h e1000e: cosmetic move of #defines and function prototypes to the new phy.h 2013-02-04 23:59:16 -08:00
ptp.c e1000e: resolve -Wunused-parameter compile warnings 2013-01-31 22:28:39 -08:00
regs.h e1000e: workaround DMA unit hang on I218 2013-03-05 01:01:43 -08:00