03 Aug, 2012

1 commit


31 Jul, 2012

1 commit

  • _GTS and _BFS were added to the suspend/resume flow
    in the ACPI 2.0 specification.

    Linux dutifully implemented _GTS and _BFS.
    We discovered that it was rarely seen in systems
    in the field. Further, some of those systems had
    AML so bogus that it could never work -- proof that
    no other operating system supports _GTS and _BFS.
    So we made _GTS and _BFS optional via modparam,
    and disabled them by default.

    But we've had to complicate some code to keep
    this support in the kernel, as these methods are defined
    to be evaluated very close to sleep entry and exit.
    Indeed, no other AML is ever evaluated with interrupts off.

    We have submitted a proposal for _GTS and _BFS
    to be officially removed from the ACPI specification
    on the next revision. Here we remove it from Linux.

    Signed-off-by: Len Brown
    Acked-by: Ingo Molnar
    Acked-by: Konrad Rzeszutek Wilk

    Len Brown
     

27 Jul, 2012

2 commits

  • If CONFIG_ACPI_SLEEP is unset, the compiler complains that
    pwr_btn_event_pending is defined but not used. To silence the
    warning, move the definition of pwr_btn_event_pending under an
    appropriate #ifdef.

    Reported-by: Paul E. McKenney
    Signed-off-by: Rafael J. Wysocki
    Tested-by: Paul E. McKenney
    Signed-off-by: Len Brown

    Rafael J. Wysocki
     
  • Pull ACPI & power management update from Len Brown:
    "Re-write of the turbostat tool.
    lower overhead was necessary for measuring very large system when
    they are very idle.

    IVB support in intel_idle
    It's what I run on my IVB, others should be able to also:-)

    ACPICA core update
    We have found some bugs due to divergence between Linux and the
    upstream ACPICA base. Most of these patches are to reduce that
    divergence to reduce the risk of future bugs.

    Some cpuidle updates, mostly for non-Intel
    More will be coming, as they depend on this part.

    Some thermal management changes needed by non-ACPI systems.

    Some _OST (OS Status Indication) updates for hot ACPI hot-plug."

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (51 commits)
    Thermal: Documentation update
    Thermal: Add Hysteresis attributes
    Thermal: Make Thermal trip points writeable
    ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check
    tools/power: turbostat: fix large c1% issue
    tools/power: turbostat v2 - re-write for efficiency
    ACPICA: Update to version 20120711
    ACPICA: AcpiSrc: Fix some translation issues for Linux conversion
    ACPICA: Update header files copyrights to 2012
    ACPICA: Add new ACPI table load/unload external interfaces
    ACPICA: Split file: tbxface.c -> tbxfload.c
    ACPICA: Add PCC address space to space ID decode function
    ACPICA: Fix some comment fields
    ACPICA: Table manager: deploy new firmware error/warning interfaces
    ACPICA: Add new interfaces for BIOS(firmware) errors and warnings
    ACPICA: Split exception code utilities to a new file, utexcep.c
    ACPI: acpi_pad: tune round_robin_time
    ACPICA: Update to version 20120620
    ACPICA: Add support for implicit notify on multiple devices
    ACPICA: Update comments; no functional change
    ...

    Linus Torvalds
     

26 Jul, 2012

2 commits


29 Jun, 2012

1 commit


24 Jun, 2012

1 commit

  • 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
    CC: linux-acpi@vger.kernel.org
    Reviewed-by: Rafael J. Wysocki
    Signed-off-by: Huang Ying
    Signed-off-by: Bjorn Helgaas

    Huang Ying
     

04 Jun, 2012

2 commits


01 Jun, 2012

1 commit


31 May, 2012

1 commit

  • Revert usage of acpi_wakeup_address and move definition
    to x86 architecture code in order to make compilation work
    in ia64.

    [jsakkine: tested compilation in ia64/x86-64 and added
    proper commit message]

    Reported-by: Paul Gortmaker
    Originally-by: H. Peter Anvin
    Signed-off-by: Jarkko Sakkinen
    Link: http://lkml.kernel.org/r/1338370421-27735-1-git-send-email-jarkko.sakkinen@intel.com
    Cc: Tony Luck
    Cc: Len Brown
    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     

