diff options
author | Andres Lugo-Reyes <aalugore@us.ibm.com> | 2017-07-31 16:13:19 -0500 |
---|---|---|
committer | Martha Broyles <mbroyles@us.ibm.com> | 2017-08-02 16:38:20 -0400 |
commit | 4459c1bef687bd465d4b3084ca0de4290ef622fc (patch) | |
tree | e0da6a2e4b3a920350e0f45caf46e59816dd41f7 /src/occ_405/wof | |
parent | 9b64b7c93ac21aaac19c98eda502ad00b1454120 (diff) | |
download | talos-occ-4459c1bef687bd465d4b3084ca0de4290ef622fc.tar.gz talos-occ-4459c1bef687bd465d4b3084ca0de4290ef622fc.zip |
Remove check for change in requested active quads
-Now that the tick time has been doubled, we do not need
to check for new req_actv_quads on the "off tick" since
the off tick no longer exists. Check happens as part of
normal wof invocation.
Change-Id: Iff875f6e919c9432b69712193db2c61dd217d821
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43955
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Diffstat (limited to 'src/occ_405/wof')
-rw-r--r-- | src/occ_405/wof/wof.c | 68 |
1 files changed, 17 insertions, 51 deletions
diff --git a/src/occ_405/wof/wof.c b/src/occ_405/wof/wof.c index f9a3fbe..0b72644 100644 --- a/src/occ_405/wof/wof.c +++ b/src/occ_405/wof/wof.c @@ -267,64 +267,30 @@ void call_wof_main( void ) if( (g_wof->wof_init_state >= PGPE_WOF_ENABLED_NO_PREV_DATA) && !g_wof->wof_disabled ) { - // Only check if req active quads changed if we are - // in the fully enabled wof state - if(g_wof->wof_init_state == WOF_ENABLED) + // Normal execution of wof algorithm + if( !async_request_is_idle(&G_wof_vfrt_req.request) ) { - // Read active quads from sram - read_req_active_quads(); - - // If the requested active quads changed last loop - // Send vfrt with new req active quads - if( g_wof->req_active_quad_update != - g_wof->prev_req_active_quads ) + if( L_vfrt_last_chance ) { - // Calculate new quad step - g_wof->quad_step_from_start = - calc_quad_step_from_start(); - // Compute new VFRT Main Memory address using new quads - g_wof->next_vfrt_main_mem_addr = - calc_vfrt_mainstore_addr(); - // Send new VFRT - send_vfrt_to_pgpe( g_wof->next_vfrt_main_mem_addr ); - if(async_request_is_idle(&G_wof_vfrt_req.request)) - { - g_wof->gpe_req_rc = gpe_request_schedule(&G_wof_vfrt_req); - } - else - { - INTR_TRAC_INFO("VFRT Request is not idle when" - "requested active quads changed"); - } + INTR_TRAC_ERR("WOF Disabled! VFRT req timeout"); + set_clear_wof_disabled(SET,WOF_RC_VFRT_REQ_TIMEOUT); + } + else + { + INTR_TRAC_INFO("One more chance for vfrt request"); + L_vfrt_last_chance = true; } } else { - // Normal execution of wof algorithm - if( !async_request_is_idle(&G_wof_vfrt_req.request) ) - { - if( L_vfrt_last_chance ) - { - INTR_TRAC_ERR("WOF Disabled! VFRT req timeout"); - set_clear_wof_disabled(SET,WOF_RC_VFRT_REQ_TIMEOUT); - } - else - { - INTR_TRAC_INFO("One more chance for vfrt request"); - L_vfrt_last_chance = true; - } - } - else - { - // Request is idle. Run wof algorithm - wof_main(); + // Request is idle. Run wof algorithm + wof_main(); - L_vfrt_last_chance = false; - // Finally make sure we are in the fully enabled state - if( g_wof->wof_init_state == PGPE_WOF_ENABLED_NO_PREV_DATA ) - { - g_wof->wof_init_state = WOF_ENABLED; - } + L_vfrt_last_chance = false; + // Finally make sure we are in the fully enabled state + if( g_wof->wof_init_state == PGPE_WOF_ENABLED_NO_PREV_DATA ) + { + g_wof->wof_init_state = WOF_ENABLED; } } } // >= PGPE_WOF_ENABLED_NO_PREV_DATA |