diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2017-06-11 08:57:47 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-06-23 10:07:14 -0400 |
commit | ea259b6658e294b19cbf13a5c3b5f2170c4d0617 (patch) | |
tree | f32b5a53baccee13d88903db5ce730c5f5906365 /src | |
parent | e25076a82f6746e63b90caeaf786f3c8b49e6796 (diff) | |
download | talos-hostboot-ea259b6658e294b19cbf13a5c3b5f2170c4d0617.tar.gz talos-hostboot-ea259b6658e294b19cbf13a5c3b5f2170c4d0617.zip |
L3 update -- p9_mpipl_chip_cleanup
HWP is currently an empty placeholder for p9 MPIPL flow
remove dead code, unused errors
Change-Id: I7b5fb9a9b3c07c34924a9e56982147a9abd6fb8f
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41654
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-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/41655
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
3 files changed, 45 insertions, 162 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_mpipl_chip_cleanup.C b/src/import/chips/p9/procedures/hwp/nest/p9_mpipl_chip_cleanup.C index d6e156fe7..4d051dddd 100644 --- a/src/import/chips/p9/procedures/hwp/nest/p9_mpipl_chip_cleanup.C +++ b/src/import/chips/p9/procedures/hwp/nest/p9_mpipl_chip_cleanup.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -22,140 +22,32 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ + /// -/// @file p9_mpipl_chip_cleanup.C -/// @brief To enable MCD recovery +/// @file p9_mpipl_chip_cleanup.C +/// @brief Placeholder for chip cleanup actions required on MPIPL (FAPI2) /// -// *HWP HWP OWNER: Joshua Hannan Email: jlhannan@us.ibm.com -// *HWP FW OWNER: Thi Tran Email: thi@us.ibm.com -// *HWP Team: Nest -// *HWP Level: 2 -// *HWP Consumed by: FSP/HB -// -// Additional Note(s): -// + // +// *HWP HWP Owner: Joe McGill <jmcgill@us.ibm.com> +// *HWP FW Owner: Thi Tran <thi@us.ibm.com> +// *HWP Team: Nest +// *HWP Level: 3 +// *HWP Consumed by: FSB/HB // -//------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------ #include <p9_mpipl_chip_cleanup.H> -extern "C" -{ - //------------------------------------------------------------------------------ - // Function definitions - //------------------------------------------------------------------------------ - - //------------------------------------------------------------------------------ - // name: p9_mpipl_chip_cleanup - //------------------------------------------------------------------------------ - // purpose: - // Place holder - // - //------------------------------------------------------------------------------ - fapi2::ReturnCode p9_mpipl_chip_cleanup(fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) - { - //This is currently a no-op , leaving it in as a placeholder. - return fapi2::current_err; - } - - -//Commenting out the old functionality of this code. Was going to delete it but will -//leave it here incase we need logic like this in the future for some reason -#if 0 - //------------------------------------------------------------------------------ - // name: p9_mpipl_chip_cleanup (DEPRECATED) - //------------------------------------------------------------------------------ - // purpose: - // To enable MCD recovery - // - // Note: PHBs are left in ETU reset state after executing proc_mpipl_nest_cleanup, which runs before this procedure. PHYP releases PHBs from ETU reset post HostBoot IPL. - // - // SCOM regs - // - // 1) MCD even recovery control register - // PU_BANK0_MCD_REC (SCOM) - // bit 0 (PU_BANK0_MCD_REC_ENABLE): 0 to 1 transition needed to start, reset to 0 at end of request. - // - // 2) MCD odd recovery control register - // PU_MCD1_BANK0_MCD_REC (SCOM) - // bit 0 (PU_BANK0_MCD_REC_ENABLE): 0 to 1 transition needed to start, reset to 0 at end of request. - // - //------------------------------------------------------------------------------ - fapi2::ReturnCode p9_mpipl_chip_cleanup(fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) - { - const uint8_t MAX_MCD_DIRS = 2; //Max of 2 MCD Directories (even and odd) - fapi2::buffer<uint64_t> fsi_data[MAX_MCD_DIRS]; - fapi2::buffer<uint64_t> w_data(0x00030001); - fapi2::buffer<uint64_t> r_data; - const uint64_t C_INT_VC_VSD_TABLE_DATA(0x5013202); - const uint64_t ARY_MCD_RECOVERY_CTRL_REGS_ADDRS[MAX_MCD_DIRS] = - { - PU_BANK0_MCD_REC, //MCD even recovery control register address - PU_MCD1_BANK0_MCD_REC //MCD odd recovery control register address - }; - const char* ARY_MCD_DIR_STRS[MAX_MCD_DIRS] = - { - "Even", //Ptr to char string "Even" for even MCD - "Odd" //Ptr to char string "Odd" for odd MCD - }; - - - HW386071: - - INT unit has a defect that might result in fake ecc errors. Have to do these four writes and reads to scom registers - FAPI_TRY(fapi2::putScom(i_target, PU_INT_VC_VSD_TABLE_ADDR, w_data), - "putScom error selecting address 1"); - - FAPI_TRY(fapi2::getScom(i_target, C_INT_VC_VSD_TABLE_DATA, r_data), - "getScom error reading from address 1"); - - w_data.clearBit<63>(); - FAPI_TRY(fapi2::putScom(i_target, PU_INT_VC_VSD_TABLE_ADDR, w_data), - "putScom error selecting address 0"); - - w_data.flush<0>(); - FAPI_TRY(fapi2::putScom(i_target, C_INT_VC_VSD_TABLE_DATA, w_data), - "putScom error writing to address 0"); - HW386071 - - Verify MCD recovery was previously disabled for even and odd slices - If not, this is an error condition - for (uint8_t counter = 0; counter < MAX_MCD_DIRS; counter++) - { - FAPI_DBG("Verifying MCD %s Recovery is disabled", ARY_MCD_DIR_STRS[counter]); - FAPI_TRY(fapi2::getScom(i_target, ARY_MCD_RECOVERY_CTRL_REGS_ADDRS[counter], fsi_data[counter]), - "getScom error veryfing that MCD recovery is disabled"); - - - FAPI_ASSERT(!fsi_data[counter].getBit<PU_BANK0_MCD_REC_ENABLE>(), - fapi2::P9_MPIPL_CHIP_CLEANUP_MCD_NOT_DISABLED().set_TARGET(i_target).set_ADDRESS( - ARY_MCD_RECOVERY_CTRL_REGS_ADDRS[counter]).set_DATA(fsi_data[counter]), "MCD recovery not disabled as expected"); - } - - Assert bit 0 of MCD Recovery Ctrl regs to enable MCD recovery - - for (int counter = 0; counter < MAX_MCD_DIRS; counter++) - { - FAPI_DBG("Enabling MCD %s Recovery", ARY_MCD_DIR_STRS[counter]); - - Assert bit 0 of MCD Even or Odd Recovery Control reg to enable recovery - fsi_data[counter].setBit<PU_BANK0_MCD_REC_ENABLE>(); - - Write data to MCD Even or Odd Recovery Control reg - FAPI_TRY(fapi2::putScom(i_target, ARY_MCD_RECOVERY_CTRL_REGS_ADDRS[counter], fsi_data[counter]), - "putScom error assert bit 0 of MCD recovery control register"); - } - - - fapi_try_exit: - FAPI_DBG("Exiting..."); - return fapi2::current_err; - } -#endif - +//------------------------------------------------------------------------------ +// Function definitions +//------------------------------------------------------------------------------ -} // extern "C" +fapi2::ReturnCode +p9_mpipl_chip_cleanup(fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target) +{ + // This is currently a no-op , leaving it in as a placeholder. + return fapi2::current_err; +} diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_mpipl_chip_cleanup.H b/src/import/chips/p9/procedures/hwp/nest/p9_mpipl_chip_cleanup.H index d462c4e89..e62a8b5c4 100644 --- a/src/import/chips/p9/procedures/hwp/nest/p9_mpipl_chip_cleanup.H +++ b/src/import/chips/p9/procedures/hwp/nest/p9_mpipl_chip_cleanup.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -22,22 +22,19 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -//------------------------------------------------------------------------------ -// -// (C) Copyright International Business Machines Corp. 2012 -// All Rights Reserved -- Property of IBM -// *** IBM Confidential *** -// -/// TITLE : p9_mpipl_chip_cleanup.H -/// DESCRIPTION : To enable MCD recovery + +/// +/// @file p9_mpipl_chip_cleanup.H +/// @brief Placeholder for chip cleanup actions required on MPIPL (FAPI2) /// -/// HWP HWP OWNER: Joshua Hannan Email: jlhannan@us.ibm.com -/// HWP FW Owner: Thi N Tran Email: thi@us.ibm.com -/// HWP Team: NEST -/// HWP Level: 2 -/// HWP Consumed by: FSP/HB + +// +// *HWP HWP Owner: Joe McGill <jmcgill@us.ibm.com> +// *HWP FW Owner: Thi Tran <thi@us.ibm.com> +// *HWP Team: Nest +// *HWP Level: 3 +// *HWP Consumed by: FSB/HB // -//------------------------------------------------------------------------------ #ifndef _P9_MPIPL_CHIP_CLEANUP_H_ #define _P9_MPIPL_CHIP_CLEANUP_H_ @@ -48,18 +45,25 @@ #include <fapi2.H> //------------------------------------------------------------------------------ -// Structure Definition(s) +// Structure definitions //------------------------------------------------------------------------------ // function pointer typedef definition for HWP call support -typedef fapi2::ReturnCode (*p9_mpipl_chip_cleanup_FP_t) (fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& ); +typedef fapi2::ReturnCode (*p9_mpipl_chip_cleanup_FP_t) ( + fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>&); + +//------------------------------------------------------------------------------ +// Function prototypes +//------------------------------------------------------------------------------ extern "C" { - /// @brief To enable MCD recovery - /// @param[in] 'i_target' Reference to processor chip target - /// @return FAPI_RC_SUCCESS if the mpipl_chip_cleanup completes successfully - fapi2::ReturnCode p9_mpipl_chip_cleanup(fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target); + /// @brief Perform chip cleanup for MPIPL + /// @param[in] 'i_target' Reference to processor chip target + /// @return FAPI2_RC_SUCCESS if succesful, else error + fapi2::ReturnCode p9_mpipl_chip_cleanup( + fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target); + } //extern "C" #endif diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_mpipl_chip_cleanup_errors.xml b/src/import/chips/p9/procedures/xml/error_info/p9_mpipl_chip_cleanup_errors.xml index 3a67a2a93..6b0e36df5 100644 --- a/src/import/chips/p9/procedures/xml/error_info/p9_mpipl_chip_cleanup_errors.xml +++ b/src/import/chips/p9/procedures/xml/error_info/p9_mpipl_chip_cleanup_errors.xml @@ -5,7 +5,7 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- Contributors Listed Below - COPYRIGHT 2015,2016 --> +<!-- Contributors Listed Below - COPYRIGHT 2015,2017 --> <!-- [+] International Business Machines Corp. --> <!-- --> <!-- --> @@ -23,18 +23,5 @@ <!-- --> <!-- IBM_PROLOG_END_TAG --> <hwpErrors> - <!-- ******************************************************************** --> - <hwpError> - <sbeError/> - <rc>RC_P9_MPIPL_CHIP_CLEANUP_MCD_NOT_DISABLED</rc> - <description> - Procedure: p9_mpipl_chip_cleanup - MCU recovery was not disabled as expected - </description> - <ffdc>TARGET</ffdc> - <ffdc>ADDRESS</ffdc> - <ffdc>DATA</ffdc> - </hwpError> - <!-- ******************************************************************** --> </hwpErrors> |