diff options
author | Marshall Dawson <marshall.dawson@amd.corp-partner.google.com> | 2020-04-03 12:07:00 -0600 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2020-05-27 19:20:15 +0000 |
commit | 4dc4cb6b5c835ca947356a4d4e8c10228966bebc (patch) | |
tree | 7d2834cd94f2b02b5346f024f0182db5ece6ecd1 /src/soc | |
parent | 5c5049e2832d2a6869a075e44966e0525dae5fab (diff) |
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 <marshalldawson3rd@gmail.com>
Reviewed-on: https://chromium-review.googlesource.com/2140471
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41626
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/amd/picasso/smihandler.c | 9 |
1 files 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 <amdblocks/acpi.h> #include <amdblocks/psp.h> #include <elog.h> +#include <soc/smu.h> /* 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(); } } |