1. 10 Jul, 2012 8 commits
  2. 09 Jul, 2012 3 commits
  3. 05 Jul, 2012 17 commits
  4. 26 Jun, 2012 2 commits
  5. 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
  6. 22 Jun, 2012 5 commits
    • Bjorn Helgaas's avatar
      Merge branch 'topic/jiang-mmconfig-v10' into next · e5028b52
      Bjorn Helgaas authored
      * topic/jiang-mmconfig-v10:
        ACPI: mark acpi_sfi_table_parse() as __init
        x86/PCI: use pr_level() to replace printk(KERN_LEVEL)
        x86/PCI: refine __pci_mmcfg_init() for better code readability
        x86/PCI: get rid of redundant log messages
        x86/PCI: simplify pci_mmcfg_late_insert_resources()
        x86/PCI: update MMCONFIG information when hot-plugging PCI host bridges
        PCI/ACPI: provide MMCONFIG address for PCI host bridges
        x86/PCI: add pci_mmconfig_insert()/delete() for PCI root bridge hotplug
        x86/PCI: prepare pci_mmcfg_check_reserved() to be called at runtime
        x86/PCI: introduce pci_mmcfg_arch_map()/pci_mmcfg_arch_unmap()
        x86/PCI: use RCU list to protect mmconfig list
        x86/PCI: split out pci_mmconfig_alloc() for code reuse
        x86/PCI: split out pci_mmcfg_check_reserved() for code reuse
      e5028b52
    • Jiang Liu's avatar
      ACPI: mark acpi_sfi_table_parse() as __init · 39703851
      Jiang Liu authored
      Mark function acpi_sfi_table_parse() as __init to avoid warning messages:
      
      WARNING: vmlinux.o(.text+0x4cd2d2): Section mismatch in reference from the
      function acpi_sfi_table_parse.clone.0() to the function
      
      Function acpi_sfi_table_parse() calls acpi_table_parse() and
      pci_parse_mcfg(), which are both marked as __init.  Currently
      acpi_sfi_table_parse() is only used by MMCONFIG to scan MCFG table
      at boot time only, so it's safe to mark acpi_sfi_table_parse() as __init.
      Reviewed-by: default avatarYinghai Lu <yinghai@kernel.org>
      Signed-off-by: default avatarJiang Liu <liuj97@gmail.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      39703851
    • Bjorn Helgaas's avatar
      Merge branch 'topic/bjorn-trivial' into next · 0f6662a4
      Bjorn Helgaas authored
      * topic/bjorn-trivial:
        PCI: remove useless pcix_set_mmrbc() dev->bus check
        PCI: acpiphp: check whether _ADR evaluation succeeded
        PCI: shpchp: remove dead code
        PCI: fix P2P bridge I/O port window sign extension
        PCI: fix upstream P2P bridge checks when enabling OBFF and LTR
        PCI: use __weak consistently
        PCI: cleanup assign_requested_resources_sorted() kernel-doc warning
        sparc/PCI: remove unused pcibios_assign_resource() definition
      0f6662a4
    • Bjorn Helgaas's avatar
      Merge branch 'topic/fixes-for-3.5' into next · 1693c427
      Bjorn Helgaas authored
      * topic/fixes-for-3.5:
        MAINTAINERS: correct PCI git tree address
      1693c427
    • Bjorn Helgaas's avatar
      c0233ed4