diff options
author | Jeremy Compostella <jeremy.compostella@intel.com> | 2023-10-18 14:42:13 -0700 |
---|---|---|
committer | Subrata Banik <subratabanik@google.com> | 2023-10-19 16:17:20 +0000 |
commit | 74f5a3e8a00edb82c9766fc9edb157c32959b20d (patch) | |
tree | d70bb73fd4b77a3ffc587dff5263a21653a9ef69 /src/soc | |
parent | 7357f2a0ff13380410ff23da9ac0f8648e1319bf (diff) |
soc/intel: Improve CONFIG_ACPI_SOC_INTEL_SLP_S0_FREQ_HZ use
Commit bd9c562a9e0c6af65f5e798a17ba9a55892ef082 ("acpi: Configure
slp-s0 residency counter frequency in LPIT table") led to jenkins
reporting the following error:
!!!!! Error: defined(CONFIG_ACPI_SOC_INTEL_SLP_S0_FREQ_HZ)
used at src/include/acpi/acpi.h:457. Symbols of type 'hex'
are always defined.
Since hex Kconfig are always defined there is no need to test it being
defined but also no need to handle zero or non-zero values.
In addition:
1. This config was defined in Meteor Lake specific Kconfig file while
it should actually be define closer to where it is being used (here
soc/intel/common/block/acpi/Kconfig) and only set by the SoC Kconfig.
2. Once moved and under control of `SOC_INTEL_COMMON_BLOCK_ACPI_LPIT'
gating (lpit.c), the Kconfig name needed to be adjusted to better fit
its use.
3. Make Meteor Lake Kconfig sets the config but does not define it
anymore.
TEST=LPIT ACPI table Counter Frequency field is set to 0x2005 on rex
Change-Id: I2083c9209e61be6180cca2c9f74097e2f4b4ce9a
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78458
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Bora Guvendik <bora.guvendik@intel.com>
Reviewed-by: Sukumar Ghorai <sukumar.ghorai@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/common/block/acpi/Kconfig | 10 | ||||
-rw-r--r-- | src/soc/intel/common/block/acpi/lpit.c | 3 | ||||
-rw-r--r-- | src/soc/intel/meteorlake/Kconfig | 3 |
3 files changed, 13 insertions, 3 deletions
diff --git a/src/soc/intel/common/block/acpi/Kconfig b/src/soc/intel/common/block/acpi/Kconfig index c750e7ebd7..cc7d38fc83 100644 --- a/src/soc/intel/common/block/acpi/Kconfig +++ b/src/soc/intel/common/block/acpi/Kconfig @@ -65,3 +65,13 @@ config SOC_INTEL_UFS_LTR_DISQUALIFY LTR needs to be disqualified for UFS in D3 to ensure PMC ignores LTR from UFS IP which is infinite. endif + +if SOC_INTEL_COMMON_BLOCK_ACPI_LPIT + +config SOC_INTEL_COMMON_BLOCK_ACPI_SLP_S0_FREQ_HZ + hex + help + Define the slp_s0_residency frequency to be reported in the + LPIT ACPI table. + +endif diff --git a/src/soc/intel/common/block/acpi/lpit.c b/src/soc/intel/common/block/acpi/lpit.c index de1e71dc24..37ffd7252f 100644 --- a/src/soc/intel/common/block/acpi/lpit.c +++ b/src/soc/intel/common/block/acpi/lpit.c @@ -56,7 +56,8 @@ unsigned long acpi_fill_lpit(unsigned long current) sys_counter->residency_counter.bit_width = 32; sys_counter->residency_counter.space_id = ACPI_ADDRESS_SPACE_MEMORY; sys_counter->residency_counter.access_size = ACPI_ACCESS_SIZE_DWORD_ACCESS; - sys_counter->counter_frequency = ACPI_LPIT_SLP_S0_FREQ; + sys_counter->counter_frequency = + CONFIG_SOC_INTEL_COMMON_BLOCK_ACPI_SLP_S0_FREQ_HZ; /* Min. residency and worst-case latency (from FSP and vendor dumps) */ sys_counter->min_residency = 30000; /* break-even: 30 ms */ diff --git a/src/soc/intel/meteorlake/Kconfig b/src/soc/intel/meteorlake/Kconfig index 968d1a1d6b..5ae6850884 100644 --- a/src/soc/intel/meteorlake/Kconfig +++ b/src/soc/intel/meteorlake/Kconfig @@ -447,8 +447,7 @@ config SOC_INTEL_CSE_FW_PARTITION_CMOS_OFFSET int default 161 -config ACPI_SOC_INTEL_SLP_S0_FREQ_HZ - hex +config SOC_INTEL_COMMON_BLOCK_ACPI_SLP_S0_FREQ_HZ default 0x2005 help slp_s0_residency granularity in 122us ticks (i.e. ~8.2KHz) in Meteor Lake. |