summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLuke Murray <murrayl@us.ibm.com>2017-04-04 17:11:31 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2017-04-06 22:35:14 -0400
commitca4d5a002813351150c0c0662f020d81d20a5441 (patch)
tree154c025dd9b830c7570ecdfd52adb01a264e761b /src
parent710c595a1b73389106746844039e3b7d603fa91b (diff)
downloadtalos-sbe-ca4d5a002813351150c0c0662f020d81d20a5441.tar.gz
talos-sbe-ca4d5a002813351150c0c0662f020d81d20a5441.zip
Adding epsilon divider variable to cache initfiles
There are several dials in the caches that change what value they are set to based on the epsilon divider dial setting. To simplify, I've added a variable that controls all of these dial settings. Change-Id: I8f7030bd56900a228475bac5d890a30db8c4dc18 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38842 Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: ALEXANDER M. TAFT <amtaft@us.ibm.com> Reviewed-by: Jenny Huynh <jhuynh@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38845 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C18
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.C18
2 files changed, 24 insertions, 12 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C
index c868548f..d09438bf 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_l2_scom.C
@@ -43,6 +43,7 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE));
fapi2::ATTR_SYSTEM_IPL_PHASE_Type l_TGT1_ATTR_SYSTEM_IPL_PHASE;
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_SYSTEM_IPL_PHASE, TGT1, l_TGT1_ATTR_SYSTEM_IPL_PHASE));
+ uint64_t l_def_L2_EPS_DIVIDE = literal_1;
fapi2::ATTR_PROC_EPS_READ_CYCLES_T0_Type l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0;
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_READ_CYCLES_T0, TGT1, l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0));
fapi2::ATTR_PROC_EPS_READ_CYCLES_T1_Type l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1;
@@ -95,20 +96,25 @@ fapi2::ReturnCode p9_l2_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
{
FAPI_TRY(fapi2::getScom( TGT0, 0x10010810ull, l_scom_buffer ));
- l_scom_buffer.insert<0, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0 / literal_8) + literal_1) );
- l_scom_buffer.insert<12, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1 / literal_8) + literal_1) );
- l_scom_buffer.insert<24, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2 / literal_8) + literal_1) );
+ l_scom_buffer.insert<0, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0 / literal_8) / l_def_L2_EPS_DIVIDE) +
+ literal_1) );
+ l_scom_buffer.insert<12, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1 / literal_8) / l_def_L2_EPS_DIVIDE) +
+ literal_1) );
+ l_scom_buffer.insert<24, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2 / literal_8) / l_def_L2_EPS_DIVIDE) +
+ literal_1) );
FAPI_TRY(fapi2::putScom(TGT0, 0x10010810ull, l_scom_buffer));
}
{
FAPI_TRY(fapi2::getScom( TGT0, 0x10010811ull, l_scom_buffer ));
- l_scom_buffer.insert<0, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1 / literal_8) + literal_1) );
- l_scom_buffer.insert<12, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2 / literal_8) + literal_1) );
+ l_scom_buffer.insert<0, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1 / literal_8) / l_def_L2_EPS_DIVIDE) +
+ literal_1) );
+ l_scom_buffer.insert<12, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2 / literal_8) / l_def_L2_EPS_DIVIDE) +
+ literal_1) );
constexpr auto l_EXP_L2_L2MISC_L2CERRS_EPS_CNT_USE_L2_DIVIDER_EN_OFF = 0x0;
l_scom_buffer.insert<29, 1, 63, uint64_t>(l_EXP_L2_L2MISC_L2CERRS_EPS_CNT_USE_L2_DIVIDER_EN_OFF );
l_scom_buffer.insert<30, 4, 60, uint64_t>(literal_0b0000 );
- l_scom_buffer.insert<24, 4, 60, uint64_t>(literal_0b0001 );
+ l_scom_buffer.insert<24, 4, 60, uint64_t>(l_def_L2_EPS_DIVIDE );
constexpr auto l_EXP_L2_L2MISC_L2CERRS_EPS_MODE_SEL_MODE1 = 0x0;
l_scom_buffer.insert<28, 1, 63, uint64_t>(l_EXP_L2_L2MISC_L2CERRS_EPS_MODE_SEL_MODE1 );
FAPI_TRY(fapi2::putScom(TGT0, 0x10010811ull, l_scom_buffer));
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.C
index 486e6b75..15a46ecc 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.C
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.C
@@ -40,6 +40,7 @@ fapi2::ReturnCode p9_l3_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1)
{
{
+ uint64_t l_def_L3_EPS_DIVIDE = literal_1;
fapi2::ATTR_PROC_EPS_READ_CYCLES_T0_Type l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0;
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_READ_CYCLES_T0, TGT1, l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0));
fapi2::ATTR_PROC_EPS_READ_CYCLES_T1_Type l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1;
@@ -56,19 +57,24 @@ fapi2::ReturnCode p9_l3_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
{
FAPI_TRY(fapi2::getScom( TGT0, 0x10011829ull, l_scom_buffer ));
- l_scom_buffer.insert<0, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0 / literal_8) + literal_1) );
- l_scom_buffer.insert<12, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1 / literal_8) + literal_1) );
- l_scom_buffer.insert<24, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2 / literal_8) + literal_1) );
+ l_scom_buffer.insert<0, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T0 / literal_8) / l_def_L3_EPS_DIVIDE) +
+ literal_1) );
+ l_scom_buffer.insert<12, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T1 / literal_8) / l_def_L3_EPS_DIVIDE) +
+ literal_1) );
+ l_scom_buffer.insert<24, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_READ_CYCLES_T2 / literal_8) / l_def_L3_EPS_DIVIDE) +
+ literal_1) );
FAPI_TRY(fapi2::putScom(TGT0, 0x10011829ull, l_scom_buffer));
}
{
FAPI_TRY(fapi2::getScom( TGT0, 0x1001182aull, l_scom_buffer ));
- l_scom_buffer.insert<0, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1 / literal_8) + literal_1) );
- l_scom_buffer.insert<12, 12, 52, uint64_t>(((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2 / literal_8) + literal_1) );
+ l_scom_buffer.insert<0, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T1 / literal_8) / l_def_L3_EPS_DIVIDE) +
+ literal_1) );
+ l_scom_buffer.insert<12, 12, 52, uint64_t>((((l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2 / literal_8) / l_def_L3_EPS_DIVIDE) +
+ literal_1) );
l_scom_buffer.insert<34, 1, 63, uint64_t>(literal_0b0 );
l_scom_buffer.insert<26, 4, 60, uint64_t>(literal_0b0000 );
- l_scom_buffer.insert<30, 4, 60, uint64_t>(literal_0b0001 );
+ l_scom_buffer.insert<30, 4, 60, uint64_t>(l_def_L3_EPS_DIVIDE );
FAPI_TRY(fapi2::putScom(TGT0, 0x1001182aull, l_scom_buffer));
}
{
OpenPOWER on IntegriCloud