1 #include <linux/kernel.h>
2 #include <linux/string.h>
3 #include <linux/slab.h>
4
5
6
7
8 #include "MsTypes.h"
9 #include "utopia.h"
10 #include "drvAVD.h"
11 #include "drvAVD_v2.h"
12 //#include "drvAVD_priv.h"
13 #include "AVD_adp.h"
14
15
16 #include "utopia_adp.h"
17 //#include "MsOS.h"
18
19
20
21 //#include <linux/kernel.h>
22
23
24
25
26 //Top
27 UADP_STRUCT_POINTER_TABLE spt_AVD_CopyToUser[10];
28 UADP_STRUCT_POINTER_TABLE spt_AVD_pu8VD_DSP[10];
29 UADP_STRUCT_POINTER_TABLE spt_AVD_stCapWin[10];
30 UADP_STRUCT_POINTER_TABLE spt_AVD_u16LatchStatus[10];
31 UADP_STRUCT_POINTER_TABLE spt_AVD_MSIF_Version[10];
32 UADP_STRUCT_POINTER_TABLE u8AVDValue[10];
33 UADP_STRUCT_POINTER_TABLE u16AVDValue[10];
34 UADP_STRUCT_POINTER_TABLE u32AVDValue[10];
35
36 UADP_STRUCT_POINTER_TABLE bAVDEnable[10];
37 UADP_STRUCT_POINTER_TABLE eVideoFreq[10];
38 UADP_STRUCT_POINTER_TABLE eFreerunfreq[10];
39 //
40 UADP_STRUCT_POINTER_TABLE spt_AVD_GetStandardDetection[10];
41 //
42
43 UADP_STRUCT_POINTER_TABLE spt_AVD_INIT[10];
44 UADP_STRUCT_POINTER_TABLE spt_AVD_LOADDSP[10];
45 UADP_STRUCT_POINTER_TABLE spt_AVD_BACKPORCHWINPOS[10];
46 UADP_STRUCT_POINTER_TABLE spt_AVD_SETREGVALUE[10];
47 UADP_STRUCT_POINTER_TABLE spt_AVD_SETINPUT[10];
48 UADP_STRUCT_POINTER_TABLE spt_AVD_SETVIDEOSTANDARD[10];
49 UADP_STRUCT_POINTER_TABLE spt_AVD_SETSHIFTCLK[10];
50 UADP_STRUCT_POINTER_TABLE spt_AVD_SETFACTORYPARA[10];
51 UADP_STRUCT_POINTER_TABLE spt_AVD_SET3DCOMBSPEED[10];
52 UADP_STRUCT_POINTER_TABLE spt_AVD_GETCAPTUREWINDOW[10];
53 UADP_STRUCT_POINTER_TABLE spt_AVD_SETBURSTWINSTART[10];
54
55 //Bottom
56 UADP_STRUCT_POINTER_TABLE spt_AVD_VdDecInitializeExt[10];
57 UADP_STRUCT_POINTER_TABLE spt_AVD_VD_DSP_Code_Address[10];
58
59 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_VD_INITDATA[10];
60 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_AVD_Still_Image_Param[10];
61 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_AVD_SCAN_HSYNC_CHECK[10];
62 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_AVD_FORCEVIDEOSTANDARD[10];
63 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_AVD_SETDBGLEVEL[10];
64 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_AVD_MBXREADBYTEBYVDMBOX[10];
65 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_AVD_GETREGVALUE[10];
66 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_AVD_SETPOWERSTATE[10];
67 UADP_STRUCT_POINTER_TABLE spt_DrvAVD_AVD_GETLIBVER[10];
68
AVD_adp_Init(FUtopiaIOctl * pIoctl)69 MS_U32 AVD_adp_Init(FUtopiaIOctl* pIoctl)
70 {
71
72 //set table
73 printk("AVD_adp_Init\n");
74
75 UADP_SPT_BGN(&spt_AVD_pu8VD_DSP[0],sizeof(MS_U8));
76 UADP_SPT_FIN(&spt_AVD_pu8VD_DSP[1]);
77
78 UADP_SPT_BGN(&spt_AVD_stCapWin[0],sizeof(void));
79 UADP_SPT_FIN(&spt_AVD_stCapWin[1]);
80
81 UADP_SPT_BGN(&spt_AVD_u16LatchStatus[0],sizeof(MS_U16));
82 UADP_SPT_FIN(&spt_AVD_u16LatchStatus[1]);
83
84 UADP_SPT_BGN(&spt_AVD_GetStandardDetection[0], sizeof(AVD_GETSTANDARDDETECTION));
85 //UADP_SPT_NXT(&spt_AVD_GetStandardDetection[1],AVD_GETSTANDARDDETECTION,vdLatchStatus, spt_AVD_u16LatchStatus);
86 UADP_SPT_FIN(&spt_AVD_GetStandardDetection[1]);
87
88 UADP_SPT_BGN(&spt_AVD_MSIF_Version[0],sizeof(MSIF_Version));
89 UADP_SPT_FIN(&spt_AVD_MSIF_Version[1]);
90
91 //========
92 UADP_SPT_BGN(&u8AVDValue[0],sizeof(MS_U8));
93 UADP_SPT_FIN(&u8AVDValue[1]);
94 UADP_SPT_BGN(&u16AVDValue[0],sizeof(MS_U16));
95 UADP_SPT_FIN(&u16AVDValue[1]);
96 UADP_SPT_BGN(&u32AVDValue[0],sizeof(MS_U32));
97 UADP_SPT_FIN(&u32AVDValue[1]);
98 UADP_SPT_BGN(&bAVDEnable[0],sizeof(MS_BOOL));
99 UADP_SPT_FIN(&bAVDEnable[1]);
100
101 UADP_SPT_BGN(&eVideoFreq[0],sizeof(AVD_VideoFreq));
102 UADP_SPT_FIN(&eVideoFreq[1]);
103 UADP_SPT_BGN(&eFreerunfreq[0],sizeof(AVD_FreeRunFreq));
104 UADP_SPT_FIN(&eFreerunfreq[1]);
105
106 UADP_SPT_BGN(&spt_AVD_INIT[0], sizeof(AVD_INIT));
107 //UADP_SPT_NXT(&spt_AVD_INIT[1],AVD_INIT,pVD_InitData, spt_DrvAVD_VD_INITDATA);
108 UADP_SPT_FIN(&spt_AVD_INIT[1]);
109
110 UADP_SPT_BGN(&spt_AVD_LOADDSP[0], sizeof(AVD_LOADDSP));
111 UADP_SPT_NXT(&spt_AVD_LOADDSP[1],AVD_LOADDSP,pu8VD_DSP, spt_AVD_pu8VD_DSP);
112 UADP_SPT_FIN(&spt_AVD_LOADDSP[2]);
113
114
115 UADP_SPT_BGN(&spt_AVD_BACKPORCHWINPOS[0],sizeof(AVD_BACKPORCHWINPOS));
116 UADP_SPT_FIN(&spt_AVD_BACKPORCHWINPOS[1]);
117
118 UADP_SPT_BGN(&spt_AVD_SETREGVALUE[0],sizeof(AVD_SETREGVALUE));
119 UADP_SPT_FIN(&spt_AVD_SETREGVALUE[1]);
120
121 UADP_SPT_BGN(&spt_AVD_SETBURSTWINSTART[0],sizeof(MS_U8));
122 UADP_SPT_FIN(&spt_AVD_SETBURSTWINSTART[1]);
123
124 UADP_SPT_BGN(&spt_AVD_SETINPUT[0],sizeof(AVD_SETINPUT));
125 UADP_SPT_FIN(&spt_AVD_SETINPUT[1]);
126
127 UADP_SPT_BGN(&spt_AVD_SETVIDEOSTANDARD[0],sizeof(AVD_SETVIDEOSTANDARD));
128 UADP_SPT_FIN(&spt_AVD_SETVIDEOSTANDARD[1]);
129
130 UADP_SPT_BGN(&spt_AVD_SETSHIFTCLK[0], sizeof(AVD_SETSHIFTCLK));
131 UADP_SPT_FIN(&spt_AVD_SETSHIFTCLK[1]);
132
133 UADP_SPT_BGN(&spt_AVD_SETFACTORYPARA[0], sizeof(AVD_SETFACTORYPARA));
134 UADP_SPT_FIN(&spt_AVD_SETFACTORYPARA[1]);
135
136 UADP_SPT_BGN(&spt_AVD_SET3DCOMBSPEED[0], sizeof(AVD_SET3DCOMBSPEED));
137 UADP_SPT_FIN(&spt_AVD_SET3DCOMBSPEED[1]);
138
139 UADP_SDT_BGN(&spt_AVD_GETCAPTUREWINDOW[0], sizeof(AVD_GETCAPTUREWINDOW));
140 //UADP_SPT_NXT(&spt_AVD_LOADDSP[1],AVD_GETCAPTUREWINDOW,stCapWin, spt_AVD_stCapWin);
141 UADP_SDT_KIND(&spt_AVD_GETCAPTUREWINDOW[1],AVD_GETCAPTUREWINDOW,UADP_SDT_P2N,stCapWin, spt_AVD_stCapWin);
142 UADP_SDT_FIN(&spt_AVD_GETCAPTUREWINDOW[2]);
143
144 UADP_SPT_BGN(&spt_AVD_CopyToUser[0],sizeof(AVD_COPYTOUSER));
145 UADP_SPT_FIN(&spt_AVD_CopyToUser[1]);
146
147 //bottom
148 UADP_SPT_BGN(&spt_AVD_VdDecInitializeExt[0],sizeof(MS_U8));
149 UADP_SPT_FIN(&spt_AVD_VdDecInitializeExt[1]);
150
151 UADP_SPT_BGN(&spt_AVD_VD_DSP_Code_Address[0],sizeof(MS_U8));
152 UADP_SPT_FIN(&spt_AVD_VD_DSP_Code_Address[1]);
153
154 UADP_SPT_BGN(&spt_DrvAVD_VD_INITDATA[0],sizeof(VD_INITDATA));
155 UADP_SPT_NXT(&spt_DrvAVD_VD_INITDATA[1],VD_INITDATA,u8VdDecInitializeExt, spt_AVD_VdDecInitializeExt);
156 UADP_SPT_NXT(&spt_DrvAVD_VD_INITDATA[2],VD_INITDATA,pu8VD_DSP_Code_Address, spt_AVD_VD_DSP_Code_Address);
157 UADP_SPT_FIN(&spt_DrvAVD_VD_INITDATA[3]);
158
159 UADP_SPT_BGN(&spt_DrvAVD_AVD_Still_Image_Param[0],sizeof(AVD_Still_Image_Param));
160 UADP_SPT_FIN(&spt_DrvAVD_AVD_Still_Image_Param[1]);
161
162 UADP_SPT_BGN(&spt_DrvAVD_AVD_SCAN_HSYNC_CHECK[0],sizeof(AVD_SCANHSYNCCHECK));
163 UADP_SPT_FIN(&spt_DrvAVD_AVD_SCAN_HSYNC_CHECK[1]);
164
165 UADP_SPT_BGN(&spt_DrvAVD_AVD_FORCEVIDEOSTANDARD[0],sizeof(AVD_FORCEVIDEOSTANDARD));
166 UADP_SPT_FIN(&spt_DrvAVD_AVD_FORCEVIDEOSTANDARD[1]);
167
168 UADP_SPT_BGN(&spt_DrvAVD_AVD_SETDBGLEVEL[0],sizeof(AVD_SETDBGLEVEL));
169 UADP_SPT_FIN(&spt_DrvAVD_AVD_SETDBGLEVEL[1]);
170
171 UADP_SPT_BGN(&spt_DrvAVD_AVD_MBXREADBYTEBYVDMBOX[0],sizeof(AVD_MBXREADBYTEBYVDMBOX));
172 UADP_SPT_FIN(&spt_DrvAVD_AVD_MBXREADBYTEBYVDMBOX[1]);
173
174 UADP_SPT_BGN(&spt_DrvAVD_AVD_GETREGVALUE[0],sizeof(AVD_GETREGVALUE));
175 UADP_SPT_FIN(&spt_DrvAVD_AVD_GETREGVALUE[1]);
176
177 UADP_SPT_BGN(&spt_DrvAVD_AVD_SETPOWERSTATE[0],sizeof(AVD_SETPOWERSTATE));
178 UADP_SPT_FIN(&spt_DrvAVD_AVD_SETPOWERSTATE[1]);
179
180 UADP_SPT_BGN(&spt_DrvAVD_AVD_GETLIBVER[0],sizeof(AVD_GETLIBVER));
181 UADP_SPT_NXT(&spt_DrvAVD_AVD_GETLIBVER[1],AVD_GETLIBVER,ppVersion, spt_AVD_MSIF_Version);
182 UADP_SPT_FIN(&spt_DrvAVD_AVD_GETLIBVER[2]);
183
184 *pIoctl= (FUtopiaIOctl)AVD_adp_Ioctl;
185 return 0;
186
187 }
188
AVD_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)189 MS_U32 AVD_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
190 {
191 MS_U32 u32Ret = 0;
192 char buffer_arg[2048];
193 switch(u32Cmd)
194 {
195
196 case MDrv_CMD_AVD_Init :
197 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_INIT,spt_AVD_INIT,buffer_arg,sizeof(buffer_arg));
198 break;
199 case MDrv_CMD_AVD_Exit:
200 u32Ret=UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
201 break;
202 case MDrv_CMD_AVD_ResetMCU:
203 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
204 break;
205 case MDrv_CMD_AVD_FreezeMCU:
206 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,bAVDEnable,NULL,buffer_arg,sizeof(buffer_arg));
207 break;
208 case MDrv_CMD_AVD_Scan_HsyncCheck:
209 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DrvAVD_AVD_SCAN_HSYNC_CHECK,spt_DrvAVD_AVD_SCAN_HSYNC_CHECK,buffer_arg,sizeof(buffer_arg));
210 break;
211 case MDrv_CMD_AVD_StartAutoStandardDetection:
212 u32Ret=UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
213 break;
214 case MDrv_CMD_AVD_ForceVideoStandard:
215 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DrvAVD_AVD_FORCEVIDEOSTANDARD,spt_DrvAVD_AVD_FORCEVIDEOSTANDARD,buffer_arg,sizeof(buffer_arg));
216 break;
217 case MDrv_CMD_AVD_3DCombSpeedup:
218 u32Ret=UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
219 break;
220 case MDrv_CMD_AVD_LoadDSP :
221 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_LOADDSP,NULL,buffer_arg,sizeof(buffer_arg));
222 break;
223 case MDrv_CMD_AVD_BackPorchWindowPositon :
224 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_BACKPORCHWINPOS,NULL,buffer_arg,sizeof(buffer_arg));
225 break;
226 case MDrv_CMD_AVD_MBX_ReadByteByVDMbox:
227 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DrvAVD_AVD_MBXREADBYTEBYVDMBOX,spt_DrvAVD_AVD_MBXREADBYTEBYVDMBOX,buffer_arg,sizeof(buffer_arg));
228 break;
229 case MDrv_CMD_AVD_SetFlag:
230 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,u32AVDValue,NULL,buffer_arg,sizeof(buffer_arg));
231 break;
232 case MDrv_CMD_AVD_SetRegValue :
233 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_SETREGVALUE,NULL,buffer_arg,sizeof(buffer_arg));
234 break;
235 case MDrv_CMD_AVD_SetRegFromDSP:
236 u32Ret=UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
237 break;
238 case MDrv_CMD_AVD_SetInput :
239 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_SETINPUT,spt_AVD_SETINPUT,buffer_arg,sizeof(buffer_arg));
240 break;
241 case MDrv_CMD_AVD_SetVideoStandard :
242 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_SETVIDEOSTANDARD,spt_AVD_SETVIDEOSTANDARD,buffer_arg,sizeof(buffer_arg));
243 break;
244 case MDrv_CMD_AVD_SetChannelChange:
245 u32Ret=UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
246 break;
247 case MDrv_CMD_AVD_SetHsyncDetectionForTuning:
248 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,bAVDEnable,NULL,buffer_arg,sizeof(buffer_arg));
249 break;
250 case MDrv_CMD_AVD_Set3dComb:
251 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,bAVDEnable,NULL,buffer_arg,sizeof(buffer_arg));
252 break;
253 case MDrv_CMD_AVD_SetShiftClk :
254 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_SETSHIFTCLK,NULL,buffer_arg,sizeof(buffer_arg));
255 break;
256 case MDrv_CMD_AVD_SetFreerunPLL:
257 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,eVideoFreq,NULL,buffer_arg,sizeof(buffer_arg));
258 break;
259 case MDrv_CMD_AVD_SetFreerunFreq:
260 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,eFreerunfreq,NULL,buffer_arg,sizeof(buffer_arg));
261 break;
262 case MDrv_CMD_AVD_SetFactoryPara :
263 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_SETFACTORYPARA,NULL,buffer_arg,sizeof(buffer_arg));
264 break;
265 case MDrv_CMD_AVD_Set_Htt_UserMD :
266 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,u16AVDValue,NULL,buffer_arg,sizeof(buffer_arg));
267 break;
268 case MDrv_CMD_AVD_SetDbgLevel:
269 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DrvAVD_AVD_SETDBGLEVEL,spt_DrvAVD_AVD_SETDBGLEVEL,buffer_arg,sizeof(buffer_arg));
270 break;
271 case MDrv_CMD_AVD_SetPQFineTune:
272 u32Ret=UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
273 break;
274 case MDrv_CMD_AVD_Set3dCombSpeed:
275 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_SET3DCOMBSPEED,NULL,buffer_arg,sizeof(buffer_arg));
276 break;
277 case MDrv_CMD_AVD_SetStillImageParam:
278 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DrvAVD_AVD_Still_Image_Param,NULL,buffer_arg,sizeof(buffer_arg));
279 break;
280 case MDrv_CMD_AVD_SetAFECD4Factory:
281 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,u8AVDValue,NULL,buffer_arg,sizeof(buffer_arg));
282 break;
283 case MDrv_CMD_AVD_Set2D3DPatchOnOff:
284 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,bAVDEnable,NULL,buffer_arg,sizeof(buffer_arg));
285 break;
286 case MDrv_CMD_AVD_SetAutoFineGainToFixed:
287 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,u8AVDValue,buffer_arg,sizeof(buffer_arg));
288 break;
289 case MDrv_CMD_AVD_GetFlag:
290 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
291 break;
292 case MDrv_CMD_AVD_GetRegValue:
293 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DrvAVD_AVD_GETREGVALUE,spt_DrvAVD_AVD_GETREGVALUE,buffer_arg,sizeof(buffer_arg));
294 break;
295 case MDrv_CMD_AVD_GetStatus:
296 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
297 break;
298 case MDrv_CMD_AVD_GetNoiseMag:
299 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
300 break;
301 case MDrv_CMD_AVD_GetVTotal:
302 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
303 break;
304 case MDrv_CMD_AVD_GetStandardDetection :
305 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_GetStandardDetection,spt_AVD_GetStandardDetection,buffer_arg,sizeof(buffer_arg));
306 break;
307 case MDrv_CMD_AVD_GetLastDetectedStandard :
308 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
309 break;
310 case MDrv_CMD_AVD_GetCaptureWindow :
311 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_GETCAPTUREWINDOW,spt_AVD_GETCAPTUREWINDOW,buffer_arg,sizeof(buffer_arg));
312 break;
313 case MDrv_CMD_AVD_GetVerticalFreq:
314 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
315 break;
316 case MDrv_CMD_AVD_GetHsyncEdge:
317 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
318 break;
319 case MDrv_CMD_AVD_GetDSPFineGain:
320 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
321 break;
322 case MDrv_CMD_AVD_GetDSPVersion:
323 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
324 break;
325 case MDrv_CMD_AVD_GetLibVer:
326 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DrvAVD_AVD_GETLIBVER,spt_DrvAVD_AVD_GETLIBVER,buffer_arg,sizeof(buffer_arg));
327 break;
328 case MDrv_CMD_AVD_GetInfo:
329 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
330 break;
331 case MDrv_CMD_AVD_IsSyncLocked:
332 UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
333 break;
334 case MDrv_CMD_AVD_IsSignalInterlaced:
335 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
336 break;
337 case MDrv_CMD_AVD_IsColorOn:
338 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
339 break;
340 case MDrv_CMD_AVD_SetPowerState:
341 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DrvAVD_AVD_SETPOWERSTATE,spt_DrvAVD_AVD_SETPOWERSTATE,buffer_arg,sizeof(buffer_arg));
342 break;
343 case MDrv_CMD_AVD_GetMacroVisionDetect:
344 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
345 break;
346 case MDrv_CMD_AVD_GetCGMSDetect:
347 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
348 break;
349 case MDrv_CMD_AVD_SetBurstWinStart:
350 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_AVD_SETBURSTWINSTART,NULL,buffer_arg,sizeof(buffer_arg));
351 break;
352 case MDrv_CMD_AVD_AliveCheck:
353 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
354 break;
355 case MDrv_CMD_AVD_IsLockAudioCarrier:
356 UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_AVD_CopyToUser,buffer_arg,sizeof(buffer_arg));
357 break;
358 default:
359 break;
360
361 }
362
363 return u32Ret;
364 // return UtopiaIoctl(pModuleDDI->pInstant,u32Cmd,arg);
365 }
366