summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndres Lugo-Reyes <aalugore@us.ibm.com>2017-07-31 16:13:19 -0500
committerMartha Broyles <mbroyles@us.ibm.com>2017-08-02 16:38:20 -0400
commit4459c1bef687bd465d4b3084ca0de4290ef622fc (patch)
treee0da6a2e4b3a920350e0f45caf46e59816dd41f7 /src
parent9b64b7c93ac21aaac19c98eda502ad00b1454120 (diff)
downloadtalos-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')
-rw-r--r--src/occ_405/wof/wof.c68
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
OpenPOWER on IntegriCloud