1. 07 Dec, 2012 10 commits
  2. 06 Dec, 2012 1 commit
  3. 05 Dec, 2012 5 commits
  4. 04 Dec, 2012 2 commits
    • Bjorn Helgaas's avatar
      Merge branch 'pci/huang-d3cold-fixes' into next · edb1daab
      Bjorn Helgaas authored
      * pci/huang-d3cold-fixes:
        PCI/PM: Keep runtime PM enabled for unbound PCI devices
      edb1daab
    • Huang Ying's avatar
      PCI/PM: Keep runtime PM enabled for unbound PCI devices · 967577b0
      Huang Ying authored
      For unbound PCI devices, what we need is:
      
       - Always in D0 state, because some devices do not work again after
         being put into D3 by the PCI bus.
      
       - In SUSPENDED state if allowed, so that the parent devices can still
         be put into low power state.
      
      To satisfy these requirements, the runtime PM for the unbound PCI
      devices are disabled and set to SUSPENDED state.  One issue of this
      solution is that the PCI devices will be put into SUSPENDED state even
      if the SUSPENDED state is forbidden via the sysfs interface
      (.../power/control) of the device.  This is not an issue for most
      devices, because most PCI devices are not used at all if unbound.
      But there are exceptions.  For example, unbound VGA card can be used
      for display, but suspending its parents makes it stop working.
      
      To fix the issue, we keep the runtime PM enabled when the PCI devices
      are unbound.  But the runtime PM callbacks will do nothing if the PCI
      devices are unbound.  This way, we can put the PCI devices into
      SUSPENDED state without putting the PCI devices into D3 state.
      
      Reference: https://bugzilla.kernel.org/show_bug.cgi?id=48201Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      CC: stable@vger.kernel.org          # v3.6+
      967577b0
  5. 30 Nov, 2012 2 commits
  6. 28 Nov, 2012 3 commits
  7. 26 Nov, 2012 2 commits
    • Vijay Mohan Pandarathil's avatar
      PCI/AER: Report success only when every device has AER-aware driver · 918b4053
      Vijay Mohan Pandarathil authored
      When an error is detected on a PCIe device which does not have an
      AER-aware driver, prevent AER infrastructure from reporting
      successful error recovery.
      
      This is because the report_error_detected() function that gets
      called in the first phase of recovery process allows forward
      progress even when the driver for the device does not have AER
      capabilities. It seems that all callbacks (in pci_error_handlers
      structure) registered by drivers that gets called during error
      recovery are not mandatory. So the intention of the infrastructure
      design seems to be to allow forward progress even when a specific
      callback has not been registered by a driver. However, if error
      handler structure itself has not been registered, it doesn't make
      sense to allow forward progress.
      
      As a result of the current design, in the case of a single device
      having an AER-unaware driver or in the case of any function in a
      multi-function card having an AER-unaware driver, a successful
      recovery is reported.
      
      Typical scenario this happens is when a PCI device is detached
      from a KVM host and the pci-stub driver on the host claims the
      device. The pci-stub driver does not have error handling capabilities
      but the AER infrastructure still reports that the device recovered
      successfully.
      
      The changes proposed here leaves the device(s)in an unrecovered state
      if the driver for the device or for any device in the subtree
      does not have error handler structure registered. This reflects
      the true state of the device and prevents any partial recovery (or no
      recovery at all) reported as successful.
      
      [bhelgaas: changelog]
      Signed-off-by: default avatarVijay Mohan Pandarathil <vijaymohan.pandarathil@hp.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarLinas Vepstas <linasvepstas@gmail.com>
      Reviewed-by: default avatarMyron Stowe <myron.stowe@redhat.com>
      918b4053
    • Bjorn Helgaas's avatar
      Merge branch 'for-linus' into next · d3fe3988
      Bjorn Helgaas authored
      * for-linus:
        PCI/portdrv: Don't create hotplug slots unless port supports hotplug
        PCI/PM: Fix proc config reg access for D3cold and bridge suspending
        PCI/PM: Resume device before shutdown
        PCI/PM: Fix deadlock when unbinding device if parent in D3cold
      d3fe3988
  8. 13 Nov, 2012 4 commits
  9. 10 Nov, 2012 6 commits
  10. 09 Nov, 2012 5 commits
    • Jingoo Han's avatar
      PCI: Fix bit definitions of PCI_EXP_LNKCAP2 register · b891b4dc
      Jingoo Han authored
      According to the PCIe 3.0 spec, PCI_EXP_LNKCAP2_SLS_2_5GB is
      1st bit of PCI_EXP_LNKCAP2 register, not 0th bit. So, the bit
      definition of supported link speed vector should be fixed.
      
      [bhelgaas: change "Current" to "Supported"]
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      b891b4dc
    • Bjorn Helgaas's avatar
      Merge branch 'pci/mike-x86-tra' into next · 0dcccc5c
      Bjorn Helgaas authored
      * pci/mike-x86-tra:
        x86/PCI: Allow x86 platforms to use translation offsets
      0dcccc5c
    • Bjorn Helgaas's avatar
      Merge branch 'pci/taku-prt-cleanup' into next · 05508270
      Bjorn Helgaas authored
      * pci/taku-prt-cleanup:
        PCI/ACPI: Request _OSC control before scanning PCI root bus
        PCI: Don't pass pci_dev to pci_ext_cfg_avail()
        PCI/ACPI: Add _PRT interrupt routing info before enumerating devices
        ACPI: Pass segment/bus to _PRT add/del so they don't depend on pci_bus
      05508270
    • Bjorn Helgaas's avatar
      Merge branch 'pci/yinghai-for-pci-root-bus-hotplug' into next · fa20f6f2
      Bjorn Helgaas authored
      * pci/yinghai-for-pci-root-bus-hotplug:
        PCI/ACPI: Remove acpi_root_driver in reverse order
        PCI/ACPI: Delete host bridge _PRT during hot remove path
        PCI/ACPI: Make acpi_pci_root_remove() stop/remove pci root bus
        PCI: Add pci_stop_and_remove_root_bus()
        PCI/ACPI: Assign unassigned resource for hot-added root bus
        PCI: Move out pci_enable_bridges out of assign_unsigned_bus_res
        PCI: Move pci_rescan_bus() back to probe.c
        PCI: Separate out pci_assign_unassigned_bus_resources()
      fa20f6f2
    • Bjorn Helgaas's avatar
      Merge branch 'pci/misc' into next · 13a84687
      Bjorn Helgaas authored
      * pci/misc:
        PCI/PM: Add comments for PME poll support for PCIe
        PCI: Add PLX PCI 9050 workaround for some Meilhaus DAQ cards
        PCI: Add workaround for PLX PCI 9050 BAR alignment erratum
        PCI: Convert dev_printk(KERN_<LEVEL> to dev_<level>(
        x86/PCI: Ignore _SEG on HP xw9300
        PCI: Don't touch card regs after runtime suspend D3
      13a84687