xref: /utopia/UTPA2-700.0.x/modules/vd/drv/vbi/drvVBI_private.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi #include "drvVBI.h"
2*53ee8cc1Swenshuai.xi #include "drvDMX_TTX.h"
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi #include "MsTypes.h"
5*53ee8cc1Swenshuai.xi 
6*53ee8cc1Swenshuai.xi #ifndef __VBI_PRIVATE_H__
7*53ee8cc1Swenshuai.xi #define __VBI_PRIVATE_H__
8*53ee8cc1Swenshuai.xi 
9*53ee8cc1Swenshuai.xi typedef enum E_VBI_RES_ID {
10*53ee8cc1Swenshuai.xi     E_VBI_RESOURCE,
11*53ee8cc1Swenshuai.xi } eVbiResourceId;
12*53ee8cc1Swenshuai.xi 
13*53ee8cc1Swenshuai.xi typedef struct
14*53ee8cc1Swenshuai.xi {
15*53ee8cc1Swenshuai.xi     MS_S32 ReadPacketNumber;
16*53ee8cc1Swenshuai.xi     MS_S32 WritePacketNumber;
17*53ee8cc1Swenshuai.xi     MS_U16 NoOfPacketBufferOverflows;
18*53ee8cc1Swenshuai.xi 
19*53ee8cc1Swenshuai.xi     MS_BOOL pkt_received;
20*53ee8cc1Swenshuai.xi     MS_BOOL PacketBufferOverflow;
21*53ee8cc1Swenshuai.xi } VBI_RING_BUFFER;
22*53ee8cc1Swenshuai.xi 
23*53ee8cc1Swenshuai.xi typedef struct _VBI_RESOURCE_PRIVATE
24*53ee8cc1Swenshuai.xi {
25*53ee8cc1Swenshuai.xi     MS_U32 Dummy;
26*53ee8cc1Swenshuai.xi } VBI_RESOURCE_PRIVATE;
27*53ee8cc1Swenshuai.xi 
28*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_GETLIBVER)(const MSIF_Version **);
29*53ee8cc1Swenshuai.xi typedef VBI_DrvInfo * (*IOCTL_VBI_GETINFO)(void);
30*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_GETSTATUS)(VBI_DrvStatus*);
31*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_SET_DBGLEVEL)(MS_U16);
32*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_INIT)(EN_VBI_CMD, VBI_INIT_TYPE);
33*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_EXIT)(EN_VBI_CMD);
34*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_REGISTERCB)(VBI_CB_FN, MS_PHY, MS_U32);
35*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_RINGBUFFER_RESET)(void);
36*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_INITIALIZETTXSLICER)(MS_PHY, MS_U16);
37*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_ENABLETTXSLICER)(MS_BOOL);
38*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_ISVPS_READY)(void);
39*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_ISTTX_READY)(void);
40*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_ISWSS_READY)(void);
41*53ee8cc1Swenshuai.xi typedef MS_U16  (*IOCTL_VBI_GETWSS_DATA)(void);
42*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_GETVPS_DATA)(MS_U8*, MS_U8*);
43*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_SETVIDEOSTANDARD)(VBI_VIDEO_STANDARD);
44*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_TTX_PACKETBUFFERISEMPTY)(void);
45*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_TTX_CHECKCIRCUITREADY)(void);
46*53ee8cc1Swenshuai.xi typedef MS_U16  (*IOCTL_VBI_TTX_GETPACKETCOUNT)(void);
47*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_TTX_GETPACKETS)(MS_PHY, MS_U32*);
48*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_TTX_GETPACKET)(MS_PHY*);
49*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_TTX_PACKETBUFFERISOVERFLOW)( void );
50*53ee8cc1Swenshuai.xi typedef MS_U16  (*IOCTL_VBI_TTX_PACKETBUFFERGETNOOFOVERFLOWS)( void );
51*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_TTX_ENABLELINE)(MS_U16, MS_U16);
52*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_SYNCMEMORY)( MS_U32, MS_U32);
53*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_CC_INITSLICER)(MS_U32, MS_PHY, MS_U16);
54*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_CC_INITYPBYR)(MS_U8);
55*53ee8cc1Swenshuai.xi typedef MS_U8   (*IOCTL_VBI_CC_SETDATARATE)(MS_U8*);
56*53ee8cc1Swenshuai.xi typedef MS_U32  (*IOCTL_VBI_CC_GETINFO)(MS_U32);
57*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_CC_SETFRAMECNT)(MS_U8);
58*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_CC_ENABLESLICER)(MS_BOOL);
59*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_CC_ENABLELINE)(MS_U16, MS_U16, MS_U8);
60*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_CC_SETSCWINDOWLEN)(MS_U8);
61*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_CC_SETVIDEOSTANDARD)(VBI_VIDEO_STANDARD);
62*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_VBI_WSS_SETVPSBYTENUM)(MS_U8);
63*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_GETRAWVPS_DATA)(MS_U8*, MS_U8*, MS_U8*, MS_U8*);
64*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_SUSPEND)( void );
65*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_VBI_RESUME)( void );
66*53ee8cc1Swenshuai.xi typedef MS_U32  (*IOCTL_VBI_SETPOWERSTATE)( EN_POWER_MODE );
67*53ee8cc1Swenshuai.xi typedef MS_U32  (*IOCTL_VBI_PROTECTMEMORY)( MS_BOOL, MS_PHY, MS_U32 );
68*53ee8cc1Swenshuai.xi 
69*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_DMX_TTX_RINGBUFFER_RESET)(void);
70*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_DMX_TTX_INIT)(EN_DMX_TTX_CMD, MS_PHY, MS_U16);
71*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_DMX_TTX_EXIT)(EN_DMX_TTX_CMD);
72*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_DMX_TTX_SETFILTERID)(MS_U8);
73*53ee8cc1Swenshuai.xi typedef void    (*IOCTL_DMX_TTX_SETCB)(DMX_CB_FN);
74*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_DMX_TTX_PACKETBUFFERISEMPTY)(void);
75*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_DMX_TTX_GETPACKETS)(MS_PHY, MS_U32*);
76*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_DMX_TTX_GETPACKET)(MS_PHY*);
77*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_DMX_TTX_PACKETBUFFERISOVERFLOW)( void );
78*53ee8cc1Swenshuai.xi typedef MS_U16  (*IOCTL_DMX_TTX_PACKETBUFFERGETNOOFOVERFLOWS)( void );
79*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_DMX_TTX_SUSPEND)( void );
80*53ee8cc1Swenshuai.xi typedef MS_BOOL (*IOCTL_DMX_TTX_RESUME)( void );
81*53ee8cc1Swenshuai.xi typedef MS_U32  (*IOCTL_DMX_TTX_SETPOWERSTATE)( EN_POWER_MODE );
82*53ee8cc1Swenshuai.xi 
83*53ee8cc1Swenshuai.xi typedef struct _VBI_INSTANT_PRIVATE
84*53ee8cc1Swenshuai.xi {
85*53ee8cc1Swenshuai.xi     IOCTL_VBI_GETLIBVER                        fpVBIGetLibVer;
86*53ee8cc1Swenshuai.xi     IOCTL_VBI_GETINFO                          fpVBIGetInfo;
87*53ee8cc1Swenshuai.xi     IOCTL_VBI_GETSTATUS                        fpVBIGetStatus;
88*53ee8cc1Swenshuai.xi     IOCTL_VBI_SET_DBGLEVEL                     fpVBISetDbgLevel;
89*53ee8cc1Swenshuai.xi     IOCTL_VBI_INIT                             fpVBIInit;
90*53ee8cc1Swenshuai.xi     IOCTL_VBI_EXIT                             fpVBIExit;
91*53ee8cc1Swenshuai.xi     IOCTL_VBI_REGISTERCB                       fpVBIRegisterCB;
92*53ee8cc1Swenshuai.xi     IOCTL_VBI_RINGBUFFER_RESET                 fpVBIRingBufferReset;
93*53ee8cc1Swenshuai.xi     IOCTL_VBI_INITIALIZETTXSLICER              fpVBIInitializeTTXSlicer;
94*53ee8cc1Swenshuai.xi     IOCTL_VBI_ENABLETTXSLICER                  fpVBIEnableTTXSlicer;
95*53ee8cc1Swenshuai.xi     IOCTL_VBI_ISVPS_READY                      fpVBIIsVPSReady;
96*53ee8cc1Swenshuai.xi     IOCTL_VBI_ISTTX_READY                      fpVBIIsTTXReady;
97*53ee8cc1Swenshuai.xi     IOCTL_VBI_ISWSS_READY                      fpVBIIsWSSReady;
98*53ee8cc1Swenshuai.xi     IOCTL_VBI_GETWSS_DATA                      fpVBIGetWSSData;
99*53ee8cc1Swenshuai.xi     IOCTL_VBI_GETVPS_DATA                      fpVBIGetVPSData;
100*53ee8cc1Swenshuai.xi     IOCTL_VBI_SETVIDEOSTANDARD                 fpVBISetVideoStandard;
101*53ee8cc1Swenshuai.xi     IOCTL_VBI_TTX_PACKETBUFFERISEMPTY          fpVBITTXPacketBufferIsEmpty;
102*53ee8cc1Swenshuai.xi     IOCTL_VBI_TTX_CHECKCIRCUITREADY            fpVBITTXCheckCircuitReady;
103*53ee8cc1Swenshuai.xi     IOCTL_VBI_TTX_GETPACKETCOUNT               fpVBITTXGetPacketCount;
104*53ee8cc1Swenshuai.xi     IOCTL_VBI_TTX_GETPACKETS                   fpVBITTXGetPackets;
105*53ee8cc1Swenshuai.xi     IOCTL_VBI_TTX_GETPACKET                    fpVBITTXGetPacket;
106*53ee8cc1Swenshuai.xi     IOCTL_VBI_TTX_PACKETBUFFERISOVERFLOW       fpVBITTXPacktetBufferIsOverflow;
107*53ee8cc1Swenshuai.xi     IOCTL_VBI_TTX_PACKETBUFFERGETNOOFOVERFLOWS fpVBITTXPacketBufferGetNoOfOverflows;
108*53ee8cc1Swenshuai.xi     IOCTL_VBI_TTX_ENABLELINE                   fpVBITTXEnableLine;
109*53ee8cc1Swenshuai.xi     IOCTL_VBI_SYNCMEMORY                       fpVBISyncMemory;
110*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_INITSLICER                    fpVBICCInitSlicer;
111*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_INITYPBYR                     fpVBICCInitYPbYr;
112*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_SETDATARATE                   fpVBICCSetDataRate;
113*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_GETINFO                       fpVBICCGetInfo;
114*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_SETFRAMECNT                   fpVBICCSetFrameCnt;
115*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_ENABLESLICER                  fpVBICCEnableSlicer;
116*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_ENABLELINE                    fpVBICCEnableLine;
117*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_SETSCWINDOWLEN                fpVBICCSetSCWindowLen;
118*53ee8cc1Swenshuai.xi     IOCTL_VBI_CC_SETVIDEOSTANDARD              fpVBICCSetVideoStandard;
119*53ee8cc1Swenshuai.xi     IOCTL_VBI_GETRAWVPS_DATA                   fpVBIGetRawVPSData;
120*53ee8cc1Swenshuai.xi     IOCTL_VBI_WSS_SETVPSBYTENUM                fpVBIWSSSetVpsByteNum;
121*53ee8cc1Swenshuai.xi     IOCTL_VBI_SUSPEND                          fpVBISuspend;
122*53ee8cc1Swenshuai.xi     IOCTL_VBI_RESUME                           fpVBIResume;
123*53ee8cc1Swenshuai.xi     IOCTL_VBI_SETPOWERSTATE                    fpVBISetPowerState;
124*53ee8cc1Swenshuai.xi     IOCTL_VBI_PROTECTMEMORY                    fpVBIProtectMemory;
125*53ee8cc1Swenshuai.xi 
126*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_RINGBUFFER_RESET             fpDMXTTXRingBufferReset;
127*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_INIT                         fpDMXTTXInit;
128*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_EXIT                         fpDMXTTXExit;
129*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_SETFILTERID                  fpDMXTTXSetFilterID;
130*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_SETCB                        fpDMXTTXSetCB;
131*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_PACKETBUFFERISEMPTY          fpDMXTTXPacketBufferIsEmpty;
132*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_GETPACKETS                   fpDMXTTXGetPackets;
133*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_GETPACKET                    fpDMXTTXGetPacket;
134*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_PACKETBUFFERISOVERFLOW       fpDMXTTXPacketBufferIsOverflow;
135*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_PACKETBUFFERGETNOOFOVERFLOWS fpDMXTTXPacketBufferGetNoOfOverflows;
136*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_SUSPEND                      fpDMXTTXSuspend;
137*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_RESUME                       fpDMXTTXResume;
138*53ee8cc1Swenshuai.xi     IOCTL_DMX_TTX_SETPOWERSTATE                fpDMXTTXSetPowerState;
139*53ee8cc1Swenshuai.xi 
140*53ee8cc1Swenshuai.xi }VBI_INSTANT_PRIVATE;
141*53ee8cc1Swenshuai.xi 
142*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------------------
143*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_GetStatus(VBI_DrvStatus *pDrvStatus);
144*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_Init(EN_VBI_CMD cmd, VBI_INIT_TYPE type);
145*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_Exit(EN_VBI_CMD cmd);
146*53ee8cc1Swenshuai.xi void    _MDrv_VBI_RegisterCB(VBI_CB_FN pFN, MS_PHY bufferAddr, MS_U32 length);
147*53ee8cc1Swenshuai.xi void    _MDrv_VBI_RingBuffer_Reset(void);
148*53ee8cc1Swenshuai.xi void    _MDrv_VBI_InitializeTTXSlicer(MS_PHY bufferAddr, MS_U16 packetCount);
149*53ee8cc1Swenshuai.xi void    _MDrv_VBI_EnableTTXSlicer(MS_BOOL bEnable);
150*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_IsVPS_Ready(void);
151*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_IsTTX_Ready(void);
152*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_IsWSS_Ready(void);
153*53ee8cc1Swenshuai.xi MS_U16  _MDrv_VBI_GetWSS_Data(void);
154*53ee8cc1Swenshuai.xi void    _MDrv_VBI_GetVPS_Data(MS_U8 *lowerWord, MS_U8 *higherWord);
155*53ee8cc1Swenshuai.xi void    _MDrv_VBI_SetVideoStandard(VBI_VIDEO_STANDARD eStandard);
156*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_TTX_PacketBufferIsEmpty(void);
157*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_TTX_CheckCircuitReady(void);
158*53ee8cc1Swenshuai.xi MS_U16  _MDrv_VBI_TTX_GetPacketCount(void);
159*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_TTX_GetPackets(MS_PHY dataAddr, MS_U32 *length);
160*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_TTX_GetPacket(MS_PHY *packetAddress);
161*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_TTX_PacketBufferIsOverflow( void );
162*53ee8cc1Swenshuai.xi MS_U16  _MDrv_VBI_TTX_PacketBufferGetNoOfOverflows( void );
163*53ee8cc1Swenshuai.xi void    _MDrv_VBI_TTX_EnableLine(MS_U16 StartLine, MS_U16 EndLine);
164*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_SyncMemory( MS_U32 u32Start, MS_U32 u32Size );
165*53ee8cc1Swenshuai.xi void    _MDrv_VBI_CC_InitSlicer(MS_VIRT u32RiuAddr, MS_PHY bufferAddr, MS_U16 packetCount);
166*53ee8cc1Swenshuai.xi void    _MDrv_VBI_CC_InitYPbYr(MS_U8 cvbs_no);
167*53ee8cc1Swenshuai.xi MS_U8   _MDrv_VBI_CC_SetDataRate(MS_U8 *ptable);
168*53ee8cc1Swenshuai.xi MS_U32  _MDrv_VBI_CC_GetInfo(MS_U32 selector);
169*53ee8cc1Swenshuai.xi void    _MDrv_VBI_CC_SetFrameCnt(MS_U8 cnt);
170*53ee8cc1Swenshuai.xi void    _MDrv_VBI_CC_EnableSlicer(MS_BOOL bEnable);
171*53ee8cc1Swenshuai.xi void    _MDrv_VBI_CC_EnableLine(MS_U16 StartLine, MS_U16 EndLine, MS_U8 mode);
172*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_CC_SetSCWindowLen(MS_U8 u8Len);
173*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_CC_SetStandard(VBI_VIDEO_STANDARD eStandard);
174*53ee8cc1Swenshuai.xi void    _MDrv_VBI_WSS_SetVpsByteNum(MS_U8 cnt);
175*53ee8cc1Swenshuai.xi void    _MDrv_VBI_GetRawVPS_Data(MS_U8 *byte0, MS_U8 *byte1, MS_U8 *byte2, MS_U8 *byte3);
176*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_Suspend(void);
177*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_VBI_Resume(void);
178*53ee8cc1Swenshuai.xi MS_U32  _MDrv_VBI_SetPowerState(EN_POWER_MODE u16PowerState);
179*53ee8cc1Swenshuai.xi 
180*53ee8cc1Swenshuai.xi void    _MDrv_DMX_TTX_RingBuffer_Reset(void);
181*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_DMX_TTX_Init(EN_DMX_TTX_CMD cmd, MS_PHY bufferAddr, MS_U16 packetCount);
182*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_DMX_TTX_Exit(EN_DMX_TTX_CMD cmd);
183*53ee8cc1Swenshuai.xi void    _MDrv_DMX_TTX_SetFilterID(MS_U8 fid);
184*53ee8cc1Swenshuai.xi void    _MDrv_DMX_TTX_SetCB(DMX_CB_FN fn);
185*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_DMX_TTX_PacketBufferIsEmpty(void);
186*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_DMX_TTX_GetPackets(MS_PHY dataAddr, MS_U32 *length);
187*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_DMX_TTX_GetPacket(MS_PHY *packetAddress);
188*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_DMX_TTX_PacketBufferIsOverflow( void );
189*53ee8cc1Swenshuai.xi MS_U16  _MDrv_DMX_TTX_PacketBufferGetNoOfOverflows( void );
190*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_DMX_TTX_Suspend(void);
191*53ee8cc1Swenshuai.xi MS_BOOL _MDrv_DMX_TTX_Resume(void);
192*53ee8cc1Swenshuai.xi MS_U32  _MDrv_DMX_TTX_SetPowerState(EN_POWER_MODE u16PowerState);
193*53ee8cc1Swenshuai.xi 
194*53ee8cc1Swenshuai.xi //---------------------------------------------------------------------------------------
195*53ee8cc1Swenshuai.xi 
196*53ee8cc1Swenshuai.xi void   VBIRegisterToUtopia(FUtopiaOpen ModuleType);
197*53ee8cc1Swenshuai.xi MS_U32 VBIOpen(void** ppInstance, const void* const pAttribute);
198*53ee8cc1Swenshuai.xi MS_U32 VBIClose(void* pInstance);
199*53ee8cc1Swenshuai.xi MS_U32 VBIIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
200*53ee8cc1Swenshuai.xi MS_U32 VBIStr(MS_U32 u32PowerState, void* pModule);
201*53ee8cc1Swenshuai.xi #ifdef CONFIG_UTOPIA_PROC_DBG_SUPPORT
202*53ee8cc1Swenshuai.xi MS_U32 VBIMdbIoctl(MS_U32 cmd, const void* const pArgs);
203*53ee8cc1Swenshuai.xi #endif
204*53ee8cc1Swenshuai.xi #endif //__VBI_PRIVATE_H__
205