An important part of validating that s0ix worked properly is to check how much of a cycle was spent in a hardware sleep state. The reporting of hardware sleep is a mix of kernel messages and sysfs files that vary from vendor to vendor. Collecting this information requires extra information on the kernel command line or fetching from debugfs. To make this information more readily accessible introduce a new file in suspend_stats that drivers can report into during their resume routine. Userspace can fetch this information and compare it against the duration of the cycle to allow determining residency percentages and flagging problems. v5->v6 * Add sysfs file for total * In cases we know overflow return -EOVERFLOW * Update documentation * Rename symbol * Fix kernel robot reported missing stub Mario Limonciello (4): PM: Add sysfs files to represent time spent in hardware sleep state platform/x86/amd: pmc: Report duration of time in hw sleep state platform/x86/intel/pmc: core: Always capture counters on suspend platform/x86/intel/pmc: core: Report duration of time in HW sleep state Documentation/ABI/testing/sysfs-power | 27 ++++++++++++++++ drivers/platform/x86/amd/pmc.c | 5 ++- drivers/platform/x86/intel/pmc/core.c | 18 ++++++----- drivers/platform/x86/intel/pmc/core.h | 2 -- include/linux/suspend.h | 5 +++ kernel/power/main.c | 45 +++++++++++++++++++++++++++ 6 files changed, 89 insertions(+), 13 deletions(-) -- 2.34.1