platform/x86/intel/pmc: Alder Lake PCH slp_s0_residency fix
authorRajvi Jingar <rajvi.jingar@linux.intel.com>
Mon, 20 Mar 2023 21:20:29 +0000 (14:20 -0700)
committerHans de Goede <hdegoede@redhat.com>
Mon, 27 Mar 2023 11:34:34 +0000 (13:34 +0200)
commitfb5755100a0a5aa5957bdb204fd1e249684557fc
tree777ba457dd19b7b45d0a2592abaa7a0f710d221e
parentacd0acb802b90f88d19ad4337183e44fd0f77c50
platform/x86/intel/pmc: Alder Lake PCH slp_s0_residency fix

For platforms with Alder Lake PCH (Alder Lake S and Raptor Lake S) the
slp_s0_residency attribute has been reporting the wrong value. Unlike other
platforms, ADL PCH does not have a counter for the time that the SLP_S0
signal was asserted. Instead, firmware uses the aggregate of the Low Power
Mode (LPM) substate counters as the S0ix value.  Since the LPM counters run
at a different frequency, this lead to misreporting of the S0ix time.

Add a check for Alder Lake PCH and adjust the frequency accordingly when
display slp_s0_residency.

Fixes: bbab31101f44 ("platform/x86/intel: pmc/core: Add Alderlake support to pmc core driver")
Signed-off-by: Rajvi Jingar <rajvi.jingar@linux.intel.com>
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Reviewed-by: Rajneesh Bhardwaj <irenic.rajneesh@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20230320212029.3154407-1-david.e.box@linux.intel.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/intel/pmc/core.c