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