1 #include <linux/kernel.h>
2 #include <linux/string.h>
3 #include <linux/slab.h>
4
5 #include "MsTypes.h"
6 #include "utopia.h"
7 #include "utopia_adp.h"
8
9 #include "drvDMD_INTERN_DVBT_v2.h"
10
11 //#include "MsOS.h"
12
13 //#include <linux/kernel.h>
14
15 //Top
16 UADP_STRUCT_POINTER_TABLE spt_DVBT_BOOL_VAL[5];
17 UADP_STRUCT_POINTER_TABLE spt_DVBT_U8_VAL[5];
18 UADP_STRUCT_POINTER_TABLE spt_DVBT_U16_VAL[5];
19 UADP_STRUCT_POINTER_TABLE spt_DVBT_U32_VAL[5];
20 //UADP_STRUCT_POINTER_TABLE spt_DVBT_FLOAT_VAL[5];
21
22 UADP_STRUCT_POINTER_TABLE spt_DVBT_DBG_LEVEL_PARAM[5];
23 UADP_STRUCT_POINTER_TABLE spt_DVBT_EXIT_PARAM[5];
24 UADP_STRUCT_POINTER_TABLE spt_DMD_DVBT_InitData[5];
25 UADP_STRUCT_POINTER_TABLE spt_DVBT_INIT_PARAM[5];
26 UADP_STRUCT_POINTER_TABLE spt_DVBT_GETINFO_PARAM[5];
27 UADP_STRUCT_POINTER_TABLE spt_DMD_DVBT_Info[5];
28 UADP_STRUCT_POINTER_TABLE spt_DVBT_GETINFO_RETURN_PARAM[5];
29 UADP_STRUCT_POINTER_TABLE spt_DVBT_GETREG_PARAM[5];
30 UADP_STRUCT_POINTER_TABLE spt_DVBT_SETREG_PARAM[5];
31 UADP_STRUCT_POINTER_TABLE spt_DVBT_SetSerialControl_PARAM[5];
32 UADP_STRUCT_POINTER_TABLE spt_DVBT_SetConfig_PARAM[5];
33 UADP_STRUCT_POINTER_TABLE spt_DVBT_SetConfigHPLP_PARAM[5];
34 UADP_STRUCT_POINTER_TABLE spt_DVBT_SetConfigHPLPSetIF_PARAM[5];
35 UADP_STRUCT_POINTER_TABLE spt_DVBT_SetActive_PARAM[5];
36 UADP_STRUCT_POINTER_TABLE spt_DMD_LOCK_STATUS[5];
37 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetLock_PARAM[5];
38 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetSignalStrength_PARAM[5];
39 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetSignalStrengthWithRFPower_PARAM[5];
40 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetSignalQuality_PARAM[5];
41 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetSignalQualityWithRFPower_PARAM[5];
42
43 /******bryan add******/
44 UADP_STRUCT_POINTER_TABLE spt_DVBT_GETLIBVER_PARAM[5];
45 UADP_STRUCT_POINTER_TABLE spt_DVBT_MSIF_Version[5];
46
47 UADP_STRUCT_POINTER_TABLE spt_DVBT_GETFWVER_PARAM[5];
48 UADP_STRUCT_POINTER_TABLE spt_U16_Val[5];
49
50
51 UADP_STRUCT_POINTER_TABLE spt_PDVBT_GetFreqOffset_PARAM[5];
52 UADP_STRUCT_POINTER_TABLE spt_DMD_DVBT_InitData_Transform[5];
53 /***** end of bryan add*****/
54
55 //arthur
56 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetIFAGC_PARAM[5];
57 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetSNR_PARAM[5];
58 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetPostViterbiBer_PARAM[5];
59 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetPacketErr_PARAM[5];
60 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetTPSInfo_PARAM[5];
61 UADP_STRUCT_POINTER_TABLE spt_DVBT_GetCellID_PARAM[5];
62 UADP_STRUCT_POINTER_TABLE spt_DVBT_SetPowerState_PARAM[5];
63
64 UADP_STRUCT_POINTER_TABLE spt_DVBT_8BYTE_PARAM[5];
65 //UADP_STRUCT_POINTER_TABLE spt_DVBC_8BYTE_PARAM[5];
66
DVBT_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)67 MS_U32 DVBT_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
68 {
69 MS_U32 u32Ret = 0;
70 char buffer_arg[2048];
71
72 switch(u32Cmd)
73 {
74 case DMD_DVBT_DRV_CMD_Init:
75 #ifdef MS_DEBUG
76 printf("kernal mode DVBTIoctl - MDrv_DMD_DVBT_Init\n");
77 #endif
78 u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_INIT_PARAM, spt_DVBT_INIT_PARAM, buffer_arg, sizeof(buffer_arg));
79 break;
80 case DMD_DVBT_DRV_CMD_Exit:
81 #ifdef MS_DEBUG
82 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_Exit\n");
83 #endif
84 u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_EXIT_PARAM, spt_DVBT_EXIT_PARAM, buffer_arg, sizeof(buffer_arg));
85 break;
86 case DMD_DVBT_DRV_CMD_SetDbgLeve :
87 #ifdef MS_DEBUG
88 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_SetDbgLevel\n");
89 #endif
90 u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_DBG_LEVEL_PARAM, spt_DVBT_DBG_LEVEL_PARAM, buffer_arg, sizeof(buffer_arg));
91 break;
92
93 /*bryan temp mark*/
94 /*
95 case DMD_DVBT_DRV_CMD_GetInfo:
96 printk("bryan kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetInfo\n");
97 u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GETREG_PARAM, spt_DVBT_GETREG_PARAM, buffer_arg, sizeof(buffer_arg));
98 break;
99 */
100 case DMD_DVBT_DRV_CMD_GetLibVer:
101 #ifdef MS_DEBUG
102 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetLibVer\n");
103 #endif
104 u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GETLIBVER_PARAM, spt_DVBT_GETLIBVER_PARAM, buffer_arg, sizeof(buffer_arg));
105 break;
106 case DMD_DVBT_DRV_CMD_GetFWVer:
107 #ifdef MS_DEBUG
108 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetFWVer\n");
109 #endif
110 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GETFWVER_PARAM, spt_DVBT_GETFWVER_PARAM, buffer_arg, sizeof(buffer_arg));
111 break;
112 case DMD_DVBT_DRV_CMD_GetReg:
113 #ifdef MS_DEBUG
114 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetReg\n");
115 #endif
116 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GETREG_PARAM, spt_DVBT_GETREG_PARAM, buffer_arg, sizeof(buffer_arg));
117 break;
118 case DMD_DVBT_DRV_CMD_SetReg:
119 #ifdef MS_DEBUG
120 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_SetReg\n");
121 #endif
122 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_SETREG_PARAM, spt_DVBT_SETREG_PARAM, buffer_arg, sizeof(buffer_arg));
123 break;
124 case DMD_DVBT_DRV_CMD_SetSerialControl:
125 #ifdef MS_DEBUG
126 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_SetSerialControl\n");
127 #endif
128 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_SetSerialControl_PARAM, spt_DVBT_SetSerialControl_PARAM, buffer_arg, sizeof(buffer_arg));
129 break;
130 case DMD_DVBT_DRV_CMD_SetConfigHPLPSetIF:
131 #ifdef MS_DEBUG
132 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_SetConfigHPLPSetIF\n");
133 #endif
134 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_SetConfigHPLPSetIF_PARAM, spt_DVBT_SetConfigHPLPSetIF_PARAM, buffer_arg, sizeof(buffer_arg));
135 break;
136 case DMD_DVBT_DRV_CMD_SetActive:
137 #ifdef MS_DEBUG
138 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_SetSetActive\n");
139 #endif
140 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_SetActive_PARAM, spt_DVBT_SetActive_PARAM, buffer_arg, sizeof(buffer_arg));
141 break;
142 case DMD_DVBT_DRV_CMD_GetLock:
143 #ifdef MS_DEBUG
144 //printf("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetLock\n");
145 #endif
146 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GetLock_PARAM, spt_DVBT_GetLock_PARAM, buffer_arg, sizeof(buffer_arg));
147 break;
148
149 /*bryan temp mark*/
150 #if(0)
151 case DMD_DVBT_DRV_CMD_GetSignalStrengthWithRFPower:
152 #ifdef MS_DEBUG
153 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetSignalStrengthWithRFPower:\n");
154 #endif
155 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GetSignalStrengthWithRFPower_PARAM, spt_DVBT_GetSignalStrengthWithRFPower_PARAM, buffer_arg, sizeof(buffer_arg));
156 break;
157 case DMD_DVBT_DRV_CMD_GetSignalQualityWithRFPower:
158 #ifdef MS_DEBUG
159 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetSignalQualityWithRFPower:\n");
160 #endif
161 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GetSignalQualityWithRFPower_PARAM, spt_DVBT_GetSignalQualityWithRFPower_PARAM, buffer_arg, sizeof(buffer_arg));
162 break;
163 #endif
164 /* bryan temp mark */
165 #if(1)
166 case DMD_DVBT_DRV_CMD_GetSNR:
167 #ifdef MS_DEBUG
168 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetSNR:\n");
169 #endif
170 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GetSNR_PARAM, spt_DVBT_GetSNR_PARAM, buffer_arg, sizeof(buffer_arg));
171 break;
172 #endif
173
174 case DMD_DVBT_DRV_CMD_GetPacketErr:
175 #ifdef MS_DEBUG
176 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetSignalQualityWithRFPower:\n");
177 #endif
178 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_U16_VAL, spt_DVBT_U16_VAL, buffer_arg, sizeof(buffer_arg));
179 break;
180
181 case DMD_DVBT_DRV_CMD_GetTPSInfo:
182 #ifdef MS_DEBUG
183 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetSignalQualityWithRFPower:\n");
184 #endif
185 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GetTPSInfo_PARAM, spt_DVBT_GetTPSInfo_PARAM, buffer_arg, sizeof(buffer_arg));
186 break;
187
188
189 case DMD_DVBT_DRV_CMD_GetCellID:
190 #ifdef MS_DEBUG
191 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetCellID:\n");
192 #endif
193 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_GetCellID_PARAM, spt_DVBT_GetCellID_PARAM, buffer_arg, sizeof(buffer_arg));
194 break;
195
196
197 /*bryan temp mark*/
198 #if(0)
199 case DMD_DVBT_DRV_CMD_GetFreqOffset:
200 #ifdef MS_DEBUG
201 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_GetCellID:\n");
202 #endif
203 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_PDVBT_GetFreqOffset_PARAM, spt_PDVBT_GetFreqOffset_PARAM, buffer_arg, sizeof(buffer_arg));
204 break;
205 #endif
206
207 #if(0)
208 case DMD_DVBT_DRV_CMD_NORDIGSSITableWrite:
209
210 break;
211
212 case DMD_DVBT_DRV_CMD_NORDIGSSITableRead:
213
214 break;
215 #endif
216
217 case DMD_DVBT_DRV_CMD_SetPowerState:
218 #ifdef MS_DEBUG
219 printk("kernal mode DVBTIoctl - MDrv_DMD_DVBT_SetPowerState:\n");
220 #endif
221 u32Ret =UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBT_SetPowerState_PARAM, spt_DVBT_SetPowerState_PARAM, buffer_arg, sizeof(buffer_arg));
222 break;
223
224 //arthur
225 case DMD_DVBT_DRV_CMD_GetPostViterbiBer:
226 #ifdef MS_DEBUG
227 printf("kernal mode DVBTIoctl - DMD_DVBT_DRV_CMD_GetPostViterbiBer\n");
228 #endif
229 u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBT_GetPostViterbiBer_PARAM,spt_DVBT_GetPostViterbiBer_PARAM, buffer_arg, sizeof(buffer_arg));
230 break;
231
232 case DMD_DVBT_DRV_CMD_GetIFAGC:
233 #ifdef MS_DEBUG
234 printf("kernal mode DVBTIoctl - DMD_DVBT_DRV_CMD_GetIFAGC\n");
235 #endif
236 u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBT_GetIFAGC_PARAM,spt_DVBT_GetIFAGC_PARAM, buffer_arg, sizeof(buffer_arg));
237 break;
238
239 default:
240 break;
241
242 }
243
244 return u32Ret;
245 // return UtopiaIoctl(pModuleDDI->pInstant,u32Cmd,arg);
246 }
247
DVBT_adp_Init(FUtopiaIOctl * pIoctl)248 MS_U32 DVBT_adp_Init(FUtopiaIOctl* pIoctl)
249 {
250
251 //set table
252 UADP_SPT_BGN(&spt_DVBT_DBG_LEVEL_PARAM[0], sizeof(DVBT_SETDBG_LEVEL_PARAM));
253 UADP_SPT_FIN(&spt_DVBT_DBG_LEVEL_PARAM[1]);
254
255 UADP_SPT_BGN(&spt_DVBT_EXIT_PARAM[0],sizeof(DVBT_EXIT_PARAM));
256 UADP_SPT_FIN(&spt_DVBT_EXIT_PARAM[1]);
257
258 // UADP_SPT_BGN(&spt_DMD_DVBT_InitData[0], sizeof(DMD_DVBT_InitData_Transform));
259 // UADP_SPT_FIN(&spt_DMD_DVBT_InitData[1]);
260
261
262 UADP_SPT_BGN(&spt_DVBT_8BYTE_PARAM[0],8);
263 UADP_SPT_FIN(&spt_DVBT_8BYTE_PARAM[1]);
264
265 //bryan test
266 #if(0)
267 UADP_SPT_BGN(&spt_DVBT_INIT_PARAM[0], sizeof(DVBT_INIT_PARAM));
268 UADP_SPT_FIN(&spt_DVBT_INIT_PARAM[1]); //UADP_SPT_NXT(&spt_DVBT_INIT_PARAM[1], DVBT_INIT_PARAM, pDMD_DVBT_InitData, spt_DMD_DVBT_InitData);
269 #else
270
271 #if(0)
272 UADP_SPT_BGN(&spt_DVBT_INIT_PARAM[0], sizeof(DVBT_INIT_PARAM));
273 UADP_SPT_NXT(&spt_DVBT_INIT_PARAM[1], DVBT_INIT_PARAM, DMD_DVBT_InitData, spt_DMD_DVBT_InitData);
274 UADP_SPT_FIN(&spt_DVBT_INIT_PARAM[2]); //UADP_SPT_NXT(&spt_DVBT_INIT_PARAM[1], DVBT_INIT_PARAM, pDMD_DVBT_InitData, spt_DMD_DVBT_InitData);
275 #else
276 UADP_SPT_BGN(&spt_DMD_DVBT_InitData_Transform[0], sizeof(DMD_DVBT_InitData_Transform));
277 UADP_SDT_KIND(&spt_DMD_DVBT_InitData_Transform[1], DMD_DVBT_InitData_Transform, UADP_SDT_P2N, u8DMD_DVBT_DSPRegInitExt, spt_DVBT_8BYTE_PARAM);
278 UADP_SDT_KIND(&spt_DMD_DVBT_InitData_Transform[2], DMD_DVBT_InitData_Transform, UADP_SDT_P2N, u8DMD_DVBT_InitExt, spt_DVBT_8BYTE_PARAM);
279 UADP_SPT_FIN(&spt_DMD_DVBT_InitData_Transform[3]);
280
281 UADP_SPT_BGN(&spt_DVBT_INIT_PARAM[0], sizeof(DVBT_INIT_PARAM));
282 UADP_SDT_KIND(&spt_DVBT_INIT_PARAM[1], DVBT_INIT_PARAM, UADP_SDT_P2N,DMD_DVBT_InitData, spt_DMD_DVBT_InitData_Transform);
283 UADP_SPT_FIN(&spt_DVBT_INIT_PARAM[2]); //UADP_SPT_NXT(&spt_DVBT_INIT_PARAM[1], DVBT_INIT_PARAM, pDMD_DVBT_InitData, spt_DMD_DVBT_InitData);
284
285 #endif
286
287 #endif
288 /*
289 UADP_SPT_BGN(&spt_DVBT_GETINFO_PARAM[0], sizeof(DVBT_GETINFO_PARAM));
290 UADP_SPT_FIN(&spt_DVBT_GETINFO_PARAM[1]);
291 */
292
293 //bryan add
294 UADP_SPT_BGN(&spt_DVBT_GETLIBVER_PARAM[0], sizeof(DVBT_GETLIBVER_PARAM));
295 UADP_SPT_NXT(&spt_DVBT_GETLIBVER_PARAM[1], DVBT_GETLIBVER_PARAM, ppVersion, spt_DVBT_MSIF_Version);
296 UADP_SPT_FIN(&spt_DVBT_GETLIBVER_PARAM[2]);
297
298 UADP_SPT_BGN(&spt_DVBT_GETFWVER_PARAM[0],sizeof(DVBT_GETFWVER_PARAM));
299 UADP_SPT_NXT(&spt_DVBT_GETFWVER_PARAM[1], DVBT_GETFWVER_PARAM, ver, spt_U16_Val);
300 UADP_SPT_FIN(&spt_DVBT_GETFWVER_PARAM[2]);
301
302 /*bryam temp mark*/
303 #if(0)
304 UADP_SPT_BGN(&spt_PDVBT_GetFreqOffset_PARAM[0], sizeof(DVBT_GetFreqOffset_PARAM));
305 UADP_SPT_NXT(&spt_PDVBT_GetFreqOffset_PARAM[1], DVBT_GetFreqOffset_PARAM,pFreqOff,spt_DVBT_U16_VAL);
306 UADP_SPT_FIN(&spt_PDVBT_GetFreqOffset_PARAM[2]);
307 #endif
308
309 //end of bryan add
310
311 /*bryan temp mark*/
312 #if(0)
313 UADP_SPT_BGN(&spt_DMD_DVBT_Info[0], sizeof(DMD_DVBT_Info));
314 UADP_SPT_FIN(&spt_DMD_DVBT_Info[1]);
315 #endif
316 /*UADP_SPT_BGN(&spt_DVBT_GETINFO_RETURN_PARAM[0], sizeof(DVBT_GETINFO_RETURN_PARAM));
317 UADP_SPT_NXT(&spt_DVBT_GETINFO_RETURN_PARAM[1], DVBT_GETINFO_RETURN_PARAM, pInfo, spt_DMD_DVBT_Info);
318 UADP_SPT_FIN(&spt_DVBT_GETINFO_RETURN_PARAM[2]);
319 */
320 UADP_SPT_BGN(&spt_DVBT_U8_VAL[0], sizeof(MS_U8));
321 UADP_SPT_FIN(&spt_DVBT_U8_VAL[1]);
322 UADP_SPT_BGN(&spt_DVBT_GETREG_PARAM[0], sizeof(DVBT_GETREG_PARAM));
323 UADP_SPT_NXT(&spt_DVBT_GETREG_PARAM[1], DVBT_GETREG_PARAM, pu8Data, spt_DVBT_U8_VAL);
324 UADP_SPT_FIN(&spt_DVBT_GETREG_PARAM[2]);
325
326 UADP_SPT_BGN(&spt_DVBT_SETREG_PARAM[0], sizeof(DVBT_SETREG_PARAM));
327 UADP_SPT_FIN(&spt_DVBT_SETREG_PARAM[1]);
328
329 UADP_SPT_BGN(&spt_DVBT_SetSerialControl_PARAM[0], sizeof(DVBT_SetSerialControl_PARAM));
330 UADP_SPT_FIN(&spt_DVBT_SetSerialControl_PARAM[1]);
331
332 UADP_SPT_BGN(&spt_DVBT_SetConfig_PARAM[0], sizeof(DVBT_SetConfig_PARAM));
333 UADP_SPT_FIN(&spt_DVBT_SetConfig_PARAM[1]);
334
335 UADP_SPT_BGN(&spt_DVBT_SetConfigHPLP_PARAM[0], sizeof(DVBT_SetConfigHPLP_PARAM));
336 UADP_SPT_FIN(&spt_DVBT_SetConfigHPLP_PARAM[1]);
337
338 UADP_SPT_BGN(&spt_DVBT_SetConfigHPLPSetIF_PARAM[0], sizeof(DVBT_SetConfigHPLPSetIF_PARAM));
339 UADP_SPT_FIN(&spt_DVBT_SetConfigHPLPSetIF_PARAM[1]);
340
341 UADP_SPT_BGN(&spt_DVBT_SetActive_PARAM[0], sizeof(DVBT_SetActive_PARAM));
342 UADP_SPT_FIN(&spt_DVBT_SetActive_PARAM[1]);
343
344 UADP_SPT_BGN(&spt_DMD_LOCK_STATUS[0], sizeof(DMD_LOCK_STATUS));
345 UADP_SPT_FIN(&spt_DMD_LOCK_STATUS[1]);
346
347 UADP_SPT_BGN(&spt_DVBT_GetLock_PARAM[0], sizeof(DVBT_GetLock_PARAM));
348 UADP_SPT_NXT(&spt_DVBT_GetLock_PARAM[1], DVBT_GetLock_PARAM, eLockStatus, spt_DMD_LOCK_STATUS);
349 UADP_SPT_FIN(&spt_DVBT_GetLock_PARAM[2]);
350
351 UADP_SPT_BGN(&spt_DVBT_U16_VAL[0], sizeof(MS_U16));
352 UADP_SPT_FIN(&spt_DVBT_U16_VAL[1]);
353
354 /*bryan temp mark*/
355 #if(0)
356 UADP_SPT_BGN(&spt_DVBT_GetSignalStrength_PARAM[0], sizeof(DVBT_GetSignalStrength_PARAM));
357 UADP_SPT_NXT(&spt_DVBT_GetSignalStrength_PARAM[1], DVBT_GetSignalStrength_PARAM, u16Strength, spt_DVBT_U16_VAL);
358 UADP_SPT_FIN(&spt_DVBT_GetSignalStrength_PARAM[2]);
359 #endif
360
361
362 UADP_SPT_BGN(&spt_DVBT_U16_VAL[0], sizeof(MS_U16));
363 UADP_SPT_FIN(&spt_DVBT_U16_VAL[1]);
364
365 /*bryan temp mark*/
366 #if(0)
367 UADP_SPT_BGN(&spt_DVBT_GetSignalStrengthWithRFPower_PARAM[0], sizeof(DVBT_GetSignalStrengthWithRFPower_PARAM));
368 UADP_SPT_NXT(&spt_DVBT_GetSignalStrengthWithRFPower_PARAM[1], DVBT_GetSignalStrengthWithRFPower_PARAM, u16Strength, spt_DVBT_U16_VAL);
369 UADP_SPT_FIN(&spt_DVBT_GetSignalStrengthWithRFPower_PARAM[2]);
370 #endif
371
372 UADP_SPT_BGN(&spt_DVBT_U16_VAL[0], sizeof(MS_U16));
373 UADP_SPT_FIN(&spt_DVBT_U16_VAL[1]);
374
375 /*bryan temp mark*/
376 #if(0)
377 UADP_SPT_BGN(&spt_DVBT_GetSignalQuality_PARAM[0], sizeof(DVBT_GetSignalQuality_PARAM));
378 UADP_SPT_NXT(&spt_DVBT_GetSignalQuality_PARAM[1], DVBT_GetSignalQuality_PARAM, u16Quality, spt_DVBT_U16_VAL);
379 UADP_SPT_FIN(&spt_DVBT_GetSignalQuality_PARAM[2]);
380 #endif
381
382 UADP_SPT_BGN(&spt_DVBT_U16_VAL[0], sizeof(MS_U16));
383 UADP_SPT_FIN(&spt_DVBT_U16_VAL[1]);
384
385 /*bryan temp mark*/
386 #if(0)
387 UADP_SPT_BGN(&spt_DVBT_GetSignalQualityWithRFPower_PARAM[0], sizeof(DVBT_GetSignalQualityWithRFPower_PARAM));
388 UADP_SPT_NXT(&spt_DVBT_GetSignalQualityWithRFPower_PARAM[1], DVBT_GetSignalQualityWithRFPower_PARAM, u16Quality, spt_DVBT_U16_VAL);
389 UADP_SPT_FIN(&spt_DVBT_GetSignalQualityWithRFPower_PARAM[2]);
390 #endif
391
392 #if 0
393 UADP_SPT_BGN(&spt_DVBT_FLOAT_VAL[0], sizeof(float));
394 UADP_SPT_FIN(&spt_DVBT_FLOAT_VAL[1]);
395 #endif
396 //arthur
397 UADP_SPT_BGN(&spt_DVBT_GetSNR_PARAM[0], sizeof(DVBT_GetSNR_PARAM));
398 UADP_SPT_NXT(&spt_DVBT_GetSNR_PARAM[1], DVBT_GetSNR_PARAM, noise_power_reg, spt_DVBT_U32_VAL);
399 UADP_SPT_FIN(&spt_DVBT_GetSNR_PARAM[2]);
400
401
402 UADP_SPT_BGN(&spt_DVBT_U16_VAL[0], sizeof(MS_U16));
403 UADP_SPT_FIN(&spt_DVBT_U16_VAL[1]);
404 UADP_SPT_BGN(&spt_DVBT_GetPacketErr_PARAM[0], sizeof(DVBT_GetPacketErr_PARAM));
405 UADP_SPT_NXT(&spt_DVBT_GetPacketErr_PARAM[1], DVBT_GetPacketErr_PARAM, pktErr, spt_DVBT_U16_VAL);
406 UADP_SPT_FIN(&spt_DVBT_GetPacketErr_PARAM[2]);
407
408 UADP_SPT_BGN(&spt_DVBT_U16_VAL[0], sizeof(MS_U16));
409 UADP_SPT_FIN(&spt_DVBT_U16_VAL[1]);
410 UADP_SPT_BGN(&spt_DVBT_GetTPSInfo_PARAM[0], sizeof(DVBT_GetTPSInfo_PARAM));
411 UADP_SPT_NXT(&spt_DVBT_GetTPSInfo_PARAM[1], DVBT_GetTPSInfo_PARAM, u16Info, spt_DVBT_U16_VAL);
412 UADP_SPT_FIN(&spt_DVBT_GetTPSInfo_PARAM[2]);
413
414 UADP_SPT_BGN(&spt_DVBT_U16_VAL[0], sizeof(MS_U16));
415 UADP_SPT_FIN(&spt_DVBT_U16_VAL[1]);
416
417 UADP_SPT_BGN(&spt_DVBT_GetCellID_PARAM[0], sizeof(DVBT_GetCellID_PARAM));
418 UADP_SPT_NXT(&spt_DVBT_GetCellID_PARAM[1], DVBT_GetCellID_PARAM, u16CellID, spt_DVBT_U16_VAL);
419 UADP_SPT_FIN(&spt_DVBT_GetCellID_PARAM[2]);
420
421 UADP_SPT_BGN(&spt_DVBT_SetPowerState_PARAM[0], sizeof(DVBT_SetPowerState_PARAM));
422 UADP_SPT_FIN(&spt_DVBT_SetPowerState_PARAM[1]);
423
424 //arthur
425 UADP_SPT_BGN(&spt_DVBT_GetPostViterbiBer_PARAM[0],sizeof(DVBT_GetPostViterbiBer_PARAM));
426 UADP_SDT_KIND(&spt_DVBT_GetPostViterbiBer_PARAM[1],DVBT_GetPostViterbiBer_PARAM,UADP_SDT_P2N,BitErr_reg,spt_DVBT_U32_VAL);
427 UADP_SDT_KIND(&spt_DVBT_GetPostViterbiBer_PARAM[2],DVBT_GetPostViterbiBer_PARAM,UADP_SDT_P2N,BitErrPeriod_reg,spt_DVBT_U16_VAL);
428 UADP_SDT_KIND(&spt_DVBT_GetPostViterbiBer_PARAM[3],DVBT_GetPostViterbiBer_PARAM,UADP_SDT_P2N,PktErr_reg,spt_DVBT_U16_VAL);
429 UADP_SPT_FIN(&spt_DVBT_GetPostViterbiBer_PARAM[4]);
430
431 UADP_SPT_BGN(&spt_DVBT_GetIFAGC_PARAM[0],sizeof(DVBT_GetIFAGC_PARAM));
432 UADP_SDT_KIND(&spt_DVBT_GetIFAGC_PARAM[1],DVBT_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_reg,spt_DVBT_U16_VAL);
433 UADP_SDT_KIND(&spt_DVBT_GetIFAGC_PARAM[2],DVBT_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_reg_lsb,spt_DVBT_U16_VAL);
434 UADP_SDT_KIND(&spt_DVBT_GetIFAGC_PARAM[3],DVBT_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_err_reg,spt_DVBT_U16_VAL);
435 UADP_SPT_FIN(&spt_DVBT_GetIFAGC_PARAM[4]);
436
437 *pIoctl= (FUtopiaIOctl)DVBT_adp_Ioctl;
438
439 return TRUE;
440 }
441
442
443
444
445
446
447