aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>2018-11-13 10:58:54 +0530
committerVasant Hegde <hegdevasant@linux.vnet.ibm.com>2018-12-14 11:14:51 +0530
commitad92cf94b5f7a2a6c653c0473918b1d51f9f3875 (patch)
tree72e33e2895ad0bfa13d808c3b733e7e0980740ae
parent12595094567a5142281c2a9c062c0ef503ff93cc (diff)
downloadskiboot-ad92cf94b5f7a2a6c653c0473918b1d51f9f3875.zip
skiboot-ad92cf94b5f7a2a6c653c0473918b1d51f9f3875.tar.gz
skiboot-ad92cf94b5f7a2a6c653c0473918b1d51f9f3875.tar.bz2
opal-prd: hservice: Enable hservice->wakeup() in BMC
[Upstream commit 05dc67bf4f3d85fc6212d1644d46ce6d8bd71140] This patch enables HBRT to use HYP special wakeup register in openBMC which until now was only used in FSP based machines. This patch also adds a capability check for opal-prd so that HBRT can decide if the host special wakeup register can be used. Fixes: 49999302251b("opal-prd: Add support for runtime OCC reset in ZZ") Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
-rw-r--r--external/opal-prd/hostboot-interface.h1
-rw-r--r--external/opal-prd/opal-prd.c6
2 files changed, 3 insertions, 4 deletions
diff --git a/external/opal-prd/hostboot-interface.h b/external/opal-prd/hostboot-interface.h
index 603b767..37154c4 100644
--- a/external/opal-prd/hostboot-interface.h
+++ b/external/opal-prd/hostboot-interface.h
@@ -59,6 +59,7 @@ enum MemoryError_t
* Previous implementations may have incorrectly ignored failures.
*/
#define HBRT_CAPS_OPAL_HAS_XSCOM_RC (1ul << 0)
+#define HBRT_CAPS_OPAL_HAS_WAKEUP_SUPPORT (1ul << 1)
/**
* Load types for the load_pm_complex() interface
diff --git a/external/opal-prd/opal-prd.c b/external/opal-prd/opal-prd.c
index e3b4439..1452a17 100644
--- a/external/opal-prd/opal-prd.c
+++ b/external/opal-prd/opal-prd.c
@@ -747,7 +747,8 @@ int hservice_memory_error(uint64_t i_start_addr, uint64_t i_endAddr,
uint64_t hservice_get_interface_capabilities(uint64_t set)
{
if (set == HBRT_CAPS_SET1_OPAL)
- return HBRT_CAPS_OPAL_HAS_XSCOM_RC;
+ return HBRT_CAPS_OPAL_HAS_XSCOM_RC ||
+ HBRT_CAPS_OPAL_HAS_WAKEUP_SUPPORT;
return 0;
}
@@ -2196,9 +2197,6 @@ static int run_prd_daemon(struct opal_prd_ctx *ctx)
hinterface.pnor_write = NULL;
}
- if (!is_fsp_system())
- hinterface.wakeup = NULL;
-
ipmi_init(ctx);
pr_debug("HBRT: calling hservices_init");