30 May, 2012

3 commits

  • Pull x86 trampoline rework from H. Peter Anvin:
    "This code reworks all the "trampoline"/"realmode" code (various bits
    that need to live in the first megabyte of memory, most but not all of
    which runs in real mode at some point) in the kernel into a single
    object. The main reason for doing this is that it eliminates the last
    place in the kernel where we needed pages to be mapped RWX. This code
    separates all that code into proper R/RW/RX pages."

    Fix up conflicts in arch/x86/kernel/Makefile (mca removed next to reboot
    code), and arch/x86/kernel/reboot.c (reboot code moved around in one
    branch, modified in this one), and arch/x86/tools/relocs.c (mostly same
    code came in earlier due to working around the ld bugs just before the
    3.4 release).

    Also remove stale x86-relocs entry from scripts/.gitignore as per Peter
    Anvin.

    * commit '61f5446169046c217a5479517edac3a890c3bee7': (36 commits)
    x86, realmode: Move end signature into header.S
    x86, relocs: When printing an error, say relative or absolute
    x86, relocs: More relocations which may end up as absolute
    x86, relocs: Workaround for binutils 2.22.52.0.1 section bug
    xen-acpi-processor: Add missing #include
    acpi, bgrd: Add missing to drivers/acpi/bgrt.c
    x86, realmode: Change EFER to a single u64 field
    x86, realmode: Move kernel/realmode.c to realmode/init.c
    x86, realmode: Move not-common bits out of trampoline_common.S
    x86, realmode: Mask out EFER.LMA when saving trampoline EFER
    x86, realmode: Fix no cache bits test in reboot_32.S
    x86, realmode: Make sure all generated files are listed in targets
    x86, realmode: build fix: remove duplicate build
    x86, realmode: read cr4 and EFER from kernel for 64-bit trampoline
    x86, realmode: fixes compilation issue in tboot.c
    x86, realmode: move relocs from scripts/ to arch/x86/tools
    x86, realmode: header for trampoline code
    x86, realmode: flattened rm hierachy
    x86, realmode: don't copy real_mode_header
    x86, realmode: fix 64-bit wakeup sequence
    ...

    Linus Torvalds
     
  • The comparison between the system sleep state being entered
    and the lowest system sleep state the given device may wake up
    from in acpi_pm_device_sleep_state() is reversed, because the
    specification (ACPI 5.0) says that for wakeup to work:

    "The sleeping state being entered must be less than or equal to the
    power state declared in element 1 of the _PRW object."

    In other words, the state returned by _PRW is the deepest
    (lowest-power) system sleep state the device is capable of waking up
    the system from.

    Moreover, acpi_pm_device_sleep_state() also should check if the
    wakeup capability is supported through ACPI, because in principle it
    may be done via native PCIe PME, for example, in which case _SxW
    should not be evaluated.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • When the system is woken up by the ACPI fixed power button, currently there
    is no way of userspace becoming aware that the power button was pressed.

    OLPC would like to know this, so that we can respond appropriately.
    For example, if the system was woken up by a network packet, we know
    we can go back to sleep very quickly. But if the user explicitly woke the
    system with the power button, we're going to want to stay awake for a
    while.

    The wakeup count mechanism seems like a good fit for communicating this.
    Mark the fixed power button as wakeup-enabled, and increment its wakeup
    counter when the system is woken with the power button. (The wakeup counter
    is also incremented when the power button is pressed during system
    operation; this is already handled by an existing acpi-button codepath).

    Signed-off-by: Daniel Drake
    Acked-by: Zhang Rui
    Signed-off-by: Rafael J. Wysocki

    Daniel Drake
     

09 May, 2012

2 commits

  • Replaced copying of real_mode_header with a pointer
    to beginning of RM memory.

    Signed-off-by: Jarkko Sakkinen
    Link: http://lkml.kernel.org/r/1336501366-28617-19-git-send-email-jarkko.sakkinen@intel.com
    Signed-off-by: H. Peter Anvin

    Jarkko Sakkinen
     
  • Migrated ACPI wakeup code to the real-mode blob.
    Code existing in .x86_trampoline can be completely
    removed. Static descriptor table in wakeup_asm.S is
    courtesy of H. Peter Anvin.

    Signed-off-by: Jarkko Sakkinen
    Link: http://lkml.kernel.org/r/1336501366-28617-7-git-send-email-jarkko.sakkinen@intel.com
    Cc: Rafael J. Wysocki
    Cc: Len Brown
    Signed-off-by: H. Peter Anvin

    Jarkko Sakkinen
     

