xref: /utopia/UTPA2-700.0.x/modules/demodulator/utopia_adaption/demod/DVBS_adp.c (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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_DVBS_v2.h"
10 
11 //#include "MsOS.h"
12 
13 //#include <linux/kernel.h>
14 //Top
15 UADP_STRUCT_POINTER_TABLE spt_DVBS_BOOL_VAL[5];
16 UADP_STRUCT_POINTER_TABLE spt_DVBS_U8_VAL[5];
17 UADP_STRUCT_POINTER_TABLE spt_DVBS_U16_VAL[5];
18 UADP_STRUCT_POINTER_TABLE spt_DVBS_S16_VAL[5];
19 UADP_STRUCT_POINTER_TABLE spt_DVBS_U32_VAL[5];
20 UADP_STRUCT_POINTER_TABLE spt_HAL_DEMOD_MS_FE_CARRIER_PARAM[5];
21 UADP_STRUCT_POINTER_TABLE spt_DMD_DVBS_CODE_RATE_TYPE[5];
22 //pointer parameter
23 UADP_STRUCT_POINTER_TABLE spt_DMD_DVBS_InitData_Transform[5];
24 UADP_STRUCT_POINTER_TABLE spt_DMD_DVBS_Info[5];
25 UADP_STRUCT_POINTER_TABLE spt_DMD_DVBS_MODULATION_TYPE[5];
26 UADP_STRUCT_POINTER_TABLE spt_DMD_DVBS_DEMOD_TYPE[5];
27 UADP_STRUCT_POINTER_TABLE spt_DVBS_Init_PARAM[5];
28 UADP_STRUCT_POINTER_TABLE spt_DVBS_EXIT_PARAM[5];
29 UADP_STRUCT_POINTER_TABLE spt_DVBS_SetDbgLevel_PARAM[5];
30 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetInfo_PARAM[5];
31 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetFWVer_PARAM[5];
32 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetDSPReg_PARAM[5];
33 UADP_STRUCT_POINTER_TABLE spt_DVBS_SetDSPReg_PARAM[5];
34 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetReg_PARAM[5];
35 UADP_STRUCT_POINTER_TABLE spt_DVBS_SetReg_PARAM[5];
36 UADP_STRUCT_POINTER_TABLE spt_DVBS_SetSerialControl_PARAM[5];
37 UADP_STRUCT_POINTER_TABLE spt_DVBS_SetConfig_Symbol_rate_list_PARAM[5];
38 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_Config_Symbol_rate_list_PARAM[5];
39 UADP_STRUCT_POINTER_TABLE spt_DVBS_SetActive_PARAM[5];
40 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetLockWithRFPower[5];
41 //UADP_STRUCT_POINTER_TABLE spt_DVBS_GetSignalQualityWithRFPower[5];
42 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetSignalStrengthWithRFPower[5];
43 UADP_STRUCT_POINTER_TABLE spt_DVBS_ActiveDmdSwitch_PARAM[5];
44 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetPacketErr_PARAM[5];
45 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetCellID_PARAM[5];
46 UADP_STRUCT_POINTER_TABLE spt_DVBS_LOCK_STATUS_PARAM[5];
47 UADP_STRUCT_POINTER_TABLE spt_DVBS_Get_FreqOffset_PARAM[5];
48 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetStatus_PARAM[5];
49 UADP_STRUCT_POINTER_TABLE spt_DVBS_SetPowerState_PARAM[5];
50 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetIFAGC_PARAM[5];
51 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetSNR_PARAM[5];
52 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetPostViterbiBer_PARAM[5];
53 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_Start_PARAM[5];
54 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_NextFreq_PARAM[5];
55 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_Cancel_PARAM[5];
56 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_End_PARAM[5];
57 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_GetChannel_PARAM[5];
58 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_GetCurrentFreq_PARAM[5];
59 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[8];
60 UADP_STRUCT_POINTER_TABLE spt_DVBS_BlindScan_GetTunerFreq_PARAM[5];
61 UADP_STRUCT_POINTER_TABLE spt_DVBS_DiSEqC_Init_PARAM[5];
62 UADP_STRUCT_POINTER_TABLE spt_DVBS_DiSEqC_SetLNBOut_PARAM[5];
63 UADP_STRUCT_POINTER_TABLE spt_DVBS_DiSEqC_GetLNBOut_PARAM[5];
64 UADP_STRUCT_POINTER_TABLE spt_DVBS_DiSEqC_Set22kOnOff_PARAM[5];
65 UADP_STRUCT_POINTER_TABLE spt_DVBS_DiSEqC_Get22kOnOff_PARAM[5];
66 UADP_STRUCT_POINTER_TABLE spt_DVBS_DiSEqC_SendCmd_PARAM[5];
67 UADP_STRUCT_POINTER_TABLE spt_DVBS_DiSEqC_SetTxToneMode_PARAM[5];
68 UADP_STRUCT_POINTER_TABLE spt_DVBS_DiSEqC_SetTone_PARAM[5];
69 UADP_STRUCT_POINTER_TABLE spt_DVBS_UnicableAGCCheckPower_PARAM[5];
70 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetTsDivNum_PARAM[9];
71 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetCurrentDemodCodeRate_PARAM[5];
72 UADP_STRUCT_POINTER_TABLE spt_DVBS_GetTunrSignalLevel_PWR_PARAM[5];
73 
74 UADP_STRUCT_POINTER_TABLE spt_DVBS_8BYTE_PARAM[5];
75 
DVBS_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)76 MS_U32 DVBS_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
77 {
78     MS_U32 u32Ret = 0;
79     char buffer_arg[2048];
80 
81 
82     switch(u32Cmd)
83     {
84         case DMD_DVBS_DRV_CMD_Init:
85       #ifdef MS_DEBUG
86 	    printk("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_Init\n");
87 	    #endif
88            u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBS_Init_PARAM, spt_DVBS_Init_PARAM, buffer_arg, sizeof(buffer_arg));
89         break;
90 
91         case DMD_DVBS_DRV_CMD_Exit:
92         #ifdef MS_DEBUG
93             printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_Exit\n");
94        #endif
95 	     u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL,spt_DVBS_EXIT_PARAM, buffer_arg, sizeof(buffer_arg));
96         break;
97 
98         case DMD_DVBS_DRV_CMD_SetDbgLevel:
99         	#ifdef MS_DEBUG
100         	printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_SetDbgLevels\n");
101           #endif
102 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_SetDbgLevel_PARAM,spt_DVBS_SetDbgLevel_PARAM, buffer_arg, sizeof(buffer_arg));
103         break;
104 
105         case DMD_DVBS_DRV_CMD_GetInfo:
106         	#ifdef MS_DEBUG
107 				  printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetInfo\n");
108 					#endif
109 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetInfo_PARAM,spt_DVBS_GetInfo_PARAM, buffer_arg, sizeof(buffer_arg));
110         break;
111 
112         case DMD_DVBS_DRV_CMD_GetLibVer:
113         	#ifdef MS_DEBUG
114 				  printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetLibVer\n");
115 					#endif
116 	  //waiting temp mark
117 	  /*
118 	  u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetLibVer_PARAM,spt_DVBS_GetLibVer_PARAM, buffer_arg, sizeof(buffer_arg));
119     u32Ret = psDVBSInstPri->fpDVBS_GetLibVer(((PDVBS_GetLibVer_PARAM)pArgs)->ppVersion);\
120            ((PDVBS_GetLibVer_PARAM)pArgs)->ret=bRet);
121     */
122         break;
123 
124         case DMD_DVBS_DRV_CMD_GetFWVer:
125         	#ifdef MS_DEBUG
126 					printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetFWVer\n");
127 					#endif
128 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetFWVer_PARAM,spt_DVBS_GetFWVer_PARAM, buffer_arg, sizeof(buffer_arg));
129         break;
130 
131         case DMD_DVBS_DRV_CMD_GetDSPReg:
132         	#ifdef MS_DEBUG
133 					printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetDSPReg\n");
134 					#endif
135 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetDSPReg_PARAM,spt_DVBS_GetDSPReg_PARAM, buffer_arg, sizeof(buffer_arg));
136         break;
137 
138         case DMD_DVBS_DRV_CMD_SetDSPReg:
139         	#ifdef MS_DEBUG
140 					printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_SetDSPReg\n");
141 					#endif
142 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_SetDSPReg_PARAM,spt_DVBS_SetDSPReg_PARAM, buffer_arg, sizeof(buffer_arg));
143         break;
144 
145         case DMD_DVBS_DRV_CMD_GetReg:
146         	#ifdef MS_DEBUG
147 					printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetReg\n");
148 					#endif
149 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetReg_PARAM,spt_DVBS_GetReg_PARAM, buffer_arg, sizeof(buffer_arg));
150         break;
151 
152         case DMD_DVBS_DRV_CMD_SetReg:
153         	#ifdef MS_DEBUG
154 					printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_SetReg\n");
155 					#endif
156 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_SetReg_PARAM,spt_DVBS_SetReg_PARAM, buffer_arg, sizeof(buffer_arg));
157         break;
158 
159         case DMD_DVBS_DRV_CMD_SetSerialControl:
160         	#ifdef MS_DEBUG
161 					printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_SetSerialControl\n");
162 					#endif
163 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_SetSerialControl_PARAM,spt_DVBS_SetSerialControl_PARAM, buffer_arg, sizeof(buffer_arg));
164         break;
165 
166         case DMD_DVBS_DRV_CMD_BlindScan_Config_symbol_rate_list:
167         	#ifdef MS_DEBUG
168 					printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_Config_symbol_rate_list\n");
169 					#endif
170 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_Config_Symbol_rate_list_PARAM,spt_DVBS_BlindScan_Config_Symbol_rate_list_PARAM, buffer_arg, sizeof(buffer_arg));
171         break;
172 
173         case DMD_DVBS_DRV_CMD_SetConfig_symbol_rate_list:
174         	#ifdef MS_DEBUG
175 					printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_SetSetConfig_symbol_rate_list\n");
176 					#endif
177 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_SetConfig_Symbol_rate_list_PARAM,spt_DVBS_SetConfig_Symbol_rate_list_PARAM, buffer_arg, sizeof(buffer_arg));
178         break;
179 
180         case DMD_DVBS_DRV_CMD_SetActive:
181         	#ifdef MS_DEBUG
182         	printk("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_SetActive\n");
183         	#endif
184 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_SetActive_PARAM,spt_DVBS_SetActive_PARAM, buffer_arg, sizeof(buffer_arg));
185         break;
186 
187         case DMD_DVBS_DRV_CMD_GetLockWithRFPower:
188         	#ifdef MS_DEBUG
189         	printk("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetLockWithRFPower\n");
190         	#endif
191 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetLockWithRFPower,spt_DVBS_GetLockWithRFPower, buffer_arg, sizeof(buffer_arg));
192 	      break;
193 
194 
195         case DMD_DVBS_DRV_CMD_GetSignalStrengthWithRFPower:
196         	#ifdef MS_DEBUG
197         	printk("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetSignalStrengthWithRFPower\n");
198         	#endif
199 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetSignalStrengthWithRFPower,spt_DVBS_GetSignalStrengthWithRFPower, buffer_arg, sizeof(buffer_arg));
200         break;
201      /*
202 	      case DMD_DVBS_DRV_CMD_GetSignalQualityWithRFPower:
203 	      	#ifdef MS_DEBUG
204         	printk("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetSignalQualityWithRFPower\n");
205         	#endif
206 		u32Ret = psDVBSInstPri->fpDVBS_GetSignalQualityWithRFPower((PDVBS_GetSignalStrengthWithRFPower_PARAM)pArgs->u16Strength,\
207 		         ((PDVBS_GetSignalStrengthWithRFPower_PARAM)pArgs->ret=bRet);
208 	      break;
209 	      */
210 
211        case DMD_DVBS_DRV_CMD_ActiveDmdSwitch:
212        	 #ifdef MS_DEBUG
213 				 printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_ActiveDmdSwitch\n");
214 				 #endif
215 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_ActiveDmdSwitch_PARAM,spt_DVBS_ActiveDmdSwitch_PARAM, buffer_arg, sizeof(buffer_arg));
216        break;
217 
218        /*
219        case DMD_DVBS_DRV_CMD_GetSNR:
220        	 #ifdef MS_DEBUG
221 				 printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetSNR\n");
222 				 #endif
223     u32Ret = psDVBSInstPri->fpDVBS_GetSNR((PDVBS_GetSNR_PARAM)pArgs->snr_reg);\
224        	     ((PDVBS_GetSNR_PARAM)pArgs->ret=bRet);
225        break;
226 
227        case DMD_DVBS_DRV_CMD_GetPostViterbiBer:
228        	 #ifdef MS_DEBUG
229 				 printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetPostViterbiBer\n");
230 				 #endif
231 		u32Ret = psDVBSInstPri->fpDVBS_GetPostViterbiBer((PDVBS_GetPostViterbiBer_PARAM)pArgs->ber_reg);
232 		       ((PDVBS_GetPostViterbiBer_PARAM)pArgs->ret=bRet);
233        break;
234        */
235 
236        case DMD_DVBS_DRV_CMD_GetPacketErr:
237        	 #ifdef MS_DEBUG
238 		     printf(KERN_EMERG"bryan kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetPacketErr\n");
239 			   #endif
240 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetPacketErr_PARAM,spt_DVBS_GetPacketErr_PARAM, buffer_arg, sizeof(buffer_arg));
241        break;
242 
243 	     case DMD_DVBS_DRV_CMD_GetCellID:
244 		     #ifdef MS_DEBUG
245 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetCellID\n");
246 				 #endif
247 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetCellID_PARAM,spt_DVBS_GetCellID_PARAM, buffer_arg, sizeof(buffer_arg));
248 	     break;
249 
250 	     case DMD_DVBS_DRV_CMD_GetStatus:
251 		     #ifdef MS_DEBUG
252 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetStatus\n");
253 				 #endif
254 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetStatus_PARAM,spt_DVBS_GetStatus_PARAM, buffer_arg, sizeof(buffer_arg));
255 		   break;
256 
257 	     case DMD_DVBS_DRV_CMD_SetPowerState:
258 		     #ifdef MS_DEBUG
259 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_SetPowerState\n");
260 		     #endif
261 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_SetPowerState_PARAM,spt_DVBS_SetPowerState_PARAM, buffer_arg, sizeof(buffer_arg));
262 	     break;
263 
264 	     case DMD_DVBS_DRV_CMD_GetIFAGC:
265 		     #ifdef MS_DEBUG
266 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetIFAGC\n");
267 		     #endif
268 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetIFAGC_PARAM,spt_DVBS_GetIFAGC_PARAM, buffer_arg, sizeof(buffer_arg));
269 	     break;
270 
271 	     case DMD_DVBS_DRV_CMD_GetSNR:
272 		     #ifdef MS_DEBUG
273 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetSNR\n");
274 		     #endif
275 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetSNR_PARAM,spt_DVBS_GetSNR_PARAM, buffer_arg, sizeof(buffer_arg));
276 	     break;
277 
278 	     case DMD_DVBS_DRV_CMD_GetPostViterbiBer:
279 		     #ifdef MS_DEBUG
280 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetPostViterbiBer\n");
281 		     #endif
282 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetPostViterbiBer_PARAM,spt_DVBS_GetPostViterbiBer_PARAM, buffer_arg, sizeof(buffer_arg));
283 	     break;
284 
285 	     case DMD_DVBS_DRV_CMD_Get_FreqOffset:
286 		     #ifdef MS_DEBUG
287 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_Get_FreqOffset\n");
288 		     #endif
289 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_Get_FreqOffset_PARAM,spt_DVBS_Get_FreqOffset_PARAM, buffer_arg, sizeof(buffer_arg));
290 	     break;
291 
292 	     case DMD_DVBS_DRV_CMD_BlindScan_Start:
293 		     #ifdef MS_DEBUG
294 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_Start\n");
295 		     #endif
296 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_Start_PARAM,spt_DVBS_BlindScan_Start_PARAM, buffer_arg, sizeof(buffer_arg));
297 	     break;
298 
299 	     case DMD_DVBS_DRV_CMD_BlindScan_NextFreq:
300 		     #ifdef MS_DEBUG
301 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_NextFreq\n");
302 		     #endif
303 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_NextFreq_PARAM,spt_DVBS_BlindScan_NextFreq_PARAM, buffer_arg, sizeof(buffer_arg));
304 	     break;
305 
306 	     case DMD_DVBS_DRV_CMD_BlindScan_Cancel:
307 		     #ifdef MS_DEBUG
308 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_Cancel\n");
309 		     #endif
310 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_Cancel_PARAM,spt_DVBS_BlindScan_Cancel_PARAM, buffer_arg, sizeof(buffer_arg));
311 	     break;
312 
313 	     case DMD_DVBS_DRV_CMD_BlindScan_End:
314 		     #ifdef MS_DEBUG
315 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_End\n");
316 		     #endif
317 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_End_PARAM,spt_DVBS_BlindScan_End_PARAM, buffer_arg, sizeof(buffer_arg));
318 	     break;
319 
320 	     case DMD_DVBS_DRV_CMD_BlindScan_GetChannel:
321 		     #ifdef MS_DEBUG
322 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_GetChannel\n");
323 		     #endif
324 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_GetChannel_PARAM,spt_DVBS_BlindScan_GetChannel_PARAM, buffer_arg, sizeof(buffer_arg));
325 	     break;
326 
327 	     case DMD_DVBS_DRV_CMD_BlindScan_GetCurrentFreq:
328 		     #ifdef MS_DEBUG
329 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_GetCurrentFreq\n");
330 		     #endif
331 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_GetCurrentFreq_PARAM,spt_DVBS_BlindScan_GetCurrentFreq_PARAM, buffer_arg, sizeof(buffer_arg));
332 	     break;
333 
334 	     case DMD_DVBS_DRV_CMD_BlindScan_WaitCurFreqFinished:
335 		     #ifdef MS_DEBUG
336 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_WaitCurFreqFinished\n");
337 		     #endif
338 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM,spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM, buffer_arg, sizeof(buffer_arg));
339 	     break;
340 
341 	     case DMD_DVBS_DRV_CMD_BlindScan_GetTunerFreq:
342 		     #ifdef MS_DEBUG
343 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_BlindScan_GetTunerFreq\n");
344 		     #endif
345 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_BlindScan_GetTunerFreq_PARAM,spt_DVBS_BlindScan_GetTunerFreq_PARAM, buffer_arg, sizeof(buffer_arg));
346 	     break;
347 
348 	     case DMD_DVBS_DRV_CMD_DiSEqC_Init:
349 		     #ifdef MS_DEBUG
350 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_DiSEqC_Init\n");
351 		     #endif
352 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_DiSEqC_Init_PARAM,spt_DVBS_DiSEqC_Init_PARAM, buffer_arg, sizeof(buffer_arg));
353 	     break;
354 
355 	     case DMD_DVBS_DRV_CMD_DiSEqC_SetLNBOut:
356 		     #ifdef MS_DEBUG
357 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_DiSEqC_SetLNBOut\n");
358 		     #endif
359 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_DiSEqC_SetLNBOut_PARAM,spt_DVBS_DiSEqC_SetLNBOut_PARAM, buffer_arg, sizeof(buffer_arg));
360 	     break;
361 
362 	     case DMD_DVBS_DRV_CMD_DiSEqC_GetLNBOut:
363 		     #ifdef MS_DEBUG
364 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_DiSEqC_GetLNBOut\n");
365 		     #endif
366 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_DiSEqC_GetLNBOut_PARAM,spt_DVBS_DiSEqC_GetLNBOut_PARAM, buffer_arg, sizeof(buffer_arg));
367 	     break;
368 
369 	     case DMD_DVBS_DRV_CMD_DiSEqC_Set22kOnOff:
370 		     #ifdef MS_DEBUG
371 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_DiSEqC_Set22kOnOff\n");
372 		     #endif
373 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_DiSEqC_Set22kOnOff_PARAM,spt_DVBS_DiSEqC_Set22kOnOff_PARAM, buffer_arg, sizeof(buffer_arg));
374 	     break;
375 
376 	     case DMD_DVBS_DRV_CMD_DiSEqC_Get22kOnOff:
377 		     #ifdef MS_DEBUG
378 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_DiSEqC_Get22kOnOff\n");
379 		     #endif
380 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_DiSEqC_Get22kOnOff_PARAM,spt_DVBS_DiSEqC_Get22kOnOff_PARAM, buffer_arg, sizeof(buffer_arg));
381 	     break;
382 
383 	     case DMD_DVBS_DRV_CMD_DiSEqC_SendCmd:
384 		     #ifdef MS_DEBUG
385 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_DiSEqC_SendCmd\n");
386 		     #endif
387 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_DiSEqC_SendCmd_PARAM,spt_DVBS_DiSEqC_SendCmd_PARAM, buffer_arg, sizeof(buffer_arg));
388 	     break;
389 
390 	     case DMD_DVBS_DRV_CMD_DiSEqC_SetTxToneMode:
391 		     #ifdef MS_DEBUG
392 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_DiSEqC_SetTxToneMode\n");
393 		     #endif
394 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_DiSEqC_SetTxToneMode_PARAM,spt_DVBS_DiSEqC_SetTxToneMode_PARAM, buffer_arg, sizeof(buffer_arg));
395 	     break;
396 
397 	     case DMD_DVBS_DRV_CMD_DiSEqC_SetTone:
398 		     #ifdef MS_DEBUG
399 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_DiSEqC_SetTone\n");
400 		     #endif
401 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_DiSEqC_SetTone_PARAM,spt_DVBS_DiSEqC_SetTone_PARAM, buffer_arg, sizeof(buffer_arg));
402 	     break;
403 
404 	     case DMD_DVBS_DRV_CMD_UnicableAGCCheckPower:
405 		     #ifdef MS_DEBUG
406 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_UnicableAGCCheckPower\n");
407 		     #endif
408 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_UnicableAGCCheckPower_PARAM,spt_DVBS_UnicableAGCCheckPower_PARAM, buffer_arg, sizeof(buffer_arg));
409 	     break;
410 
411 	     case DMD_DVBS_DRV_CMD_GetTsDivNum:
412 		     #ifdef MS_DEBUG
413 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetTsDivNum\n");
414 		     #endif
415 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetTsDivNum_PARAM,spt_DVBS_GetTsDivNum_PARAM, buffer_arg, sizeof(buffer_arg));
416 	     break;
417 
418 	     case DMD_DVBS_DRV_CMD_GetCurrentDemodCodeRate:
419 		     #ifdef MS_DEBUG
420 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetCurrentDemodCodeRate\n");
421 		     #endif
422 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetCurrentDemodCodeRate_PARAM,spt_DVBS_GetCurrentDemodCodeRate_PARAM, buffer_arg, sizeof(buffer_arg));
423 	     break;
424 
425 	     case DMD_DVBS_DRV_CMD_GetTunrSignalLevel_PWR:
426 		     #ifdef MS_DEBUG
427 		     printf("kernal mode DVBSIoctl - DMD_DVBS_DRV_CMD_GetTunrSignalLevel_PWR\n");
428 		     #endif
429 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBS_GetTunrSignalLevel_PWR_PARAM,spt_DVBS_GetTunrSignalLevel_PWR_PARAM, buffer_arg, sizeof(buffer_arg));
430 	     break;
431 
432         default:
433         break;
434 
435     }
436 
437     return u32Ret;
438 
439 }
440 
DVBS_adp_Init(FUtopiaIOctl * pIoctl)441 MS_U32 DVBS_adp_Init(FUtopiaIOctl* pIoctl)
442 {
443     //top parameter
444     UADP_SPT_BGN(&spt_DVBS_BOOL_VAL[0], sizeof(MS_BOOL));
445     UADP_SPT_FIN(&spt_DVBS_BOOL_VAL[1]);
446 
447     UADP_SPT_BGN(&spt_DVBS_U8_VAL[0], sizeof(MS_U8));
448     UADP_SPT_FIN(&spt_DVBS_U8_VAL[1]);
449 
450     UADP_SPT_BGN(&spt_DVBS_U16_VAL[0],sizeof(MS_U16));
451     UADP_SPT_FIN(&spt_DVBS_U16_VAL[1]);
452 
453     UADP_SPT_BGN(&spt_DVBS_U32_VAL[0],sizeof(MS_U32));
454     UADP_SPT_FIN(&spt_DVBS_U32_VAL[1]);
455 
456     UADP_SPT_BGN(&spt_DVBS_8BYTE_PARAM[0],8);
457     UADP_SPT_FIN(&spt_DVBS_8BYTE_PARAM[1]);
458 
459 
460 
461 
462     //pointer parameter
463     UADP_SPT_BGN(&spt_DMD_DVBS_InitData_Transform[0],sizeof(DMD_DVBS_InitData_Transform));
464     UADP_SDT_KIND(&spt_DMD_DVBS_InitData_Transform[1], DMD_DVBS_InitData_Transform, UADP_SDT_P2N, u8DMD_DVBS_DSPRegInitExt, spt_DVBS_8BYTE_PARAM);
465     UADP_SDT_KIND(&spt_DMD_DVBS_InitData_Transform[2], DMD_DVBS_InitData_Transform, UADP_SDT_P2N, u8DMD_DVBS_InitExt, spt_DVBS_8BYTE_PARAM);
466     UADP_SPT_FIN(&spt_DMD_DVBS_InitData_Transform[3]);
467 
468     UADP_SPT_BGN(&spt_DMD_DVBS_Info[0],sizeof(DMD_DVBS_Info));
469     UADP_SPT_FIN(&spt_DMD_DVBS_Info[1]);
470 
471     UADP_SPT_BGN(&spt_DMD_DVBS_MODULATION_TYPE[0],sizeof(DMD_DVBS_MODULATION_TYPE));
472     UADP_SPT_FIN(&spt_DMD_DVBS_MODULATION_TYPE[1]);
473 
474     UADP_SPT_BGN(&spt_DMD_DVBS_DEMOD_TYPE[0],sizeof(DMD_DVBS_DEMOD_TYPE));
475     UADP_SPT_FIN(&spt_DMD_DVBS_DEMOD_TYPE[1]);
476 
477     UADP_SPT_BGN(&spt_DVBS_LOCK_STATUS_PARAM[0],sizeof(DMD_DVBS_LOCK_STATUS));
478     UADP_SPT_FIN(&spt_DVBS_LOCK_STATUS_PARAM[1]);
479 
480     //function input/output parameter
481 
482     UADP_SPT_BGN(&spt_DVBS_Init_PARAM[0],sizeof(DVBS_Init_PARAM));
483     //UADP_SPT_NXT(&spt_DVBS_Init_PARAM[1], DVBS_Init_PARAM, pDMD_DVBS_InitData, spt_DMD_DVBS_InitData_Transform);
484     UADP_SDT_KIND(&spt_DVBS_Init_PARAM[1], DVBS_Init_PARAM, UADP_SDT_P2N, pDMD_DVBS_InitData, spt_DMD_DVBS_InitData_Transform);
485     UADP_SPT_FIN(&spt_DVBS_Init_PARAM[2]);
486 
487     UADP_SPT_BGN(&spt_DVBS_EXIT_PARAM[0],sizeof(DVBS_EXIT_PARAM_PARAM));
488     UADP_SPT_FIN(&spt_DVBS_EXIT_PARAM[1]);
489 
490     UADP_SPT_BGN(&spt_DVBS_SetDbgLevel_PARAM[0],sizeof(DVBS_SetDbgLevel_PARAM));
491     UADP_SPT_FIN(&spt_DVBS_SetDbgLevel_PARAM[1]);
492 
493     UADP_SPT_BGN(&spt_DVBS_GetInfo_PARAM[0],sizeof(DVBS_GetInfo_PARAM));
494     //UADP_SPT_NXT(&spt_DVBS_GetInfo_PARAM[1],DVBS_GetInfo_PARAM,ret_info,spt_DMD_DVBS_Info);
495     UADP_SDT_KIND(&spt_DVBS_GetInfo_PARAM[1],DVBS_GetInfo_PARAM,UADP_SDT_P2N,ret_info,spt_DMD_DVBS_Info);
496     UADP_SPT_FIN(&spt_DVBS_GetInfo_PARAM[2]);
497 
498     UADP_SPT_BGN(&spt_DVBS_GetFWVer_PARAM[0],sizeof(DVBS_GetFWVer_PARAM));
499     //UADP_SPT_NXT(&spt_DVBS_GetFWVer_PARAM[1],DVBS_GetFWVer_PARAM,ver,spt_DVBS_U16_VAL);
500     UADP_SDT_KIND(&spt_DVBS_GetFWVer_PARAM[1],DVBS_GetFWVer_PARAM,UADP_SDT_P2N,ver,spt_DVBS_U16_VAL);
501     UADP_SPT_FIN(&spt_DVBS_GetFWVer_PARAM[2]);
502 
503     UADP_SPT_BGN(&spt_DVBS_GetDSPReg_PARAM[0],sizeof(DVBS_GetDSPReg_PARAM));
504     //UADP_SPT_NXT(&spt_DVBS_GetDSPReg_PARAM[1],DVBS_GetDSPReg_PARAM,pu8Data,spt_DVBS_U8_VAL);
505     UADP_SDT_KIND(&spt_DVBS_GetDSPReg_PARAM[1],DVBS_GetDSPReg_PARAM,UADP_SDT_P2N,pu8Data,spt_DVBS_U8_VAL);
506     UADP_SPT_FIN(&spt_DVBS_GetDSPReg_PARAM[2]);
507 
508     UADP_SPT_BGN(&spt_DVBS_SetDSPReg_PARAM[0],sizeof(DVBS_SetDSPReg_PARAM));
509     UADP_SPT_FIN(&spt_DVBS_SetDSPReg_PARAM[1]);
510 
511     UADP_SPT_BGN(&spt_DVBS_GetReg_PARAM[0],sizeof(DVBS_GetReg_PARAM));
512     //UADP_SPT_NXT(&spt_DVBS_GetReg_PARAM[1],DVBS_GetReg_PARAM,pu8Data,spt_DVBS_U8_VAL);
513     UADP_SDT_KIND(&spt_DVBS_GetReg_PARAM[1],DVBS_GetReg_PARAM,UADP_SDT_P2N,pu8Data,spt_DVBS_U8_VAL);
514     UADP_SPT_FIN(&spt_DVBS_GetReg_PARAM[2]);
515 
516     UADP_SPT_BGN(&spt_DVBS_SetReg_PARAM[0],sizeof(DVBS_SetReg_PARAM));
517     UADP_SPT_FIN(&spt_DVBS_SetReg_PARAM[1]);
518 
519     UADP_SPT_BGN(&spt_DVBS_SetSerialControl_PARAM[0],sizeof(DVBS_SetSerialControl_PARAM));
520     UADP_SPT_FIN(&spt_DVBS_SetSerialControl_PARAM[1]);
521 
522     UADP_SPT_BGN(&spt_DVBS_SetConfig_Symbol_rate_list_PARAM[0],sizeof(DVBS_SetConfig_Symbol_rate_list_PARAM));
523     UADP_SDT_KIND(&spt_DVBS_SetConfig_Symbol_rate_list_PARAM[1], DVBS_SetConfig_Symbol_rate_list_PARAM,UADP_SDT_P2N,pu16_symbol_rate_list,spt_DVBS_U16_VAL);
524     UADP_SPT_FIN(&spt_DVBS_SetConfig_Symbol_rate_list_PARAM[2]);
525 
526     UADP_SPT_BGN(&spt_DVBS_BlindScan_Config_Symbol_rate_list_PARAM[0],sizeof(DVBS_BlindScan_Config_Symbol_rate_list_PARAM));
527 	// oga add 20160106
528 	UADP_SDT_KIND(&spt_DVBS_BlindScan_Config_Symbol_rate_list_PARAM[1], DVBS_BlindScan_Config_Symbol_rate_list_PARAM,UADP_SDT_P2N,pu16_symbol_rate_list,spt_DVBS_U16_VAL);
529     UADP_SPT_FIN(&spt_DVBS_BlindScan_Config_Symbol_rate_list_PARAM[2]);
530 
531     UADP_SPT_BGN(&spt_DVBS_SetActive_PARAM[0],sizeof(DVBS_SetActive_PARAM));
532     UADP_SPT_FIN(&spt_DVBS_SetActive_PARAM[1]);
533 
534     UADP_SPT_BGN(&spt_DVBS_GetLockWithRFPower[0],sizeof(DVBS_GetLockWithRFPower));
535     //UADP_SPT_NXT(&spt_DVBS_GetLockWithRFPower_Transform[1],DVBS_GetLockWithRFPower_Transform,eLockStatus,spt_DVBS_LOCK_STATUS_PARAM);
536     UADP_SDT_KIND(&spt_DVBS_GetLockWithRFPower[1],DVBS_GetLockWithRFPower,UADP_SDT_P2N,eLockStatus,spt_DVBS_LOCK_STATUS_PARAM);
537     UADP_SPT_FIN(&spt_DVBS_GetLockWithRFPower[2]);
538 
539     UADP_SPT_BGN(&spt_DVBS_GetSignalStrengthWithRFPower[0],sizeof(DVBS_GetSignalStrengthWithRFPower_PARAM));
540     UADP_SDT_KIND(&spt_DVBS_GetSignalStrengthWithRFPower[1],DVBS_GetSignalStrengthWithRFPower_PARAM,UADP_SDT_P2N,pDemodType,spt_DMD_DVBS_DEMOD_TYPE);
541     UADP_SDT_KIND(&spt_DVBS_GetSignalStrengthWithRFPower[2],DVBS_GetSignalStrengthWithRFPower_PARAM,UADP_SDT_P2N,u8_DVBS2_CurrentCodeRateLocal,spt_DVBS_U8_VAL);
542     UADP_SDT_KIND(&spt_DVBS_GetSignalStrengthWithRFPower[3],DVBS_GetSignalStrengthWithRFPower_PARAM,UADP_SDT_P2N,u8_DVBS2_CurrentConstellationLocal,spt_DVBS_U8_VAL);
543     UADP_SPT_FIN(&spt_DVBS_GetSignalStrengthWithRFPower[4]);
544 
545     UADP_SPT_BGN(&spt_DVBS_ActiveDmdSwitch_PARAM[0],sizeof(DVBS_ActiveDmdSwitch_PARAM));
546     UADP_SPT_FIN(&spt_DVBS_ActiveDmdSwitch_PARAM[1]);
547 
548     UADP_SPT_BGN(&spt_DVBS_GetPacketErr_PARAM[0],sizeof(DVBS_GetPacketErr_PARAM));
549     //UADP_SPT_NXT(&spt_DVBS_GetPacketErr_PARAM[1],DVBS_GetPacketErr_PARAM,pktErr,spt_DVBS_U16_VAL);
550     UADP_SDT_KIND(&spt_DVBS_GetPacketErr_PARAM[1],DVBS_GetPacketErr_PARAM,UADP_SDT_P2N,pktErr,spt_DVBS_U16_VAL);
551     UADP_SPT_FIN(&spt_DVBS_GetPacketErr_PARAM[2]);
552 
553     UADP_SPT_BGN(&spt_DVBS_GetCellID_PARAM[0],sizeof(DVBS_GetCellID_PARAM));
554     //UADP_SPT_NXT(&spt_DVBS_GetCellID_PARAM[1],DVBS_GetCellID_PARAM,u16CellID,spt_DVBS_U16_VAL);
555     UADP_SDT_KIND(&spt_DVBS_GetCellID_PARAM[1],DVBS_GetCellID_PARAM,UADP_SDT_P2N,u16CellID,spt_DVBS_U16_VAL);
556     UADP_SPT_FIN(&spt_DVBS_GetCellID_PARAM[2]);
557 
558      UADP_SPT_BGN(&spt_DVBS_GetStatus_PARAM[0],sizeof(DVBS_GetStatus_PARAM));
559      //UADP_SPT_NXT(&spt_DVBS_GetStatus_PARAM_Transform[1],DVBS_GetStatus_PARAM_Transform,pQAMMode,spt_DMD_DVBS_MODULATION_TYPE);
560      //UADP_SPT_NXT(&spt_DVBS_GetStatus_PARAM_Transform[2],DVBS_GetStatus_PARAM_Transform,u16SymbolRate,spt_DVBS_U16_VAL);
561      UADP_SDT_KIND(&spt_DVBS_GetStatus_PARAM[1],DVBS_GetStatus_PARAM,UADP_SDT_P2N,pQAMMode,spt_DMD_DVBS_MODULATION_TYPE);
562      UADP_SDT_KIND(&spt_DVBS_GetStatus_PARAM[2],DVBS_GetStatus_PARAM,UADP_SDT_P2N,u32SymbolRate,spt_DVBS_U32_VAL);
563      UADP_SDT_KIND(&spt_DVBS_GetStatus_PARAM[3],DVBS_GetStatus_PARAM,UADP_SDT_P2N,s16CFO,spt_DVBS_S16_VAL);
564      UADP_SPT_FIN(&spt_DVBS_GetStatus_PARAM[4]);
565 
566 
567     UADP_SPT_BGN(&spt_DVBS_SetPowerState_PARAM[0],sizeof(DVBS_SetPowerState_PARAM));
568     UADP_SPT_FIN(&spt_DVBS_SetPowerState_PARAM[1]);
569 
570     UADP_SPT_BGN(&spt_DVBS_Get_FreqOffset_PARAM[0],sizeof(DVBS_Get_FreqOffset_PARAM));
571     UADP_SDT_KIND(&spt_DVBS_Get_FreqOffset_PARAM[1],DVBS_GetStatus_PARAM,UADP_SDT_P2N,s16CFO,spt_DVBS_S16_VAL);
572     UADP_SPT_FIN(&spt_DVBS_Get_FreqOffset_PARAM[2]);
573 
574     UADP_SPT_BGN(&spt_DVBS_GetIFAGC_PARAM[0],sizeof(DVBS_GetIFAGC_PARAM));
575     UADP_SDT_KIND(&spt_DVBS_GetIFAGC_PARAM[1],DVBS_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_reg,spt_DVBS_U16_VAL);
576     UADP_SDT_KIND(&spt_DVBS_GetIFAGC_PARAM[2],DVBS_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_reg_lsb,spt_DVBS_U16_VAL);
577     UADP_SDT_KIND(&spt_DVBS_GetIFAGC_PARAM[3],DVBS_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_err_reg,spt_DVBS_U16_VAL);
578     UADP_SPT_FIN(&spt_DVBS_GetIFAGC_PARAM[4]);
579 
580     UADP_SPT_BGN(&spt_DVBS_GetSNR_PARAM[0],sizeof(DVBS_GetSNR_PARAM));
581     UADP_SDT_KIND(&spt_DVBS_GetSNR_PARAM[1],DVBS_GetSNR_PARAM,UADP_SDT_P2N,u32NDA_SNR_A,spt_DVBS_U32_VAL);
582     UADP_SDT_KIND(&spt_DVBS_GetSNR_PARAM[2],DVBS_GetSNR_PARAM,UADP_SDT_P2N,u32NDA_SNR_AB,spt_DVBS_U32_VAL);
583     UADP_SPT_FIN(&spt_DVBS_GetSNR_PARAM[3]);
584 
585     UADP_SPT_BGN(&spt_DVBS_GetPostViterbiBer_PARAM[0],sizeof(DVBS_GetPostViterbiBer_PARAM));
586     UADP_SDT_KIND(&spt_DVBS_GetPostViterbiBer_PARAM[1],DVBS_GetPostViterbiBer_PARAM,UADP_SDT_P2N,BitErr_reg,spt_DVBS_U32_VAL);
587     UADP_SDT_KIND(&spt_DVBS_GetPostViterbiBer_PARAM[2],DVBS_GetPostViterbiBer_PARAM,UADP_SDT_P2N,BitErrPeriod_reg,spt_DVBS_U16_VAL);
588     UADP_SPT_FIN(&spt_DVBS_GetPostViterbiBer_PARAM[3]);
589 
590     UADP_SPT_BGN(&spt_DVBS_BlindScan_NextFreq_PARAM[0],sizeof(DVBS_BlindScan_NextFreq_PARAM));
591     UADP_SDT_KIND(&spt_DVBS_BlindScan_NextFreq_PARAM[1],DVBS_BlindScan_NextFreq_PARAM,UADP_SDT_P2N,bBlindScanEnd,spt_DVBS_BOOL_VAL);
592     UADP_SPT_FIN(&spt_DVBS_BlindScan_NextFreq_PARAM[2]);
593 
594     UADP_SPT_BGN(&spt_DVBS_BlindScan_GetChannel_PARAM[0],sizeof(DVBS_BlindScan_GetChannel_PARAM));
595     UADP_SDT_KIND(&spt_DVBS_BlindScan_GetChannel_PARAM[1],DVBS_BlindScan_GetChannel_PARAM,UADP_SDT_P2N,u16TPNum,spt_DVBS_U16_VAL);
596     UADP_SDT_KIND(&spt_DVBS_BlindScan_GetChannel_PARAM[2],DVBS_BlindScan_GetChannel_PARAM,UADP_SDT_P2N,pTable,spt_HAL_DEMOD_MS_FE_CARRIER_PARAM);
597     UADP_SPT_FIN(&spt_DVBS_BlindScan_GetChannel_PARAM[3]);
598 
599     UADP_SPT_BGN(&spt_DVBS_BlindScan_GetCurrentFreq_PARAM[0],sizeof(DVBS_BlindScan_GetCurrentFreq_PARAM));
600     UADP_SDT_KIND(&spt_DVBS_BlindScan_GetCurrentFreq_PARAM[1],DVBS_BlindScan_GetCurrentFreq_PARAM,UADP_SDT_P2N,u32CurrentFreq,spt_DVBS_U32_VAL);
601     UADP_SPT_FIN(&spt_DVBS_BlindScan_GetCurrentFreq_PARAM[2]);
602 
603     UADP_SPT_BGN(&spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[0],sizeof(DVBS_BlindScan_WaitCurFreqFinished_PARAM));
604     UADP_SDT_KIND(&spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[1],DVBS_BlindScan_WaitCurFreqFinished_PARAM,UADP_SDT_P2N,u8Progress,spt_DVBS_U8_VAL);
605     UADP_SDT_KIND(&spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[2],DVBS_BlindScan_WaitCurFreqFinished_PARAM,UADP_SDT_P2N,u8FindNum,spt_DVBS_U8_VAL);
606     UADP_SDT_KIND(&spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[3],DVBS_BlindScan_WaitCurFreqFinished_PARAM,UADP_SDT_P2N,substate_reg,spt_DVBS_U8_VAL);
607     UADP_SDT_KIND(&spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[4],DVBS_BlindScan_WaitCurFreqFinished_PARAM,UADP_SDT_P2N,u32Data,spt_DVBS_U32_VAL);
608     UADP_SDT_KIND(&spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[5],DVBS_BlindScan_WaitCurFreqFinished_PARAM,UADP_SDT_P2N,symbolrate_reg,spt_DVBS_U16_VAL);
609     UADP_SDT_KIND(&spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[6],DVBS_BlindScan_WaitCurFreqFinished_PARAM,UADP_SDT_P2N,CFO_reg,spt_DVBS_U16_VAL);
610     UADP_SPT_FIN(&spt_DVBS_BlindScan_WaitCurFreqFinished_PARAM[7]);
611 
612     UADP_SPT_BGN(&spt_DVBS_BlindScan_GetTunerFreq_PARAM[0],sizeof(DVBS_BlindScan_GetTunerFreq_PARAM));
613     UADP_SDT_KIND(&spt_DVBS_BlindScan_GetTunerFreq_PARAM[1],DVBS_BlindScan_GetTunerFreq_PARAM,UADP_SDT_P2N,u16TunerCenterFreq,spt_DVBS_U16_VAL);
614     UADP_SDT_KIND(&spt_DVBS_BlindScan_GetTunerFreq_PARAM[2],DVBS_BlindScan_GetTunerFreq_PARAM,UADP_SDT_P2N,u16TunerCutOffFreq,spt_DVBS_U16_VAL);
615     UADP_SPT_FIN(&spt_DVBS_BlindScan_GetTunerFreq_PARAM[3]);
616 
617     UADP_SPT_BGN(&spt_DVBS_DiSEqC_GetLNBOut_PARAM[0],sizeof(DVBS_DiSEqC_GetLNBOut_PARAM));
618     UADP_SDT_KIND(&spt_DVBS_DiSEqC_GetLNBOut_PARAM[1],DVBS_DiSEqC_GetLNBOut_PARAM,UADP_SDT_P2N,bLNBOutLow,spt_DVBS_BOOL_VAL);
619     UADP_SPT_FIN(&spt_DVBS_DiSEqC_GetLNBOut_PARAM[2]);
620 
621     UADP_SPT_BGN(&spt_DVBS_DiSEqC_Get22kOnOff_PARAM[0],sizeof(DVBS_DiSEqC_Get22kOnOff_PARAM));
622     UADP_SDT_KIND(&spt_DVBS_DiSEqC_Get22kOnOff_PARAM[1],DVBS_DiSEqC_Get22kOnOff_PARAM,UADP_SDT_P2N,b22kOn,spt_DVBS_BOOL_VAL);
623     UADP_SPT_FIN(&spt_DVBS_DiSEqC_Get22kOnOff_PARAM[2]);
624 
625     UADP_SPT_BGN(&spt_DVBS_DiSEqC_SendCmd_PARAM[0],sizeof(DVBS_DiSEqC_SendCmd_PARAM));
626     UADP_SDT_KIND(&spt_DVBS_DiSEqC_SendCmd_PARAM[1],DVBS_DiSEqC_SendCmd_PARAM,UADP_SDT_P2N,pCmd,spt_DVBS_U8_VAL);
627     UADP_SPT_FIN(&spt_DVBS_DiSEqC_SendCmd_PARAM[2]);
628 
629     UADP_SPT_BGN(&spt_DVBS_GetTsDivNum_PARAM[0],sizeof(DVBS_GetTsDivNum_PARAM));
630     UADP_SDT_KIND(&spt_DVBS_GetTsDivNum_PARAM[1],DVBS_GetTsDivNum_PARAM,UADP_SDT_P2N,u32SymbolRate,spt_DVBS_U32_VAL);
631     UADP_SDT_KIND(&spt_DVBS_GetTsDivNum_PARAM[2],DVBS_GetTsDivNum_PARAM,UADP_SDT_P2N,system_type_reg,spt_DVBS_U8_VAL);
632     UADP_SDT_KIND(&spt_DVBS_GetTsDivNum_PARAM[3],DVBS_GetTsDivNum_PARAM,UADP_SDT_P2N,code_rate_idx,spt_DVBS_U8_VAL);
633     UADP_SDT_KIND(&spt_DVBS_GetTsDivNum_PARAM[4],DVBS_GetTsDivNum_PARAM,UADP_SDT_P2N,fec_type_idx,spt_DVBS_U8_VAL);
634     UADP_SDT_KIND(&spt_DVBS_GetTsDivNum_PARAM[5],DVBS_GetTsDivNum_PARAM,UADP_SDT_P2N,pilot_flag,spt_DVBS_U8_VAL);
635     UADP_SDT_KIND(&spt_DVBS_GetTsDivNum_PARAM[6],DVBS_GetTsDivNum_PARAM,UADP_SDT_P2N,u32temp,spt_DVBS_U32_VAL);
636     UADP_SDT_KIND(&spt_DVBS_GetTsDivNum_PARAM[7],DVBS_GetTsDivNum_PARAM,UADP_SDT_P2N,code_rate_reg,spt_DVBS_U8_VAL);
637     UADP_SPT_FIN(&spt_DVBS_GetTsDivNum_PARAM[8]);
638 
639     UADP_SPT_BGN(&spt_DVBS_GetCurrentDemodCodeRate_PARAM[0],sizeof(DVBS_GetCurrentDemodCodeRate_PARAM));
640     UADP_SDT_KIND(&spt_DVBS_GetCurrentDemodCodeRate_PARAM[1],DVBS_GetCurrentDemodCodeRate_PARAM,UADP_SDT_P2N,pCodeRate,spt_DMD_DVBS_CODE_RATE_TYPE);
641     UADP_SPT_FIN(&spt_DVBS_GetCurrentDemodCodeRate_PARAM[2]);
642 
643     UADP_SPT_BGN(&spt_DVBS_GetTunrSignalLevel_PWR_PARAM[0],sizeof(DVBS_GetTunrSignalLevel_PWR_PARAM));
644     UADP_SDT_KIND(&spt_DVBS_GetTunrSignalLevel_PWR_PARAM[1],DVBS_GetTunrSignalLevel_PWR_PARAM,UADP_SDT_P2N,u16Data,spt_DVBS_U16_VAL);
645     UADP_SPT_FIN(&spt_DVBS_GetTunrSignalLevel_PWR_PARAM[2]);
646 
647    *pIoctl= (FUtopiaIOctl)DVBS_adp_Ioctl;
648 
649     return TRUE;
650 }
651 
652 
653 
654 
655 
656 
657