aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorShilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>2017-06-08 09:56:42 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-06-08 16:02:06 +1000
commit3c64f79ad2220d03a0af49d44f0548e08da54a44 (patch)
treeb53710618d7624508a548ee4d7f51a70bb661c1e /hw
parent142d3f196104e60afa34084be17abb0cb77ea4a8 (diff)
downloadskiboot-3c64f79ad2220d03a0af49d44f0548e08da54a44.zip
skiboot-3c64f79ad2220d03a0af49d44f0548e08da54a44.tar.gz
skiboot-3c64f79ad2220d03a0af49d44f0548e08da54a44.tar.bz2
platform/zz: Acknowledge OCC_LOAD mbox message in ZZ
In P9 FSP box, OCC image is pre-loaded. So do not handle the load command and send SUCCESS to FSP on recieving OCC_LOAD mbox message. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/occ.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/hw/occ.c b/hw/occ.c
index 34ef9a7..bc3abc7 100644
--- a/hw/occ.c
+++ b/hw/occ.c
@@ -1082,6 +1082,19 @@ static void occ_do_load(u8 scope, u32 dbob_id __unused, u32 seq_id)
if (err)
return;
+ if (proc_gen == proc_gen_p9) {
+ /* OCC is pre-loaded in P9, so send SUCCESS to FSP */
+ rsp = fsp_mkmsg(FSP_CMD_LOAD_OCC_STAT, 2, 0, seq_id);
+ if (rsp)
+ rc = fsp_queue_msg(rsp, fsp_freemsg);
+ if (rc) {
+ log_simple_error(&e_info(OPAL_RC_OCC_LOAD),
+ "OCC: Error %d queueing FSP OCC LOAD STATUS msg", rc);
+ fsp_freemsg(rsp);
+ }
+ return;
+ }
+
/*
* Check if hostservices lid caching is complete. If not, queue
* the load request.
@@ -1413,8 +1426,8 @@ void occ_p9_interrupt(uint32_t chip_id)
void occ_fsp_init(void)
{
- /* OCC is P8 only */
- if (proc_gen != proc_gen_p8)
+ /* OCC is supported in P8 and P9 */
+ if (proc_gen < proc_gen_p8)
return;
/* If we have an FSP, register for notifications */