summaryrefslogtreecommitdiffstats
path: root/import
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2017-01-09 16:37:46 -0600
committerhostboot <hostboot@us.ibm.com>2018-08-22 17:54:22 -0500
commite5cbaf6226423d2b8cfef58d05c372c9fb372eff (patch)
tree4dc3f4388f4cec316a34ecb742ce1dfa155d8472 /import
parent1cacd2e47afbc55f3c80fd8713e45f6be0463e40 (diff)
downloadtalos-hcode-e5cbaf6226423d2b8cfef58d05c372c9fb372eff.tar.gz
talos-hcode-e5cbaf6226423d2b8cfef58d05c372c9fb372eff.zip
STOP: Clear up todo items in STOP and mark them with RTC
1) add RTC marks for VDM/Xstop/CME Halt 2) add epm_p9_tunning for scan ratio 3) fix checking anep clock starts 4) fix large system default assuming header works now 5) poll for pfet sense line for power on/off 6) finalize panic upon fapi2 init fail in sgpe_main.c Change-Id: I73f2df838eb3a2d66af8c0ae6a2966b5fd59b9e0 Original-Change-Id: I064136b1b7a6c5ab4648663bc4774f4e2c82390c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34618 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: ASHISH A. MORE <ashish.more@in.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Diffstat (limited to 'import')
-rwxr-xr-ximport/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c10
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c16
2 files changed, 11 insertions, 15 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
index 095d1994..6348d32a 100755
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
@@ -421,7 +421,7 @@ p9_cme_stop_entry()
PK_TRACE("Drop sdis_n(flushing LCBES condition) via CPLT_CONF0[34]");
CME_PUTSCOM(C_CPLT_CONF0_CLEAR, core, BIT64(34));
- /// @todo add VDM_ENABLE attribute control
+ /// @todo RTC166918 add VDM_ENABLE attribute control
PK_TRACE("Drop vdm enable via CPPM_VDMCR[0]");
CME_PUTSCOM(PPM_VDMCR_CLR, core, BIT64(0));
@@ -719,13 +719,13 @@ p9_cme_stop_entry()
// vdd_pfet_force_state = 01 (Force Voff)
CME_PUTSCOM(PPM_PFCS_OR, core, BIT64(1));
- PK_TRACE("Poll for power gate sequencer state: 0x8 (FSM Idle) via PFCS[42]");
+ PK_TRACE("Poll for vdd_pfets_disabled_sense via PFSNS[1]");
do
{
- CME_GETSCOM(PPM_PFCS, core, CME_SCOM_AND, scom_data);
+ CME_GETSCOM(PPM_PFSNS, core, CME_SCOM_AND, scom_data);
}
- while(!(scom_data & BIT64(42)));
+ while(!(scom_data & BIT64(1)));
PK_TRACE("Turn off force voff via PFCS[0-1]");
// vdd_pfet_force_state = 00 (Nop)
@@ -852,8 +852,6 @@ p9_cme_stop_entry()
out32(CME_LCL_SICR_OR, BIT32(18) | BIT32(21));
out32(CME_LCL_SICR_OR, BIT32(22));
- // todo: poll for tlbie quiesce done?
-
PK_TRACE("Poll for purged done via EISR[22,23]");
do
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 e62323af..325115bc 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
@@ -864,7 +864,7 @@ p9_sgpe_stop_entry()
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));
- /// @todo add VDM_ENABLE attribute control
+ /// @todo RTC166918 add VDM_ENABLE attribute control
PK_TRACE("Drop vdm enable via CPPM_VDMCR[0]");
GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(PPM_VDMCR_CLR, qloop), BIT64(0));
@@ -994,27 +994,25 @@ p9_sgpe_stop_entry()
// vcs_pfet_force_state = 01 (Force Voff)
GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(PPM_PFCS_OR, qloop), BIT64(3));
- PK_TRACE("Poll for power gate sequencer state: 0x8 (FSM Idle) via PFCS[50]");
- // todo: poll the sense line instead
+ PK_TRACE("Poll for vcs_pfets_disabled_sense via PFSNS[3]");
do
{
- GPE_GETSCOM(GPE_SCOM_ADDR_QUAD(PPM_PFCS, qloop), scom_data);
+ GPE_GETSCOM(GPE_SCOM_ADDR_QUAD(PPM_PFSNS, qloop), scom_data);
}
- while(!(scom_data & BIT64(50)));
+ while(!(scom_data & BIT64(3)));
PK_TRACE("Power off VDD via PFCS[0-1]");
// vdd_pfet_force_state = 01 (Force Voff)
GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(PPM_PFCS_OR, qloop), BIT64(1));
- PK_TRACE("Poll for power gate sequencer state: 0x8 (FSM Idle) via PFCS[42]");
- // todo: poll the sense line instead
+ PK_TRACE("Poll for vdd_pfets_disabled_sense via PFSNS[1]");
do
{
- GPE_GETSCOM(GPE_SCOM_ADDR_QUAD(PPM_PFCS, qloop), scom_data);
+ GPE_GETSCOM(GPE_SCOM_ADDR_QUAD(PPM_PFSNS, qloop), scom_data);
}
- while(!(scom_data & BIT64(42)));
+ while(!(scom_data & BIT64(1)));
PK_TRACE("Turn off force voff via PFCS[0-3]");
// vdd_pfet_force_state = 00 (Nop)
OpenPOWER on IntegriCloud