summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps')
-rw-r--r--src/usr/isteps/istep06/call_host_voltage_config.C3
-rw-r--r--src/usr/isteps/istep07/call_mss_freq.C67
2 files changed, 46 insertions, 24 deletions
diff --git a/src/usr/isteps/istep06/call_host_voltage_config.C b/src/usr/isteps/istep06/call_host_voltage_config.C
index 19b35adde..1c5db7f76 100644
--- a/src/usr/isteps/istep06/call_host_voltage_config.C
+++ b/src/usr/isteps/istep06/call_host_voltage_config.C
@@ -95,6 +95,7 @@ void* call_host_voltage_config( void *io_pArgs )
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
"call_host_voltage_config.C::"
"Failed getting the boot nest frequency from the SBE");
+ break;
}
l_sys->setAttr<TARGETING::ATTR_FREQ_PB_MHZ>( l_nestFreq );
@@ -284,7 +285,7 @@ void* call_host_voltage_config( void *io_pArgs )
l_sys->setAttr<ATTR_ULTRA_TURBO_FREQ_MHZ>(l_ultraTurboFreq);
- TRACDCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
"Setting System Frequency Attributes: "
"Nominal = %d, Floor = %d, Ceiling = %d, "
"Turbo = %d, UltraTurbo = %d",
diff --git a/src/usr/isteps/istep07/call_mss_freq.C b/src/usr/isteps/istep07/call_mss_freq.C
index 591b871ae..63b9cba91 100644
--- a/src/usr/isteps/istep07/call_mss_freq.C
+++ b/src/usr/isteps/istep07/call_mss_freq.C
@@ -56,7 +56,7 @@
// HWP
#include <p9_mss_freq.H>
#include <p9_mss_freq_system.H>
-// #include <p9_xip_customize.H> // RTC:138226
+
namespace ISTEP_07
{
@@ -103,7 +103,7 @@ void* call_mss_freq( void *io_pArgs )
l_StepError.addErrorDetails( l_err );
// Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
+ errlCommit( l_err, ISTEP_COMP_ID );
}
else
@@ -123,12 +123,25 @@ void* call_mss_freq( void *io_pArgs )
l_sys->setAttr<TARGETING::ATTR_FREQ_PB_MHZ>(l_asyncFreq);
- // Save MC_SYNC_MODE
+ // Read MC_SYNC_MODE from SBE itself and set the attribute
+ uint8_t l_bootSyncMode = 0;
+ l_err = SBE::getBootMcSyncMode( l_bootSyncMode );
+ if( l_err )
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "Failed getting the boot mc sync mode from the SBE");
+
+ // Create IStep error log and cross reference to error that occurred
+ l_StepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, ISTEP_COMP_ID );
+ }
+
TARGETING::Target * l_masterProc = nullptr;
TARGETING::targetService()
.masterProcChipTargetHandle( l_masterProc );
- uint8_t l_prevSyncMode =
- l_masterProc->getAttr<TARGETING::ATTR_MC_SYNC_MODE>();
+ l_masterProc->setAttr<TARGETING::ATTR_MC_SYNC_MODE>(l_bootSyncMode);
if(l_StepError.getErrorHandle() == NULL)
@@ -158,7 +171,7 @@ void* call_mss_freq( void *io_pArgs )
l_StepError.addErrorDetails( l_err );
// Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
+ errlCommit( l_err, ISTEP_COMP_ID );
}
else
@@ -194,28 +207,36 @@ void* call_mss_freq( void *io_pArgs )
// TODO RTC: 161596 - Set ATTR_NEST_FREQ_MHZ as well until we know it is not being used anymore
l_sys->setAttr<TARGETING::ATTR_NEST_FREQ_MHZ>( l_newNest );
- //Trigger sbe update if the nest frequency changed.
- if( (l_newNest != l_originalNest) || (l_mcSyncMode != l_prevSyncMode) )
+ if(l_StepError.getErrorHandle() == NULL)
{
- TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "The nest frequency or sync mode changed!"
- " Original Nest: %d New Nest: %d"
- " Original syncMode: %d New syncMode: %d",
- l_originalNest, l_newNest, l_prevSyncMode, l_mcSyncMode );
- l_err = SBE::updateProcessorSbeSeeproms();
-
- if( l_err )
+ //Trigger sbe update if the nest frequency changed.
+ if( (l_newNest != l_originalNest) || (l_mcSyncMode != l_bootSyncMode) )
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
- "call_mss_freq.C - Error calling updateProcessorSbeSeeproms");
-
- // Create IStep error log and cross reference to error that occurred
- l_StepError.addErrorDetails( l_err );
-
- // Commit Error
- errlCommit( l_err, HWPF_COMP_ID );
+ "The nest frequency or sync mode changed!"
+ " Original Nest: %d New Nest: %d"
+ " Original syncMode: %d New syncMode: %d",
+ l_originalNest, l_newNest, l_bootSyncMode, l_mcSyncMode );
+ l_err = SBE::updateProcessorSbeSeeproms();
+
+ if( l_err )
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_mss_freq.C - Error calling updateProcessorSbeSeeproms");
+
+ // Create IStep error log and cross reference to error
+ // that occurred
+ l_StepError.addErrorDetails( l_err );
+
+ // Commit Error
+ errlCommit( l_err, ISTEP_COMP_ID );
+ }
}
}
+ else
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "WARNING skipping SBE update checks due to previous errors" );
+ }
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_mss_freq exit" );
OpenPOWER on IntegriCloud