summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/inband/exp_inband.C10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/inband/exp_inband.C b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/inband/exp_inband.C
index 24c196277..b871c9682 100644
--- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/inband/exp_inband.C
+++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/inband/exp_inband.C
@@ -515,10 +515,10 @@ fapi_try_exit:
///
fapi2::ReturnCode poll_for_response_ready(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target)
{
- // NUM_LOOPS is based on EXP_FW_DDR_PHY_INIT command, which completes in ~10ms in HW.
- // We initially delay 8ms, so we should only need to poll for ~2ms here.
- // We're waiting 100us between polls, so we should only need about 20 loops here,
- // but we make it 200 to be safe
+ // NUM_LOOPS is based on EXP_FW_DDR_PHY_INIT command, which completes in ~370ms in HW.
+ // We initially delay 8ms, so we should only need to poll for ~360ms here.
+ // We're waiting 20ms between polls, so we should only need about 18 loops here,
+ // but we make it 200 to be safe. Max timeout is (200 x 20ms) = 4 seconds
constexpr uint64_t NUM_LOOPS = 200;
// So, why aren't we using the memory team's polling API?
@@ -534,7 +534,7 @@ fapi2::ReturnCode poll_for_response_ready(const fapi2::Target<fapi2::TARGET_TYPE
{
FAPI_TRY(fapi2::getScom(i_target, EXPLR_MIPS_TO_OCMB_INTERRUPT_REGISTER1, l_data));
l_doorbell_response = l_data.getBit<EXPLR_MIPS_TO_OCMB_INTERRUPT_REGISTER1_DOORBELL>();
- FAPI_TRY(fapi2::delay(DELAY_100US, 200));
+ FAPI_TRY(fapi2::delay(20 * DELAY_1MS, 200));
}
FAPI_DBG("%s stopped on loop%u/%u data:0x%016lx %u",
OpenPOWER on IntegriCloud