From 4dc4cb6b5c835ca947356a4d4e8c10228966bebc Mon Sep 17 00:00:00 2001 From: Marshall Dawson Date: Fri, 3 Apr 2020 12:07:00 -0600 Subject: soc/amd/picasso: Use SMU to put system into S3 Send a message to the SMU to turn off the system power. SMU will take the proper final steps based on PmControl[SlpTyp]. BUG=b:153264473 TEST=verify system can enter S3 Change-Id: I3c0d98110c12963aa6fef5d176fd9acaa7ed9f26 Signed-off-by: Marshall Dawson Reviewed-on: https://chromium-review.googlesource.com/2140471 Reviewed-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/c/coreboot/+/41626 Reviewed-by: Raul Rangel Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/soc/amd/picasso/smihandler.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/soc/amd/picasso/smihandler.c b/src/soc/amd/picasso/smihandler.c index d7a46d3461..992dc2b55a 100644 --- a/src/soc/amd/picasso/smihandler.c +++ b/src/soc/amd/picasso/smihandler.c @@ -15,6 +15,7 @@ #include #include #include +#include /* bits in smm_io_trap */ #define SMM_IO_TRAP_PORT_OFFSET 16 @@ -209,11 +210,9 @@ static void sb_slp_typ_handler(void) psp_notify_sx_info(slp_typ); - /* - * An IO cycle is required to trigger the STPCLK/STPGNT - * handshake when the Pm1 write is reissued. - */ - outw(pm1cnt | SLP_EN, pm_read16(PM1_CNT_BLK)); + smu_sx_entry(); /* Leave SlpTypeEn clear, SMU will set */ + printk(BIOS_ERR, "Error: System did not go to sleep\n"); + hlt(); } } -- cgit v1.2.3