diff options
author | Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> | 2018-11-13 10:58:54 +0530 |
---|---|---|
committer | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2018-12-14 11:14:51 +0530 |
commit | ad92cf94b5f7a2a6c653c0473918b1d51f9f3875 (patch) | |
tree | 72e33e2895ad0bfa13d808c3b733e7e0980740ae | |
parent | 12595094567a5142281c2a9c062c0ef503ff93cc (diff) | |
download | skiboot-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.h | 1 | ||||
-rw-r--r-- | external/opal-prd/opal-prd.c | 6 |
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"); |