summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures
diff options
context:
space:
mode:
authorAnusha Reddy Rangareddygari <anusrang@in.ibm.com>2017-05-10 14:56:27 +0200
committerSachin Gupta <sgupta2m@in.ibm.com>2017-05-11 10:16:22 -0400
commit39f319d428fe994481fde71ac929e8b3538b3f09 (patch)
treed4f60ca24f296b0c3c421c2c7e5d0ca1f5acd4fb /src/import/chips/p9/procedures
parent9480799dbc721522d72a734316b620a7a4edf086 (diff)
downloadtalos-sbe-39f319d428fe994481fde71ac929e8b3538b3f09.tar.gz
talos-sbe-39f319d428fe994481fde71ac929e8b3538b3f09.zip
p9_hcd_cache_dcc_skewadjust_setup
DD2 updates Change-Id: Ia58c7ee2d3167289fed83c0f6b8c2da3b2bfb637 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40325 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Reviewed-by: Soma Bhanutej <soma.bhanu@in.ibm.com> Reviewed-by: Michael Koch <michael.koch@de.ibm.com> Reviewed-by: PARVATHI RACHAKONDA <prachako@in.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40329 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/import/chips/p9/procedures')
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_hcd_cache_dcc_skewadjust_setup.C157
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml9
2 files changed, 150 insertions, 16 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_hcd_cache_dcc_skewadjust_setup.C b/src/import/chips/p9/procedures/hwp/perv/p9_hcd_cache_dcc_skewadjust_setup.C
index 89887a13..748f3c30 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_hcd_cache_dcc_skewadjust_setup.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_hcd_cache_dcc_skewadjust_setup.C
@@ -43,8 +43,6 @@
#include <p9_ring_id.h>
-
-
fapi2::ReturnCode p9_hcd_cache_dcc_skewadjust_setup(const
fapi2::Target<fapi2::TARGET_TYPE_EQ>& i_cache)
{
@@ -53,6 +51,7 @@ fapi2::ReturnCode p9_hcd_cache_dcc_skewadjust_setup(const
auto l_core_functional_vector = i_cache.getChildren<fapi2::TARGET_TYPE_CORE>(fapi2::TARGET_STATE_FUNCTIONAL);
uint8_t l_attr_chip_unit_pos = 0;
fapi2::buffer<uint64_t> l_data64;
+ fapi2::buffer<uint8_t> l_attr_dcadj_skewadjust_p9dd1_init;
FAPI_DBG("Entering ...");
@@ -80,97 +79,223 @@ fapi2::ReturnCode p9_hcd_cache_dcc_skewadjust_setup(const
l_data64));
}
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_DCADJ_P9NDD1_INIT,
+ l_chip, l_attr_dcadj_skewadjust_p9dd1_init));
+
FAPI_DBG("Scan eq_ana_bndy_bucket_0 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_0, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_0)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_1 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_1, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_1)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_2 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_2, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_2)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_3 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_3, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_3)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_4 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_4, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_4)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_5 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_5, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_5)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_6 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_6, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_6)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_7 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_7, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_7)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_8 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_8, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_8)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_9 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_9, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_9)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_10 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_10, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_10)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_11 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_11, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_11)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_12 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_12, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_12)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_13 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_13, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_13)");
- FAPI_DBG("Release DCC bypass");
- l_data64.flush<1>();
- l_data64.clearBit<1>();
- FAPI_TRY(fapi2::putScom(l_perv, PERV_NET_CTRL1_WAND, l_data64));
+ if( l_attr_dcadj_skewadjust_p9dd1_init )
+ {
+ FAPI_DBG("Release DCC bypass");
+ l_data64.flush<1>();
+ l_data64.clearBit<1>();
+ FAPI_TRY(fapi2::putScom(l_perv, PERV_NET_CTRL1_WAND, l_data64));
+ }
FAPI_DBG("Scan eq_ana_bndy_bucket_14 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_14, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_14)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_15 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_15, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_15)");
- FAPI_DBG("Scan eq_ana_bndy_bucket_16 ring");
- FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_16, fapi2::RING_MODE_SET_PULSE_NSL),
- "Error from putRing (eq_ana_bndy_bucket_16)");
- FAPI_DBG("Scan eq_ana_bndy_bucket_17 ring");
- FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_17, fapi2::RING_MODE_SET_PULSE_NSL),
- "Error from putRing (eq_ana_bndy_bucket_17)");
+
+ if(! l_attr_dcadj_skewadjust_p9dd1_init ) //DD2 bucket_16, 17 -- dcadso
+ {
+
+ FAPI_DBG("Release DCC bypass");
+ l_data64.flush<1>();
+ l_data64.clearBit<1>();
+ FAPI_TRY(fapi2::putScom(l_perv, PERV_NET_CTRL1_WAND, l_data64));
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_16 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_16, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_16)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_17 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_17, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_17)");
+ }
+ else //DD1 bucket_16, 17 -- skewadjust
+ {
+ FAPI_DBG("Scan eq_ana_bndy_bucket_16 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_16, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_16)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_17 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_17, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_17)");
+ }
+
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_SKEWADJ_P9NDD1_INIT,
+ l_chip, l_attr_dcadj_skewadjust_p9dd1_init));
+
FAPI_DBG("Scan eq_ana_bndy_bucket_18 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_18, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_18)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_19 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_19, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_19)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_20 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_20, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_20)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_21 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_21, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_21)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_22 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_22, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_22)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_23 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_23, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_23)");
- FAPI_DBG("Release Progdly bypass");
- l_data64.flush<1>();
- l_data64.clearBit<2>();
- FAPI_TRY(fapi2::putScom(l_perv, PERV_NET_CTRL1_WAND, l_data64));
+ if (l_attr_dcadj_skewadjust_p9dd1_init) //DD1
+ {
+ FAPI_DBG("Release Progdly bypass");
+ l_data64.flush<1>();
+ l_data64.clearBit<2>();
+ FAPI_TRY(fapi2::putScom(l_perv, PERV_NET_CTRL1_WAND, l_data64));
+ }
FAPI_DBG("Scan eq_ana_bndy_bucket_24 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_24, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_24)");
+
FAPI_DBG("Scan eq_ana_bndy_bucket_25 ring");
FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_25, fapi2::RING_MODE_SET_PULSE_NSL),
"Error from putRing (eq_ana_bndy_bucket_25)");
+ if (! l_attr_dcadj_skewadjust_p9dd1_init)
+ {
+ FAPI_DBG("Scan eq_ana_bndy_bucket_26 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_26, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_26)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_27 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_27, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_27)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_28 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_28, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_28)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_29 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_29, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_29)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_30 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_30, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_30)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_31 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_31, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_31)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_32 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_32, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_32)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_33 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_33, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_33)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_34 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_34, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_34)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_35 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_35, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_35)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_36 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_36, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_36)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_37 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_37, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_37)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_38 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_38, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_38)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_39 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_39, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_39)");
+
+ FAPI_DBG("Release Progdly bypass");
+ l_data64.flush<1>();
+ l_data64.clearBit<2>();
+ FAPI_TRY(fapi2::putScom(l_perv, PERV_NET_CTRL1_WAND, l_data64));
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_40 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_40, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_40)");
+
+ FAPI_DBG("Scan eq_ana_bndy_bucket_41 ring");
+ FAPI_TRY(fapi2::putRing(i_cache, eq_ana_bndy_bucket_41, fapi2::RING_MODE_SET_PULSE_NSL),
+ "Error from putRing (eq_ana_bndy_bucket_41)");
+ }
+
FAPI_DBG("Exiting ...");
fapi_try_exit:
return fapi2::current_err;
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml
index d1d7d87d..25d48e84 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml
@@ -399,6 +399,15 @@ attribute tank
<name>ATTR_CHIP_EC_FEATURE_NMMU_DMT_DD2</name>
<virtual/>
</entry>
+ <entry>
+ <name>ATTR_CHIP_EC_FEATURE_SKEWADJ_P9NDD1_INIT</name>
+ <virtual/>
+ </entry>
+
+ <entry>
+ <name>ATTR_CHIP_EC_FEATURE_DCADJ_P9NDD1_INIT</name>
+ <virtual/>
+ </entry>
<entry>
<name>ATTR_PROC_XSCOM_BAR_BASE_ADDR_OFFSET</name>
OpenPOWER on IntegriCloud