diff options
Diffstat (limited to 'src')
3 files changed, 71 insertions, 25 deletions
diff --git a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp.C b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp.C index 00c98bf70..cafd82852 100644 --- a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp.C +++ b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp.C @@ -22,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: proc_build_smp.C,v 1.19 2014/11/18 17:41:03 jmcgill Exp $ +// $Id: proc_build_smp.C,v 1.20 2015/02/09 22:36:45 jmcgill Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_build_smp.C,v $ //------------------------------------------------------------------------------ // *| @@ -1452,6 +1452,14 @@ fapi::ReturnCode proc_build_smp( } } + // set fabric trace configuration registers (non-hotplug) + rc = proc_build_smp_set_fbc_nohp_trace(smp); + if (!rc.ok()) + { + FAPI_ERR("proc_build_smp: Error from proc_build_smp_set_fbc_nohp_trace"); + break; + } + // activate SMP // set fabric configuration registers (hotplug, switch AB set) rc = proc_build_smp_set_fbc_ab(smp, i_op); diff --git a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp_fbc_nohp.C b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp_fbc_nohp.C index 0e13e30cd..c6ed7fbac 100644 --- a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp_fbc_nohp.C +++ b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp_fbc_nohp.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -22,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: proc_build_smp_fbc_nohp.C,v 1.6 2014/02/23 21:41:07 jmcgill Exp $ +// $Id: proc_build_smp_fbc_nohp.C,v 1.7 2015/02/09 22:37:59 jmcgill Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_build_smp_fbc_nohp.C,v $ //------------------------------------------------------------------------------ // *| @@ -854,7 +854,7 @@ fapi::ReturnCode proc_build_smp_set_f_trace( // NOTE: see comments above function prototype in header -fapi::ReturnCode proc_build_smp_set_fbc_nohp( +fapi::ReturnCode proc_build_smp_set_fbc_nohp_trace( proc_build_smp_system& i_smp) { fapi::ReturnCode rc; @@ -862,7 +862,7 @@ fapi::ReturnCode proc_build_smp_set_fbc_nohp( std::map<proc_fab_smp_chip_id, proc_build_smp_chip>::iterator p_iter; // mark function entry - FAPI_DBG("proc_build_smp_set_fbc_nohp: Start"); + FAPI_DBG("proc_build_smp_set_fbc_nohp_trace: Start"); // process each chip in SMP, program unit non-hotplug registers for (n_iter = i_smp.nodes.begin(); @@ -875,24 +875,6 @@ fapi::ReturnCode proc_build_smp_set_fbc_nohp( { fapi::Target target = p_iter->second.chip->this_chip; - // PB Mode register - rc = proc_build_smp_set_pb_mode(p_iter->second, - i_smp); - if (!rc.ok()) - { - FAPI_ERR("proc_build_smp_set_fbc_nohp: Error from proc_build_smp_set_pb_mode"); - break; - } - - // command scope drop priority registers - rc = proc_build_smp_set_pacing_rates(p_iter->second, - i_smp); - if (!rc.ok()) - { - FAPI_ERR("proc_build_smp_set_fbc_nohp: Error from proc_build_smp_set_pacing_rates"); - break; - } - // X link trace setup if (p_iter->second.x_enabled) { @@ -925,6 +907,53 @@ fapi::ReturnCode proc_build_smp_set_fbc_nohp( break; } } + } + } + // mark function exit + FAPI_DBG("proc_build_smp_set_fbc_nohp_trace: End"); + return rc; +} + + +// NOTE: see comments above function prototype in header +fapi::ReturnCode proc_build_smp_set_fbc_nohp( + proc_build_smp_system& i_smp) +{ + fapi::ReturnCode rc; + std::map<proc_fab_smp_node_id, proc_build_smp_node>::iterator n_iter; + std::map<proc_fab_smp_chip_id, proc_build_smp_chip>::iterator p_iter; + + // mark function entry + FAPI_DBG("proc_build_smp_set_fbc_nohp: Start"); + + // process each chip in SMP, program unit non-hotplug registers + for (n_iter = i_smp.nodes.begin(); + (n_iter != i_smp.nodes.end()) && (rc.ok()); + n_iter++) + { + for (p_iter = n_iter->second.chips.begin(); + (p_iter != n_iter->second.chips.end()) && (rc.ok()); + p_iter++) + { + fapi::Target target = p_iter->second.chip->this_chip; + + // PB Mode register + rc = proc_build_smp_set_pb_mode(p_iter->second, + i_smp); + if (!rc.ok()) + { + FAPI_ERR("proc_build_smp_set_fbc_nohp: Error from proc_build_smp_set_pb_mode"); + break; + } + + // command scope drop priority registers + rc = proc_build_smp_set_pacing_rates(p_iter->second, + i_smp); + if (!rc.ok()) + { + FAPI_ERR("proc_build_smp_set_fbc_nohp: Error from proc_build_smp_set_pacing_rates"); + break; + } } } diff --git a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp_fbc_nohp.H b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp_fbc_nohp.H index 45b60bbb6..11b4c8b66 100644 --- a/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp_fbc_nohp.H +++ b/src/usr/hwpf/hwp/activate_powerbus/proc_build_smp/proc_build_smp_fbc_nohp.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -22,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: proc_build_smp_fbc_nohp.H,v 1.3 2014/02/23 21:41:07 jmcgill Exp $ +// $Id: proc_build_smp_fbc_nohp.H,v 1.4 2015/02/09 22:37:59 jmcgill Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_build_smp_fbc_nohp.H,v $ //------------------------------------------------------------------------------ // *| @@ -55,6 +55,15 @@ extern "C" //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ +// function: program fabric trace configuration registers (non-hotplug) +// parameters: i_smp => structure encapsulating SMP topology +// returns: FAPI_RC_SUCCESS if register programming is successful, +// else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_build_smp_set_fbc_nohp_trace( + proc_build_smp_system& i_smp); + +//------------------------------------------------------------------------------ // function: program fabric configuration registers (non-hotplug) // parameters: i_smp => structure encapsulating SMP topology // returns: FAPI_RC_SUCCESS if register programming is successful, |