...
FLUSH_SIZE. Indicates twice the size of the largest cache in bytes.
FLUSH_STRIDE. Indicates the smallest line size of the caches in bytes.
...
Low Power Idle (LPI)
ACPI System Low Power States
This work as is since it's directly PSCI linked. However, this is not
connected remotely to existing ACPI methods (7.4.2 _Sx (System
States)). It could be problematic without that as wakeup events need
to be linked to appropriate states as per specification.
Wake Events/Sources
When controlling power to devices that must wake the system
during a system sleeping state, ACPI defines system wake sources
under 7.4.3 _SWS (System Wake Source) and other related sections v6.0 introduced Low Power Idle mode in S0. S0 Idle could achieve savings similar to or better than those typically achieved in S3. OSPM can keep the system in S0 idle for its low-latency response rather than transitioning to a system sleep state.
Linux ACPI Suspend Flow
acpi_enter_sleep_state
uses hardware sleep control and status register to put the system to sleep and wake up.
PSCI-based suspend for Arm platforms
Arm platforms implement PSCI standards (mandated by BSA spec) and rather than introducing the sleep control and status register could make use of the PSCI standard for putting CPU and platform to suspend state.
...
Linux commands to test ACPI suspend states
Disable console suspend to get full suspend traces
Code Block |
---|
echo N > /sys/module/printk/parameters/console_suspend |
S1
Code Block |
---|
echo standby > /sys/power/state |
S3
Code Block |
---|
echo deep > /sys/power/mem_sleep
echo mem > /sys/power/state |
S4
Code Block |
---|
echo disk > /sys/power/state |
S2Idle
Code Block |
---|
echo freeze > /sys/power/state |
Linux testing status for ACPI suspend using PSCI
Suspend State | Wake Up event | Status | Notes |
---|---|---|---|
S2Idle | Lid | OK | |
S2Idle | RTC Alarm | OK | Linux kernel uses few ACPI GPE functions to determine if the device can wake up. They return wrong values for Arm64 implementation and had to be disabled during the testing. |
S1 | Lid | OK | |
S1 | RTC Alarm | OK | |
S3 | TF-A hack to wake up immediately after suspend | OK | This works only with single processor suspend, for SMP the wake up sequence crashes. The same behaviour is observed for DT as well. |