diff --git a/dvr_rdk/mcfw/src_bios6/links_m3vpss/display/displayLink_drv.c b/dvr_rdk/mcfw/src_bios6/links_m3vpss/display/displayLink_drv.c index f4625e2..8cc22cc 100755 --- a/dvr_rdk/mcfw/src_bios6/links_m3vpss/display/displayLink_drv.c +++ b/dvr_rdk/mcfw/src_bios6/links_m3vpss/display/displayLink_drv.c @@ -1770,6 +1770,8 @@ Int32 DisplayLink_drvStart(DisplayLink_Obj * pObj) pObj->prd.clkStarted = FALSE; } + Vps_printf(" %d: DISPLAY: Clock stopped!!!\n", Utils_getCurTimeInMsec()); + status = FVID2_start(pObj->displayHndl, NULL); UTILS_assert(status == FVID2_SOK); diff --git a/ti_tools/hdvpss/dvr_rdk_hdvpss/packages/ti/psp/vps/drivers/display/src/vps_dctrlIntPriv.c b/ti_tools/hdvpss/dvr_rdk_hdvpss/packages/ti/psp/vps/drivers/display/src/vps_dctrlIntPriv.c index 6f1af34..a459ba7 100755 --- a/ti_tools/hdvpss/dvr_rdk_hdvpss/packages/ti/psp/vps/drivers/display/src/vps_dctrlIntPriv.c +++ b/ti_tools/hdvpss/dvr_rdk_hdvpss/packages/ti/psp/vps/drivers/display/src/vps_dctrlIntPriv.c @@ -986,6 +986,8 @@ Int32 Dc_startClient(DcClientHandle handle) dcCtrlInfo = inputNode->dcCtrlInfo; GT_assert(DcTrace, (NULL != dcCtrlInfo)); + Vps_printf("000"); + /* Get the semaphore */ Semaphore_pend(dcCtrlInfo->sem, DC_SEM_TIMEOUT); @@ -999,6 +1001,8 @@ Int32 Dc_startClient(DcClientHandle handle) &numEndNodes, TRUE); + Vps_printf("001"); + /* If the current input is not connected to any of the VENCs/output * node or enableInputPaths returns error, return error. */ if ((FVID2_SOK != retVal) || (0u == numEndNodes)) @@ -1038,6 +1042,8 @@ Int32 Dc_startClient(DcClientHandle handle) } } + Vps_printf("002"); + if (FVID2_SOK == retVal) { /* Call the starting callback function of the client passing @@ -1059,6 +1065,8 @@ Int32 Dc_startClient(DcClientHandle handle) } } + Vps_printf("003"); + if (FVID2_SOK == retVal) { platform = Vps_platformGetId(); @@ -1150,30 +1158,42 @@ Int32 Dc_startClient(DcClientHandle handle) retVal = VpsDlm_startStopClients(&dlmReq); } + Vps_printf("004"); + if (FVID2_SOK != retVal) { + Vps_printf("004_000"); GT_1trace(DcTrace, GT_ERR, "%s: Disable all the inputs paths", __FUNCTION__); + Vps_printf("004_001"); VpsDlm_clrDescMem(dcCtrlInfo->dlmClientCtrlHandle); + Vps_printf("004_002"); /* If list was allocated by calling resource manager, free that * list */ if (TRUE == isListAllocated) { + Vps_printf("004_003"); Vrm_releaseList(listNum); + Vps_printf("004_004"); Vrm_releaseLmFid(lmFidNum); + Vps_printf("004_005"); dcReleaseFreeClient(freeClientNum); + Vps_printf("004_006"); } } else { /* Wait for the DLM Callback */ + Vps_printf("004_010"); Semaphore_pend(dcCtrlInfo->isrWaitSem, DC_SEM_TIMEOUT); + Vps_printf("004_011"); VpsDlm_clrDescMem(dcCtrlInfo->dlmClientCtrlHandle); + Vps_printf("004_012"); inputNode->isStarted = TRUE; @@ -1181,18 +1201,28 @@ Int32 Dc_startClient(DcClientHandle handle) it is the first client. */ if (TRUE == isListAllocated) { + Vps_printf("004_013"); /* Get the output node */ node = dcGetNodeInfo(endNodes[0u]); GT_assert(DcTrace, (NULL != node)); + Vps_printf("004_014"); VpsHal_vpsClkcModuleClearUnderFlow( ((Dc_OutputNodeInfo *)(node->parent))->nodeId); + Vps_printf("004_016"); } } + + Vps_printf("005"); + /* Release the semaphore */ Semaphore_post(dcCtrlInfo->sem); + + Vps_printf("006"); } + Vps_printf("007"); + return (retVal); } @@ -1994,6 +2024,8 @@ static Int32 dcDlmClientCallBack(UInt32 curSet, UInt32 timeStamp, Ptr arg) Int32 retVal; Dc_DisplayCtrlInfo *dcCtrlInfo = (Dc_DisplayCtrlInfo *)arg; + Vps_printf("DLM client callback"); + if (1u == curSet) { GT_1trace(DcTrace, @@ -2001,6 +2033,8 @@ static Int32 dcDlmClientCallBack(UInt32 curSet, UInt32 timeStamp, Ptr arg) "%s: Remove DC client from DLM", __FUNCTION__); + Vps_printf("DLM client curSet"); + retVal = VpsDlm_unLinkDctrlClient(dcCtrlInfo->dlmClientCtrlHandle); if (FVID2_SOK != retVal) { @@ -2009,6 +2043,7 @@ static Int32 dcDlmClientCallBack(UInt32 curSet, UInt32 timeStamp, Ptr arg) "%s: Return from VpsDlm_unLinkDctrlClient %d", __FUNCTION__, retVal); + Vps_printf("DLM client fail"); } Semaphore_post(dcCtrlInfo->isrWaitSem); @@ -2027,6 +2062,7 @@ static Int32 dcDlmClientCallBack(UInt32 curSet, UInt32 timeStamp, Ptr arg) Int32 Dc_dlmListCompleteCb(UInt32 listNum) { GT_2trace(DcTrace, GT_INFO, "%s: List %d completed", __FUNCTION__, listNum); + Vps_printf("DLM list complete"); Semaphore_post(dcGetDctrlObj()->isrWaitSem); return (FVID2_SOK);