From cc46aff01f157339d04f213bbc9725ae66046f50 Mon Sep 17 00:00:00 2001 From: Andres Lugo-Reyes Date: Tue, 20 Jun 2017 15:47:07 -0500 Subject: WOF: More bug fixes and enable wof by default - Hardcode vfrt block size until present in SRAM - Reorder re-enabling wof with mode change - enable wof by default Change-Id: I7f1038397e86c1f443d7f586388f56f2fdcb8a3e RTC:174543 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42159 Tested-by: FSP CI Jenkins Reviewed-by: Martha Broyles Reviewed-by: William A. Bryan --- src/occ_405/mode.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/occ_405/mode.c') diff --git a/src/occ_405/mode.c b/src/occ_405/mode.c index f8b00cb..fbaec25 100755 --- a/src/occ_405/mode.c +++ b/src/occ_405/mode.c @@ -271,10 +271,10 @@ errlHndl_t SMGR_mode_transition_to_nominal() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_NOMINAL); + CURRENT_MODE() = OCC_MODE_NOMINAL; + // WOF is disabled in nominal mode set_clear_wof_disabled( SET, WOF_RC_MODE_NO_SUPPORT_MASK ); - - CURRENT_MODE() = OCC_MODE_NOMINAL; TRAC_IMP("SMGR: Mode to Nominal Transition Completed"); return l_errlHndl; @@ -297,10 +297,11 @@ errlHndl_t SMGR_mode_transition_to_powersave() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_PWRSAVE); + CURRENT_MODE() = OCC_MODE_PWRSAVE; + // WOF is disabled in SPS mode set_clear_wof_disabled( SET, WOF_RC_MODE_NO_SUPPORT_MASK ); - CURRENT_MODE() = OCC_MODE_PWRSAVE; TRAC_IMP("SMGR: Mode to PowerSave Transition Completed"); return l_errlHndl; @@ -323,10 +324,12 @@ errlHndl_t SMGR_mode_transition_to_dynpowersave() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_DYN_POWER_SAVE); + + CURRENT_MODE() = OCC_MODE_DYN_POWER_SAVE; + // WOF is enabled in DPS, clear the mode bit set_clear_wof_disabled( CLEAR, WOF_RC_MODE_NO_SUPPORT_MASK ); - CURRENT_MODE() = OCC_MODE_DYN_POWER_SAVE; TRAC_IMP("SMGR: Mode to Dynamic PowerSave-Favor Energy Transition Completed"); return l_errlHndl; @@ -348,10 +351,10 @@ errlHndl_t SMGR_mode_transition_to_dynpowersave_fp() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_DYN_POWER_SAVE_FP); + CURRENT_MODE() = OCC_MODE_DYN_POWER_SAVE_FP; // WOF is enabled in DPS-FP, clear the mode bit set_clear_wof_disabled( CLEAR, WOF_RC_MODE_NO_SUPPORT_MASK ); - CURRENT_MODE() = OCC_MODE_DYN_POWER_SAVE_FP; TRAC_IMP("SMGR: Mode to Dynamic PowerSave-Favor Performance Transition Completed"); return l_errlHndl; @@ -374,10 +377,11 @@ errlHndl_t SMGR_mode_transition_to_turbo() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_TURBO); + CURRENT_MODE() = OCC_MODE_TURBO; + // WOF is disabled in turbo mode set_clear_wof_disabled( SET, WOF_RC_MODE_NO_SUPPORT_MASK ); - CURRENT_MODE() = OCC_MODE_TURBO; TRAC_IMP("SMGR: Mode to Turbo Transition Completed"); return l_errlHndl; @@ -400,10 +404,10 @@ errlHndl_t SMGR_mode_transition_to_ffo() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_FFO); + CURRENT_MODE() = OCC_MODE_FFO; // WOF is disabled in FFO set_clear_wof_disabled( SET, WOF_RC_MODE_NO_SUPPORT_MASK ); - CURRENT_MODE() = OCC_MODE_FFO; TRAC_IMP("SMGR: Mode to FFO Transition Completed"); return l_errlHndl; @@ -425,10 +429,9 @@ errlHndl_t SMGR_mode_transition_to_fmf() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_FMF); + CURRENT_MODE() = OCC_MODE_FMF; // WOF is enabled in FMF, clear the mode bit set_clear_wof_disabled( CLEAR, WOF_RC_MODE_NO_SUPPORT_MASK ); - - CURRENT_MODE() = OCC_MODE_FMF; TRAC_IMP("SMGR: Mode to FMF Transition Completed"); return l_errlHndl; @@ -450,10 +453,10 @@ errlHndl_t SMGR_mode_transition_to_nom_perf() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_NOM_PERFORMANCE); + CURRENT_MODE() = OCC_MODE_NOM_PERFORMANCE; // WOF is enabled in nominal performance mode, clear the mode bit set_clear_wof_disabled( CLEAR, WOF_RC_MODE_NO_SUPPORT_MASK ); - CURRENT_MODE() = OCC_MODE_NOM_PERFORMANCE; TRAC_IMP("SMGR: Mode to Nominal Performance Transition Completed"); return l_errlHndl; @@ -475,10 +478,10 @@ errlHndl_t SMGR_mode_transition_to_max_perf() // Set Freq Mode for AMEC to use l_errlHndl = amec_set_freq_range(OCC_MODE_MAX_PERFORMANCE); + CURRENT_MODE() = OCC_MODE_MAX_PERFORMANCE; // WOF is enabled in max performance mode, clear the mode bit set_clear_wof_disabled( CLEAR, WOF_RC_MODE_NO_SUPPORT_MASK ); - CURRENT_MODE() = OCC_MODE_MAX_PERFORMANCE; TRAC_IMP("SMGR: Mode to Maximum Performance Transition Completed"); return l_errlHndl; -- cgit v1.2.1