summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep07/call_mss_freq.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps/istep07/call_mss_freq.C')
-rw-r--r--src/usr/isteps/istep07/call_mss_freq.C83
1 files changed, 11 insertions, 72 deletions
diff --git a/src/usr/isteps/istep07/call_mss_freq.C b/src/usr/isteps/istep07/call_mss_freq.C
index af758ef20..ca20fea94 100644
--- a/src/usr/isteps/istep07/call_mss_freq.C
+++ b/src/usr/isteps/istep07/call_mss_freq.C
@@ -72,18 +72,6 @@ using namespace ISTEP_ERROR;
using namespace ERRORLOG;
using namespace TARGETING;
-#ifdef CONFIG_AXONE
-/**
- * @brief Look at all FREQ_OMI_MHZ attribute on all processors, make sure
- * they are the same and return the value.
- * @param[out] o_omiFreq the frequency of the OMI link between proc and ocmbs
- * @return fapi2::ReturnCode. FAPI2_RC_SUCCESS if success, else error code.
- *
- * @note returns error if all OMIs do not have matching frequency set
- */
-errlHndl_t getOmiFreq(TARGETING::ATTR_FREQ_OMI_MHZ_type & o_omiFreq);
-#endif
-
//
// Wrapper function to call mss_freq
//
@@ -261,13 +249,14 @@ void* call_mss_freq( void *io_pArgs )
TARGETING::Target * l_sys = nullptr;
TARGETING::targetService().getTopLevelTarget( l_sys );
- uint32_t l_originalNestFreq = Util::getBootNestFreq();
+ TARGETING::ATTR_FREQ_PB_MHZ_type l_originalNestFreq = Util::getBootNestFreq();
// Omi Freq is only used in P9a and beyond, to limit #ifdef
// craziness below just leave it at 0 so it never changes
- uint32_t l_originalOmiFreq = 0;
+ TARGETING::ATTR_FREQ_OMI_MHZ_type l_originalOmiFreq = 0;
#ifdef CONFIG_AXONE
- l_err = getOmiFreq(l_originalOmiFreq);
+ TARGETING::ATTR_OMI_PLL_VCO_type l_originalOmiVco = 0; // unused but needed for func call
+ l_err = fapi2::platAttrSvc::getOmiFreqAndVco(l_originalOmiFreq, l_originalOmiVco);
if(l_err)
{
l_StepError.addErrorDetails( l_err );
@@ -277,7 +266,7 @@ void* call_mss_freq( void *io_pArgs )
#endif
// Read MC_SYNC_MODE from SBE itself and set the attribute
- uint8_t l_bootSyncMode = 0;
+ TARGETING::ATTR_MC_SYNC_MODE_type l_bootSyncMode = 0;
l_err = SBE::getBootMcSyncMode( l_bootSyncMode );
if( l_err )
{
@@ -381,12 +370,12 @@ void* call_mss_freq( void *io_pArgs )
}
// Get latest MC_SYNC_MODE and FREQ_PB_MHZ
- uint8_t l_mcSyncMode = l_masterProc->getAttr<TARGETING::ATTR_MC_SYNC_MODE>();
- uint32_t l_newOmiFreq = 0;
-
- uint32_t l_newNestFreq = l_sys->getAttr<TARGETING::ATTR_FREQ_PB_MHZ>();
+ TARGETING::ATTR_MC_SYNC_MODE_type l_mcSyncMode = l_masterProc->getAttr<TARGETING::ATTR_MC_SYNC_MODE>();
+ TARGETING::ATTR_FREQ_OMI_MHZ_type l_newOmiFreq = 0;
+ TARGETING::ATTR_FREQ_PB_MHZ_type l_newNestFreq = l_sys->getAttr<TARGETING::ATTR_FREQ_PB_MHZ>();
#ifdef CONFIG_AXONE
- l_err = getOmiFreq(l_newOmiFreq);
+ TARGETING::ATTR_OMI_PLL_VCO_type l_newOmiVco = 0; // unused but needed for func call
+ l_err = fapi2::platAttrSvc::getOmiFreqAndVco(l_newOmiFreq, l_newOmiVco);
if(l_err)
{
l_StepError.addErrorDetails( l_err );
@@ -502,54 +491,4 @@ void* call_mss_freq( void *io_pArgs )
return l_StepError.getErrorHandle();
}
-#ifdef CONFIG_AXONE
-errlHndl_t getOmiFreq(TARGETING::ATTR_FREQ_OMI_MHZ_type & o_omiFreq)
-{
- errlHndl_t l_err = nullptr;
- TARGETING::TargetHandleList l_procTargetList;
- getAllChips(l_procTargetList, TYPE_PROC);
-
- assert( l_procTargetList.size() > 0, "getOmiFreq: Expected at least one functional processor");
-
- o_omiFreq = l_procTargetList[0]->getAttr<TARGETING::ATTR_FREQ_OMI_MHZ>();
- // Until we are told we need to support individual processor frequency
- // assert that all of the processors have the same values
- for(uint8_t i = 1; i < l_procTargetList.size(); i++)
- {
-
- TARGETING::ATTR_FREQ_OMI_MHZ_type l_tmpFreq =
- l_procTargetList[i]->getAttr<TARGETING::ATTR_FREQ_OMI_MHZ>();
-
- if(o_omiFreq != l_tmpFreq)
- {
- /*@
- * @errortype ERRL_SEV_UNRECOVERABLE
- * @moduleid MOD_GET_OMI_FREQ
- * @reasoncode RC_OMI_FREQ_MISMATCH
- * @userdata1[0:31] First OMI freq found
- * @userdata1[32:63] Mismatched OMI freq found
- * @userdata2[0:31] Huid of first proc found
- * @userdata2[32:63] Huid of proc w/ mismatched OMI freq
- * @devdesc Processor have mismatch OMI freq
- * @custdesc Invalid processor frequency settings
- */
- l_err = new ErrlEntry(ERRL_SEV_UNRECOVERABLE,
- MOD_GET_OMI_FREQ,
- RC_OMI_FREQ_MISMATCH,
- TWO_UINT32_TO_UINT64(
- TO_UINT32(o_omiFreq),
- TO_UINT32(l_tmpFreq)),
- TWO_UINT32_TO_UINT64(
- get_huid(l_procTargetList[0]),
- get_huid(l_procTargetList[i])),
- ErrlEntry::ADD_SW_CALLOUT);
-
- break;
- }
- }
-
- return l_err;
-}
-#endif
-
-}; // end namespace
+}; // end namespace \ No newline at end of file
OpenPOWER on IntegriCloud