1. 23 Jun, 2012 5 commits
    • Bjorn Helgaas's avatar
      Merge branch 'topic/huang-d3cold-v7' into next · 35e7f73c
      Bjorn Helgaas authored
      * topic/huang-d3cold-v7:
        PCI/PM: add PCIe runtime D3cold support
        PCI: do not call pci_set_power_state with PCI_D3cold
        PCI/PM: add runtime PM support to PCIe port
        ACPI/PM: specify lowest allowed state for device sleep state
      35e7f73c
    • Huang Ying's avatar
      PCI/PM: add PCIe runtime D3cold support · 448bd857
      Huang Ying authored
      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: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Originally-by: default avatarZheng Yan <zheng.z.yan@intel.com>
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      448bd857
    • Huang Ying's avatar
      PCI: do not call pci_set_power_state with PCI_D3cold · 8497f696
      Huang Ying authored
      PCI subsystem has not been ready for D3cold support yet.  So
      PCI_D3cold should not be used as parameter for pci_set_power_state.
      This patch is needed for upcoming PCI_D3cold support.
      
      This patch has no functionality change, because pci_set_power_state
      will bound the parameter to PCI_D3hot too.
      
      CC: Michal Miroslaw <mirq-linux@rere.qmqm.pl>
      CC: Jesse Barnes <jesse.barnes@intel.com>
      Reviewed-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      8497f696
    • Zheng Yan's avatar
      PCI/PM: add runtime PM support to PCIe port · 71a83bd7
      Zheng Yan authored
      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: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarZheng Yan <zheng.z.yan@intel.com>
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      71a83bd7
    • Huang Ying's avatar
      ACPI/PM: specify lowest allowed state for device sleep state · ee85f543
      Huang Ying authored
      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: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      ee85f543
  2. 22 Jun, 2012 17 commits
  3. 20 Jun, 2012 7 commits
  4. 18 Jun, 2012 5 commits
  5. 16 Jun, 2012 4 commits
  6. 15 Jun, 2012 1 commit
  7. 13 Jun, 2012 1 commit
    • Bjorn Helgaas's avatar
      Merge branch 'topic/alex-vfio-prep' into next · cc2fa3fa
      Bjorn Helgaas authored
      * topic/alex-vfio-prep:
        PCI: misc pci_reg additions
        PCI: create common pcibios_err_to_errno
        PCI: export pci_user functions for use by other drivers
        PCI: add ACS validation utility
        PCI: add PCI DMA source ID quirk
      cc2fa3fa