summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Jones <marcj303@gmail.com>2017-10-26 16:42:03 -0600
committerMarc Jones <marc@marcjonesconsulting.com>2017-10-31 02:22:02 +0000
commit6e70d67824e7c12a590038379866dbc7d7418fea (patch)
treea7f707c271e60d6c7b4c551f1b3dac49a27dedaf
parentc68d410ef7bc98abb1f602473569294e3d6828a4 (diff)
soc/amd/common: Add weak call for platform PCIE slot reset
Since it is fairly uncommon, add a weak call that may be done by the platform if it has the support. BUG=b:66690176 BRANCH=none TEST=coreboot builds. Change-Id: I50008da6f85039a428184bf9e7642c0aa6610247 Signed-off-by: Marc Jones <marcj303@gmail.com> Reviewed-on: https://review.coreboot.org/22193 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/soc/amd/common/BiosCallOuts.h2
-rw-r--r--src/soc/amd/common/def_callouts.c13
2 files changed, 11 insertions, 4 deletions
diff --git a/src/soc/amd/common/BiosCallOuts.h b/src/soc/amd/common/BiosCallOuts.h
index 1f1ebf7dec..a2c719f2f5 100644
--- a/src/soc/amd/common/BiosCallOuts.h
+++ b/src/soc/amd/common/BiosCallOuts.h
@@ -64,6 +64,8 @@ AGESA_STATUS agesa_fch_initenv(UINT32 Func, UINTN FchData, VOID *ConfigPtr);
void platform_FchParams_reset(FCH_RESET_DATA_BLOCK *FchParams_reset);
void platform_FchParams_env(FCH_DATA_BLOCK *FchParams_env);
void oem_fan_control(FCH_DATA_BLOCK *FchParams);
+AGESA_STATUS platform_PcieSlotResetControl(UINT32 Func, UINTN Data,
+ VOID *ConfigPtr);
typedef struct {
UINT32 CalloutName;
CALLOUT_ENTRY CalloutPtr;
diff --git a/src/soc/amd/common/def_callouts.c b/src/soc/amd/common/def_callouts.c
index fd3b5e9131..9cea9658fa 100644
--- a/src/soc/amd/common/def_callouts.c
+++ b/src/soc/amd/common/def_callouts.c
@@ -162,13 +162,18 @@ AGESA_STATUS agesa_RunFcnOnAllAps(UINT32 Func, UINTN Data, VOID *ConfigPtr)
return Status;
}
+AGESA_STATUS __attribute__((weak)) platform_PcieSlotResetControl(UINT32 Func,
+ UINTN Data, VOID *ConfigPtr)
+{
+ printk(BIOS_WARNING, "Warning - AGESA callout: %s not supported\n",
+ __func__);
+ return AGESA_UNSUPPORTED;
+}
+
AGESA_STATUS agesa_PcieSlotResetControl(UINT32 Func, UINTN Data,
VOID *ConfigPtr)
{
- printk(BIOS_WARNING, "Warning - Missing AGESA callout: %s\n", __func__);
- AGESA_STATUS Status = AGESA_UNSUPPORTED;
-
- return Status;
+ return platform_PcieSlotResetControl(Func, Data, ConfigPtr);
}
AGESA_STATUS agesa_WaitForAllApsFinished(UINT32 Func, UINTN Data,