Lean Sheng Tan has submitted this change. ( https://review.coreboot.org/c/coreboot/+/74760 )
Change subject: soc/intel: Don't report _S1 state when unsupported ......................................................................
soc/intel: Don't report _S1 state when unsupported
Since skylake Intel hardware does not support this sleep state. Trying to enter S1 by having the OS enter sleep results in a system hang on at least Alder lake (prodrive/atlas).
CONFIG_SOC_INTEL_COMMON_BLOCK_PMC is a good proxy whether devices support 'skylake style' PMC PCI device for ACPI registers.
Signed-off-by: Arthur Heymans arthur@aheymans.xyz Change-Id: Ic9e19410696240755e8714db53a0525284f3a2da Reviewed-on: https://review.coreboot.org/c/coreboot/+/74760 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Lean Sheng Tan sheng.tan@9elements.com Reviewed-by: Werner Zeh werner.zeh@siemens.com --- M src/Kconfig M src/soc/intel/common/block/pmc/Kconfig M src/southbridge/intel/common/acpi/sleepstates.asl 3 files changed, 30 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Werner Zeh: Looks good to me, approved Lean Sheng Tan: Looks good to me, approved
diff --git a/src/Kconfig b/src/Kconfig index e35df43..9042719 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -711,6 +711,12 @@
source "src/console/Kconfig"
+config ACPI_S1_NOT_SUPPORTED + bool + default n + help + Set this to 'y' on platforms that do not support ACPI S1 state. + config HAVE_ACPI_RESUME bool default n diff --git a/src/soc/intel/common/block/pmc/Kconfig b/src/soc/intel/common/block/pmc/Kconfig index effdc12..181ad81 100644 --- a/src/soc/intel/common/block/pmc/Kconfig +++ b/src/soc/intel/common/block/pmc/Kconfig @@ -4,6 +4,7 @@ bool select HAVE_POWER_STATE_AFTER_FAILURE select HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE + select ACPI_S1_NOT_SUPPORTED help Intel Processor common code for Power Management controller(PMC) subsystem diff --git a/src/southbridge/intel/common/acpi/sleepstates.asl b/src/southbridge/intel/common/acpi/sleepstates.asl index eae7642..30e12a0 100644 --- a/src/southbridge/intel/common/acpi/sleepstates.asl +++ b/src/southbridge/intel/common/acpi/sleepstates.asl @@ -2,7 +2,9 @@
Name(_S0, Package(){0x0,0x0,0x0,0x0}) #if !CONFIG(HAVE_ACPI_RESUME) +#if !CONFIG(ACPI_S1_NOT_SUPPORTED) Name(_S1, Package(){0x1,0x0,0x0,0x0}) +#endif #else Name(_S3, Package(){0x5,0x0,0x0,0x0}) #endif