diff options
author | Gayatri Kammela <gayatri.kammela@intel.com> | 2021-04-16 20:12:48 -0700 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2021-04-19 10:44:28 +0200 |
commit | 428131364f0073a18682a5d3ee9cf13d8042cfce (patch) | |
tree | 91b9977ffb66b8b2b726f68bc7ad576b4744fc1d /drivers/platform/x86/intel_pmc_core.h | |
parent | 29c2dd88ac9ed5780a762e49585e65e99c90d5a8 (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.h | 2 |
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) \ |