summaryrefslogtreecommitdiff
path: root/drivers/platform/x86/intel_pmc_core.h
diff options
context:
space:
mode:
authorGayatri Kammela <gayatri.kammela@intel.com>2021-04-16 20:12:48 -0700
committerHans de Goede <hdegoede@redhat.com>2021-04-19 10:44:28 +0200
commit428131364f0073a18682a5d3ee9cf13d8042cfce (patch)
tree91b9977ffb66b8b2b726f68bc7ad576b4744fc1d /drivers/platform/x86/intel_pmc_core.h
parent29c2dd88ac9ed5780a762e49585e65e99c90d5a8 (diff)
platform/x86: intel_pmc_core: Get LPM requirements for Tiger Lake
Platforms that support low power modes (LPM) such as Tiger Lake maintain requirements for each sub-state that a readable in the PMC. However, unlike LPM status registers, requirement registers are not memory mapped but are available from an ACPI _DSM. Collect the requirements for Tiger Lake using the _DSM method and store in a buffer. Signed-off-by: Gayatri Kammela <gayatri.kammela@intel.com> Co-developed-by: David E. Box <david.e.box@linux.intel.com> Signed-off-by: David E. Box <david.e.box@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20210417031252.3020837-6-david.e.box@linux.intel.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/platform/x86/intel_pmc_core.h')
-rw-r--r--drivers/platform/x86/intel_pmc_core.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/platform/x86/intel_pmc_core.h b/drivers/platform/x86/intel_pmc_core.h
index aa44fd5399cc..64fb368f40f6 100644
--- a/drivers/platform/x86/intel_pmc_core.h
+++ b/drivers/platform/x86/intel_pmc_core.h
@@ -294,6 +294,7 @@ struct pmc_reg_map {
* @s0ix_counter: S0ix residency (step adjusted)
* @num_lpm_modes: Count of enabled modes
* @lpm_en_modes: Array of enabled modes from lowest to highest priority
+ * @lpm_req_regs: List of substate requirements
*
* pmc_dev contains info about power management controller device.
*/
@@ -310,6 +311,7 @@ struct pmc_dev {
u64 s0ix_counter;
int num_lpm_modes;
int lpm_en_modes[LPM_MAX_NUM_MODES];
+ u32 *lpm_req_regs;
};
#define pmc_for_each_mode(i, mode, pmcdev) \