xref: /utopia/UTPA2-700.0.x/modules/xc/api/xc/apiXC_ModeParse_v2.c (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 #include "MsCommon.h"
2 #include "utopia.h"
3 #include "utopia_dapi.h"
4 #include "drvXC_IOPort.h"
5 #include "apiXC.h"
6 #include "apiXC_Adc.h"
7 #include "apiXC_Auto.h"
8 #include "apiXC_ModeParse.h"
9 #include "drv_sc_display.h"
10 #include "drv_sc_isr.h"
11 #include "apiXC_PCMonitor.h"
12 #include "drvXC_HDMI_if.h"
13 #include "mhal_xc_chip_config.h"
14 #include "mvideo_context.h"
15 #include "drv_sc_ip.h"
16 #if (LD_ENABLE==1)
17 #include "mdrv_ld.h"
18 #include "mdrv_ldalgo.h"
19 #endif
20 #include "mdrv_sc_3d.h"
21 #include "drv_sc_menuload.h"
22 #include "drvXC_ADC_Internal.h"
23 #include "mhal_sc.h"
24 #if FRC_INSIDE
25 #include "mdrv_frc.h"
26 #include "mhal_frc.h"
27 #endif
28 #include "XC_private.h"
29 #include "apiXC_v2.h"
30 #include "apiXC_ModeParse_v2.h"
31 
MODEPARSE_Initialize(XC_INSTANCE_PRIVATE * psXCInstPri,const void * const pAttribute)32 void MODEPARSE_Initialize(XC_INSTANCE_PRIVATE* psXCInstPri, const void* const pAttribute)
33 {
34     psXCInstPri->fpXC_ModeParse_Init = MApi_XC_ModeParse_Init_U2;
35     psXCInstPri->fpXC_ModeParse_MatchMode = MApi_XC_ModeParse_MatchMode_U2;
36     psXCInstPri->fpXC_ModeParse_MatchModeEx = MApi_XC_ModeParse_MatchModeEx_U2;
37 
38     return;
39 }
40 
_MODEPARSEIoctl(void * pInstance,MS_U32 u32Cmd,void * pArgs)41 MS_U32 _MODEPARSEIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs)
42 {
43 	//void* pModule = NULL;
44 	//void* pResource = NULL;
45     XC_INSTANCE_PRIVATE* psXCInstPri = NULL;
46 
47     //UtopiaInstanceGetModule(pInstance, &pModule);
48 
49     if(UtopiaInstanceGetPrivate(pInstance, (void*)&psXCInstPri)!=UTOPIA_STATUS_SUCCESS)
50     {
51         printf("[%s,%5d] Instance Get Private failed\n",__FUNCTION__,__LINE__);
52     }
53 
54     //printf("[%s,%5d] u32Cmd type = %ld\n",__FUNCTION__,__LINE__,u32Cmd);
55     MS_U32 u32Return = UTOPIA_STATUS_FAIL;
56     switch(u32Cmd)
57     {
58         case E_XC_MODEPARSE_CMD_INIT:
59             {
60 
61                 pstXC_MODEPARSE_INIT pXCArgs = (pstXC_MODEPARSE_INIT) pArgs;
62                 pXCArgs->bReturnValue = psXCInstPri->fpXC_ModeParse_Init(pInstance);
63 
64                 u32Return = UTOPIA_STATUS_SUCCESS;
65                 break;
66             }
67 
68         case E_XC_MODEPARSE_CMD_MATCHMODE:
69             {
70 
71                 pstXC_MODEPARSE_MATCHMODE pXCArgs = (pstXC_MODEPARSE_MATCHMODE) pArgs;
72                 pXCArgs->eReturnValue = psXCInstPri->fpXC_ModeParse_MatchMode(pInstance, pXCArgs->ModeDB,pXCArgs->u8NumberOfItems,pXCArgs->psInputInfo);
73 
74                 u32Return = UTOPIA_STATUS_SUCCESS;
75                 break;
76             }
77 
78         case E_XC_MODEPARSE_CMD_MATCHMODEEX:
79             {
80 
81                 pstXC_MODEPARSE_MATCHMODEEX pXCArgs = (pstXC_MODEPARSE_MATCHMODEEX) pArgs;
82                 pXCArgs->eReturnValue = psXCInstPri->fpXC_ModeParse_MatchModeEx(pInstance, pXCArgs->ModeDB,pXCArgs->u8NumberOfItems,pXCArgs->psInputInfo);
83 
84                 u32Return = UTOPIA_STATUS_SUCCESS;
85                 break;
86             }
87 
88         case E_XC_MODEPARSE_CMD_NONE:
89         case E_XC_MODEPARSE_CMD_MAX:
90         default:
91             {
92                 printf("Command %td is not existed\n",(ptrdiff_t)u32Cmd);
93                 u32Return = UTOPIA_STATUS_ERR_INVALID_HANDLE;
94                 break;
95             }
96     }
97     return u32Return;
98 }
99