aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorShilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>2014-11-22 00:09:17 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2014-11-25 17:34:23 +1100
commit94c28c57e04df684c9c09b651937d7fbc7868b84 (patch)
tree19f45f62d103fcb1eec5a0d4890cf7cfd5e0bb98 /hw
parent73cd106cdfd9f6629e8ab720792f68d70ddf5b72 (diff)
downloadskiboot-94c28c57e04df684c9c09b651937d7fbc7868b84.zip
skiboot-94c28c57e04df684c9c09b651937d7fbc7868b84.tar.gz
skiboot-94c28c57e04df684c9c09b651937d7fbc7868b84.tar.bz2
occ/hbrt: Call stopOCC() for implementing reset OCC command from FSP
OPAL is expected to leave OCC stopped after receiving reset OCC message from FSP. FSP will send this either at boot before a load/start, or during runtime before load/start. If there is no subsequent load/start command, the OCC can be left stopped. After few attempts (runtime reset), FSP can just send reset and expect OPAL to leave OCC in stopped state. Call HBRT to stop OCC on FSP reset OCC command and acknowledge. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/occ.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/hw/occ.c b/hw/occ.c
index d54e206..c3c61e3 100644
--- a/hw/occ.c
+++ b/hw/occ.c
@@ -388,8 +388,13 @@ static void occ_do_reset(u8 scope, u32 dbob_id, u32 seq_id)
if (err)
return;
- /* Call HBRT... */
- rc = host_services_occ_start();
+ /*
+ * Call HBRT to stop OCC and leave it stopped. FSP will send load/start
+ * request subsequently. Also after few runtime restarts (currently 3),
+ * FSP will request OCC to left in stopped state.
+ */
+
+ rc = host_services_occ_stop();
/* Handle fallback to preload */
if (rc == -ENOENT && chip->homer_base) {