--- a/src/include/drv_dsl_cpe_pm_core.h +++ b/src/include/drv_dsl_cpe_pm_core.h @@ -1525,9 +1525,9 @@ typedef struct DSL_boolean_t bShowtimeProcessingStart; /** Showtime reached flag*/ DSL_boolean_t bShowtimeInvTrigger; - /** Current Showtime synchronization time to be used, (msec) */ + /** Current Showtime synchronization time to be used, (sec) */ DSL_uint32_t nCurrShowtimeTime; - /** Showtime synchronization time to be used, (msec) */ + /** Showtime synchronization time to be used, (sec) */ DSL_uint32_t nElapsedShowtimeTime; /** Actual Line state*/ DSL_LineStateValue_t nLineState; --- a/src/pm/drv_dsl_cpe_api_pm.c +++ b/src/pm/drv_dsl_cpe_api_pm.c @@ -1445,7 +1445,7 @@ DSL_Error_t DSL_DRV_PM_ChannelCountersTo } /* Fill Total Counters elapsed time*/ - pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime/DSL_PM_MSEC; + pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime; pChCounters = DSL_DRV_PM_PTR_CHANNEL_COUNTERS_TOTAL(pCounters->nChannel,pCounters->nDirection); @@ -1501,7 +1501,7 @@ DSL_Error_t DSL_DRV_PM_ChannelCountersEx } /* Fill Total Counters elapsed time*/ - pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime/DSL_PM_MSEC; + pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime; pChCounters = DSL_DRV_PM_PTR_CHANNEL_COUNTERS_TOTAL_EXT(pCounters->nChannel); @@ -2418,7 +2418,7 @@ DSL_Error_t DSL_DRV_PM_DataPathCountersT } /* Fill Total Counters elapsed time*/ - pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime/DSL_PM_MSEC; + pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime; pDpCounters = DSL_DRV_PM_PTR_DATAPATH_COUNTERS_TOTAL(pCounters->nChannel,pCounters->nDirection); @@ -3190,7 +3190,7 @@ DSL_Error_t DSL_DRV_PM_DataPathFailureCo } /* Fill Total Counters elapsed time*/ - pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime/DSL_PM_MSEC; + pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime; pDpCounters = DSL_DRV_PM_PTR_DATAPATH_FAILURE_COUNTERS_TOTAL(pCounters->nChannel,pCounters->nDirection); @@ -3950,7 +3950,7 @@ DSL_Error_t DSL_DRV_PM_LineSecCountersTo } /* Fill Total Counters elapsed time*/ - pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime/DSL_PM_MSEC; + pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime; pLineCounters = DSL_DRV_PM_PTR_LINE_SEC_COUNTERS_TOTAL(pCounters->nDirection); @@ -4602,7 +4602,7 @@ DSL_Error_t DSL_DRV_PM_LineInitCountersT } /* Fill Total Counters elapsed time*/ - pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime/DSL_PM_MSEC; + pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime; pLinitCounters = DSL_DRV_PM_PTR_LINE_INIT_COUNTERS_TOTAL(); @@ -5131,7 +5131,7 @@ DSL_Error_t DSL_DRV_PM_LineEventShowtime } /* Fill Total Counters elapsed time*/ - pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime/DSL_PM_MSEC; + pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime; pLfCounters = DSL_DRV_PM_PTR_LINE_EVENT_SHOWTIME_COUNTERS_TOTAL(pCounters->nDirection); @@ -5670,7 +5670,7 @@ DSL_Error_t DSL_DRV_PM_ReTxCountersTotal } /* Fill Total Counters elapsed time*/ - pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime/DSL_PM_MSEC; + pCounters->total.nElapsedTime = DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime; pReTxCounters = DSL_DRV_PM_PTR_RETX_COUNTERS_TOTAL(pCounters->nDirection); --- a/src/pm/drv_dsl_cpe_pm_core.c +++ b/src/pm/drv_dsl_cpe_pm_core.c @@ -61,6 +61,7 @@ static DSL_Error_t DSL_DRV_PM_SyncTimeUp { DSL_Error_t nErrCode = DSL_SUCCESS; DSL_uint32_t msecTimeFrame = DSL_PM_COUNTER_POLLING_CYCLE, + secTimeFrame = DSL_PM_COUNTER_POLLING_CYCLE/DSL_PM_MSEC, nCurrMsTime = 0; #ifdef INCLUDE_DSL_CPE_PM_HISTORY DSL_uint32_t nCurrSysTime = 0, nPrevElapsedTime = 0; @@ -100,10 +101,13 @@ static DSL_Error_t DSL_DRV_PM_SyncTimeUp { /* Get elapsed time [msec] since the last entry*/ msecTimeFrame = nCurrMsTime - DSL_DRV_PM_CONTEXT(pContext)->nLastMsTimeCheck; + + /* Get elapsed time [sec] since the last entry*/ + secTimeFrame = (nCurrMsTime/DSL_PM_MSEC) - (DSL_DRV_PM_CONTEXT(pContext)->nLastMsTimeCheck/DSL_PM_MSEC); } /* Get Total Elapsed Time Since the PM module startup*/ - DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime += msecTimeFrame; + DSL_DRV_PM_CONTEXT(pContext)->nPmTotalElapsedTime += secTimeFrame; /* Set last time check to the current time*/ DSL_DRV_PM_CONTEXT(pContext)->nLastMsTimeCheck = nCurrMsTime; @@ -141,7 +145,7 @@ static DSL_Error_t DSL_DRV_PM_SyncTimeUp else { /* Update current showtime elapsed time*/ - DSL_DRV_PM_CONTEXT(pContext)->nCurrShowtimeTime += (msecTimeFrame/DSL_PM_MSEC); + DSL_DRV_PM_CONTEXT(pContext)->nCurrShowtimeTime += secTimeFrame; DSL_DRV_PM_CONTEXT(pContext)->nElapsedShowtimeTime = DSL_DRV_PM_CONTEXT(pContext)->nCurrShowtimeTime; }