soc/amd/picasso: Move APM_CNT_SMMINFO callsite
Triggering SMI is not part of the semantics of global_smi_enable(), so
move it to the post_mp_init handler. Even without the !acpi_is_wakeup_s3
check we don't get PSP warnings/errors during resume, so we can drop the
workaround introduced in commit 5dbe45e0f5
in this patch.
Change-Id: Id0e7723c2bb9811f80fe36c38199a01445dc1d7d
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42987
Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
708e4cb596
commit
2fec394913
|
@ -81,12 +81,18 @@ static void relocation_handler(int cpu, uintptr_t curr_smbase,
|
||||||
smm_state->smbase = staggered_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 = {
|
static const struct mp_ops mp_ops = {
|
||||||
.pre_mp_init = pre_mp_init,
|
.pre_mp_init = pre_mp_init,
|
||||||
.get_cpu_count = get_cpu_count,
|
.get_cpu_count = get_cpu_count,
|
||||||
.get_smm_info = get_smm_info,
|
.get_smm_info = get_smm_info,
|
||||||
.relocation_handler = relocation_handler,
|
.relocation_handler = relocation_handler,
|
||||||
.post_mp_init = global_smi_enable,
|
.post_mp_init = post_mp_init,
|
||||||
};
|
};
|
||||||
|
|
||||||
void mp_init_cpus(struct bus *cpu_bus)
|
void mp_init_cpus(struct bus *cpu_bus)
|
||||||
|
|
|
@ -4,8 +4,6 @@
|
||||||
* Utilities for SMM setup
|
* Utilities for SMM setup
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <acpi/acpi.h>
|
|
||||||
#include <arch/io.h>
|
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <cpu/x86/smm.h>
|
#include <cpu/x86/smm.h>
|
||||||
#include <amdblocks/acpimmio.h>
|
#include <amdblocks/acpimmio.h>
|
||||||
|
@ -19,7 +17,4 @@ void global_smi_enable(void)
|
||||||
reg &= ~SMITRG0_SMIENB; /* Enable SMI generation */
|
reg &= ~SMITRG0_SMIENB; /* Enable SMI generation */
|
||||||
reg |= SMITRG0_EOS; /* Set EOS bit */
|
reg |= SMITRG0_EOS; /* Set EOS bit */
|
||||||
smi_write32(SMI_REG_SMITRIG0, reg);
|
smi_write32(SMI_REG_SMITRIG0, reg);
|
||||||
|
|
||||||
if (!acpi_is_wakeup_s3())
|
|
||||||
outb(APM_CNT_SMMINFO, APM_CNT);
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue