aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>2019-03-06 14:53:19 +0530
committerVasant Hegde <hegdevasant@linux.vnet.ibm.com>2019-03-15 14:19:50 +0530
commita1a8c854662b5d2dec73d812d8a4abd68e1f9d8a (patch)
tree92151eeca7ab0313bfe669eec88ba43ec98e0130
parent5da21e2cc79d9f77d721daf170511fe3e1c027ef (diff)
downloadskiboot-a1a8c854662b5d2dec73d812d8a4abd68e1f9d8a.zip
skiboot-a1a8c854662b5d2dec73d812d8a4abd68e1f9d8a.tar.gz
skiboot-a1a8c854662b5d2dec73d812d8a4abd68e1f9d8a.tar.bz2
fast-reboot: occ: Call occ_pstates_init() on fast-reset on all machines
[ Upstream commit 961b7128ebd86dc7054f1483a17cdbc6ab3540ad ] Commit 815417dcda2e ("init, occ: Initialise OCC earlier on BMC systems") conditionally invoked occ_pstates_init() only on FSP based systems in load_and_boot_kernel(). Due to this pstate table is re-parsed on FSP system and skipped on BMC system during fast-reboot. So this patch fixes this by invoking occ_pstates_init() on all boxes during fast-reboot. Cc: skiboot-stable@lists.ozlabs.org Fixes: 815417dcda2e ("init, occ: Initialise OCC earlier on BMC systems") Reported-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com> Reviewed-by: Vasant Hegde <hegdevasant@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--core/init.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/init.c b/core/init.c
index 262ac5f..f1fbdcb 100644
--- a/core/init.c
+++ b/core/init.c
@@ -507,8 +507,6 @@ void __noreturn load_and_boot_kernel(bool is_reboot)
ipmi_set_fw_progress_sensor(IPMI_FW_OS_BOOT);
- if (fsp_present())
- occ_pstates_init();
if (!is_reboot) {
/* We wait for the nvram read to complete here so we can
@@ -523,6 +521,9 @@ void __noreturn load_and_boot_kernel(bool is_reboot)
* OCC takes few secs to boot. Call this as late as
* as possible to avoid delay.
*/
+ if (fsp_present())
+ occ_pstates_init();
+
if (!occ_sensors_init())
dts_sensor_create_nodes(sensor_node);
@@ -532,6 +533,7 @@ void __noreturn load_and_boot_kernel(bool is_reboot)
fdt = NULL;
nvram_reinit();
+ occ_pstates_init();
}
fsp_console_select_stdout();