[Skiboot] [PATCH v2] opal-prd: hservice: Enable hservice->wakeup() in BMC

Shilpasri G Bhat shilpa.bhat at linux.vnet.ibm.com
Tue Nov 13 16:28:54 AEDT 2018


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 at linux.vnet.ibm.com>
---
 external/opal-prd/hostboot-interface.h | 1 +
 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 41ffcbc..9df6888 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");
-- 
1.8.3.1



More information about the Skiboot mailing list