diff options
author | Anusha Reddy Rangareddygari <anusrang@in.ibm.com> | 2017-05-10 14:56:27 +0200 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-05-11 10:16:22 -0400 |
commit | 39f319d428fe994481fde71ac929e8b3538b3f09 (patch) | |
tree | d4f60ca24f296b0c3c421c2c7e5d0ca1f5acd4fb /src/import/chips/p9/procedures | |
parent | 9480799dbc721522d72a734316b620a7a4edf086 (diff) | |
download | talos-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.C | 157 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml | 9 |
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> |