diff options
| author | Yue Du <daviddu@us.ibm.com> | 2017-01-09 16:37:46 -0600 |
|---|---|---|
| committer | hostboot <hostboot@us.ibm.com> | 2018-08-22 17:54:22 -0500 |
| commit | e5cbaf6226423d2b8cfef58d05c372c9fb372eff (patch) | |
| tree | 4dc3f4388f4cec316a34ecb742ce1dfa155d8472 /import | |
| parent | 1cacd2e47afbc55f3c80fd8713e45f6be0463e40 (diff) | |
| download | talos-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-x | import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c | 10 | ||||
| -rw-r--r-- | import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c | 16 |
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) |

