Attention is currently required from: Jeff Daly, Tarun Tuli, Sean Rhodes, Subrata Banik, Jonathan Zhang, Johnny Lin, Christian Walter, Kapil Porwal, Vanessa Eusebio, Lean Sheng Tan, Werner Zeh, Tim Chu.
Arthur Heymans has uploaded this change for review. ( 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 it results in a system hang on at least Alderlake (prodrive/atlas).
Signed-off-by: Arthur Heymans arthur@aheymans.xyz Change-Id: Ic9e19410696240755e8714db53a0525284f3a2da --- M src/Kconfig M src/soc/intel/alderlake/Kconfig M src/soc/intel/apollolake/Kconfig M src/soc/intel/cannonlake/Kconfig M src/soc/intel/denverton_ns/Kconfig M src/soc/intel/elkhartlake/Kconfig M src/soc/intel/jasperlake/Kconfig M src/soc/intel/meteorlake/Kconfig M src/soc/intel/skylake/Kconfig M src/soc/intel/tigerlake/Kconfig M src/soc/intel/xeon_sp/Kconfig M src/southbridge/intel/common/acpi/sleepstates.asl 12 files changed, 30 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/60/74760/1
diff --git a/src/Kconfig b/src/Kconfig index e35df43..2a54760 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -711,6 +711,12 @@
source "src/console/Kconfig"
+config PLATFORM_LACKS_ACPI_S1 + 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/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig index 0913480..177fd5d 100644 --- a/src/soc/intel/alderlake/Kconfig +++ b/src/soc/intel/alderlake/Kconfig @@ -78,6 +78,7 @@ select MP_SERVICES_PPI_V2 select MRC_SETTINGS_PROTECT select PARALLEL_MP_AP_WORK + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_2 select PMC_GLOBAL_RESET_ENABLE_LOCK select SOC_INTEL_COMMON diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig index 395d7aa6..0627cc7 100644 --- a/src/soc/intel/apollolake/Kconfig +++ b/src/soc/intel/apollolake/Kconfig @@ -64,6 +64,7 @@ select PCIEXP_COMMON_CLOCK select PCIEXP_CLK_PM select PCIEXP_L1_SUB_STATE + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_0 select PMC_INVALID_READ_AFTER_WRITE select PMC_GLOBAL_RESET_ENABLE_LOCK diff --git a/src/soc/intel/cannonlake/Kconfig b/src/soc/intel/cannonlake/Kconfig index 33025eb..5f717f8 100644 --- a/src/soc/intel/cannonlake/Kconfig +++ b/src/soc/intel/cannonlake/Kconfig @@ -79,6 +79,7 @@ select INTEL_GMA_ADD_VBT if RUN_FSP_GOP select MRC_SETTINGS_PROTECT select PARALLEL_MP_AP_WORK + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_0 select PMC_GLOBAL_RESET_ENABLE_LOCK select SOC_INTEL_COMMON diff --git a/src/soc/intel/denverton_ns/Kconfig b/src/soc/intel/denverton_ns/Kconfig index dcf9a5f..42881e8 100644 --- a/src/soc/intel/denverton_ns/Kconfig +++ b/src/soc/intel/denverton_ns/Kconfig @@ -27,6 +27,7 @@ select HAVE_SMI_HANDLER select INTEL_DESCRIPTOR_MODE_CAPABLE select PCR_COMMON_IOSF_1_0 + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_0 select SOC_INTEL_COMMON select SOC_INTEL_COMMON_RESET diff --git a/src/soc/intel/elkhartlake/Kconfig b/src/soc/intel/elkhartlake/Kconfig index 9e7f3eb..af47ec88 100644 --- a/src/soc/intel/elkhartlake/Kconfig +++ b/src/soc/intel/elkhartlake/Kconfig @@ -30,6 +30,7 @@ select MP_SERVICES_PPI_V1 select MRC_SETTINGS_PROTECT select PARALLEL_MP_AP_WORK + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_1 select PMC_GLOBAL_RESET_ENABLE_LOCK select SOC_INTEL_COMMON diff --git a/src/soc/intel/jasperlake/Kconfig b/src/soc/intel/jasperlake/Kconfig index 660b24a..6aec3b1 100644 --- a/src/soc/intel/jasperlake/Kconfig +++ b/src/soc/intel/jasperlake/Kconfig @@ -33,6 +33,7 @@ select MP_SERVICES_PPI_V1 select MRC_SETTINGS_PROTECT select PARALLEL_MP_AP_WORK + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_2 select PMC_GLOBAL_RESET_ENABLE_LOCK select SOC_INTEL_COMMON diff --git a/src/soc/intel/meteorlake/Kconfig b/src/soc/intel/meteorlake/Kconfig index 3d99f81..5b48e5f 100644 --- a/src/soc/intel/meteorlake/Kconfig +++ b/src/soc/intel/meteorlake/Kconfig @@ -43,6 +43,7 @@ select MP_SERVICES_PPI_V2 select MRC_SETTINGS_PROTECT select PARALLEL_MP_AP_WORK + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_3 select PMC_GLOBAL_RESET_ENABLE_LOCK select SOC_INTEL_COMMON diff --git a/src/soc/intel/skylake/Kconfig b/src/soc/intel/skylake/Kconfig index e15af04..67935a0 100644 --- a/src/soc/intel/skylake/Kconfig +++ b/src/soc/intel/skylake/Kconfig @@ -45,6 +45,7 @@ select INTEL_GMA_ADD_VBT if RUN_FSP_GOP select MRC_SETTINGS_PROTECT select PARALLEL_MP_AP_WORK + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_0 select PMC_GLOBAL_RESET_ENABLE_LOCK select SA_ENABLE_DPR diff --git a/src/soc/intel/tigerlake/Kconfig b/src/soc/intel/tigerlake/Kconfig index 9928591..2fef475 100644 --- a/src/soc/intel/tigerlake/Kconfig +++ b/src/soc/intel/tigerlake/Kconfig @@ -42,6 +42,7 @@ select MP_SERVICES_PPI_V1 select MRC_SETTINGS_PROTECT select PARALLEL_MP_AP_WORK + select PLATFORM_LACKS_ACPI_S1 select PLATFORM_USES_FSP2_2 select PMC_GLOBAL_RESET_ENABLE_LOCK select SOC_INTEL_COMMON diff --git a/src/soc/intel/xeon_sp/Kconfig b/src/soc/intel/xeon_sp/Kconfig index f6bfd42..1fb4703 100644 --- a/src/soc/intel/xeon_sp/Kconfig +++ b/src/soc/intel/xeon_sp/Kconfig @@ -50,6 +50,7 @@ select INTEL_DESCRIPTOR_MODE_CAPABLE select PARALLEL_MP_AP_WORK select PMC_GLOBAL_RESET_ENABLE_LOCK + select PLATFORM_LACKS_ACPI_S1 select POSTCAR_STAGE select REG_SCRIPT select SMM_TSEG diff --git a/src/southbridge/intel/common/acpi/sleepstates.asl b/src/southbridge/intel/common/acpi/sleepstates.asl index eae7642..7028c63 100644 --- a/src/southbridge/intel/common/acpi/sleepstates.asl +++ b/src/southbridge/intel/common/acpi/sleepstates.asl @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */
Name(_S0, Package(){0x0,0x0,0x0,0x0}) -#if !CONFIG(HAVE_ACPI_RESUME) +#if !CONFIG(HAVE_ACPI_RESUME) && !CONFIG(PLATFORM_LACKS_ACPI_S1) Name(_S1, Package(){0x1,0x0,0x0,0x0}) #else Name(_S3, Package(){0x5,0x0,0x0,0x0})