29 Jul, 2008

1 commit

  • The ACPI FADT table includes an ASPM control bit. If the bit is set, do
    not enable ASPM since it may indicate that the platform doesn't actually
    support the feature.

    Tested-by: Jack Howarth
    Signed-off-by: Shaohua Li
    Signed-off-by: Jesse Barnes

    Shaohua Li
     

08 Jul, 2008

3 commits

  • * 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: Rafael J. Wysocki
    Signed-off-by: Jesse Barnes

    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: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Signed-off-by: Jesse Barnes

    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: Rafael J. Wysocki
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     

13 Jun, 2008

1 commit


12 Jun, 2008

2 commits


11 Jun, 2008

5 commits


14 May, 2008

4 commits

  • The acpi_query_osc() function can be called for the ACPI object that
    doesn't have _OSC method. In this case, acpi_get_osc_data() would
    allocate a useless memory region. To avoid this, we need to check the
    existence of _OSC before calling acpi_get_osc_data() in acpi_query_osc().

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Kenji Kaneshige
     
  • The pci_osc_control_set() function can be called for the ACPI object
    that doesn't have _OSC method. In this case, acpi_get_osc_data() would
    allocate a useless memory region. To avoid this, we need to check the
    existence of _OSC before calling acpi_get_osc_data(). Here is a patch
    to fix this problem in pci_osc_control_set.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Kenji Kaneshige
     
  • There is an IA64 system here which have two pci root bridges with _OSC.
    One _OSC disables SHPC control bit but the other not. Below patch makes
    _OSC data per-device instead of one global, otherwise linux takes both
    root bridges don't support SHPC.

    Signed-off-by: Shaohua Li
    Signed-off-by: Jesse Barnes

    Shaohua Li
     
  • Fix uninitialized variable in __pci_osc_support_set().

    If the ACPI namespace doesn't have any device object corresponding to
    the specified hid, 'retval' in __pci_osc_support_set() is not changed
    by the acpi_query_osc() callback. Since 'retval' is not initizlized in
    the current implementation, the contents of 'retval' is undefined in
    this case. This causes a mis-handling of ctrlset_buf[OSC_SUPPORT_TYPE]
    and will cause an unexpected result in the subsequent
    pci_osc_control_set() call as a result.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Kenji Kaneshige
     

23 Feb, 2008

1 commit

  • Minor cleanups to acpi_pci_set_power_state(): use the ACPI and PCI
    state symbols to make clear that a mapping is being done between PCI
    and ACPI states, instead of using magic numbers. For paranoia's sake,
    report any errors. Save five bytes (x86_64) too.

    Signed-off-by: David Brownell
    Signed-off-by: Len Brown

    David Brownell
     

21 Feb, 2008

2 commits


16 Feb, 2008

1 commit


02 Feb, 2008

2 commits

  • The function pci_osc_support_set() traverses every root bridge when
    checking for _OSC support for a capability. It quits as soon as it finds a
    device/bridge that doesn't support the requested capability. This won't
    work for systems that have mixed PCI and PCIe bridges when checking for
    PCIe features. I split this function into two -- pci_osc_support_set() and
    pcie_osc_support_set(). The latter is used when only PCIe devices should be
    traversed.

    Signed-off-by: Andrew Patterson
    Signed-off-by: Greg Kroah-Hartman

    Andrew Patterson
     
  • This patch removes the following unused exports:
    - remove the following unused EXPORT_SYMBOL's:
    - pci-acpi.c: pci_osc_support_set
    - proc.c: pci_proc_detach_bus
    - remove the following unused EXPORT_SYMBOL_GPL's:
    - bus.c: pci_walk_bus
    - probe.c: pci_create_bus
    - setup-res.c: pci_claim_resource

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     

30 Jul, 2007

1 commit

  • Restore the 2.6.22 CONFIG_ACPI_SLEEP build option, but now shadowing the
    new CONFIG_PM_SLEEP option.

    Signed-off-by: Len Brown
    [ Modified to work with the PM config setup changes. ]
    Signed-off-by: Linus Torvalds

    Len Brown
     

22 Jul, 2007

2 commits


12 Jul, 2007

1 commit

  • Below patch fixes aer driver error information and enables aer driver
    although CONFIG_ACPI=n.

    As a matter of fact, the new patch is created from below 2 patches plus
    a minor patch apply fuzz fixing. Because the second patch fixed a compilation
    error introduced by the first patch, I merge them to facilitate bisect.

    1) http://marc.info/?l=linux-kernel&m=117783233918191&w=2;
    2) http://marc.info/?l=linux-mm-commits&m=118046936720790&w=2

    Signed-off-by: Zhang Yanmin
    Signed-off-by: Michael Ellerman
    Signed-off-by: Greg Kroah-Hartman

    Zhang, Yanmin
     

25 Apr, 2007

1 commit


02 Dec, 2006

1 commit

  • 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: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kristen Carlson Accardi
     

22 Jun, 2006

1 commit


22 May, 2006

1 commit

  • 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: Kristen Carlson Accardi
    Cc: "Brown, Len"
    Cc: "Yu, Luming"
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kristen Accardi
     

24 Nov, 2005

1 commit


11 Nov, 2005

1 commit

  • This patch tweaks the way pciehp requests control of the hotplug
    hardware from BIOS. It now tries to invoke the ACPI _OSC method
    for a specific hotplug controller only, rather than walking the
    entire acpi namespace invoking all possible _OSC methods under
    all host bridges. This allows us to gain control of each hotplug
    controller individually, even if BIOS fails to give us control of
    some other hotplug controller in the system.

    Signed-off-by: Rajesh Shah
    Signed-off-by: Greg Kroah-Hartman

    rajesh.shah@intel.com
     

12 Jul, 2005

4 commits


04 May, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds