Skip to content

Commit

Permalink
Don't clear SGPE/PGPE OCC flags until after the engines are halted
Browse files Browse the repository at this point in the history
Change-Id: Id707a12d3e7dd00c310a01630a2e520b2ed22a6e
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46873
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Juan R. Medina <jrmedina@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46878
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
vanderp authored and dcrowell77 committed Oct 3, 2017
1 parent cd792cd commit 96f3553
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,6 @@ fapi2::ReturnCode p9_pm_reset(
FAPI_TRY(l_rc, "ERROR: Failed to mask OCC FIRs.");
FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After masking FIRs"));

// Clear the OCC Flag and Scratch2 registers
// which contain runtime settings and modes for PM GPEs (Pstate and Stop functions)
l_data64.flush<0>();
FAPI_TRY(fapi2::putScom(i_target, PU_OCB_OCI_OCCFLG_SCOM, l_data64),
"ERROR: Failed to write to OCC Flag Register");

FAPI_TRY(fapi2::putScom(i_target, PU_OCB_OCI_OCCS2_SCOM, l_data64),
"ERROR: Failed to write to OCC Scratch2 Register");

// ************************************************************************
// Halt the OCC PPC405 and reset it safely
// ************************************************************************
Expand Down Expand Up @@ -161,6 +152,17 @@ fapi2::ReturnCode p9_pm_reset(
FAPI_TRY(l_rc, "ERROR: Failed to reset SGPE");
FAPI_TRY(p9_pm_glob_fir_trace(i_target, "After reset of SGPE"));

// ************************************************************************
// Clear the OCC Flag and Scratch2 registers
// which contain runtime settings and modes for PM GPEs (Pstate and Stop functions)
// ************************************************************************
l_data64.flush<0>();
FAPI_TRY(fapi2::putScom(i_target, PU_OCB_OCI_OCCFLG_SCOM, l_data64),
"ERROR: Failed to write to OCC Flag Register");
FAPI_TRY(fapi2::putScom(i_target, PU_OCB_OCI_OCCS2_SCOM, l_data64),
"ERROR: Failed to write to OCC Scratch2 Register");


// ************************************************************************
// Reset Cores and Quads
// ************************************************************************
Expand Down

0 comments on commit 96f3553

Please sign in to comment.