08 May, 2012

1 commit


24 Apr, 2012

1 commit

  • With commit a2ef5c4fd44ce3922435139393b89f2cce47f576
    "ACPI: Move module parameter gts and bfs to sleep.c" the wake_sleep_flags
    is required when calling acpi_enter_sleep_state, which means
    that if there are functions outside the sleep.c code they
    can't get the wake_sleep_flags values.

    This converts the function in to a exported value and converts
    the module config operands to a function.

    Acked-by: Rafael J. Wysocki
    Acked-by: Lin Ming
    [v2: Parameters can be turned on/off dynamically]
    [v3: unsigned char -> u8]
    [v4: val -> kp->arg]
    Signed-off-by: Konrad Rzeszutek Wilk
    Link: http://lkml.kernel.org/r/1335150198-21899-2-git-send-email-konrad.wilk@oracle.com
    Signed-off-by: H. Peter Anvin

    Konrad Rzeszutek Wilk
     

31 Mar, 2012

1 commit

  • Conflicts:
    drivers/acpi/sleep.c

    This was a text conflict between
    a2ef5c4fd44ce3922435139393b89f2cce47f576
    (ACPI: Move module parameter gts and bfs to sleep.c)

    which added #include

    and

    b24e5098853653554baf6ec975b9e855f3d6e5c0
    (ACPI, PCI: Move acpi_dev_run_wake() to ACPI core)

    which added #include

    The resolution was to take them both.

    Signed-off-by: Len Brown

    Len Brown
     

30 Mar, 2012

1 commit

  • acpi_dev_run_wake() is a generic function which can be used by
    other subsystem too. Rename it to acpi_pm_device_run_wake, to be
    consistent with acpi_pm_device_sleep_wake.

    Then move it to ACPI core.

    Acked-by: Rafael J. Wysocki
    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Lin Ming
     

27 Mar, 2012

2 commits

  • Move linux specific module parameter gts and bfs out of ACPICA core
    code to sleep.c.

    Signed-off-by: Lin Ming
    Signed-off-by: Len Brown

    Lin Ming
     
  • Enhanced the sleep/wake interfaces to optionally execute the
    _GTS method (Going To Sleep), and the _BFS method (Back From
    Sleep). Windows apparently does not execute these methods, and
    therefore these methods are often untested. It has been seen on
    some systems where the execution of these methods causes errors
    and also prevents the machine from entering S5. It is therefore
    suggested that host operating systems do not execute these methods
    by default. In the future, perhaps these methods can be optionally
    executed based on the age of the system and/or what is the newest
    version of Windows that the BIOS asks for via _OSI.

    Signed-off-by: Lin Ming
    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Lin Ming
     

22 Mar, 2012

1 commit


21 Jan, 2012

1 commit


07 Dec, 2011

1 commit


05 Nov, 2011

1 commit


22 Oct, 2011

1 commit


17 Oct, 2011

2 commits


30 Jul, 2011

1 commit


23 Mar, 2011

1 commit


17 Mar, 2011

1 commit

  • …rnel/git/tip/linux-2.6-tip

    * 'x86-trampoline-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix binutils-2.21 symbol related build failures
    x86-64, trampoline: Remove unused variable
    x86, reboot: Fix the use of passed arguments in 32-bit BIOS reboot
    x86, reboot: Move the real-mode reboot code to an assembly file
    x86: Make the GDT_ENTRY() macro in <asm/segment.h> safe for assembly
    x86, trampoline: Use the unified trampoline setup for ACPI wakeup
    x86, trampoline: Common infrastructure for low memory trampolines

    Fix up trivial conflicts in arch/x86/kernel/Makefile

    Linus Torvalds
     

15 Mar, 2011

1 commit


25 Feb, 2011

6 commits