summaryrefslogtreecommitdiff
path: root/src/soc/amd
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/amd')
-rw-r--r--src/soc/amd/picasso/cpu.c8
-rw-r--r--src/soc/amd/picasso/smi.c5
2 files changed, 7 insertions, 6 deletions
diff --git a/src/soc/amd/picasso/cpu.c b/src/soc/amd/picasso/cpu.c
index 9460485b6b..8ee065d685 100644
--- a/src/soc/amd/picasso/cpu.c
+++ b/src/soc/amd/picasso/cpu.c
@@ -81,12 +81,18 @@ static void relocation_handler(int cpu, uintptr_t curr_smbase,
smm_state->smbase = staggered_smbase;
}
+static void post_mp_init(void)
+{
+ global_smi_enable();
+ apm_control(APM_CNT_SMMINFO);
+}
+
static const struct mp_ops mp_ops = {
.pre_mp_init = pre_mp_init,
.get_cpu_count = get_cpu_count,
.get_smm_info = get_smm_info,
.relocation_handler = relocation_handler,
- .post_mp_init = global_smi_enable,
+ .post_mp_init = post_mp_init,
};
void mp_init_cpus(struct bus *cpu_bus)
diff --git a/src/soc/amd/picasso/smi.c b/src/soc/amd/picasso/smi.c
index 58221513a1..fb6d3484ad 100644
--- a/src/soc/amd/picasso/smi.c
+++ b/src/soc/amd/picasso/smi.c
@@ -4,8 +4,6 @@
* Utilities for SMM setup
*/
-#include <acpi/acpi.h>
-#include <arch/io.h>
#include <console/console.h>
#include <cpu/x86/smm.h>
#include <amdblocks/acpimmio.h>
@@ -19,7 +17,4 @@ void global_smi_enable(void)
reg &= ~SMITRG0_SMIENB; /* Enable SMI generation */
reg |= SMITRG0_EOS; /* Set EOS bit */
smi_write32(SMI_REG_SMITRIG0, reg);
-
- if (!acpi_is_wakeup_s3())
- outb(APM_CNT_SMMINFO, APM_CNT);
}