1. 23 10月, 2008 2 次提交
  2. 29 7月, 2008 1 次提交
  3. 17 7月, 2008 2 次提交
  4. 08 7月, 2008 3 次提交
    • R
      PCI ACPI: Rework PCI handling of wake-up · eb9d0fe4
      Rafael J. Wysocki 提交于
      * Introduce function acpi_pm_device_sleep_wake() for enabling and
        disabling the system wake-up capability of devices that are power
        manageable by ACPI.
      
      * Introduce function acpi_bus_can_wakeup() allowing other (dependent)
        subsystems to check if ACPI is able to enable the system wake-up
        capability of given device.
      
      * Introduce callback .sleep_wake() in struct pci_platform_pm_ops and
        for the ACPI PCI 'driver' make it use acpi_pm_device_sleep_wake().
      
      * Introduce callback .can_wakeup() in struct pci_platform_pm_ops and
        for the ACPI 'driver' make it use acpi_bus_can_wakeup().
      
      * Move the PME# handlig code out of pci_enable_wake() and split it
        into two functions, pci_pme_capable() and pci_pme_active(),
        allowing the caller to check if given device is capable of
        generating PME# from given power state and to enable/disable the
        device's PME# functionality, respectively.
      
      * Modify pci_enable_wake() to use the new ACPI callbacks and the new
        PME#-related functions.
      
      * Drop the generic .platform_enable_wakeup() callback that is not
        used any more.
      
      * Introduce device_set_wakeup_capable() that will set the
        power.can_wakeup flag of given device.
      
      * Rework PCI device PM initialization so that, if given device is
        capable of generating wake-up events, either natively through the
        PME# mechanism, or with the help of the platform, its
        power.can_wakeup flag is set and its power.should_wakeup flag is
        unset as appropriate.
      
      * Make ACPI set the power.can_wakeup flag for devices found to be
        wake-up capable by it.
      
      * Make the ACPI wake-up code enable/disable GPEs for devices that
        have the wakeup.flags.prepared flag set (which means that their
        wake-up power has been enabled).
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      eb9d0fe4
    • R
      PCI: rework pci_set_power_state function to call platform first · 44e4e66e
      Rafael J. Wysocki 提交于
      Rework pci_set_power_state() so that the platform callback is
      invoked before the native mechanism, if necessary.  Also, make
      the function check if the device is power manageable by the
      platform before invoking the platform callback.
      
      This may matter if the device dependent on additional power
      resources controlled by the platform is being put into D0, in which
      case those power resources must be turned on before we attempt to
      handle the device itself.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@suse.cz>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      44e4e66e
    • R
      PCI: Introduce platform_pci_power_manageable function · 961d9120
      Rafael J. Wysocki 提交于
      Introduce function pointer platform_pci_power_manageable to be used
      by the platform-related code to point to a function allowing us to
      check if given device is power manageable by the platform.
      
      Introduce acpi_pci_power_manageable() playing that role for ACPI.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      961d9120
  5. 28 6月, 2008 1 次提交
    • T
      Fix forcedeth hibernate/wake-on-lan problems · f5ccbcfa
      Tobias Diedrich 提交于
      This patch is the minimal amount of code needed to support
      wake-on-lan in platform mode properly (i.e. "ethtool -s eth0 wol g"
      is sufficient, no additional magic needed) for me.
      
      This is derived from David Brownells patch
      (http://lists.laptop.org/pipermail/devel/2007-April/004691.html).
      However I decided to move the hook into pci-acpi.c since the other
      two pci hooks also live there and pci and acpi are the only users of
      the platform_enable_wakeup-hook.
      
      As a 'side-effect' this also makes wake on usb activity work for me
      and I had to disable usb wakeup (which is enabled by default) using
      the power/wakeup sysfs functionality ("echo disabled >
      ${sysfs_path_to_device}/power/wakeup").
      
      (BTW I first thought the 'immediate reboot because of usb wake' effect is
      caused by the optical mouse generating a wake event, but it rather
      seems to be a problem with a flaky secondary usb host controller,
      which sees a connected device where nothing is attached)
      Signed-off-by: NTobias Diedrich <ranma+kernel@tdiedrich.de>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      f5ccbcfa
  6. 12 6月, 2008 2 次提交
  7. 11 6月, 2008 5 次提交
  8. 14 5月, 2008 4 次提交
  9. 23 2月, 2008 1 次提交
  10. 22 2月, 2008 1 次提交
  11. 21 2月, 2008 1 次提交
  12. 16 2月, 2008 1 次提交
  13. 02 2月, 2008 2 次提交
  14. 30 7月, 2007 1 次提交
  15. 22 7月, 2007 2 次提交
  16. 12 7月, 2007 1 次提交
  17. 25 4月, 2007 1 次提交
  18. 02 12月, 2006 1 次提交
    • K
      pci: clear osc support flags if no _OSC method · 0dcb2b7e
      Kristen Carlson Accardi 提交于
      So it looks like pci aer code will call pci_osc_support_set to tell the
      firmware about  OSC_EXT_PCI_CONFIG_SUPPORT flag.  that causes
      ctrlset_buf[OSC_SUPPORT_TYPE] to evaluate to true when pciehp calls
      pci_osc_control_set() is called (to attempt to use OSC to gain native
      pcie control from firmware), regardless of whether or not _OSC was
      actually successfully executed.  That causes this section of code:
       if (ctrlset_buf[OSC_SUPPORT_TYPE] &&
                      ((global_ctrlsets & ctrlset) != ctrlset)) {
                      return AE_SUPPORT;
              }
      to be hit.
      
      This patch will reset the OSC_SUPPORT_TYPE field if _OSC fails, and then
      would allow pciehp to go ahead and try to run _OSC again.
      Signed-off-by: NKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0dcb2b7e
  19. 22 6月, 2006 1 次提交
  20. 22 5月, 2006 1 次提交
    • K
      [PATCH] pci: correctly allocate return buffers for osc calls · 593ee207
      Kristen Accardi 提交于
      The OSC set and query functions do not allocate enough space for return
      values, and set the output buffer length to a false, too large value.  This
      causes the acpi-ca code to assume that the output buffer is larger than it
      actually is, and overwrite memory when copying acpi return buffers into
      this caller provided buffer.  In some cases this can cause kernel oops if
      the memory that is overwritten is a pointer.  This patch will change these
      calls to use a dynamically allocated output buffer, thus allowing the
      acpi-ca code to decide how much space is needed.
      Signed-off-by: NKristen Carlson Accardi <kristen.c.accardi@intel.com>
      Cc: "Brown, Len" <len.brown@intel.com>
      Cc: "Yu, Luming" <luming.yu@intel.com>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      593ee207
  21. 24 11月, 2005 1 次提交
  22. 11 11月, 2005 1 次提交
  23. 12 7月, 2005 4 次提交