14887954cSChangbin Du.. SPDX-License-Identifier: GPL-2.0
24887954cSChangbin Du
34887954cSChangbin Du===========================
44887954cSChangbin DuLow Power Idle Table (LPIT)
54887954cSChangbin Du===========================
64887954cSChangbin Du
74887954cSChangbin DuTo enumerate platform Low Power Idle states, Intel platforms are using
84887954cSChangbin Du“Low Power Idle Table” (LPIT). More details about this table can be
94887954cSChangbin Dudownloaded from:
104ce77966SAlexander A. Klimovhttps://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf
114887954cSChangbin Du
124887954cSChangbin DuResidencies for each low power state can be read via FFH
134887954cSChangbin Du(Function fixed hardware) or a memory mapped interface.
144887954cSChangbin Du
154887954cSChangbin DuOn platforms supporting S0ix sleep states, there can be two types of
164887954cSChangbin Duresidencies:
174887954cSChangbin Du
184887954cSChangbin Du  - CPU PKG C10 (Read via FFH interface)
194887954cSChangbin Du  - Platform Controller Hub (PCH) SLP_S0 (Read via memory mapped interface)
204887954cSChangbin Du
214887954cSChangbin DuThe following attributes are added dynamically to the cpuidle
224887954cSChangbin Dusysfs attribute group::
234887954cSChangbin Du
244887954cSChangbin Du  /sys/devices/system/cpu/cpuidle/low_power_idle_cpu_residency_us
254887954cSChangbin Du  /sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us
264887954cSChangbin Du
274887954cSChangbin DuThe "low_power_idle_cpu_residency_us" attribute shows time spent
284887954cSChangbin Duby the CPU package in PKG C10
294887954cSChangbin Du
304887954cSChangbin DuThe "low_power_idle_system_residency_us" attribute shows SLP_S0
314887954cSChangbin Duresidency, or system time spent with the SLP_S0# signal asserted.
324887954cSChangbin DuThis is the lowest possible system power state, achieved only when CPU is in
334887954cSChangbin DuPKG C10 and all functional blocks in PCH are in a low power state.
34