From d53628f9258903f1d3acd281ebe6464255cd9fcc Mon Sep 17 00:00:00 2001 From: Yue Du Date: Thu, 30 Nov 2017 22:17:52 -0600 Subject: STOP: Turning on NCU tlbie pacing by default Key_Cronus_Test=PM_REGRESS Based on Commit 48817 Change-Id: Id003f4acb7c4084e791ce9d71ea776f7c1a3227a Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50339 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Tested-by: Cronus HW CI Dev-Ready: YUE DU Reviewed-by: LUKE MURRAY Reviewed-by: Gregory S. Still Reviewed-by: Jennifer A. Stofer --- .../ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c index de0bf642..9223019f 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c @@ -168,6 +168,10 @@ p9_hcd_cache_scominit(uint32_t quad, uint32_t m_ex, int is_stop8) // p9_ncu_scom: EX_NCU_MODE_REG // EXP.NC.NCMISC.NCSCOMS.SYSMAP_SM_NOT_LG_SEL + // EXP.NC.NCMISC.NCSCOMS.TLBIE_PACING_CNT_EN + // EXP.NC.NCMISC.NCSCOMS.TLBIE_DEC_RATE 0x4 + // EXP.NC.NCMISC.NCSCOMS.TLBIE_INC_RATE 0x3 + // EXP.NC.NCMISC.NCSCOMS.TLBIE_CNT_THRESH 0x4 // EXP.NC.NCMISC.NCSCOMS.SKIP_GRP_SCOPE_EN // EXP.NC.NCMISC.NCSCOMS.SYSMAP_PB_CHIP_ADDR_EXT_MASK_EN @@ -182,7 +186,14 @@ p9_hcd_cache_scominit(uint32_t quad, uint32_t m_ex, int is_stop8) #if NIMBUS_DD_LEVEL != 10 - scom_data.words.lower |= BIT64SH(51); + scom_data.words.upper &= ~(BITS32(11, 21)); + scom_data.words.upper |= BIT32(10); + scom_data.words.upper |= BIT32(16); + scom_data.words.upper |= BITS32(25, 2); + + scom_data.words.lower &= ~(BITS64SH(32, 3)); + scom_data.words.lower |= BIT64SH(32); + scom_data.words.lower |= BIT64SH(51); if (attr_proc_fabric_pump_mode_chip_is_node) { @@ -210,6 +221,7 @@ p9_hcd_cache_scominit(uint32_t quad, uint32_t m_ex, int is_stop8) // EXP.NC.NCMISC.NCSCOMS.TLBIE_STALL_THRESHOLD // EXP.NC.NCMISC.NCSCOMS.TLBIE_STALL_CMPLT_CNT // EXP.NC.NCMISC.NCSCOMS.TLBIE_STALL_DELAY_CNT + // EXP.NC.NCMISC.NCSCOMS.TLBIE_PACING_MST_DLY_EN GPE_GETSCOM(GPE_SCOM_ADDR_EX(EX_NCU_MODE_REG3, quad, ex_index), scom_data.value); @@ -217,6 +229,12 @@ p9_hcd_cache_scominit(uint32_t quad, uint32_t m_ex, int is_stop8) scom_data.words.upper &= ~BITS32(0, 16); scom_data.words.upper |= (BITS32(0, 3) | BIT32(5) | BITS32(12, 4)); +#if NIMBUS_DD_LEVEL != 10 + + scom_data.words.upper |= BIT32(16); + +#endif + GPE_PUTSCOM(GPE_SCOM_ADDR_EX(EX_NCU_MODE_REG3, quad, ex_index), scom_data.value); } -- cgit v1.2.3