summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_main.c3
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_sgpe_boot_cme.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_main.c b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_main.c
index aa016191..38f5b010 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_main.c
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_main.c
@@ -190,6 +190,9 @@ main(int argc, char** argv)
asm volatile ("trap");
}
+ // Clear OCC LFIR[24] (gpe2_halted) bit upon PGPE boot
+ GPE_PUTSCOM(OCB_OCCLFIR_AND, ~BIT64(24));
+
// Initialize the thread control block for G_p9_pgpe_thread_process_requests
pk_thread_create(&G_p9_pgpe_thread_process_requests,
(PkThreadRoutine)p9_pgpe_thread_process_requests,
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_sgpe_boot_cme.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_sgpe_boot_cme.c
index 5303636c..5e2df674 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_sgpe_boot_cme.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_sgpe_boot_cme.c
@@ -385,6 +385,10 @@ BootErrorCode_t boot_cme( uint16_t i_bootCme )
continue;
}
+ // Clear CME LFIR[5] (ppe_halted) upon respective CME boot
+ GPE_PUTSCOM(GPE_SCOM_ADDR_CME(CME_SCOM_LFIR_AND,
+ (l_cmeIndex >> 1), (l_cmeIndex % 2)), ~BIT64(5));
+
#if (NIMBUS_DD_LEVEL < 21 || CUMULUS_DD_LEVEL == 10) || DISABLE_STOP8 == 1
if(l_dataReg & BIT64(CME_FLAGS_RCLK_OPERABLE))
OpenPOWER on IntegriCloud