diff options
-rw-r--r-- | src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/inband/exp_inband.C | 10 |
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", |