From 40409eb7a0defa3db846ae330d6197160aa805ae Mon Sep 17 00:00:00 2001 From: Anusha Reddy Rangareddygari Date: Mon, 13 Aug 2018 02:55:28 -0400 Subject: Initf procedure updates for OMI rings for Axone Change-Id: I90c6ecd6e553d36b2f34ba0949cdfce3938ce1c1 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64297 Tested-by: Jenkins Server Tested-by: PPE CI Reviewed-by: Soma Bhanutej Reviewed-by: Joseph J. McGill Reviewed-by: Jennifer A. Stofer Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64299 Tested-by: FSP CI Jenkins Reviewed-by: Sachin Gupta --- .../procedures/hwp/perv/p9_sbe_gptr_time_initf.C | 26 +++++++++++++++++++- .../p9/procedures/hwp/perv/p9_sbe_nest_initf.C | 28 ++++++++++++++++++++++ .../p9/procedures/hwp/perv/p9_sbe_repr_initf.C | 13 +++++++++- 3 files changed, 65 insertions(+), 2 deletions(-) (limited to 'src/import/chips') diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C index 4a2adabe..5db665d5 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_gptr_time_initf.C @@ -50,9 +50,13 @@ fapi2::ReturnCode p9_sbe_gptr_time_initf(const bool mc01_iom23 = false; bool mc23_iom01 = false; bool mc23_iom23 = false; + uint8_t l_read_attr_axone_only; FAPI_INF("p9_sbe_gptr_time_initf: Entering ..."); + FAPI_DBG("Reading ATTR_CHIP_EC_FEATURE_P9A_LOGIC_ONLY\n"); + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_P9A_LOGIC_ONLY, i_target_chip, l_read_attr_axone_only)); + for( auto& l_chplt_trgt : i_target_chip.getChildren ( fapi2::TARGET_STATE_FUNCTIONAL)) { @@ -135,7 +139,7 @@ fapi2::ReturnCode p9_sbe_gptr_time_initf(const } } - // mc - Cumulus + // mc - Cumulus, Axone for (auto& l_chplt_trgt : i_target_chip.getChildren (fapi2::TARGET_STATE_FUNCTIONAL)) { @@ -149,6 +153,26 @@ fapi2::ReturnCode p9_sbe_gptr_time_initf(const FAPI_DBG("Scan mc_time ring"); FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_time), "Error from putRing (mc_time)"); + + // Axone only + if (l_read_attr_axone_only) + { + FAPI_DBG("Scan mc_omi0_gptr, mc_omi1_gptr, mc_omi2_gptr ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi0_gptr), + "Error from putRing (mc_omi0_gptr)"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi1_gptr), + "Error from putRing (mc_omi1_gptr)"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi2_gptr), + "Error from putRing (mc_omi2_gptr)"); + + FAPI_DBG("Scan mc_omippe_gptr ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_gptr), + "Error from putRing (mc_omippe_gptr)"); + + FAPI_DBG("Scan mc_omippe_time ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_time), + "Error from putRing (mc_omippe_time)"); + } } // mc - Cumulus diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C index ed2d87df..fb0c8de4 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_initf.C @@ -56,6 +56,9 @@ fapi2::ReturnCode p9_sbe_nest_initf(const bool mc23_iom01 = false; bool mc23_iom23 = false; #endif + uint8_t l_read_attr_axone_only; + FAPI_DBG("Reading ATTR_CHIP_EC_FEATURE_P9A_LOGIC_ONLY\n"); + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_P9A_LOGIC_ONLY, i_target_chip, l_read_attr_axone_only)); for (auto& l_chplt_trgt : i_target_chip.getChildren(fapi2::TARGET_STATE_FUNCTIONAL)) { @@ -192,11 +195,36 @@ fapi2::ReturnCode p9_sbe_nest_initf(const } } + // mc - Nimbus for (auto& l_chplt_trgt : i_target_chip.getChildren(fapi2::TARGET_STATE_FUNCTIONAL)) { FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_fure)); } + // mc - Cumulus, Axone + for (auto& l_chplt_trgt : i_target_chip.getChildren(fapi2::TARGET_STATE_FUNCTIONAL)) + { + FAPI_DBG("Scan mc_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_fure)); + + // Axone only + if (l_read_attr_axone_only) + { + FAPI_DBG("Scan mc_omi0_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi0_fure)); + + FAPI_DBG("Scan mc_omi1_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi1_fure)); + + FAPI_DBG("Scan mc_omi2_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omi2_fure)); + + FAPI_DBG("Scan mc_omippe_fure ring"); + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_fure)); + } + } + + #if 0 // mcbist0 diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C index 858d9be0..2223298d 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_repr_initf.C @@ -49,12 +49,16 @@ fapi2::ReturnCode p9_sbe_repr_initf(const bool mc01_iom23 = false; bool mc23_iom23 = false; uint8_t l_read_attr_cumulus_only; + uint8_t l_read_attr_axone_only; FAPI_INF("p9_sbe_repr_initf: Entering ..."); FAPI_DBG("Reading ATTR_CHIP_EC_FEATURE_P9C_LOGIC_ONLY\n"); FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_P9C_LOGIC_ONLY, i_target_chip, l_read_attr_cumulus_only)); + FAPI_DBG("Reading ATTR_CHIP_EC_FEATURE_P9A_LOGIC_ONLY\n"); + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_P9A_LOGIC_ONLY, i_target_chip, l_read_attr_axone_only)); + for( auto& l_chplt_trgt : i_target_chip.getChildren ( fapi2::TARGET_STATE_FUNCTIONAL)) { @@ -79,10 +83,17 @@ fapi2::ReturnCode p9_sbe_repr_initf(const FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_repr)); } - // mc - Cumulus + // mc - Cumulus, Axone for (auto& l_chplt_trgt : i_target_chip.getChildren(fapi2::TARGET_STATE_FUNCTIONAL)) { FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_repr)); + + // Axone only + if (l_read_attr_axone_only) + { + FAPI_TRY(fapi2::putRing(l_chplt_trgt, mc_omippe_repr), + "Error from putRing (mc_omippe_repr)"); + } } // mc - Cumulus -- cgit v1.2.1