summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_hcd_cache_scominit.c20
1 files changed, 19 insertions, 1 deletions
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);
}
OpenPOWER on IntegriCloud