This uses version 4.23.1 of the drv_dsl_cpe_api package from the Intel UGW 8.5.2.10 for the VRX518. Signed-off-by: Martin Schiller <ms.3headeddevs@gmail.com> [rebased and updated for kernel 5.10] Signed-off-by: Jan Hoffmann <jan@3e8.eu> [update to 4.23.1, switch to tag tarball, update patches] Signed-off-by: Andre Heider <a.heider@gmail.com> [added fix for elapsed time and upstream MINEFTR] Signed-off-by: Jan Hoffmann <jan@3e8.eu> Signed-off-by: Andre Heider <a.heider@gmail.com>
		
			
				
	
	
		
			123 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/src/include/drv_dsl_cpe_pm_core.h
 | 
						|
+++ b/src/include/drv_dsl_cpe_pm_core.h
 | 
						|
@@ -1554,9 +1554,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
 | 
						|
@@ -1633,7 +1633,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);
 | 
						|
 
 | 
						|
@@ -1693,7 +1693,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);
 | 
						|
 
 | 
						|
@@ -2764,7 +2764,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);
 | 
						|
 
 | 
						|
@@ -3678,7 +3678,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);
 | 
						|
 
 | 
						|
@@ -4536,7 +4536,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);
 | 
						|
 
 | 
						|
@@ -5273,7 +5273,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();
 | 
						|
 
 | 
						|
@@ -5774,7 +5774,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);
 | 
						|
 
 | 
						|
@@ -6302,7 +6302,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
 | 
						|
@@ -78,6 +78,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;
 | 
						|
@@ -117,10 +118,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;
 | 
						|
@@ -158,7 +162,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;
 | 
						|
       }
 |