summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C43
1 files changed, 26 insertions, 17 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C
index 8fc7c3ac1..1c41836f9 100644
--- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C
+++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_freq.C
@@ -40,6 +40,7 @@
#include <lib/freq/cas_latency.H>
#include <lib/utils/c_str.H>
#include <lib/freq/cycle_time.H>
+#include <lib/utils/find.H>
using fapi2::TARGET_TYPE_MCS;
using fapi2::TARGET_TYPE_MCA;
@@ -56,10 +57,6 @@ extern "C"
///
fapi2::ReturnCode p9_mss_freq( const fapi2::Target<TARGET_TYPE_MCS>& i_target )
{
- uint64_t l_tCKmin = 0;
- uint64_t l_min_dimm_freq = 0;
- uint64_t l_desired_cas_latency = 0;
-
// Get cached decoder
std::map<uint32_t, std::shared_ptr<mss::spd::decoder> > l_factory_caches;
FAPI_TRY( mss::spd::populate_decoder_caches(i_target, l_factory_caches),
@@ -84,26 +81,38 @@ extern "C"
"Failed check for freq_override()");
#endif
+ uint64_t l_min_dimm_freq = 0;
+ uint64_t l_desired_cas_latency = 0;
+
+ if(!l_cas_latency.iv_dimm_list_empty)
+ {
+ uint64_t l_tCKmin = 0;
+
+ // Find CAS latency using JEDEC algorithm
+ l_cas_latency.find_CL(i_target,
+ l_desired_cas_latency,
+ l_tCKmin);
- // Find CAS latency using JEDEC algorithm
- l_cas_latency.find_CL(i_target,
- l_desired_cas_latency,
- l_tCKmin);
+ // Find dimm transfer speed from selected tCK
+ l_min_dimm_freq = mss::ps_to_freq(l_tCKmin);
- // Find dimm transfer speed from selected tCK
- l_min_dimm_freq = mss::ps_to_freq(l_tCKmin);
- FAPI_TRY(mss::select_supported_freq(l_min_dimm_freq),
- "Failed select_supported_freq()");
+ FAPI_TRY(mss::select_supported_freq(l_min_dimm_freq),
+ "Failed select_supported_freq()");
- // Set attributes
- FAPI_TRY(mss::set_freq_attrs(i_target, l_min_dimm_freq),
- "Failed set_freq_attrs()");
+ // TK - RIT PROTECT - NEED TO CHANGE
+ l_min_dimm_freq = 2400;
- FAPI_TRY(mss::set_CL_attr(i_target, l_desired_cas_latency ),
- "Failed set_CL_attr()");
+ // Set attributes
+ FAPI_TRY(mss::set_freq_attrs(i_target, l_min_dimm_freq),
+ "Failed set_freq_attrs()");
+
+ FAPI_TRY(mss::set_CL_attr(i_target, l_desired_cas_latency ),
+ "Failed set_CL_attr()");
+ }// end if
FAPI_DBG( "Final Chosen Frequency: %d", l_min_dimm_freq);
FAPI_DBG( "Final Chosen CL: %d", l_desired_cas_latency);
+
}
fapi_try_exit:
OpenPOWER on IntegriCloud