1. 23 8月, 2012 1 次提交
  2. 24 7月, 2012 1 次提交
  3. 19 7月, 2012 1 次提交
  4. 16 7月, 2012 2 次提交
  5. 13 7月, 2012 2 次提交
  6. 12 7月, 2012 2 次提交
  7. 11 7月, 2012 3 次提交
  8. 10 7月, 2012 10 次提交
  9. 06 7月, 2012 1 次提交
    • R
      PCI / PM: restore the original behavior of pci_set_power_state() · db288c9c
      Rafael J. Wysocki 提交于
      Commit cc2893b6 (PCI: Ensure we re-enable devices on resume)
      addressed the problem with USB not being powered after resume on
      recent Lenovo machines, but it did that in a suboptimal way.
      Namely, it should have changed the relevant code paths only,
      which are pci_pm_resume_noirq() and pci_pm_restore_noirq() supposed
      to restore the device's power and standard configuration registers
      after system resume from suspend or hibernation.  Instead, however,
      it modified pci_set_power_state() which is executed in several
      other situations too.  That resulted in some undesirable effects,
      like attempting to change a device's power state in the same way
      multiple times in a row (up to as many as 4 times in a row in the
      snd_hda_intel driver).
      
      Fix the bug addressed by commit cc2893b6 in an alternative way,
      by forcibly powering up all devices in pci_pm_default_resume_early(),
      which is called by pci_pm_resume_noirq() and pci_pm_restore_noirq()
      to restore the device's power and standard configuration registers,
      and modifying pci_pm_runtime_resume() to avoid the forcible power-up
      if not necessary.  Then, revert the changes made by commit cc2893b6
      to make the confusion introduced by it go away.
      Acked-by: NMatthew Garrett <mjg@redhat.com>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      db288c9c
  10. 26 6月, 2012 1 次提交
  11. 24 6月, 2012 3 次提交
    • H
      PCI/PM: add PCIe runtime D3cold support · 448bd857
      Huang Ying 提交于
      This patch adds runtime D3cold support and corresponding ACPI platform
      support.  This patch only enables runtime D3cold support; it does not
      enable D3cold support during system suspend/hibernate.
      
      D3cold is the deepest power saving state for a PCIe device, where its main
      power is removed.  While it is in D3cold, you can't access the device at
      all, not even its configuration space (which is still accessible in D3hot).
      Therefore the PCI PM registers can not be used to transition into/out of
      the D3cold state; that must be done by platform logic such as ACPI _PR3.
      
      To support wakeup from D3cold, a system may provide auxiliary power, which
      allows a device to request wakeup using a Beacon or the sideband WAKE#
      signal.  WAKE# is usually connected to platform logic such as ACPI GPE.
      This is quite different from other power saving states, where devices
      request wakeup via a PME message on the PCIe link.
      
      Some devices, such as those in plug-in slots, have no direct platform
      logic.  For example, there is usually no ACPI _PR3 for them.  D3cold
      support for these devices can be done via the PCIe Downstream Port leading
      to the device.  When the PCIe port is powered on/off, the device is powered
      on/off too.  Wakeup events from the device will be notified to the
      corresponding PCIe port.
      
      For more information about PCIe D3cold and corresponding ACPI support,
      please refer to:
      
      - PCI Express Base Specification Revision 2.0
      - Advanced Configuration and Power Interface Specification Revision 5.0
      
      [bhelgaas: changelog]
      Reviewed-by: NRafael J. Wysocki <rjw@sisk.pl>
      Originally-by: NZheng Yan <zheng.z.yan@intel.com>
      Signed-off-by: NHuang Ying <ying.huang@intel.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      448bd857
    • Z
      PCI/PM: add runtime PM support to PCIe port · 71a83bd7
      Zheng Yan 提交于
      This patch adds runtime PM support to PCIe port.  This is needed by
      PCIe D3cold support, where PCIe device without ACPI node may be
      powered on/off by PCIe port.
      
      Because runtime suspend is broken for some chipsets, a black list is
      used to disable runtime PM support for these chipsets.
      Reviewed-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NZheng Yan <zheng.z.yan@intel.com>
      Signed-off-by: NHuang Ying <ying.huang@intel.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      71a83bd7
    • H
      ACPI/PM: specify lowest allowed state for device sleep state · ee85f543
      Huang Ying 提交于
      Lower device sleep state can save more power, but has more exit
      latency too.  Sometimes, to satisfy some power QoS and other
      requirement, we need to constrain the lowest device sleep state.
      
      In this patch, a parameter to specify lowest allowed state for
      acpi_pm_device_sleep_state is added.  So that the caller can enforce
      the constraint via the parameter.
      
      This is needed by PCIe D3cold support, where the lowest power state
      allowed may be D3_HOT instead of default D3_COLD.
      
      CC: Len Brown <lenb@kernel.org>
      CC: linux-acpi@vger.kernel.org
      Reviewed-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NHuang Ying <ying.huang@intel.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      ee85f543
  12. 23 6月, 2012 1 次提交
  13. 21 6月, 2012 7 次提交
  14. 19 6月, 2012 2 次提交
  15. 17 6月, 2012 1 次提交
  16. 14 6月, 2012 2 次提交