Re: [Linux-kernel-mentees] [PATCH v2] e1000: use generic power management
From: Brown, Aaron F <hidden>
Date: 2020-06-01 17:16:01
Also in:
intel-wired-lan, lkml, netdev
From: Vaibhav Gupta <vaibhavgupta40@gmail.com> Sent: Monday, May 25, 2020 5:27 AM To: Vaibhav Gupta <redacted>; Bjorn Helgaas [off-list ref]; Bjorn Helgaas [off-list ref]; bjorn@helgaas.com; Kirsher, Jeffrey T [off-list ref]; David S. Miller [off-list ref]; rjw@rjwysocki.net Cc: Vaibhav Gupta <vaibhavgupta40@gmail.com>; Brandeburg, Jesse [off-list ref]; intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; linux-kernel- mentees@lists.linuxfoundation.org; skhan@linuxfoundation.org Subject: [PATCH v2] e1000: use generic power management compile-tested only With legacy PM hooks, it was the responsibility of a driver to manage PCI states and also the device's power state. The generic approach is to let PCI core handle the work. e1000_suspend() calls __e1000_shutdown() to perform intermediate tasks. __e1000_shutdown() modifies the value of "wake" (device should be wakeup enabled or not), responsible for controlling the flow of legacy PM. Since, PCI core has no idea about the value of "wake", new code for generic PM may produce unexpected results. Thus, use "device_set_wakeup_enable()" to wakeup-enable the device accordingly. Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com> --- drivers/net/ethernet/intel/e1000/e1000_main.c | 49 +++++-------------- 1 file changed, 13 insertions(+), 36 deletions(-)
I don't have many old PCI systems that handle power management properly before adding this patch. However, the few ones that do continue to do so with the older e1000 parts I still have around. So a small sample, but at least confirmed on _some_ real hardware Tested-by: Aaron Brown <redacted> _______________________________________________ Linux-kernel-mentees mailing list Linux-kernel-mentees@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees