From e1b1ec7154e4c41adf4eb6a0e4ebd08a2e938a2c Mon Sep 17 00:00:00 2001 From: Marshall Dawson Date: Sun, 7 Oct 2018 21:45:47 -0600 Subject: amd/stoneyridge: Fix PmControl register size in SMI handler The AMD implementation of this register is only 16 bits. Change the source accordingly. TEST=Suspend/Resume a Grunt several times Change-Id: Ib900468cc1c790fa7d57bb6faa91aee012173f7a Signed-off-by: Marshall Dawson Reviewed-on: https://review.coreboot.org/29016 Tested-by: build bot (Jenkins) Reviewed-by: Richard Spiegel --- src/soc/amd/stoneyridge/smihandler.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/soc') diff --git a/src/soc/amd/stoneyridge/smihandler.c b/src/soc/amd/stoneyridge/smihandler.c index eeedba70d2..8985257139 100644 --- a/src/soc/amd/stoneyridge/smihandler.c +++ b/src/soc/amd/stoneyridge/smihandler.c @@ -122,13 +122,13 @@ static void disable_all_smi_status(void) static void sb_slp_typ_handler(void) { - uint32_t pm1cnt, pci_ctrl, reg32; - uint16_t reg16; + uint32_t pci_ctrl, reg32; + uint16_t pm1cnt, reg16; uint8_t slp_typ, rst_ctrl; /* Figure out SLP_TYP */ - pm1cnt = inl(pm_acpi_pm_cnt_blk()); - printk(BIOS_SPEW, "SMI#: SLP = 0x%08x\n", pm1cnt); + pm1cnt = inw(pm_acpi_pm_cnt_blk()); + printk(BIOS_SPEW, "SMI#: SLP = 0x%04x\n", pm1cnt); slp_typ = acpi_sleep_from_pm1(pm1cnt); /* Do any mainboard sleep handling */ @@ -196,7 +196,7 @@ static void sb_slp_typ_handler(void) } /* if (IS_ENABLED(CONFIG_ELOG_GSMI)) */ /* Reissue Pm1 write */ - outl(pm1cnt | SLP_EN, pm_acpi_pm_cnt_blk()); + outw(pm1cnt | SLP_EN, pm_acpi_pm_cnt_blk()); hlt(); } } -- cgit v1.2.3