Skip to content

Commit 212a686

Browse files
Christopher M. Riedlop-jenkins
authored andcommitted
Pstate: VDM Enablement
- SGPE stop exit and entry changes to set-up the QPPM VDM registers - CME stop exit and entry changes to enable/disable VDMs during Stop operations - CME code to change VDM VID compare and thresholds during Pstate operations - Compile-time flags to optionally remove Resclk/VDM code (due to size constraints) Change-Id: I44ce0d58788d9ff4eb6337ba739c6a717485342f Original-Change-Id: I1fe8b2231c554b4f181472efab1f5cc45cc087d6 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40676 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com> Reviewed-by: BRIAN D. VICTOR <brian.d.victor1@ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
1 parent bb61e86 commit 212a686

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ p9_sgpe_stop_entry()
6666
#if !SKIP_IPC
6767
uint32_t rc = 0;
6868
#endif
69+
sgpeHeader_t* pSgpeImgHdr = (sgpeHeader_t*)(OCC_SRAM_SGPE_HEADER_ADDR);
6970

7071
//--------------------------------------------------------------------------
7172
PK_TRACE("+++++ +++++ BEGIN OF STOP ENTRY +++++ +++++");
@@ -925,6 +926,18 @@ p9_sgpe_stop_entry()
925926
PK_TRACE("Checking status of Local Checkstop");
926927
GPE_GETSCOM(GPE_SCOM_ADDR_QUAD(EQ_LOCAL_XSTOP_ERR, qloop), local_xstop);
927928

929+
if(pSgpeImgHdr->g_sgpe_reserve_flags & SGPE_VDM_ENABLE_BIT_POS)
930+
{
931+
PK_TRACE("Clear Jump Protect Enable (no need to poll DPLL_STAT");
932+
GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(EQ_QPPM_DPLL_CTRL_CLEAR, qloop), BIT64(1));
933+
934+
PK_TRACE("Write QPPM VDMCR to set Disable and clear Poweron");
935+
GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(PPM_VDMCR, qloop), BIT64(1));
936+
937+
PK_TRACE("Clear QPPM VDMCFGR");
938+
GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(QPPM_VDMCFGR, qloop), 0);
939+
}
940+
928941
//===========================
929942
MARK_TRAP(SE_STOP_CACHE_CLKS)
930943
//===========================

0 commit comments

Comments
 (0)