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
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 -
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
...
26 Jul, 2012
2 commits
-
…coupled', 'cpuidle-tweaks', 'intel_idle-ivb', 'ost', 'red-hat-bz-772730', 'thermal', 'thermal-spear' and 'turbostat-v2' into release
-
Two bits were appended to the end of the bitfield
list in struct scsi_device. Resolve that conflict
by including both bits.Conflicts:
include/scsi/scsi_device.h
29 Jun, 2012
1 commit
-
ATA port may support runtime D3Cold state, for example, Zero-power ODD case.
This patch adds wakeup notifier and enable/disable run_wake during
supend/resume.Signed-off-by: Lin Ming
Signed-off-by: Jeff Garzik
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
04 Jun, 2012
2 commits
-
…at', 'bugfix-video' and 'workaround-pss' into release
bug fixes
Signed-off-by: Len Brown <len.brown@intel.com>
-
Pull some left-over PM patches from Rafael J. Wysocki.
* 'pm-acpi' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI / PM: Make acpi_pm_device_sleep_state() follow the specification
ACPI / PM: Make __acpi_bus_get_power() cover D3cold correctly
ACPI / PM: Fix error messages in drivers/acpi/bus.c
rtc-cmos / PM: report wakeup event on ACPI RTC alarm
ACPI / PM: Generate wakeup events on fixed power button
01 Jun, 2012
1 commit
-
Remove the unused argument of acpi_os_wait_events_complete.
Signed-off-by: Lin Ming
Signed-off-by: Bob Moore
Signed-off-by: Len Brown
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
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
... -
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
-
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
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 -
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
08 May, 2012
1 commit
-
Cc: Len Brown
Signed-off-by: Kay Sievers
Signed-off-by: Greg Kroah-Hartman
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
31 Mar, 2012
1 commit
-
Conflicts:
drivers/acpi/sleep.cThis 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
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
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 -
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
22 Mar, 2012
1 commit
-
Changed the METHOD_NAME* defines that define a full pathname to
the method to METHOD_PATHNAME* in order to make it clear that
it is not a simple 4-character ACPI name. Used for the various
sleep/wake methods.Signed-off-by: Bob Moore
Signed-off-by: Lin Ming
Signed-off-by: Len Brown
21 Jan, 2012
1 commit
-
Sony Vaio VPCCW29FX does not resume correctly without
acpi_sleep=nonvs, so add it to the ACPI sleep blacklist.https://bugzilla.kernel.org/show_bug.cgi?id=34722
Signed-off-by: Lan Tianyu
Signed-off-by: Len Brown
07 Dec, 2011
1 commit
-
The models do not resume correctly without acpi_sleep=nonvs.
Signed-off-by: Keng-Yu Lin
Signed-off-by: Rafael J. Wysocki
05 Nov, 2011
1 commit
-
Another entry for the nonvs blacklist, as noted by a user in
https://bugzilla.redhat.com/show_bug.cgi?id=641789#c12Signed-off-by: Dave Jones
Signed-off-by: Rafael J. Wysocki
22 Oct, 2011
1 commit
-
As noted by a user in https://bugzilla.redhat.com/show_bug.cgi?id=641789
The Sony VGN-FW21E also needs the nonvs by default workaround added.Signed-off-by: Dave Jones
Signed-off-by: Rafael J. Wysocki
17 Oct, 2011
2 commits
-
Sony Vaio VGN-FW520F does not resume correctly without
acpi_sleep=nonvs, so add it to the ACPI sleep blacklist.References: https://bugzilla.kernel.org/show_bug.cgi?id=16396#c86
Signed-off-by: Bogdan Radulescu
Signed-off-by: Rafael J. Wysocki -
Apparently, Sony Vaio VGN-SR26GN_P does not resume correctly without
acpi_sleep=nonvs, so add it to the ACPI sleep blacklist.References: https://bugzilla.kernel.org/show_bug.cgi?id=16396#c91
Signed-off-by: Rafael J. Wysocki
30 Jul, 2011
1 commit
-
DMI workaround for A8N-SLI Premium and A8N-SLI DELUXE
to enable the s3 suspend old ordering.
http://bugzilla.kernel.org/show_bug.cgi?id=9528Tested-by: Heiko Ettelbrück
Tested-by: Brian Beardall
Signed-off-by: Zhang Rui
Signed-off-by: Len Brown
23 Mar, 2011
1 commit
-
Conflicts:
arch/x86/kernel/acpi/sleep.cSigned-off-by: Len Brown
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 trampolinesFix up trivial conflicts in arch/x86/kernel/Makefile
15 Mar, 2011
1 commit
-
After redefining CONFIG_PM to depend on (CONFIG_PM_SLEEP ||
CONFIG_PM_RUNTIME) the CONFIG_PM_OPS option is redundant and can be
replaced with CONFIG_PM.Signed-off-by: Rafael J. Wysocki
25 Feb, 2011
6 commits
-
The function acpi_hibernation_enter() is always called with
interrupts off, so it doesn't need to switch them off and on.Signed-off-by: Rafael J. Wysocki
-
The function do_suspend_lowlevel() is specific to x86 and defined in
assembly code, so it should be called from the x86 low-level suspend
code rather than from acpi_suspend_enter().Merge do_suspend_lowlevel() into the x86's acpi_save_state_mem() and
change the name of the latter to acpi_suspend_lowlevel(), so that the
function's purpose is better reflected by its name.Signed-off-by: Rafael J. Wysocki
-
Since acpi_save_state_mem() is only called by acpi_suspend_enter()
if the target sleep state is S3, it's better to call it under the
switch (acpi_state), right before do_suspend_lowlevel().Signed-off-by: Rafael J. Wysocki
-
Move the low-level resume completion message to the point where
control goes back to acpi_suspend_enter() during resume and change
it so that it's more informative.Signed-off-by: Rafael J. Wysocki
-
The function acpi_suspend_enter() is always called with interrupts
off, so it doesn't need to switch them off and on.Signed-off-by: Rafael J. Wysocki
-
The function acpi_restore_state_mem() has never been and most likely
never will be used, so remove it.Signed-off-by: Rafael J. Wysocki