summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/lib/phy
diff options
context:
space:
mode:
authorLouis Stermole <stermole@us.ibm.com>2017-06-06 07:48:45 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-06-11 13:13:10 -0400
commit7f8d060c1ddf30e896173f0c005e2345c0a84836 (patch)
tree642122accfeb80ade29ccd326748412504b151d4 /src/import/chips/p9/procedures/hwp/memory/lib/phy
parent22fc3aa793b1ecae1bdc40aabd1aba2f215119cd (diff)
downloadtalos-hostboot-7f8d060c1ddf30e896173f0c005e2345c0a84836.tar.gz
talos-hostboot-7f8d060c1ddf30e896173f0c005e2345c0a84836.zip
Increased minimum polling time for memory cal steps
Fixes Awan fails now that we're running DQS_ALIGN step independently Change-Id: I592dad941b583e5dbcfed4fff6e5806a55f968a6 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41413 Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com> Reviewed-by: JACOB L. HARVEY <jlharvey@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41415 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/phy')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/cal_timers.H8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/cal_timers.H b/src/import/chips/p9/procedures/hwp/memory/lib/phy/cal_timers.H
index c4b583c6a..ea57cb456 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/cal_timers.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/cal_timers.H
@@ -196,6 +196,10 @@ inline fapi2::ReturnCode cal_timer_setup(const fapi2::Target<T>& i_target,
poll_parameters& i_poll,
const fapi2::buffer<uint32_t>& i_cal_steps_enabled)
{
+ // This should equal half of the minimum poll count of the quickest cal segment when in sim
+ // i.e. DQS_ALIGN + INITIAL_PAT_WR = 3 polls, so this should be 2
+ constexpr uint64_t MINIMUM_POLL_COUNT = 2;
+
uint64_t l_write_cntr_cycles = 0;
uint64_t l_total_cycles = 0;
int64_t l_ns_left = 0;
@@ -246,8 +250,8 @@ inline fapi2::ReturnCode cal_timer_setup(const fapi2::Target<T>& i_target,
i_poll.iv_poll_count = l_ns_left / i_poll.iv_delay;
i_poll.iv_poll_count += l_ns_left % i_poll.iv_delay ? 0 : 1;
- // Don't let the poll count be 0 - that just makes for a bad day.
- i_poll.iv_poll_count = (i_poll.iv_poll_count == 0) ? 1 : i_poll.iv_poll_count;
+ // Make the minimum poll count 2, as that's the value of the quickest cal step in sim
+ i_poll.iv_poll_count = (i_poll.iv_poll_count < MINIMUM_POLL_COUNT) ? MINIMUM_POLL_COUNT : i_poll.iv_poll_count;
// Fudge some for sim irregularities. This will increase time to a complete timeout but won't
// really effect valid training unless these cycles are needed. So this isn't a bad thing ...
OpenPOWER on IntegriCloud