summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2018-05-24 00:12:14 -0500
committerhostboot <hostboot@us.ibm.com>2018-05-30 10:29:47 -0500
commit050dc2142f83fc8dba2b9bad7dd71bee1d207748 (patch)
tree718592c07c9e090245a484ace66cfca6916aa872
parent1dc26ec0072e9404fc5f2d39cb8b7b0ce6bc37dd (diff)
downloadtalos-hcode-050dc2142f83fc8dba2b9bad7dd71bee1d207748.tar.gz
talos-hcode-050dc2142f83fc8dba2b9bad7dd71bee1d207748.zip
STOP: Handle Quad Special Wakeup Done while pm_reset
Key_Cronus_Test=PM_REGRESS Change-Id: I89c9a3b8a80a58653be60f5e84e42e89b301ce72 CQ: SW416547 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59293 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com> Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_init.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_init.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_init.c
index f1d4f325..48bc69e8 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_init.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_init.c
@@ -435,7 +435,9 @@ p9_sgpe_stop_init()
G_sgpe_stop_record.state[qloop].act_state_q = STOP_LEVEL_0;
G_sgpe_stop_record.group.quad[VECTOR_CONFIG] |= BIT32(qloop);
// clear gpmmr[reset_state_indicator] if partial good quad
- GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(PPM_GPMMR_CLR, qloop), BIT64(15));
+ // clear quad special wakeup that may be set by pm_reset
+ // either way, before enable quad special wakeup interrupt service, start clean
+ GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(PPM_GPMMR_CLR, qloop), (BIT64(0) | BIT64(15)));
if (qssr.value & m_qs)
{
OpenPOWER on IntegriCloud