Lean Sheng Tan has submitted this change. ( https://review.coreboot.org/c/coreboot/+/74406 )
Change subject: soc/intel/common/rtd3: Use D3COLD_SUPPORT to set max sleep state ......................................................................
soc/intel/common/rtd3: Use D3COLD_SUPPORT to set max sleep state
Use D3COLD_SUPPORT Kconfig option to set the maximum support sleep state. Report `4` in `_S0W` only when D3COLD_SUPPORT is enabled, as if it is not, it will break S3 exit.
When D3COLD_SUPPORT is not enabled, return `3` (D3Hot).
This fixed S3 exit on both TGL and ADL. Tested on StarBook Mk V and Mk VI.
Signed-off-by: Sean Rhodes sean@starlabs.systems Change-Id: I578d4933b6144aec79fe0b2eb168338ef82c0b9d Reviewed-on: https://review.coreboot.org/c/coreboot/+/74406 Reviewed-by: Nico Huber nico.h@gmx.de Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Michael Niewöhner foss@mniewoehner.de --- M src/soc/intel/common/block/pcie/rtd3/rtd3.c 1 file changed, 27 insertions(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Nico Huber: Looks good to me, but someone else must approve Michael Niewöhner: Looks good to me, approved
diff --git a/src/soc/intel/common/block/pcie/rtd3/rtd3.c b/src/soc/intel/common/block/pcie/rtd3/rtd3.c index 5067ac3..8b372ed 100644 --- a/src/soc/intel/common/block/pcie/rtd3/rtd3.c +++ b/src/soc/intel/common/block/pcie/rtd3/rtd3.c @@ -511,7 +511,10 @@ acpigen_write_device(acpi_device_name(dev)); acpigen_write_ADR(0); acpigen_write_STA(ACPI_STATUS_DEVICE_ALL_ON); - acpigen_write_name_integer("_S0W", ACPI_DEVICE_SLEEP_D3_COLD); + if (CONFIG(D3COLD_SUPPORT)) + acpigen_write_name_integer("_S0W", ACPI_DEVICE_SLEEP_D3_COLD); + else + acpigen_write_name_integer("_S0W", ACPI_DEVICE_SLEEP_D3_HOT);
acpi_device_add_storage_d3_enable(NULL);