soc/amd/picasso/psp: move soc_get_mbox_address to common PSP gen2 code
The function to get the PSP mailbox address is the same on Picasso and Cezanne, so move it to the common PSP generation 2 code. The function is only used in the same compilation unit, but it can't be marked as static due to the function prototype in amdblocks/psp.h that is still needed for Stoneyridge. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: Ieea91ef76523d303f948d29ef48e3b2e56293f26 Reviewed-on: https://review.coreboot.org/c/coreboot/+/50151 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Raul Rangel <rrangel@chromium.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
@@ -1,11 +1,28 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
|
||||||
|
#include <console/console.h>
|
||||||
|
#include <cpu/x86/msr.h>
|
||||||
#include <device/mmio.h>
|
#include <device/mmio.h>
|
||||||
#include <timer.h>
|
#include <timer.h>
|
||||||
#include <amdblocks/psp.h>
|
#include <amdblocks/psp.h>
|
||||||
#include <soc/iomap.h>
|
#include <soc/iomap.h>
|
||||||
#include "psp_def.h"
|
#include "psp_def.h"
|
||||||
|
|
||||||
|
#define PSP_MAILBOX_OFFSET 0x10570
|
||||||
|
|
||||||
|
void *soc_get_mbox_address(void)
|
||||||
|
{
|
||||||
|
uintptr_t psp_mmio;
|
||||||
|
|
||||||
|
psp_mmio = rdmsr(MSR_PSP_ADDR).lo;
|
||||||
|
if (!psp_mmio) {
|
||||||
|
printk(BIOS_WARNING, "PSP: MSR_PSP_ADDR uninitialized\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (void *)(psp_mmio + PSP_MAILBOX_OFFSET);
|
||||||
|
}
|
||||||
|
|
||||||
static u16 rd_mbox_sts(struct pspv2_mbox *mbox)
|
static u16 rd_mbox_sts(struct pspv2_mbox *mbox)
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
|
@@ -1,27 +1,10 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
|
||||||
#include <console/console.h>
|
|
||||||
#include <cpu/x86/msr.h>
|
|
||||||
#include <soc/smi.h>
|
#include <soc/smi.h>
|
||||||
#include <amdblocks/acpimmio.h>
|
#include <amdblocks/acpimmio.h>
|
||||||
#include <amdblocks/psp.h>
|
#include <amdblocks/psp.h>
|
||||||
#include <amdblocks/smi.h>
|
#include <amdblocks/smi.h>
|
||||||
|
|
||||||
#define PSP_MAILBOX_OFFSET 0x10570
|
|
||||||
|
|
||||||
void *soc_get_mbox_address(void)
|
|
||||||
{
|
|
||||||
uintptr_t psp_mmio;
|
|
||||||
|
|
||||||
psp_mmio = rdmsr(MSR_PSP_ADDR).lo;
|
|
||||||
if (!psp_mmio) {
|
|
||||||
printk(BIOS_WARNING, "PSP: MSR_PSP_ADDR uninitialized\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (void *)(psp_mmio + PSP_MAILBOX_OFFSET);
|
|
||||||
}
|
|
||||||
|
|
||||||
void soc_fill_smm_trig_info(struct smm_trigger_info *trig)
|
void soc_fill_smm_trig_info(struct smm_trigger_info *trig)
|
||||||
{
|
{
|
||||||
if (!trig)
|
if (!trig)
|
||||||
|
Reference in New Issue
Block a user