summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/initfiles
diff options
context:
space:
mode:
authorCHRISTINA L. GRAVES <clgraves@us.ibm.com>2017-04-06 14:27:27 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2017-04-28 08:29:32 -0400
commit19a9b39f55095f9a72e543579d18c40072c57bfd (patch)
treeef36559ffadd362c244f7bc0dcfee2e55f9e276d /src/import/chips/p9/procedures/hwp/initfiles
parentc5b050b3838dc314df4dca8f8406a48a09e52c4e (diff)
downloadtalos-sbe-19a9b39f55095f9a72e543579d18c40072c57bfd.tar.gz
talos-sbe-19a9b39f55095f9a72e543579d18c40072c57bfd.zip
Add NCU/L3 dials for HW396230 to p9.ncu.scom.initfile
Change-Id: I712de1525c1094f084cb24af77e78e231420eaf9 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38944 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Reviewed-by: Benjamin Gass <bgass@us.ibm.com> Reviewed-by: LUKE MURRAY <murrayl@us.ibm.com> Reviewed-by: JOSHUA L. HANNAN <jlhannan@us.ibm.com> Reviewed-by: ALEXANDER M. TAFT <amtaft@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38946 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/initfiles')
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.C34
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.H6
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9_ncu_scom.C17
3 files changed, 53 insertions, 4 deletions
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 15a46ecc..e6fb5281 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
@@ -33,13 +33,18 @@ constexpr uint64_t literal_1 = 1;
constexpr uint64_t literal_8 = 8;
constexpr uint64_t literal_0b0 = 0b0;
constexpr uint64_t literal_0b0000 = 0b0000;
+constexpr uint64_t literal_0b01 = 0b01;
constexpr uint64_t literal_0b0001 = 0b0001;
constexpr uint64_t literal_0b0100 = 0b0100;
fapi2::ReturnCode p9_l3_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
- const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1)
+ const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2)
{
{
+ fapi2::ATTR_EC_Type l_chip_ec;
+ fapi2::ATTR_NAME_Type l_chip_id;
+ FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT2, l_chip_id));
+ FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT2, l_chip_ec));
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));
@@ -53,6 +58,8 @@ fapi2::ReturnCode p9_l3_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_EPS_WRITE_CYCLES_T2, TGT1, l_TGT1_ATTR_PROC_EPS_WRITE_CYCLES_T2));
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));
+ fapi2::ATTR_PROC_FABRIC_PUMP_MODE_Type l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE));
fapi2::buffer<uint64_t> l_scom_buffer;
{
FAPI_TRY(fapi2::getScom( TGT0, 0x10011829ull, l_scom_buffer ));
@@ -101,6 +108,31 @@ fapi2::ReturnCode p9_l3_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
l_scom_buffer.insert<1, 1, 63, uint64_t>(l_EXP_L3_L3_MISC_L3CERRS_L3_DMAP_CI_EN_CFG_OFF );
}
+ if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) )
+ {
+ if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP))
+ {
+ constexpr auto l_EXP_L3_L3_MISC_L3CERRS_L3_CERRS_PF_CFG_SKIP_GRP_SCOPE_EN_ON = 0x1;
+ l_scom_buffer.insert<5, 1, 63, uint64_t>(l_EXP_L3_L3_MISC_L3CERRS_L3_CERRS_PF_CFG_SKIP_GRP_SCOPE_EN_ON );
+ }
+ else if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_NODE))
+ {
+ constexpr auto l_EXP_L3_L3_MISC_L3CERRS_L3_CERRS_PF_CFG_SKIP_GRP_SCOPE_EN_OFF = 0x0;
+ l_scom_buffer.insert<5, 1, 63, uint64_t>(l_EXP_L3_L3_MISC_L3CERRS_L3_CERRS_PF_CFG_SKIP_GRP_SCOPE_EN_OFF );
+ }
+ }
+
+ if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) )
+ {
+ constexpr auto l_EXP_L3_L3_MISC_L3CERRS_L3_CERRS_LRU_DECR_EN_CFG_ON = 0x1;
+ l_scom_buffer.insert<30, 1, 63, uint64_t>(l_EXP_L3_L3_MISC_L3CERRS_L3_CERRS_LRU_DECR_EN_CFG_ON );
+ }
+
+ if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) )
+ {
+ l_scom_buffer.insert<31, 2, 62, uint64_t>(literal_0b01 );
+ }
+
l_scom_buffer.insert<14, 4, 60, uint64_t>(literal_0b0001 );
l_scom_buffer.insert<18, 4, 60, uint64_t>(literal_0b0100 );
FAPI_TRY(fapi2::putScom(TGT0, 0x1001182bull, l_scom_buffer));
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.H b/src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.H
index aafa364a..a8e3518e 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.H
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_l3_scom.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER sbe Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016 */
+/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -32,13 +32,13 @@
typedef fapi2::ReturnCode (*p9_l3_scom_FP_t)(const fapi2::Target<fapi2::TARGET_TYPE_EX>&,
- const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&);
+ const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>&, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&);
extern "C"
{
fapi2::ReturnCode p9_l3_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
- const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1);
+ const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& TGT2);
}
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9_ncu_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9_ncu_scom.C
index fdd9a101..b81bacd2 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9_ncu_scom.C
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9_ncu_scom.C
@@ -42,12 +42,29 @@ fapi2::ReturnCode p9_ncu_scom(const fapi2::Target<fapi2::TARGET_TYPE_EX>& TGT0,
fapi2::ATTR_NAME_Type l_chip_id;
FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_NAME, TGT2, l_chip_id));
FAPI_TRY(FAPI_ATTR_GET_PRIVILEGED(fapi2::ATTR_EC, TGT2, l_chip_ec));
+ fapi2::ATTR_PROC_FABRIC_PUMP_MODE_Type l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE;
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_FABRIC_PUMP_MODE, TGT1, l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE));
fapi2::buffer<uint64_t> l_scom_buffer;
{
FAPI_TRY(fapi2::getScom( TGT0, 0x1001100aull, l_scom_buffer ));
constexpr auto l_EXP_NC_NCMISC_NCSCOMS_SYSMAP_SM_NOT_LG_SEL_OFF = 0x0;
l_scom_buffer.insert<9, 1, 63, uint64_t>(l_EXP_NC_NCMISC_NCSCOMS_SYSMAP_SM_NOT_LG_SEL_OFF );
+
+ if (((l_chip_id == 0x5) && (l_chip_ec == 0x20)) )
+ {
+ if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_GROUP))
+ {
+ constexpr auto l_EXP_NC_NCMISC_NCSCOMS_SKIP_GRP_SCOPE_EN_ON = 0x1;
+ l_scom_buffer.insert<51, 1, 63, uint64_t>(l_EXP_NC_NCMISC_NCSCOMS_SKIP_GRP_SCOPE_EN_ON );
+ }
+ else if ((l_TGT1_ATTR_PROC_FABRIC_PUMP_MODE == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_NODE))
+ {
+ constexpr auto l_EXP_NC_NCMISC_NCSCOMS_SKIP_GRP_SCOPE_EN_OFF = 0x0;
+ l_scom_buffer.insert<51, 1, 63, uint64_t>(l_EXP_NC_NCMISC_NCSCOMS_SKIP_GRP_SCOPE_EN_OFF );
+ }
+ }
+
FAPI_TRY(fapi2::putScom(TGT0, 0x1001100aull, l_scom_buffer));
}
{
OpenPOWER on IntegriCloud