dra7xx: example for vdrm display
example for vdrm display: this ca dispaly early boot and vdrm linux
From vsdk0305, hlos support vdrm.
commit b9beb57b5a2716aa2331b89784f7d613bc6c3dd5
Author: xxx Zhang <xxx@xxx.com>
Date: Mon May 27 21:27:45 2019 +0800
add vdrm display
diff --git a/apps/src/hlos/adas/src/usecases/disp_dist_src_display/chains_dispDistSrc_Display.c b/apps/src/hlos/adas/src/usecases/disp_dist_src_display/chains_dispDistSrc_Display.c
index 7e967ff..07640ac 100644
--- a/apps/src/hlos/adas/src/usecases/disp_dist_src_display/chains_dispDistSrc_Display.c
+++ b/apps/src/hlos/adas/src/usecases/disp_dist_src_display/chains_dispDistSrc_Display.c
@@ -88,6 +88,25 @@ typedef struct {
} Chains_DispDistSrcDisplayAppObj;
+
+Void chains_dispDistSrc_Display_SetGlobalAlphaPrms(Chains_DispDistSrcDisplayAppObj *appObj)
+{
+ DisplayCtrlLink_OvlyPipeParams pipeParams[4];
+
+ pipeParams[0].pipeLine = DISPLAY_LINK_INST_DSS_GFX1;
+ pipeParams[0].globalAlpha = 0x88;
+ pipeParams[0].preMulxxxplyAlpha = 0;
+ pipeParams[0].zorderEnable = TRUE;
+ pipeParams[0].zorder = SYSTEM_DSS_DISPC_ZORDER3;
+
+ pipeParams[1].pipeLine = DISPLAY_LINK_INST_DSS_VID3;
+ pipeParams[1].globalAlpha = 0x88;
+ pipeParams[1].preMulxxxplyAlpha = 0;
+ pipeParams[1].zorderEnable = TRUE;
+ pipeParams[1].zorder = SYSTEM_DSS_DISPC_ZORDER2;
+
+ ChainsCommon_dssOvlyPipeConfig(pipeParams, 2);
+}
/**
*******************************************************************************
*
@@ -127,6 +146,7 @@ Void chains_dispDistSrc_Display_SetAppPrms(chains_dispDistSrc_DisplayObj *pUcObj
pPrm_display->rtParams.posX = 0;
pPrm_display->rtParams.posY = 0;
pPrm_display->displayId = DISPLAY_LINK_INST_DSS_GFX1;
+
#if 0 /*controled by M4*/
ChainsCommon_StartDisplayCtrl(
pObj->chainsCfg->displayType,
@@ -228,6 +248,8 @@ Void Chains_dispDistSrc_Display(Chains_Ctrl *chainsCfg)
break;
case 'p':
+ chains_dispDistSrc_Display_SetGlobalAlphaPrms(&chainsObj);
+ break;
case 'P':
ChainsCommon_PrintStaxxxsxxxcs();
chains_dispDistSrc_Display_printStaxxxsxxxcs(&chainsObj.ucObj);
diff --git a/apps/src/hlos/common/chains_common.c b/apps/src/hlos/common/chains_common.c
index ca7e065..c432da5 100644
--- a/apps/src/hlos/common/chains_common.c
+++ b/apps/src/hlos/common/chains_common.c
@@ -47,10 +47,10 @@ Limited License.
DISCLAIMER.
- THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS "AS IS" AND ANY EXPRESS OR
+ THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
@@ -2051,3 +2051,28 @@ Void ChainsCommon_SetDecodePrm( DecLink_CreateParams *pDecPrm,
}
}
}
+Int32 ChainsCommon_dssOvlyPipeConfig(
+ DisplayCtrlLink_OvlyPipeParams *pPipeParams, UInt32 numPipes)
+{
+ Int32 status=0;
+ Int32 j = 0;
+
+ gChains_commonObj.displayCtrlLinkId = SYSTEM_LINK_ID_DISPLAYCTRL;
+
+ /* There are no createxxxme Params for display controller */
+ status = System_linkCreate(gChains_commonObj.displayCtrlLinkId,
+ NULL,
+ 0);
+
+ for(j = 0; j < numPipes; j++)
+ {
+ status = System_linkControl(gChains_commonObj.displayCtrlLinkId,
+ DISPLAYCTRL_LINK_CMD_SET_OVLY_PIPELINE_PARAMS,
+ &pPipeParams[j],
+ sizeof(DisplayCtrlLink_OvlyPipeParams),
+ TRUE);
+ OSA_assert(status == SYSTEM_LINK_STATUS_SOK);
+ }
+
+ return status;
+}
\ No newline at end of file
diff --git a/apps/src/hlos/common/chains_common.h b/apps/src/hlos/common/chains_common.h
index 363113b..c1ff18a 100644
--- a/apps/src/hlos/common/chains_common.h
+++ b/apps/src/hlos/common/chains_common.h
@@ -47,10 +47,10 @@ Limited License.
DISCLAIMER.
- THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS "AS IS" AND ANY EXPRESS OR
+ THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
@@ -204,6 +204,9 @@ extern "C" {
* Funcxxxon's
*******************************************************************************
*/
+Int32 ChainsCommon_dssOvlyPipeConfig(
+ DisplayCtrlLink_OvlyPipeParams *pPipeParams,
+ UInt32 numPipes);
Void ChainsCommon_SingleCam_SetCapturePrms(
CaptureLink_CreateParams *pPrm,
UInt32 captureInWidth,
diff --git a/apps/src/include/chains_common.h b/apps/src/include/chains_common.h
index 8093c4b..b115076 100644
--- a/apps/src/include/chains_common.h
+++ b/apps/src/include/chains_common.h
@@ -47,10 +47,10 @@ Limited License.
DISCLAIMER.
- THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS "AS IS" AND ANY EXPRESS OR
+ THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
diff --git a/apps/src/rtos/usecases/common/chains_common.c b/apps/src/rtos/usecases/common/chains_common.c
index e4d9d4c..d4c8c0d 100644
--- a/apps/src/rtos/usecases/common/chains_common.c
+++ b/apps/src/rtos/usecases/common/chains_common.c
@@ -47,10 +47,10 @@ Limited License.
DISCLAIMER.
- THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS "AS IS" AND ANY EXPRESS OR
+ THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
@@ -917,7 +917,7 @@ Void ChainsCommon_SetDisplayPrms(
if(pPrm_Grpx)
{
- pPrm_Grpx->displayId = DISPLAY_LINK_INST_DSS_GFX1;
+ pPrm_Grpx->displayId = DISPLAY_LINK_INST_DSS_VID2;
if((displayType == CHAINS_DISPLAY_TYPE_SDTV_NTSC) ||
(displayType == CHAINS_DISPLAY_TYPE_SDTV_PAL))
@@ -1404,3 +1404,4 @@ Int32 Chains_statCollectorReset()
return SYSTEM_LINK_STATUS_SOK;
}
+
diff --git a/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay.c b/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay.c
index 2748bcb..fc9b3c0 100644
--- a/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay.c
+++ b/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay.c
@@ -416,13 +416,15 @@ Void chains_nullSrcDecDisplay_SetAppPrms(chains_nullSrcDecDisplayObj *pUcObj, Vo
#if 1
chains_nullSrcDecDisplay_SetDecodePrms(pObj, &pUcObj->DecodePrm);
#endif
-#if 0
+#if 1
ChainsCommon_SetDisplayPrms(&pUcObj->DisplayPrm,
NULL,
pObj->chainsCfg->displayType,
pObj->displayWidth,
pObj->displayHeight
);
+
+
#endif
#if 1
chains_nullSrcDecDisplay_SetVPEPrms(
@@ -434,7 +436,7 @@ Void chains_nullSrcDecDisplay_SetAppPrms(chains_nullSrcDecDisplayObj *pUcObj, Vo
ENCDEC_MAX_FRAME_HEIGHT);
#endif
-
+// ChainsCommon_MulxxxDisplay_StartDisplayCtrl(&pObj->mDisplayPrms[0], 1);
#if 1
ChainsCommon_StartDisplayCtrl(
pObj->chainsCfg->displayType,
diff --git a/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay_priv.c b/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay_priv.c
index f464733..97dc7f9 100644
--- a/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay_priv.c
+++ b/apps/src/rtos/usecases/null_src_dec_display/chains_nullSrcDecDisplay_priv.c
@@ -47,10 +47,10 @@ Limited License.
DISCLAIMER.
- THIS SOFTWARE IS PROVIDED BY xxx AND xxx<92>S LICENSORS 'AS IS' AND ANY EXPRESS OR
+ THIS SOFTWARE IS PROVIDED BY xxx AND xxx�S LICENSORS 'AS IS' AND ANY EXPRESS OR
IMPLIED WARRANxxxES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANxxxES OF
MERCHANTABILITY AND FITNESS FOR A PARxxxCULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT SHALL xxx AND xxx<92>S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ IN NO EVENT SHALL xxx AND xxx�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENxxxAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSxxxTUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPxxxON) HOWEVER CAUSED AND ON ANY THEORY OF
@@ -74,7 +74,8 @@ Void chains_nullSrcDecDisplay_SetLinkId(chains_nullSrcDecDisplayObj *pObj){
pObj->NullLinkID = IPU1_0_LINK (SYSTEM_LINK_ID_NULL_0);
pObj->DecodeLinkID = SYSTEM_LINK_ID_VDEC_0;
pObj->VPELinkID = SYSTEM_LINK_ID_VPE_0;
- pObj->DisplayLinkID = SYSTEM_LINK_ID_DISPLAY_0;
+ /*SYSTEM LINK ID DISPLAY _0 is used by vDRM cluster.*/
+ pObj->DisplayLinkID = SYSTEM_LINK_ID_DISPLAY_1;
}
Void chains_nullSrcDecDisplay_ResetLinkPrms(chains_nullSrcDecDisplayObj *pObj){
diff --git a/links_fw/src/rtos/links_common/null/nullLink_tsk.c b/links_fw/src/rtos/links_common/null/nullLink_tsk.c
index 0126073..3fc1f88 100644
--- a/links_fw/src/rtos/links_common/null/nullLink_tsk.c
+++ b/links_fw/src/rtos/links_common/null/nullLink_tsk.c
@@ -717,7 +717,7 @@ Void NullLink_tskMain(struct Uxxxls_TskHndl_t * pTsk, Uxxxls_MsgHndl * pMsg)
ackMsg = (Bool)TRUE;
break;
case SYSTEM_CMD_NEW_DATA:
- Vps_printf("Null link: New Data \n");
+ //Vps_printf("Null link: New Data \n");
Uxxxls_tskAckOrFreeMsg(pMsg, status);
flushCmds[0] = SYSTEM_CMD_NEW_DATA;
diff --git a/links_fw/src/rtos/links_ipu/display/displayLink_tsk.c b/links_fw/src/rtos/links_ipu/display/displayLink_tsk.c
index a91fa1b..33ce5da 100644
--- a/links_fw/src/rtos/links_ipu/display/displayLink_tsk.c
+++ b/links_fw/src/rtos/links_ipu/display/displayLink_tsk.c
@@ -193,7 +193,7 @@ Int32 DisplayLink_tskRun(DisplayLink_Obj *pObj, Uxxxls_TskHndl *pTsk,
break;
case SYSTEM_CMD_NEW_DATA:
- Vps_printf("Display: New Data \n");
+ //Vps_printf("Display: New Data \n");
Uxxxls_tskAckOrFreeMsg(pRunMsg, status);
flushCmds[0] = SYSTEM_CMD_NEW_DATA;
(END)
CopyRight @Widic 2017
Mail:widicjane@163.com