aboutsummaryrefslogtreecommitdiff
path: root/core/hmi.c
diff options
context:
space:
mode:
authorMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>2014-07-25 00:11:56 +0530
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-07-25 14:10:52 +1000
commite03044b4922179e61b5ff3d38e11ed302e16f18a (patch)
tree12cad60b7c1f2048497d78f9678d452f3c87ffef /core/hmi.c
parent91f1712faaa1b8774bb2198e580d1d210ae473cb (diff)
downloadskiboot-e03044b4922179e61b5ff3d38e11ed302e16f18a.zip
skiboot-e03044b4922179e61b5ff3d38e11ed302e16f18a.tar.gz
skiboot-e03044b4922179e61b5ff3d38e11ed302e16f18a.tar.bz2
opal: Recover from TOD sync check error.
This patch implements basic framework for TOD error recovery. To start with, this patch implements TOD sync check error recovery as an example. Currently this patch recover from sync check error on non-master chip. We can use same framework and recover from more TOD errors. Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'core/hmi.c')
-rw-r--r--core/hmi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/hmi.c b/core/hmi.c
index 207d3dd..5be7071 100644
--- a/core/hmi.c
+++ b/core/hmi.c
@@ -8,6 +8,7 @@
#include <opal.h>
#include <opal-msg.h>
#include <processor.h>
+#include <chiptod.h>
/*
* HMER register layout:
@@ -193,7 +194,7 @@ int handle_hmi_exception(uint64_t hmer, struct OpalHMIEvent *hmi_evt)
hmi_evt->type = OpalHMI_ERROR_TFAC;
hmi_evt->tfmr = mfspr(SPR_TFMR);
}
- recover = 0;
+ recover = chiptod_recover_tb_errors();
}
if (hmer & SPR_HMER_TFMR_PARITY_ERROR) {
hmer &= ~SPR_HMER_TFMR_PARITY_ERROR;