diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2014-03-28 15:53:00 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-04-03 11:32:52 -0500 |
commit | a1ae2a2a50b16d5cb1f45d61b571994de6cb3065 (patch) | |
tree | 47cdbcefd96403a39d2fd217ce454fa3b447672e /src/usr/hwpf/hwp | |
parent | ebe7f20b07a633f287db0bd602a411aa5b6c0d1b (diff) | |
download | talos-hostboot-a1ae2a2a50b16d5cb1f45d61b571994de6cb3065.tar.gz talos-hostboot-a1ae2a2a50b16d5cb1f45d61b571994de6cb3065.zip |
INITPROC: fixes reset of OCC for MPIPL
Change-Id: I942773bcfe9a9879b391e228d92d70a3c3ca2009
CQ: SW254023
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9996
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp')
3 files changed, 322 insertions, 143 deletions
diff --git a/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pba_init.H b/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pba_init.H index 116bf0ee5..df8986ef7 100644 --- a/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pba_init.H +++ b/src/usr/hwpf/hwp/build_winkle_images/p8_set_pore_bar/p8_pba_init.H @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* COPYRIGHT International Business Machines Corp. 2012,2014 */ /* */ /* p1 */ /* */ @@ -20,7 +20,8 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: p8_pba_init.H,v 1.6 2013/06/01 03:26:29 dcrowell Exp $ + +// $Id: p8_pba_init.H,v 1.8 2014/03/17 23:16:35 stillgs Exp $ //------------------------------------------------------------------------------ // *! (C) Copyright International Business Machines Corp. 2011 @@ -104,6 +105,10 @@ const uint64_t PBA_SLVRESETs[4] = #define MAX_PBA_RESET_POLLS 16 #define PBA_RESET_POLL_DELAY 1 // in microseconds +// Maximum number of Polls for PBA Block Copy Stopping - 500ms timeout +#define MAX_PBA_BC_STOP_POLLS 256 +#define PBA_BC_STOP_POLL_DELAY 10 // in microseconds + // bar mask is valid for bits 23 to 43, in a 64bit value this is // 1 2 3 4 5 6 // 0123456789012345678901234567890123456789012345678901234567890123 @@ -198,7 +203,11 @@ typedef union pbaxcfg_typ{ } fields; } pbaxcfg_t; - +// BCDE and BCUE Status registers bits +#define PBA_BC_STAT_RUNNING 0 +#define PBA_BC_STAT_STOPPED 29 +#define PBA_BC_STAT_ERROR 30 +#define PBA_BC_STAT_DONE 31 // ---------------------------------------------------------------------- @@ -220,4 +229,3 @@ p8_pba_init (const fapi::Target& i_target, #endif // _P8_PBAINITQ_H_ - diff --git a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pba_init.C b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pba_init.C index e2a699900..38bf33c6b 100644 --- a/src/usr/hwpf/hwp/occ/occ_procedures/p8_pba_init.C +++ b/src/usr/hwpf/hwp/occ/occ_procedures/p8_pba_init.C @@ -20,8 +20,9 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: p8_pba_init.C,v 1.16 2014/02/17 02:36:40 stillgs Exp $ -// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pba_init.C,v $ + +// $Id: p8_pba_init.C,v 1.18 2014/03/17 23:16:22 stillgs Exp $ +// $Source: /archive/shadow/ekb/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pba_init.C,v $ //------------------------------------------------------------------------------ // *! (C) Copyright International Business Machines Corp. 2011 // *! All Rights Reserved -- Property of IBM @@ -50,14 +51,7 @@ // *! FAPI_SET_HWP_ERROR(rc,RC_PMPROC_PBA_INIT_INCORRECT_MODE); // *! } // *! -// *! list of changes -// *! 2012/10/11 applied changes and error corrections according to Terry Opie and reformatting if-else -// *! 2012/10/11 applied changes according to Terry Opie -// *! 2012/07/26 applied the changes as recommended by Greg's second review, pbax attributes included, -// *! 2012/07/18 applied the changes as recommended by Greg, attribute coding, TODO: correct constants -// *! 2012/05/09 global variables removed, "mode" used according to common rules. -// *! 2012/05/17 temporary commented out the accesses assumed wrong address -// *! +// *! buildfapiprcd -e "../../xml/error_info/p8_pba_init_errors.xml" p8_pba_init.C //------------------------------------------------------------------------------ @@ -98,6 +92,8 @@ fapi::ReturnCode pba_slave_setup_init ( const Target& i_target ); fapi::ReturnCode pba_slave_setup_reset ( const Target& i_target ); fapi::ReturnCode pba_slave_reset(const Target& i_target); +fapi::ReturnCode pba_bc_stop(const Target& i_target); + // ********************************************************************************************** // ----------------------------------------------- p8_pba_init -------------------------------- @@ -179,52 +175,14 @@ pba_init_reset(const Target& i_target) FAPI_INF("pba_init_reset start ..."); do { - // Stop the BCDE and BCUE - address = PBA_BCDE_CTL_0x00064010; - - l_rc |= data.flushTo0(); - l_rc |= data.setBit(0); // Bit 0: BCDE_CTL_STOP - if (l_rc) - { - rc.setEcmdError(l_rc); - break; - } - FAPI_INF("\tStopping BCDE addr=0x%08llX, value=0x%16llX, Target = %s", - address, - data.getDoubleWord(0), - i_target.toEcmdString()); - rc = fapiPutScom(i_target, address, data); - if (!rc.ok()) - { - FAPI_ERR("fapiPutScom(addr=0x%08llX) failed, Target = %s", - address, - i_target.toEcmdString()); - break; - } - - address = PBA_BCUE_CTL_0x00064015; - - l_rc |= data.flushTo0(); - l_rc |= data.setBit(0); // Bit 0: BCUE_CTL_STOP - if (l_rc) - { - rc.setEcmdError(l_rc); - break; - } - FAPI_INF("\tStopping BCUE addr=0x%08llX, value=0x%16llX, Target = %s", - address, - data.getDoubleWord(0), - i_target.toEcmdString()); - rc = fapiPutScom(i_target, address, data); + // Stop the BCDE and BCUE + rc = pba_bc_stop(i_target); if (!rc.ok()) { - FAPI_ERR("fapiPutScom(addr=0x%08llX) failed, Target = %s", - address, - i_target.toEcmdString()); + FAPI_ERR("pba_bc_stop detected an error"); break; } - - + // Reset each slave and wait for completion. rc = pba_slave_reset(i_target); if (rc) @@ -508,7 +466,7 @@ pba_slave_setup_init(const Target& i_target) ec_allows_pba_prefetch_enable); if(rc) { - FAPI_ERR("Error querying Chip EC feature: " + FAPI_ERR("Error querying Chip EC feature: " "ATTR_PROC_EC_PBA_PREFETCH_ENABLE"); break; } @@ -722,9 +680,29 @@ pba_slave_reset(const Target& i_target) ecmdDataBufferBase data(64); bool poll_failure = false; uint32_t p; + + uint8_t ec_has_pba_slvrest_bug = 0; + uint8_t attr_mpipl = 0; do { + rc = FAPI_ATTR_GET(ATTR_CHIP_EC_FEATURE_HW_BUG_PBASLVRESET, + &i_target, + ec_has_pba_slvrest_bug); + if(rc) + { + FAPI_ERR("Error querying Chip EC feature: " + "ATTR_CHIP_EC_FEATURE_HW_BUG_PBASLVRESET"); + break; + } + + rc = FAPI_ATTR_GET(ATTR_IS_MPIPL, NULL, attr_mpipl); + if(rc) + { + FAPI_ERR("Error querying attribute ATTR_IS_MPIPL"); + break; + } + for (int s=0; s<= 3; s++) { @@ -749,7 +727,17 @@ pba_slave_reset(const Target& i_target) FAPI_ERR("fapiPutScom( PBA_SLVRST_0x00064001 ) failed. With rc = 0x%x", (uint32_t)rc); break ; } - + + // Due to HW228485, skip the check of the in-progress bits for MPIPL + // (after the PBA channels have been used at runtime) as they + // are unreliable in Murano 1.x. + if (attr_mpipl && ec_has_pba_slvrest_bug) + { + FAPI_INF("PBA Reset Polling being skipped due to MPIPL on a chip with PBA reset bug"); + poll_failure = false; + continue; + } + // Read the reset register to check for reset completion rc = fapiGetScom(i_target, PBA_SLVRST_0x00064001 , data); if (rc) @@ -762,6 +750,7 @@ pba_slave_reset(const Target& i_target) // If slave reset in progress, wait and then poll if (data.isBitClear(4+s)) { + FAPI_INF("PBA Reset complete for Slave %d", s); poll_failure = false; break; } @@ -811,6 +800,158 @@ pba_slave_reset(const Target& i_target) } // end pba_slave_setup_reset +// ************************************************************************************************ +// **************************************************** pba_bc_stop ******************************* +// Stop the BCDE and BCUE and then poll for respective completion +fapi::ReturnCode +pba_bc_stop(const Target& i_target) +{ + fapi::ReturnCode rc; + uint32_t e_rc = 0; + ecmdDataBufferBase data(64); + uint64_t address = 0; + bool bcde_stop_complete = false; + bool bcue_stop_complete = false; + uint32_t p; + + + do + { + + FAPI_INF("Stop the BCDE and BCUE"); + address = PBA_BCDE_CTL_0x00064010; -} //end extern C + e_rc |= data.flushTo0(); + e_rc |= data.setBit(0); // Bit 0: BCDE_CTL_STOP + if (e_rc) + { + rc.setEcmdError(e_rc); + break; + } + FAPI_INF("\tStopping BCDE addr=0x%08llX, value=0x%16llX, Target = %s", + address, + data.getDoubleWord(0), + i_target.toEcmdString()); + rc = fapiPutScom(i_target, address, data); + if (!rc.ok()) + { + FAPI_ERR("fapiPutScom(addr=0x%08llX) failed, Target = %s", + address, + i_target.toEcmdString()); + break; + } + + address = PBA_BCUE_CTL_0x00064015; + e_rc |= data.flushTo0(); + e_rc |= data.setBit(0); // Bit 0: BCUE_CTL_STOP + if (e_rc) + { + rc.setEcmdError(e_rc); + break; + } + FAPI_INF("\tStopping BCUE addr=0x%08llX, value=0x%16llX, Target = %s", + address, + data.getDoubleWord(0), + i_target.toEcmdString()); + rc = fapiPutScom(i_target, address, data); + if (!rc.ok()) + { + FAPI_ERR("fapiPutScom(addr=0x%08llX) failed, Target = %s", + address, + i_target.toEcmdString()); + break; + } + + // Stopped for the BC engines is defined as the Running bit is clear + // + // The Stopped, Done and Error bits may also be on if the BCE happened + // stop before the requested transfer was complete. However, done of + // these indicators are relevent as the OCC is being reset anyway. + + for (p=0; p<MAX_PBA_BC_STOP_POLLS; p++) + { + + + // Read the BCDE Status register to check for a stopped condition + rc = fapiGetScom(i_target, PBA_BCDE_STAT_0x00064012 , data); + if (rc) + { + FAPI_ERR("fapiGetPutScom( PBA_BCDE_STAT_0x00064012 ) failed. With rc = 0x%x", (uint32_t)rc); + break; + } + FAPI_DBG("BCDE Status poll data = 0x%016llX", data.getDoubleWord(0)); + + + if (data.isBitClear(PBA_BC_STAT_RUNNING)) + { + FAPI_INF("BCDE Running Bit is clear to indicate the stop condition"); + bcde_stop_complete = true; + } + + + // Read the BCUE Status register to check for stop condition + rc = fapiGetScom(i_target, PBA_BCUE_STAT_0x00064017 , data); + if (rc) + { + FAPI_ERR("fapiGetPutScom( PBA_BCUE_STAT_0x00064017 ) failed. With rc = 0x%x", (uint32_t)rc); + break; + } + FAPI_DBG("BCUE Status poll data = 0x%016llX", data.getDoubleWord(0)); + + if (data.isBitClear(PBA_BC_STAT_RUNNING)) + { + FAPI_INF("BCUE Running Bit is clear to indicate the stop condition"); + bcue_stop_complete = true; + } + + // If both engines are stopped , exit polling loop + if (bcde_stop_complete && bcue_stop_complete) + { + break; + } + else + { + rc = fapiDelay(MAX_PBA_BC_STOP_POLLS*1000, 2000000); // In microseconds + if (rc) + { + FAPI_ERR("fapiDelay failed. With rc = 0x%x", (uint32_t)rc); + break; + } + } + } // polling loop + + // Error exit from above loop + if (!rc.ok()) + { + break; + } + + if (!bcde_stop_complete) + { + FAPI_ERR("PBA BCDE Stop Timout"); + const fapi::Target & CHIP = i_target; + const uint32_t & POLLCOUNT = MAX_PBA_BC_STOP_POLLS; + const uint32_t & POLLVALUE = MAX_PBA_BC_STOP_POLLS; + FAPI_SET_HWP_ERROR(rc, RC_PROCPM_PBA_BCDE_STOP_TIMEOUT); + break; + } + if (!bcue_stop_complete) + { + FAPI_ERR("PBA BCDE Stop Timout"); + const fapi::Target & CHIP = i_target; + const uint32_t & POLLCOUNT = MAX_PBA_BC_STOP_POLLS; + const uint32_t & POLLVALUE = MAX_PBA_BC_STOP_POLLS; + FAPI_SET_HWP_ERROR(rc, RC_PROCPM_PBA_BCUE_STOP_TIMEOUT); + break; + } + + } while(0); + + return rc; + +} // end pba_bcde_stop + + + +} //end extern C diff --git a/src/usr/hwpf/hwp/runtime_errors/p8_pba_init_errors.xml b/src/usr/hwpf/hwp/runtime_errors/p8_pba_init_errors.xml index b414aa598..27902079b 100644 --- a/src/usr/hwpf/hwp/runtime_errors/p8_pba_init_errors.xml +++ b/src/usr/hwpf/hwp/runtime_errors/p8_pba_init_errors.xml @@ -20,89 +20,119 @@ <!-- Origin: 30 --> <!-- --> <!-- IBM_PROLOG_END_TAG --> -<!-- $Id: p8_pba_init_errors.xml,v 1.5 2014/02/17 02:30:14 stillgs Exp $ --> + +<!-- $Id: p8_pba_init_errors.xml,v 1.7 2014/03/17 23:14:22 stillgs Exp $ --> <!-- Error definitions for p8_pba_init procedure --> <hwpErrors> - <registerFfdc> - <id>REG_FFDC_PROC_PBA_REGISTERS</id> - <scomRegister>PBA_MODE_0x00064000</scomRegister> - <scomRegister>PBA_CONFIG_0x0201084B</scomRegister> - <scomRegister>PBA_SLVCTL2_0x00064006</scomRegister> - <scomRegister>PBA_SLVCTL0_0x00064004</scomRegister> - <scomRegister>PBA_SLVCTL1_0x00064005</scomRegister> - <scomRegister>PBA_SLVCTL2_0x00064006</scomRegister> - <scomRegister>PBA_SLVCTL3_0x00064007</scomRegister> - <scomRegister>PBA_FIR_0x02010840</scomRegister> - <scomRegister>PBA_ERR_RPT0_0x0201084C</scomRegister> - <scomRegister>PBA_ERR_RPT1_0x0201084D</scomRegister> - <scomRegister>PBA_ERR_RPT2_0x0201084E</scomRegister> - <scomRegister>PBA_BCDE_CTL_0x00064010</scomRegister> - <scomRegister>PBA_BCDE_SET_0x00064011</scomRegister> - <scomRegister>PBA_BCDE_STAT_0x00064012</scomRegister> - <scomRegister>PBA_BCDE_PBADR_0x00064013</scomRegister> - <scomRegister>PBA_BCDE_OCIBAR_0x00064014</scomRegister> - <scomRegister>PBA_BCUE_CTL_0x00064015</scomRegister> - <scomRegister>PBA_BCUE_SET_0x00064016</scomRegister> - <scomRegister>PBA_BCUE_STAT_0x00064017</scomRegister> - <scomRegister>PBA_BCUE_PBADR_0x00064018</scomRegister> - <scomRegister>PBA_BCUE_OCIBAR_0x00064019</scomRegister> - <scomRegister>PBA_PBOCR0_0x00064020</scomRegister> - <scomRegister>PBA_PBOCR1_0x00064021</scomRegister> - <scomRegister>PBA_PBOCR2_0x00064022</scomRegister> - <scomRegister>PBA_PBOCR3_0x00064023</scomRegister> - <scomRegister>PBA_PBOCR4_0x00064024</scomRegister> - <scomRegister>PBA_PBOCR5_0x00064025</scomRegister> - <scomRegister>PBA_BAR0_0x02013F00</scomRegister> - <scomRegister>PBA_BARMSK0_0x02013F04</scomRegister> - <scomRegister>PBA_BAR1_0x02013F01</scomRegister> - <scomRegister>PBA_BARMSK1_0x02013F05</scomRegister> - <scomRegister>PBA_BAR2_0x02013F02</scomRegister> - <scomRegister>PBA_BARMSK2_0x02013F06</scomRegister> - <scomRegister>PBA_BAR3_0x02013F03</scomRegister> - <scomRegister>PBA_BARMSK3_0x02013F07</scomRegister> - <scomRegister>PBA_TRUSTMODE_0x02013F08</scomRegister> - </registerFfdc> - <!-- *********************************************************************** --> - <hwpError> - <rc>RC_PMPROC_PBA_INIT_INCORRECT_MODE</rc> - <description>pba init procedure incorrect mode by calling function</description> - <ffdc>PM_MODE</ffdc> - <callout> - <procedure>CODE</procedure> - <priority>HIGH</priority> - </callout> - </hwpError> - <!-- *********************************************************************** --> - <hwpError> - <rc>RC_PMPROC_PBA_SLAVE_RESET_TIMEOUT</rc> - <description>pba_init timed out waited for the PBA slave to reset.</description> - <ffdc>POLLCOUNT</ffdc> - <ffdc>SLAVENUM</ffdc> - <ffdc>PBASLVREG</ffdc> - <collectRegisterFfdc> - <id>REG_FFDC_PROC_PBA_REGISTERS</id> - <target>CHIP</target> - </collectRegisterFfdc> - <callout> - <target>CHIP</target> - <priority>HIGH</priority> - </callout> - </hwpError> - <!-- *********************************************************************** --> - <hwpError> - <rc>RC_PMPROC_PBA_SLAVE_BUSY_AFTER_RESET</rc> - <description>pba_init detected a busy PBA slave after the slave was reset.</description> - <ffdc>POLLCOUNT</ffdc> - <ffdc>SLAVENUM</ffdc> - <ffdc>PBASLVREG</ffdc> - <collectRegisterFfdc> - <id>REG_FFDC_PROC_PBA_REGISTERS</id> - <target>CHIP</target> - </collectRegisterFfdc> - <callout> - <target>CHIP</target> - <priority>HIGH</priority> - </callout> - </hwpError> - <!-- *********************************************************************** --> -</hwpErrors> + <registerFfdc> + <id>REG_FFDC_PROC_PBA_REGISTERS</id> + <scomRegister>PBA_MODE_0x00064000</scomRegister> + <scomRegister>PBA_CONFIG_0x0201084B</scomRegister> + <scomRegister>PBA_SLVCTL2_0x00064006</scomRegister> + <scomRegister>PBA_SLVCTL0_0x00064004</scomRegister> + <scomRegister>PBA_SLVCTL1_0x00064005</scomRegister> + <scomRegister>PBA_SLVCTL2_0x00064006</scomRegister> + <scomRegister>PBA_SLVCTL3_0x00064007</scomRegister> + <scomRegister>PBA_FIR_0x02010840</scomRegister> + <scomRegister>PBA_ERR_RPT0_0x0201084C</scomRegister> + <scomRegister>PBA_ERR_RPT1_0x0201084D</scomRegister> + <scomRegister>PBA_ERR_RPT2_0x0201084E</scomRegister> + <scomRegister>PBA_BCDE_CTL_0x00064010</scomRegister> + <scomRegister>PBA_BCDE_SET_0x00064011</scomRegister> + <scomRegister>PBA_BCDE_STAT_0x00064012</scomRegister> + <scomRegister>PBA_BCDE_PBADR_0x00064013</scomRegister> + <scomRegister>PBA_BCDE_OCIBAR_0x00064014</scomRegister> + <scomRegister>PBA_BCUE_CTL_0x00064015</scomRegister> + <scomRegister>PBA_BCUE_SET_0x00064016</scomRegister> + <scomRegister>PBA_BCUE_STAT_0x00064017</scomRegister> + <scomRegister>PBA_BCUE_PBADR_0x00064018</scomRegister> + <scomRegister>PBA_BCUE_OCIBAR_0x00064019</scomRegister> + <scomRegister>PBA_PBOCR0_0x00064020</scomRegister> + <scomRegister>PBA_PBOCR1_0x00064021</scomRegister> + <scomRegister>PBA_PBOCR2_0x00064022</scomRegister> + <scomRegister>PBA_PBOCR3_0x00064023</scomRegister> + <scomRegister>PBA_PBOCR4_0x00064024</scomRegister> + <scomRegister>PBA_BAR0_0x02013F00</scomRegister> + <scomRegister>PBA_BARMSK0_0x02013F04</scomRegister> + <scomRegister>PBA_BAR1_0x02013F01</scomRegister> + <scomRegister>PBA_BARMSK1_0x02013F05</scomRegister> + <scomRegister>PBA_BAR2_0x02013F02</scomRegister> + <scomRegister>PBA_BARMSK2_0x02013F06</scomRegister> + <scomRegister>PBA_BAR3_0x02013F03</scomRegister> + <scomRegister>PBA_BARMSK3_0x02013F07</scomRegister> + <scomRegister>PBA_TRUSTMODE_0x02013F08</scomRegister> + </registerFfdc> + <!-- *********************************************************************** --> + <hwpError> + <rc>RC_PMPROC_PBA_INIT_INCORRECT_MODE</rc> + <description>pba init procedure incorrect mode by calling function</description> + <ffdc>PM_MODE</ffdc> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> + </hwpError> + <!-- *********************************************************************** --> + <hwpError> + <rc>RC_PMPROC_PBA_SLAVE_RESET_TIMEOUT</rc> + <description>pba_init timed out waited for the PBA slave to reset.</description> + <ffdc>POLLCOUNT</ffdc> + <ffdc>SLAVENUM</ffdc> + <ffdc>PBASLVREG</ffdc> + <collectRegisterFfdc> + <id>REG_FFDC_PROC_PBA_REGISTERS</id> + <target>CHIP</target> + </collectRegisterFfdc> + <callout> + <target>CHIP</target> + <priority>HIGH</priority> + </callout> + </hwpError> + <!-- *********************************************************************** --> + <hwpError> + <rc>RC_PMPROC_PBA_SLAVE_BUSY_AFTER_RESET</rc> + <description>pba_init detected a busy PBA slave after the slave was reset.</description> + <ffdc>POLLCOUNT</ffdc> + <ffdc>SLAVENUM</ffdc> + <ffdc>PBASLVREG</ffdc> + <collectRegisterFfdc> + <id>REG_FFDC_PROC_PBA_REGISTERS</id> + <target>CHIP</target> + </collectRegisterFfdc> + <callout> + <target>CHIP</target> + <priority>HIGH</priority> + </callout> + </hwpError> + <!-- *********************************************************************** --> + <hwpError> + <rc>RC_PROCPM_PBA_BCDE_STOP_TIMEOUT</rc> + <description>pba_init timed out waiting to stop the Block Copy Download Engine.</description> + <ffdc>POLLCOUNT</ffdc> + <ffdc>POLLVALUE</ffdc> + <collectRegisterFfdc> + <id>REG_FFDC_PROC_PBA_REGISTERS</id> + <target>CHIP</target> + </collectRegisterFfdc> + <callout> + <target>CHIP</target> + <priority>HIGH</priority> + </callout> + </hwpError> + <!-- *********************************************************************** --> + <hwpError> + <rc>RC_PROCPM_PBA_BCUE_STOP_TIMEOUT</rc> + <description>pba_init timed out waiting to stop the Block Copy Upload Engine.</description> + <ffdc>POLLCOUNT</ffdc> + <ffdc>POLLVALUE</ffdc> + <collectRegisterFfdc> + <id>REG_FFDC_PROC_PBA_REGISTERS</id> + <target>CHIP</target> + </collectRegisterFfdc> + <callout> + <target>CHIP</target> + <priority>HIGH</priority> + </callout> + </hwpError> + <!-- *********************************************************************** --> +</hwpErrors>
\ No newline at end of file |