diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2017-05-10 17:10:32 -0500 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2017-05-28 09:19:36 -0400 |
commit | 9ee125f8832a91160869abbd2c22064c68b2674c (patch) | |
tree | beaee6a75fb2cf0ad40386ba4e1827276d75e46b /src | |
parent | 99910d434d6c0be1f4d3578a702b32a1c73c18b8 (diff) | |
download | talos-sbe-9ee125f8832a91160869abbd2c22064c68b2674c.tar.gz talos-sbe-9ee125f8832a91160869abbd2c22064c68b2674c.zip |
L3 update -- p9_sbe_fabricinit
remove stale TODO comments
replace local defined bit field constants with SCOM address header constants
add FFDC, HW callouts for all errors
Change-Id: I8440323904cf1c76e0f056b2ecc71de357d522e0
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40361
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: DHRUVARAJ SUBHASH CHANDRAN <dhruvaraj@in.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40362
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Diffstat (limited to 'src')
3 files changed, 67 insertions, 22 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_sbe_fabricinit.C b/src/import/chips/p9/procedures/hwp/nest/p9_sbe_fabricinit.C index 3cd54b7f..3235616f 100755 --- a/src/import/chips/p9/procedures/hwp/nest/p9_sbe_fabricinit.C +++ b/src/import/chips/p9/procedures/hwp/nest/p9_sbe_fabricinit.C @@ -27,14 +27,13 @@ /// @brief Initialize island-mode fabric configuration (FAPI2) /// /// @author Joe McGill <jmcgill@us.ibm.com> -/// @author Christy Graves <clgraves@us.ibm.com> /// // // *HWP HWP Owner: Joe McGill <jmcgill@us.ibm.com> // *HWP FW Owner: Thi Tran <thi@us.ibm.com> // *HWP Team: Nest -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: SBE // @@ -54,12 +53,12 @@ const uint64_t FABRICINIT_DELAY_HW_NS = 1000; // 1us const uint64_t FABRICINIT_DELAY_SIM_CYCLES = 200; -// ADU Command Register field/bit definitions +// ADU Command Register field definitions const uint32_t ALTD_CMD_TTYPE_PBOP_EN_ALL = 0x3F; const uint32_t ALTD_CMD_TSIZE_PBOP_EN_ALL = 0x0B; const uint32_t ALTD_CMD_SCOPE_GROUP = 0x3; -// ADU Status Register field/bit definitions +// ADU Status Register field definitions const uint32_t ALTD_STATUS_CRESP_ACK_DONE = 0x04; @@ -109,8 +108,8 @@ p9_sbe_fabricinit(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) PU_PB_CENT_SM0_PB_CENT_HP_MODE_CURR_CFG_XLATE_ADDR_TO_ID_LEN>(l_fbc_xlate_addr_to_id); l_hp_mode_data.clearBit<PU_PB_CENT_SM0_PB_CENT_HP_MODE_CURR_CFG_PHYP_IS_GROUP>() // PHYP is group - .clearBit<PU_PB_CENT_SM0_PB_CENT_HP_MODE_CURR_CFG_ADDR_BAR>() // large system map - .clearBit<PU_PB_CENT_SM0_PB_CENT_HP_MODE_CURR_CFG_DCACHE_CAPP>(); // disable Dcache CAPP mode + .clearBit<PU_PB_CENT_SM0_PB_CENT_HP_MODE_CURR_CFG_ADDR_BAR>() // large system map + .clearBit<PU_PB_CENT_SM0_PB_CENT_HP_MODE_CURR_CFG_DCACHE_CAPP>(); // disable Dcache CAPP mode if (l_pump_mode == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_NODE) // pump mode { @@ -144,8 +143,7 @@ p9_sbe_fabricinit(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) "Error from p9_fbc_utils_get_fbc_state"); FAPI_ASSERT(l_fbc_is_running, fapi2::P9_SBE_FABRICINIT_FBC_STOPPED_ERR(). - set_TARGET(i_target). - set_FBC_RUNNING(l_fbc_is_running), + set_TARGET(i_target), "Pervasive stop control is asserted, so fabricinit will not run!"); // write ADU Command Register to attempt lock acquisition @@ -189,8 +187,8 @@ p9_sbe_fabricinit(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) (ALTD_STATUS_CRESP_ACK_DONE); FAPI_ASSERT(l_status_data_exp == l_status_data_act, - fapi2::P9_SBE_FABRICINIT_FAILED_ERR().set_TARGET(i_target). - set_ADU_STATUS_EXP(l_status_data_act). + fapi2::P9_SBE_FABRICINIT_FAILED_ERR(). + set_TARGET(i_target). set_ADU_STATUS_ACT(l_status_data_act), "Fabric init failed, or mismatch in expected ADU status!"); @@ -206,9 +204,7 @@ p9_sbe_fabricinit(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) "Error from p9_fbc_utils_get_fbc_state"); FAPI_ASSERT(l_fbc_is_initialized && l_fbc_is_running, fapi2::P9_SBE_FABRICINIT_NO_INIT_ERR(). - set_TARGET(i_target). - set_FBC_INITIALIZED(l_fbc_is_initialized). - set_FBC_RUNNING(l_fbc_is_running), + set_TARGET(i_target), "ADU command succeded, but fabric was not cleanly initialized!"); fapi_try_exit: diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_sbe_fabricinit.H b/src/import/chips/p9/procedures/hwp/nest/p9_sbe_fabricinit.H index f0b2ecd7..532b3da4 100755 --- a/src/import/chips/p9/procedures/hwp/nest/p9_sbe_fabricinit.H +++ b/src/import/chips/p9/procedures/hwp/nest/p9_sbe_fabricinit.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER sbe Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -60,14 +60,13 @@ /// - Confirm state of fabric init control /// /// @author Joe McGill <jmcgill@us.ibm.com> -/// @author Christy Graves <clgraves@us.ibm.com> /// // // *HWP HWP Owner: Joe McGill <jmcgill@us.ibm.com> // *HWP FW Owner: Thi Tran <thi@us.ibm.com> // *HWP Team: Nest -// *HWP Level: 2 +// *HWP Level: 3 // *HWP Consumed by: SBE // diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_sbe_fabricinit_errors.xml b/src/import/chips/p9/procedures/xml/error_info/p9_sbe_fabricinit_errors.xml index cd68f2f4..1f21da00 100755 --- a/src/import/chips/p9/procedures/xml/error_info/p9_sbe_fabricinit_errors.xml +++ b/src/import/chips/p9/procedures/xml/error_info/p9_sbe_fabricinit_errors.xml @@ -5,7 +5,7 @@ <!-- --> <!-- OpenPOWER sbe Project --> <!-- --> -<!-- Contributors Listed Below - COPYRIGHT 2015,2016 --> +<!-- Contributors Listed Below - COPYRIGHT 2015,2017 --> <!-- [+] International Business Machines Corp. --> <!-- --> <!-- --> @@ -22,9 +22,18 @@ <!-- permissions and limitations under the License. --> <!-- --> <!-- IBM_PROLOG_END_TAG --> -<!-- Halt codes for p9_sbe_fabricinit --> <hwpErrors> <!-- ******************************************************************** --> + <registerFfdc> + <id>REG_FFDC_SBE_FABRICINIT</id> + <scomRegister>PU_PB_CENT_SM0_PB_CENT_MODE</scomRegister> + <scomRegister>PU_PB_CENT_SM0_PB_CENT_HP_MODE_NEXT</scomRegister> + <scomRegister>PU_PB_CENT_SM0_PB_CENT_HP_MODE_CURR</scomRegister> + <scomRegister>PU_PB_CENT_SM0_PB_CENT_HPX_MODE_NEXT</scomRegister> + <scomRegister>PU_PB_CENT_SM0_PB_CENT_HPX_MODE_CURR</scomRegister> + <scomRegister>PU_SND_MODE_REG</scomRegister> + </registerFfdc> + <!-- ******************************************************************** --> <hwpError> <sbeError/> <rc>RC_P9_SBE_FABRICINIT_FBC_STOPPED_ERR</rc> @@ -33,7 +42,21 @@ Fabric init sequence not attempted, fabric arbitration is stopped. </description> <ffdc>TARGET</ffdc> - <ffdc>FBC_RUNNING</ffdc> + <collectRegisterFfdc> + <id>REG_FFDC_SBE_FABRICINIT</id> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <target>TARGET</target> + </collectRegisterFfdc> + <callout> + <target>TARGET</target> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>TARGET</target> + </deconfigure> + <gard> + <target>TARGET</target> + </gard> </hwpError> <!-- ******************************************************************** --> <hwpError> @@ -44,8 +67,22 @@ Fabric init failed, or mismatch in expected ADU status. </description> <ffdc>TARGET</ffdc> - <ffdc>ADU_STATUS_EXP</ffdc> <ffdc>ADU_STATUS_ACT</ffdc> + <collectRegisterFfdc> + <id>REG_FFDC_SBE_FABRICINIT</id> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <target>TARGET</target> + </collectRegisterFfdc> + <callout> + <target>TARGET</target> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>TARGET</target> + </deconfigure> + <gard> + <target>TARGET</target> + </gard> </hwpError> <!-- ******************************************************************** --> <hwpError> @@ -56,8 +93,21 @@ ADU operation completed successfully, but fabric was not initialized. </description> <ffdc>TARGET</ffdc> - <ffdc>FBC_INITIALIZED</ffdc> - <ffdc>FBC_RUNNING</ffdc> + <collectRegisterFfdc> + <id>REG_FFDC_SBE_FABRICINIT</id> + <targetType>TARGET_TYPE_PROC_CHIP</targetType> + <target>TARGET</target> + </collectRegisterFfdc> + <callout> + <target>TARGET</target> + <priority>HIGH</priority> + </callout> + <deconfigure> + <target>TARGET</target> + </deconfigure> + <gard> + <target>TARGET</target> + </gard> </hwpError> <!-- ******************************************************************** --> </hwpErrors> |