From aa7187f24959d2ec1fbee81a5d100a749161096f Mon Sep 17 00:00:00 2001 From: William Bryan Date: Wed, 2 Nov 2016 13:00:35 -0500 Subject: Update SSX/PK time intervals RTC:163333 Change-Id: Ide9c51be81fa1e2bb076700203dbeb0b3f341e87 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32134 Tested-by: FSP CI Jenkins Reviewed-by: Wael El-Essawy Reviewed-by: Martha Broyles Reviewed-by: William A. Bryan --- src/occ_405/cmdh/cmdh_fsp_cmds.c | 7 +------ src/occ_405/dcom/dcom_thread.c | 6 +++--- src/ppe/pk/kernel/pk_api.h | 2 +- src/ssx/ssx/ssx_api.h | 2 +- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/occ_405/cmdh/cmdh_fsp_cmds.c b/src/occ_405/cmdh/cmdh_fsp_cmds.c index 0604dfd..b76d636 100755 --- a/src/occ_405/cmdh/cmdh_fsp_cmds.c +++ b/src/occ_405/cmdh/cmdh_fsp_cmds.c @@ -1084,11 +1084,6 @@ void cmdh_dbug_cmd (const cmdh_fsp_cmd_t * i_cmd_ptr, return; } -// TODO: Workaround - SSX_SECONDS uses SsxInterval (uint32) instead of SsxTimebase (uint64) -// That would only allow times up to 7.1 seconds. OCC has a 15 second timeout for the -// SET_MODE_AND_STATE command, so updating macro to handle this longer timeout. (waiting for SSX change) -#undef SSX_SECONDS -#define SSX_SECONDS(s) ((SsxTimebase)(__ssx_timebase_frequency_hz * (SsxTimebase)(s))) // Function Specification // // Name: SMGR_base_setmodestate_cmdh @@ -1102,7 +1097,7 @@ errlHndl_t cmdh_tmgt_setmodestate(const cmdh_fsp_cmd_t * i_cmd_ptr, errlHndl_t l_errlHndl = NULL; smgr_setmodestate_v0_query_t* l_cmd_ptr = (smgr_setmodestate_v0_query_t *)i_cmd_ptr; ERRL_RC l_rc = ERRL_RC_INTERNAL_FAIL; - SsxTimebase l_timeout = SSX_SECONDS(15); + SsxInterval l_timeout = SSX_SECONDS(15); SsxTimebase l_start = ssx_timebase_get(); OCC_STATE l_pre_state = CURRENT_STATE(); OCC_MODE l_pre_mode = CURRENT_MODE(); diff --git a/src/occ_405/dcom/dcom_thread.c b/src/occ_405/dcom/dcom_thread.c index 93da66b..80b9a31 100755 --- a/src/occ_405/dcom/dcom_thread.c +++ b/src/occ_405/dcom/dcom_thread.c @@ -65,15 +65,15 @@ void Dcom_thread_routine(void *arg) SsxTimer l_timeout_timer; errlHndl_t l_errlHndl = NULL; // -------------------------------------------------- - // Create a timer that pops every 7 seconds to wake up + // Create a timer that pops every 10 seconds to wake up // this thread, in case a semaphore never gets posted. // -------------------------------------------------- ssx_timer_create(&l_timeout_timer, (SsxTimerCallback) ssx_semaphore_post, (void *) &G_dcomThreadWakeupSem); ssx_timer_schedule(&l_timeout_timer, - SSX_SECONDS(7), - SSX_SECONDS(7)); + SSX_SECONDS(10), + SSX_SECONDS(10)); DCOM_TRAC_INFO("DCOM Thread Started"); for(;;) diff --git a/src/ppe/pk/kernel/pk_api.h b/src/ppe/pk/kernel/pk_api.h index 9921855..4381e90 100644 --- a/src/ppe/pk/kernel/pk_api.h +++ b/src/ppe/pk/kernel/pk_api.h @@ -236,7 +236,7 @@ /// overridden by the application. #ifndef PK_TIME_INTERVAL_TYPE -#define PK_TIME_INTERVAL_TYPE uint32_t +#define PK_TIME_INTERVAL_TYPE uint64_t #endif /// Provide support for the PkTimer APIs in addition to the default diff --git a/src/ssx/ssx/ssx_api.h b/src/ssx/ssx/ssx_api.h index ba534f9..e0e4696 100644 --- a/src/ssx/ssx/ssx_api.h +++ b/src/ssx/ssx/ssx_api.h @@ -231,7 +231,7 @@ /// overridden by the application. #ifndef SSX_TIME_INTERVAL_TYPE - #define SSX_TIME_INTERVAL_TYPE uint32_t + #define SSX_TIME_INTERVAL_TYPE uint64_t #endif /// Provide support for the SsxTimer APIs in addition to the default -- cgit v1.2.1