From 0999eb2d7378fbc6f7631bbd4d61c0a465386a5c Mon Sep 17 00:00:00 2001 From: Brian Vanderpool Date: Tue, 18 Jul 2017 12:52:38 -0500 Subject: STOP: Give SGPE control over VDM, DPLL before turning off Jump protect and VDMs Change-Id: Ibb1203dfb86177a2e6b1e64dfced0e4b3c3329e0 Original-Change-Id: Ic86154598c8465f1cd6e82a619e327e25786a30c CQ: SW396192 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43282 Reviewed-by: CHRISTOPHER M. RIEDL Tested-by: Jenkins Server Reviewed-by: BRIAN D. VICTOR Reviewed-by: Michael S. Floyd Reviewed-by: Jennifer A. Stofer --- .../p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c index 9970843a..d231425f 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c @@ -974,6 +974,10 @@ p9_sgpe_stop_entry() PK_TRACE("Checking status of Local Checkstop"); GPE_GETSCOM(GPE_SCOM_ADDR_QUAD(EQ_LOCAL_XSTOP_ERR, qloop), local_xstop); + PK_TRACE("Drop CME_INTERPPM_IVRM/ACLK/VDATA/DPLL_ENABLE QPMMR[20,22,24,26]"); + GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(QPPM_QPMMR_CLR, qloop), BIT64(20) | BIT64(22) | BIT64(24) | BIT64(26)); + + if(pSgpeImgHdr->g_sgpe_reserve_flags & SGPE_VDM_ENABLE_BIT_POS) { PK_TRACE("Clear Jump Protect Enable (no need to poll DPLL_STAT"); @@ -1028,8 +1032,6 @@ p9_sgpe_stop_entry() // Note: Stop11 will lose all the fences so here needs to assert them GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(EQ_CPLT_CTRL1_OR, qloop), CLK_REGION_ALL); - PK_TRACE("Drop CME_INTERPPM_DPLL_ENABLE after DPLL is stopped via QPMMR[26]"); - GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(QPPM_QPMMR_CLR, qloop), BIT64(20) | BIT64(22) | BIT64(24) | BIT64(26)); PK_TRACE_INF("SE.11D: Cache Clock Stopped"); -- cgit v1.2.3