1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun=========================== 4*4882a593SmuzhiyunLow Power Idle Table (LPIT) 5*4882a593Smuzhiyun=========================== 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunTo enumerate platform Low Power Idle states, Intel platforms are using 8*4882a593Smuzhiyun“Low Power Idle Table” (LPIT). More details about this table can be 9*4882a593Smuzhiyundownloaded from: 10*4882a593Smuzhiyunhttps://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunResidencies for each low power state can be read via FFH 13*4882a593Smuzhiyun(Function fixed hardware) or a memory mapped interface. 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunOn platforms supporting S0ix sleep states, there can be two types of 16*4882a593Smuzhiyunresidencies: 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun - CPU PKG C10 (Read via FFH interface) 19*4882a593Smuzhiyun - Platform Controller Hub (PCH) SLP_S0 (Read via memory mapped interface) 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunThe following attributes are added dynamically to the cpuidle 22*4882a593Smuzhiyunsysfs attribute group:: 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun /sys/devices/system/cpu/cpuidle/low_power_idle_cpu_residency_us 25*4882a593Smuzhiyun /sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us 26*4882a593Smuzhiyun 27*4882a593SmuzhiyunThe "low_power_idle_cpu_residency_us" attribute shows time spent 28*4882a593Smuzhiyunby the CPU package in PKG C10 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunThe "low_power_idle_system_residency_us" attribute shows SLP_S0 31*4882a593Smuzhiyunresidency, or system time spent with the SLP_S0# signal asserted. 32*4882a593SmuzhiyunThis is the lowest possible system power state, achieved only when CPU is in 33*4882a593SmuzhiyunPKG C10 and all functional blocks in PCH are in a low power state. 34