diff options
-rw-r--r-- | src/import/chips/p9/procedures/hwp/initfiles/p9a_omi_init_scom.C | 10 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/p9a_omi_init.C | 23 |
2 files changed, 17 insertions, 16 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9a_omi_init_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9a_omi_init_scom.C index 3801b25b9..68c8df463 100644 --- a/src/import/chips/p9/procedures/hwp/initfiles/p9a_omi_init_scom.C +++ b/src/import/chips/p9/procedures/hwp/initfiles/p9a_omi_init_scom.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -40,6 +40,8 @@ fapi2::ReturnCode p9a_omi_init_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCC>& FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_ENABLE_DL_TMPL_7, TGT0, l_TGT0_ATTR_PROC_ENABLE_DL_TMPL_7)); fapi2::ATTR_PROC_ENABLE_DL_TMPL_4_Type l_TGT0_ATTR_PROC_ENABLE_DL_TMPL_4; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_ENABLE_DL_TMPL_4, TGT0, l_TGT0_ATTR_PROC_ENABLE_DL_TMPL_4)); + fapi2::ATTR_PROC_ENABLE_DL_TMPL_1_Type l_TGT0_ATTR_PROC_ENABLE_DL_TMPL_1; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_ENABLE_DL_TMPL_1, TGT0, l_TGT0_ATTR_PROC_ENABLE_DL_TMPL_1)); fapi2::ATTR_PROC_TMPL_0_PACING_Type l_TGT0_ATTR_PROC_TMPL_0_PACING; FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_PROC_TMPL_0_PACING, TGT0, l_TGT0_ATTR_PROC_TMPL_0_PACING)); fapi2::ATTR_PROC_TMPL_1_PACING_Type l_TGT0_ATTR_PROC_TMPL_1_PACING; @@ -64,6 +66,12 @@ fapi2::ReturnCode p9a_omi_init_scom(const fapi2::Target<fapi2::TARGET_TYPE_MCC>& l_scom_buffer.insert<6, 1, 63, uint64_t>(l_MCP_CHAN0_DSTL_DSTLCFG_TMPL4_DISABLE_ON ); } + if ((l_TGT0_ATTR_PROC_ENABLE_DL_TMPL_1 == fapi2::ENUM_ATTR_PROC_ENABLE_DL_TMPL_1_DISABLED)) + { + constexpr auto l_MCP_CHAN0_DSTL_DSTLCFG_TMPL1_DIS_ON = 0x1; + l_scom_buffer.insert<3, 1, 63, uint64_t>(l_MCP_CHAN0_DSTL_DSTLCFG_TMPL1_DIS_ON ); + } + FAPI_TRY(fapi2::putScom(TGT0, 0x701090bull, l_scom_buffer)); } { diff --git a/src/import/chips/p9/procedures/hwp/memory/p9a_omi_init.C b/src/import/chips/p9/procedures/hwp/memory/p9a_omi_init.C index b11696597..60d52d748 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9a_omi_init.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9a_omi_init.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -90,20 +90,13 @@ fapi2::ReturnCode p9a_omi_init_enable_templates(const fapi2::Target<fapi2::TARGE l_enable_tmpl_7), "Error from FAPI_ATTR_GET (ATTR_PROC_ENABLE_DL_TMPL_7)"); - FAPI_ASSERT(l_enable_tmpl_1 != 0, - fapi2::PROC_DOWNSTREAM_TMPL1_REQUIRED_ERR() - .set_TARGET(i_target), - "Downstream template 1 is required."); - - FAPI_ASSERT(l_enable_tmpl_4 != 0 || l_enable_tmpl_7 != 0, - fapi2::PROC_DOWNSTREAM_TMPL4OR7_REQUIRED_ERR() - .set_TARGET(i_target), - "Downstream template 4 and/or 7 is required."); - - //Turn off temp0_only - FAPI_TRY(getScom(i_target, P9A_MCC_DSTLCFG, l_data)); - l_data.clearBit<P9A_MCC_DSTLCFG_TMPL0_ONLY>(); - FAPI_TRY(putScom(i_target, P9A_MCC_DSTLCFG, l_data)); + if (l_enable_tmpl_1 || l_enable_tmpl_4 || l_enable_tmpl_7) + { + //Turn off temp0_only + FAPI_TRY(getScom(i_target, P9A_MCC_DSTLCFG, l_data)); + l_data.clearBit<P9A_MCC_DSTLCFG_TMPL0_ONLY>(); + FAPI_TRY(putScom(i_target, P9A_MCC_DSTLCFG, l_data)); + } fapi_try_exit: |