xref: /utopia/UTPA2-700.0.x/modules/demodulator/utopia_adaption/demod/DVBC_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_DVBC_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_DVBC_BOOL_VAL[5];
16*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_U8_VAL[5];
17*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_U16_VAL[5];
18*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_U32_VAL[5];
19*53ee8cc1Swenshuai.xi 
20*53ee8cc1Swenshuai.xi //pointer parameter
21*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DMD_DVBC_InitData_Transform[5];
22*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DMD_DVBC_Info[5];
23*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DMD_DVBC_MODULATION_TYPE[5];
24*53ee8cc1Swenshuai.xi 
25*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_Dual_Public_Init_PARAM[5];
26*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_Dual_Individual_Init_PARAM[5];
27*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_Init_PARAM[5];
28*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_EXIT_PARAM_PARAM[5];
29*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_SetDbgLevel_PARAM[5];
30*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetInfo_PARAM[5];
31*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetFWVer_PARAM[5];
32*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetDSPReg_PARAM[5];
33*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_SetDSPReg_PARAM[5];
34*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetReg_PARAM[5];
35*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_SetReg_PARAM[5];
36*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_SetSerialControl_PARAM[5];
37*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_SetConfig_Symbol_rate_list_PARAM[5];
38*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_SetActive_PARAM[5];
39*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetLockWithRFPower[5];
40*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_ActiveDmdSwitch_PARAM[5];
41*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetPacketErr_PARAM[5];
42*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetCellID_PARAM[5];
43*53ee8cc1Swenshuai.xi 
44*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_LOCK_STATUS_PARAM[5];
45*53ee8cc1Swenshuai.xi //bryan temp used
46*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetStatus_PARAM[7];
47*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_SetPowerState_PARAM[5];
48*53ee8cc1Swenshuai.xi 
49*53ee8cc1Swenshuai.xi //waiting add
50*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetIFAGC_PARAM[5];
51*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetSNR_PARAM[5];
52*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetPostViterbiBer_PARAM[5];
53*53ee8cc1Swenshuai.xi 
54*53ee8cc1Swenshuai.xi #if UFO_DEMOD_DVBC_GET_AGC_INFO
55*53ee8cc1Swenshuai.xi //bryan add
56*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_GetAGCInfo_PARAM[5];
57*53ee8cc1Swenshuai.xi #endif
58*53ee8cc1Swenshuai.xi 
59*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_DVBC_8BYTE_PARAM[5];
60*53ee8cc1Swenshuai.xi 
DVBC_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)61*53ee8cc1Swenshuai.xi MS_U32 DVBC_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
62*53ee8cc1Swenshuai.xi {
63*53ee8cc1Swenshuai.xi     MS_U32 u32Ret = 0;
64*53ee8cc1Swenshuai.xi     char buffer_arg[2048];
65*53ee8cc1Swenshuai.xi 
66*53ee8cc1Swenshuai.xi 
67*53ee8cc1Swenshuai.xi     switch(u32Cmd)
68*53ee8cc1Swenshuai.xi     {
69*53ee8cc1Swenshuai.xi #if defined(CHIP_KAISER)||defined(CHIP_K6LITE)
70*53ee8cc1Swenshuai.xi 	case DMD_DVBC_DRV_CMD_Dual_Public_Init:
71*53ee8cc1Swenshuai.xi 		#ifdef MS_DEBUG
72*53ee8cc1Swenshuai.xi 	  printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_Dual_Public_Init\n");
73*53ee8cc1Swenshuai.xi 	  #endif
74*53ee8cc1Swenshuai.xi          u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBC_Dual_Public_Init_PARAM, spt_DVBC_Dual_Public_Init_PARAM, buffer_arg, sizeof(buffer_arg));
75*53ee8cc1Swenshuai.xi 	break;
76*53ee8cc1Swenshuai.xi 
77*53ee8cc1Swenshuai.xi        case DMD_DVBC_DRV_CMD_Dual_Individual_Init:
78*53ee8cc1Swenshuai.xi     #ifdef MS_DEBUG
79*53ee8cc1Swenshuai.xi 	  printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_Dual_Individual_Init\n");
80*53ee8cc1Swenshuai.xi 	  #endif
81*53ee8cc1Swenshuai.xi          u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBC_Dual_Individual_Init_PARAM, spt_DVBC_Dual_Individual_Init_PARAM, buffer_arg, sizeof(buffer_arg));
82*53ee8cc1Swenshuai.xi     	break;
83*53ee8cc1Swenshuai.xi 
84*53ee8cc1Swenshuai.xi     	#endif
85*53ee8cc1Swenshuai.xi 
86*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_Init:
87*53ee8cc1Swenshuai.xi       #ifdef MS_DEBUG
88*53ee8cc1Swenshuai.xi 	    printk("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_Init\n");
89*53ee8cc1Swenshuai.xi 	    #endif
90*53ee8cc1Swenshuai.xi            u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_DVBC_Init_PARAM, spt_DVBC_Init_PARAM, buffer_arg, sizeof(buffer_arg));
91*53ee8cc1Swenshuai.xi         break;
92*53ee8cc1Swenshuai.xi 
93*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_Exit:
94*53ee8cc1Swenshuai.xi         #ifdef MS_DEBUG
95*53ee8cc1Swenshuai.xi             printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_Exit\n");
96*53ee8cc1Swenshuai.xi        #endif
97*53ee8cc1Swenshuai.xi 	     u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL,spt_DVBC_EXIT_PARAM_PARAM, buffer_arg, sizeof(buffer_arg));
98*53ee8cc1Swenshuai.xi         break;
99*53ee8cc1Swenshuai.xi 
100*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_SetDbgLevel:
101*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
102*53ee8cc1Swenshuai.xi         	printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_SetDbgLevels\n");
103*53ee8cc1Swenshuai.xi           #endif
104*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_SetDbgLevel_PARAM,spt_DVBC_SetDbgLevel_PARAM, buffer_arg, sizeof(buffer_arg));
105*53ee8cc1Swenshuai.xi         break;
106*53ee8cc1Swenshuai.xi 
107*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_GetInfo:
108*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
109*53ee8cc1Swenshuai.xi 				  printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetInfo\n");
110*53ee8cc1Swenshuai.xi 					#endif
111*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetInfo_PARAM,spt_DVBC_GetInfo_PARAM, buffer_arg, sizeof(buffer_arg));
112*53ee8cc1Swenshuai.xi         break;
113*53ee8cc1Swenshuai.xi 
114*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_GetLibVer:
115*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
116*53ee8cc1Swenshuai.xi 				  printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetLibVer\n");
117*53ee8cc1Swenshuai.xi 					#endif
118*53ee8cc1Swenshuai.xi 	  //waiting temp mark
119*53ee8cc1Swenshuai.xi 	  /*
120*53ee8cc1Swenshuai.xi 	  u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetLibVer_PARAM,spt_DVBC_GetLibVer_PARAM, buffer_arg, sizeof(buffer_arg));
121*53ee8cc1Swenshuai.xi     u32Ret = psDVBCInstPri->fpDVBC_GetLibVer(((PDVBC_GetLibVer_PARAM)pArgs)->ppVersion);\
122*53ee8cc1Swenshuai.xi            ((PDVBC_GetLibVer_PARAM)pArgs)->ret=bRet);
123*53ee8cc1Swenshuai.xi     */
124*53ee8cc1Swenshuai.xi         break;
125*53ee8cc1Swenshuai.xi 
126*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_GetFWVer:
127*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
128*53ee8cc1Swenshuai.xi 					printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetFWVer\n");
129*53ee8cc1Swenshuai.xi 					#endif
130*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetFWVer_PARAM,spt_DVBC_GetFWVer_PARAM, buffer_arg, sizeof(buffer_arg));
131*53ee8cc1Swenshuai.xi         break;
132*53ee8cc1Swenshuai.xi 
133*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_GetDSPReg:
134*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
135*53ee8cc1Swenshuai.xi 					printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetDSPReg\n");
136*53ee8cc1Swenshuai.xi 					#endif
137*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetDSPReg_PARAM,spt_DVBC_GetDSPReg_PARAM, buffer_arg, sizeof(buffer_arg));
138*53ee8cc1Swenshuai.xi         break;
139*53ee8cc1Swenshuai.xi 
140*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_SetDSPReg:
141*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
142*53ee8cc1Swenshuai.xi 					printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_SetDSPReg\n");
143*53ee8cc1Swenshuai.xi 					#endif
144*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_SetDSPReg_PARAM,spt_DVBC_SetDSPReg_PARAM, buffer_arg, sizeof(buffer_arg));
145*53ee8cc1Swenshuai.xi         break;
146*53ee8cc1Swenshuai.xi 
147*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_GetReg:
148*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
149*53ee8cc1Swenshuai.xi 					printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetReg\n");
150*53ee8cc1Swenshuai.xi 					#endif
151*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetReg_PARAM,spt_DVBC_GetReg_PARAM, buffer_arg, sizeof(buffer_arg));
152*53ee8cc1Swenshuai.xi         break;
153*53ee8cc1Swenshuai.xi 
154*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_SetReg:
155*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
156*53ee8cc1Swenshuai.xi 					printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_SetReg\n");
157*53ee8cc1Swenshuai.xi 					#endif
158*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_SetReg_PARAM,spt_DVBC_SetReg_PARAM, buffer_arg, sizeof(buffer_arg));
159*53ee8cc1Swenshuai.xi         break;
160*53ee8cc1Swenshuai.xi 
161*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_SetSerialControl:
162*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
163*53ee8cc1Swenshuai.xi 					printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_SetSerialControl\n");
164*53ee8cc1Swenshuai.xi 					#endif
165*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_SetSerialControl_PARAM,spt_DVBC_SetSerialControl_PARAM, buffer_arg, sizeof(buffer_arg));
166*53ee8cc1Swenshuai.xi         break;
167*53ee8cc1Swenshuai.xi 
168*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_SetSetConfig_symbol_rate_list:
169*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
170*53ee8cc1Swenshuai.xi 					printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_SetSetConfig_symbol_rate_list\n");
171*53ee8cc1Swenshuai.xi 					#endif
172*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_SetConfig_Symbol_rate_list_PARAM,spt_DVBC_SetConfig_Symbol_rate_list_PARAM, buffer_arg, sizeof(buffer_arg));
173*53ee8cc1Swenshuai.xi         break;
174*53ee8cc1Swenshuai.xi 
175*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_SetActive:
176*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
177*53ee8cc1Swenshuai.xi         	printk("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_SetActive\n");
178*53ee8cc1Swenshuai.xi         	#endif
179*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_SetActive_PARAM,spt_DVBC_SetActive_PARAM, buffer_arg, sizeof(buffer_arg));
180*53ee8cc1Swenshuai.xi         break;
181*53ee8cc1Swenshuai.xi 
182*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_GetLockWithRFPower:
183*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
184*53ee8cc1Swenshuai.xi         	printk("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetLockWithRFPower\n");
185*53ee8cc1Swenshuai.xi         	#endif
186*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetLockWithRFPower,spt_DVBC_GetLockWithRFPower, buffer_arg, sizeof(buffer_arg));
187*53ee8cc1Swenshuai.xi 	      break;
188*53ee8cc1Swenshuai.xi 
189*53ee8cc1Swenshuai.xi 	      /*
190*53ee8cc1Swenshuai.xi         case DMD_DVBC_DRV_CMD_GetSignalStrengthWithRFPower:
191*53ee8cc1Swenshuai.xi         	#ifdef MS_DEBUG
192*53ee8cc1Swenshuai.xi         	printk("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetSignalStrengthWithRFPower\n");
193*53ee8cc1Swenshuai.xi         	#endif
194*53ee8cc1Swenshuai.xi 		u32Ret = psDVBCInstPri->DMD_DVBC_GetSignalStrengthWithRFPower(((PDVBC_GetSignalStrengthWithRFPower_PARAM)pArgs)->u16Strength,\
195*53ee8cc1Swenshuai.xi 		         ((PDVBC_GetSignalStrengthWithRFPower_PARAM)pArgs)->ret=bRet);
196*53ee8cc1Swenshuai.xi         break;
197*53ee8cc1Swenshuai.xi 
198*53ee8cc1Swenshuai.xi 	      case DMD_DVBC_DRV_CMD_GetSignalQualityWithRFPower:
199*53ee8cc1Swenshuai.xi 	      	#ifdef MS_DEBUG
200*53ee8cc1Swenshuai.xi         	printk("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetSignalQualityWithRFPower\n");
201*53ee8cc1Swenshuai.xi         	#endif
202*53ee8cc1Swenshuai.xi 		u32Ret = psDVBCInstPri->fpDVBC_GetSignalQualityWithRFPower((PDVBC_GetSignalStrengthWithRFPower_PARAM)pArgs->u16Strength,\
203*53ee8cc1Swenshuai.xi 		         ((PDVBC_GetSignalStrengthWithRFPower_PARAM)pArgs->ret=bRet);
204*53ee8cc1Swenshuai.xi 	      break;
205*53ee8cc1Swenshuai.xi 	      */
206*53ee8cc1Swenshuai.xi 
207*53ee8cc1Swenshuai.xi        case DMD_DVBC_DRV_CMD_ActiveDmdSwitch:
208*53ee8cc1Swenshuai.xi        	 #ifdef MS_DEBUG
209*53ee8cc1Swenshuai.xi 				 printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_ActiveDmdSwitch\n");
210*53ee8cc1Swenshuai.xi 				 #endif
211*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_ActiveDmdSwitch_PARAM,spt_DVBC_ActiveDmdSwitch_PARAM, buffer_arg, sizeof(buffer_arg));
212*53ee8cc1Swenshuai.xi        break;
213*53ee8cc1Swenshuai.xi 
214*53ee8cc1Swenshuai.xi        /*
215*53ee8cc1Swenshuai.xi        case DMD_DVBC_DRV_CMD_GetSNR:
216*53ee8cc1Swenshuai.xi        	 #ifdef MS_DEBUG
217*53ee8cc1Swenshuai.xi 				 printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetSNR\n");
218*53ee8cc1Swenshuai.xi 				 #endif
219*53ee8cc1Swenshuai.xi     u32Ret = psDVBCInstPri->fpDVBC_GetSNR((PDVBC_GetSNR_PARAM)pArgs->snr_reg);\
220*53ee8cc1Swenshuai.xi        	     ((PDVBC_GetSNR_PARAM)pArgs->ret=bRet);
221*53ee8cc1Swenshuai.xi        break;
222*53ee8cc1Swenshuai.xi 
223*53ee8cc1Swenshuai.xi        case DMD_DVBC_DRV_CMD_GetPostViterbiBer:
224*53ee8cc1Swenshuai.xi        	 #ifdef MS_DEBUG
225*53ee8cc1Swenshuai.xi 				 printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetPostViterbiBer\n");
226*53ee8cc1Swenshuai.xi 				 #endif
227*53ee8cc1Swenshuai.xi 		u32Ret = psDVBCInstPri->fpDVBC_GetPostViterbiBer((PDVBC_GetPostViterbiBer_PARAM)pArgs->ber_reg);
228*53ee8cc1Swenshuai.xi 		       ((PDVBC_GetPostViterbiBer_PARAM)pArgs->ret=bRet);
229*53ee8cc1Swenshuai.xi        break;
230*53ee8cc1Swenshuai.xi        */
231*53ee8cc1Swenshuai.xi 
232*53ee8cc1Swenshuai.xi        case DMD_DVBC_DRV_CMD_GetPacketErr:
233*53ee8cc1Swenshuai.xi        	 #ifdef MS_DEBUG
234*53ee8cc1Swenshuai.xi 		     printf(KERN_EMERG"bryan kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetPacketErr\n");
235*53ee8cc1Swenshuai.xi 			   #endif
236*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetPacketErr_PARAM,spt_DVBC_GetPacketErr_PARAM, buffer_arg, sizeof(buffer_arg));
237*53ee8cc1Swenshuai.xi        break;
238*53ee8cc1Swenshuai.xi 
239*53ee8cc1Swenshuai.xi 	     case DMD_DVBC_DRV_CMD_GetCellID:
240*53ee8cc1Swenshuai.xi 		     #ifdef MS_DEBUG
241*53ee8cc1Swenshuai.xi 		     printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetCellID\n");
242*53ee8cc1Swenshuai.xi 				 #endif
243*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetCellID_PARAM,spt_DVBC_GetCellID_PARAM, buffer_arg, sizeof(buffer_arg));
244*53ee8cc1Swenshuai.xi 	     break;
245*53ee8cc1Swenshuai.xi 
246*53ee8cc1Swenshuai.xi 	     case DMD_DVBC_DRV_CMD_GetStatus:
247*53ee8cc1Swenshuai.xi 		     #ifdef MS_DEBUG
248*53ee8cc1Swenshuai.xi 		     printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetStatus\n");
249*53ee8cc1Swenshuai.xi 				 #endif
250*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetStatus_PARAM,spt_DVBC_GetStatus_PARAM, buffer_arg, sizeof(buffer_arg));
251*53ee8cc1Swenshuai.xi 		   break;
252*53ee8cc1Swenshuai.xi 
253*53ee8cc1Swenshuai.xi 	     case DMD_DVBC_DRV_CMD_SetPowerState:
254*53ee8cc1Swenshuai.xi 		     #ifdef MS_DEBUG
255*53ee8cc1Swenshuai.xi 		     printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_SetPowerState\n");
256*53ee8cc1Swenshuai.xi 		     #endif
257*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_SetPowerState_PARAM,spt_DVBC_SetPowerState_PARAM, buffer_arg, sizeof(buffer_arg));
258*53ee8cc1Swenshuai.xi 	     break;
259*53ee8cc1Swenshuai.xi 
260*53ee8cc1Swenshuai.xi 	     //waiting add
261*53ee8cc1Swenshuai.xi 	     case DMD_DVBC_DRV_CMD_GetIFAGC:
262*53ee8cc1Swenshuai.xi 		     #ifdef MS_DEBUG
263*53ee8cc1Swenshuai.xi 		     printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetIFAGC\n");
264*53ee8cc1Swenshuai.xi 		     #endif
265*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetIFAGC_PARAM,spt_DVBC_GetIFAGC_PARAM, buffer_arg, sizeof(buffer_arg));
266*53ee8cc1Swenshuai.xi 	     break;
267*53ee8cc1Swenshuai.xi 
268*53ee8cc1Swenshuai.xi 	     //waiting add
269*53ee8cc1Swenshuai.xi 	     case DMD_DVBC_DRV_CMD_GetSNR:
270*53ee8cc1Swenshuai.xi 		     #ifdef MS_DEBUG
271*53ee8cc1Swenshuai.xi 		     printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetSNR\n");
272*53ee8cc1Swenshuai.xi 		     #endif
273*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetSNR_PARAM,spt_DVBC_GetSNR_PARAM, buffer_arg, sizeof(buffer_arg));
274*53ee8cc1Swenshuai.xi 	     break;
275*53ee8cc1Swenshuai.xi 
276*53ee8cc1Swenshuai.xi 	     //waiting add
277*53ee8cc1Swenshuai.xi 	     case DMD_DVBC_DRV_CMD_GetPostViterbiBer:
278*53ee8cc1Swenshuai.xi 		     #ifdef MS_DEBUG
279*53ee8cc1Swenshuai.xi 		     printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetPostViterbiBer\n");
280*53ee8cc1Swenshuai.xi 		     #endif
281*53ee8cc1Swenshuai.xi 		u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetPostViterbiBer_PARAM,spt_DVBC_GetPostViterbiBer_PARAM, buffer_arg, sizeof(buffer_arg));
282*53ee8cc1Swenshuai.xi 	     break;
283*53ee8cc1Swenshuai.xi 
284*53ee8cc1Swenshuai.xi 	     #ifdef UFO_DEMOD_DVBC_GET_AGC_INFO:
285*53ee8cc1Swenshuai.xi 	     case DMD_DVBC_DRV_CMD_GetAGCInfo:
286*53ee8cc1Swenshuai.xi 	     	 #ifdef MS_DEBUG
287*53ee8cc1Swenshuai.xi 		     printf("kernal mode DVBCIoctl - DMD_DVBC_DRV_CMD_GetAGCInfo\n");
288*53ee8cc1Swenshuai.xi 		     #endif
289*53ee8cc1Swenshuai.xi 	     u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_DVBC_GetAGCInfo_PARAM,spt_DVBC_GetAGCInfo_PARAM, buffer_arg, sizeof(buffer_arg));
290*53ee8cc1Swenshuai.xi 	     break;
291*53ee8cc1Swenshuai.xi 	     #endif
292*53ee8cc1Swenshuai.xi 
293*53ee8cc1Swenshuai.xi 
294*53ee8cc1Swenshuai.xi 
295*53ee8cc1Swenshuai.xi         default:
296*53ee8cc1Swenshuai.xi         break;
297*53ee8cc1Swenshuai.xi 
298*53ee8cc1Swenshuai.xi     }
299*53ee8cc1Swenshuai.xi 
300*53ee8cc1Swenshuai.xi     return u32Ret;
301*53ee8cc1Swenshuai.xi 
302*53ee8cc1Swenshuai.xi }
303*53ee8cc1Swenshuai.xi 
DVBC_adp_Init(FUtopiaIOctl * pIoctl)304*53ee8cc1Swenshuai.xi MS_U32 DVBC_adp_Init(FUtopiaIOctl* pIoctl)
305*53ee8cc1Swenshuai.xi {
306*53ee8cc1Swenshuai.xi     //top parameter
307*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_BOOL_VAL[0], sizeof(MS_BOOL));
308*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_BOOL_VAL[1]);
309*53ee8cc1Swenshuai.xi 
310*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_U8_VAL[0], sizeof(MS_U8));
311*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_U8_VAL[1]);
312*53ee8cc1Swenshuai.xi 
313*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_U16_VAL[0],sizeof(MS_U16));
314*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_U16_VAL[1]);
315*53ee8cc1Swenshuai.xi 
316*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_U32_VAL[0],sizeof(MS_U32));
317*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_U32_VAL[1]);
318*53ee8cc1Swenshuai.xi 
319*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_8BYTE_PARAM[0],8);
320*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_8BYTE_PARAM[1]);
321*53ee8cc1Swenshuai.xi 
322*53ee8cc1Swenshuai.xi 
323*53ee8cc1Swenshuai.xi 
324*53ee8cc1Swenshuai.xi 
325*53ee8cc1Swenshuai.xi     //pointer parameter
326*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DMD_DVBC_InitData_Transform[0],sizeof(DMD_DVBC_InitData_Transform));
327*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DMD_DVBC_InitData_Transform[1], DMD_DVBC_InitData_Transform, UADP_SDT_P2N, u8DMD_DVBC_DSPRegInitExt, spt_DVBC_8BYTE_PARAM);
328*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DMD_DVBC_InitData_Transform[2], DMD_DVBC_InitData_Transform, UADP_SDT_P2N, u8DMD_DVBC_InitExt, spt_DVBC_8BYTE_PARAM);
329*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DMD_DVBC_InitData_Transform[3]);
330*53ee8cc1Swenshuai.xi 
331*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DMD_DVBC_Info[0],sizeof(DMD_DVBC_Info));
332*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DMD_DVBC_Info[1]);
333*53ee8cc1Swenshuai.xi 
334*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DMD_DVBC_MODULATION_TYPE[0],sizeof(DMD_DVBC_MODULATION_TYPE));
335*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DMD_DVBC_MODULATION_TYPE[1]);
336*53ee8cc1Swenshuai.xi 
337*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_LOCK_STATUS_PARAM[0],sizeof(DMD_DVBC_LOCK_STATUS));
338*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_LOCK_STATUS_PARAM[1]);
339*53ee8cc1Swenshuai.xi 
340*53ee8cc1Swenshuai.xi     //function input/output parameter
341*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_Dual_Public_Init_PARAM[0], sizeof(DVBC_Dual_Public_Init_PARAM));
342*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_Dual_Public_Init_PARAM[1]);
343*53ee8cc1Swenshuai.xi 
344*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_Dual_Individual_Init_PARAM[0], sizeof(DVBC_Dual_Individual_Init_PARAM));
345*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_Dual_Individual_Init_PARAM[1], DVBC_Dual_Individual_Init_PARAM, pDMD_DVBC_InitData, spt_DMD_DVBC_InitData_Transform);
346*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_Dual_Individual_Init_PARAM[1], DVBC_Dual_Individual_Init_PARAM, UADP_SDT_P2N, pDMD_DVBC_InitData, spt_DMD_DVBC_InitData_Transform);
347*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_Dual_Individual_Init_PARAM[2]);
348*53ee8cc1Swenshuai.xi 
349*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_Init_PARAM[0],sizeof(DVBC_Init_PARAM));
350*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_Init_PARAM[1], DVBC_Init_PARAM, pDMD_DVBC_InitData, spt_DMD_DVBC_InitData_Transform);
351*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_Init_PARAM[1], DVBC_Init_PARAM, UADP_SDT_P2N, pDMD_DVBC_InitData, spt_DMD_DVBC_InitData_Transform);
352*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_Init_PARAM[2]);
353*53ee8cc1Swenshuai.xi 
354*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_EXIT_PARAM_PARAM[0],sizeof(DVBC_EXIT_PARAM_PARAM));
355*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_EXIT_PARAM_PARAM[1]);
356*53ee8cc1Swenshuai.xi 
357*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_SetDbgLevel_PARAM[0],sizeof(DVBC_SetDbgLevel_PARAM));
358*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_SetDbgLevel_PARAM[1]);
359*53ee8cc1Swenshuai.xi 
360*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetInfo_PARAM[0],sizeof(DVBC_GetInfo_PARAM));
361*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_GetInfo_PARAM[1],DVBC_GetInfo_PARAM,ret_info,spt_DMD_DVBC_Info);
362*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetInfo_PARAM[1],DVBC_GetInfo_PARAM,UADP_SDT_P2N,ret_info,spt_DMD_DVBC_Info);
363*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetInfo_PARAM[2]);
364*53ee8cc1Swenshuai.xi 
365*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetFWVer_PARAM[0],sizeof(DVBC_GetFWVer_PARAM));
366*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_GetFWVer_PARAM[1],DVBC_GetFWVer_PARAM,ver,spt_DVBC_U16_VAL);
367*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetFWVer_PARAM[1],DVBC_GetFWVer_PARAM,UADP_SDT_P2N,ver,spt_DVBC_U16_VAL);
368*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetFWVer_PARAM[2]);
369*53ee8cc1Swenshuai.xi 
370*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetDSPReg_PARAM[0],sizeof(DVBC_GetDSPReg_PARAM));
371*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_GetDSPReg_PARAM[1],DVBC_GetDSPReg_PARAM,pu8Data,spt_DVBC_U8_VAL);
372*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetDSPReg_PARAM[1],DVBC_GetDSPReg_PARAM,UADP_SDT_P2N,pu8Data,spt_DVBC_U8_VAL);
373*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetDSPReg_PARAM[2]);
374*53ee8cc1Swenshuai.xi 
375*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_SetDSPReg_PARAM[0],sizeof(DVBC_SetDSPReg_PARAM));
376*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_SetDSPReg_PARAM[1]);
377*53ee8cc1Swenshuai.xi 
378*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetReg_PARAM[0],sizeof(DVBC_GetReg_PARAM));
379*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_GetReg_PARAM[1],DVBC_GetReg_PARAM,pu8Data,spt_DVBC_U8_VAL);
380*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetReg_PARAM[1],DVBC_GetReg_PARAM,UADP_SDT_P2N,pu8Data,spt_DVBC_U8_VAL);
381*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetReg_PARAM[2]);
382*53ee8cc1Swenshuai.xi 
383*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_SetReg_PARAM[0],sizeof(DVBC_SetReg_PARAM));
384*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_SetReg_PARAM[1]);
385*53ee8cc1Swenshuai.xi 
386*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_SetSerialControl_PARAM[0],sizeof(DVBC_SetSerialControl_PARAM));
387*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_SetSerialControl_PARAM[1]);
388*53ee8cc1Swenshuai.xi 
389*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_SetConfig_Symbol_rate_list_PARAM[0],sizeof(DVBC_SetConfig_Symbol_rate_list_PARAM));
390*53ee8cc1Swenshuai.xi 	// oga add 20160106
391*53ee8cc1Swenshuai.xi 	UADP_SDT_KIND(&spt_DVBC_SetConfig_Symbol_rate_list_PARAM[1], DVBC_SetConfig_Symbol_rate_list_PARAM,UADP_SDT_P2N,pu16_symbol_rate_list,spt_DVBC_U16_VAL);
392*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_SetConfig_Symbol_rate_list_PARAM[2]);
393*53ee8cc1Swenshuai.xi 
394*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_SetActive_PARAM[0],sizeof(DVBC_SetActive_PARAM));
395*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_SetActive_PARAM[1]);
396*53ee8cc1Swenshuai.xi 
397*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetLockWithRFPower[0],sizeof(DVBC_GetLockWithRFPower));
398*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_GetLockWithRFPower_Transform[1],DVBC_GetLockWithRFPower_Transform,eLockStatus,spt_DVBC_LOCK_STATUS_PARAM);
399*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetLockWithRFPower[1],DVBC_GetLockWithRFPower,UADP_SDT_P2N,eLockStatus,spt_DVBC_LOCK_STATUS_PARAM);
400*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetLockWithRFPower[2]);
401*53ee8cc1Swenshuai.xi 
402*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_ActiveDmdSwitch_PARAM[0],sizeof(DVBC_ActiveDmdSwitch_PARAM));
403*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_ActiveDmdSwitch_PARAM[1]);
404*53ee8cc1Swenshuai.xi 
405*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetPacketErr_PARAM[0],sizeof(DVBC_GetPacketErr_PARAM));
406*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_GetPacketErr_PARAM[1],DVBC_GetPacketErr_PARAM,pktErr,spt_DVBC_U16_VAL);
407*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetPacketErr_PARAM[1],DVBC_GetPacketErr_PARAM,UADP_SDT_P2N,pktErr,spt_DVBC_U16_VAL);
408*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetPacketErr_PARAM[2]);
409*53ee8cc1Swenshuai.xi 
410*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetCellID_PARAM[0],sizeof(DVBC_GetCellID_PARAM));
411*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_DVBC_GetCellID_PARAM[1],DVBC_GetCellID_PARAM,u16CellID,spt_DVBC_U16_VAL);
412*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetCellID_PARAM[1],DVBC_GetCellID_PARAM,UADP_SDT_P2N,u16CellID,spt_DVBC_U16_VAL);
413*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetCellID_PARAM[2]);
414*53ee8cc1Swenshuai.xi 
415*53ee8cc1Swenshuai.xi      //bryan temp debug
416*53ee8cc1Swenshuai.xi      UADP_SPT_BGN(&spt_DVBC_GetStatus_PARAM[0],sizeof(DVBC_GetStatus_PARAM));
417*53ee8cc1Swenshuai.xi      //UADP_SPT_NXT(&spt_DVBC_GetStatus_PARAM_Transform[1],DVBC_GetStatus_PARAM_Transform,pQAMMode,spt_DMD_DVBC_MODULATION_TYPE);
418*53ee8cc1Swenshuai.xi      //UADP_SPT_NXT(&spt_DVBC_GetStatus_PARAM_Transform[2],DVBC_GetStatus_PARAM_Transform,u16SymbolRate,spt_DVBC_U16_VAL);
419*53ee8cc1Swenshuai.xi      UADP_SDT_KIND(&spt_DVBC_GetStatus_PARAM[1],DVBC_GetStatus_PARAM,UADP_SDT_P2N,pQAMMode,spt_DMD_DVBC_MODULATION_TYPE);
420*53ee8cc1Swenshuai.xi      UADP_SDT_KIND(&spt_DVBC_GetStatus_PARAM[2],DVBC_GetStatus_PARAM,UADP_SDT_P2N,u16SymbolRate,spt_DVBC_U16_VAL);
421*53ee8cc1Swenshuai.xi      UADP_SDT_KIND(&spt_DVBC_GetStatus_PARAM[3],DVBC_GetStatus_PARAM,UADP_SDT_P2N,config_Fc_reg,spt_DVBC_U32_VAL);
422*53ee8cc1Swenshuai.xi      UADP_SDT_KIND(&spt_DVBC_GetStatus_PARAM[4],DVBC_GetStatus_PARAM,UADP_SDT_P2N,Fc_over_Fs_reg,spt_DVBC_U32_VAL);
423*53ee8cc1Swenshuai.xi      UADP_SDT_KIND(&spt_DVBC_GetStatus_PARAM[5],DVBC_GetStatus_PARAM,UADP_SDT_P2N,Cfo_offset_reg,spt_DVBC_U16_VAL);
424*53ee8cc1Swenshuai.xi      UADP_SPT_FIN(&spt_DVBC_GetStatus_PARAM[6]);
425*53ee8cc1Swenshuai.xi 
426*53ee8cc1Swenshuai.xi 
427*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_SetPowerState_PARAM[0],sizeof(DVBC_SetPowerState_PARAM));
428*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_SetPowerState_PARAM[1]);
429*53ee8cc1Swenshuai.xi 
430*53ee8cc1Swenshuai.xi 
431*53ee8cc1Swenshuai.xi     //waiting add
432*53ee8cc1Swenshuai.xi     //UADP_SPT_BGN(&spt_DVBC_FreqOffset_PARAM[0],sizeof(DMD_DVBC_FreqOffset));
433*53ee8cc1Swenshuai.xi     //UADP_SPT_FIN(&spt_DVBC_FreqOffset_PARAM[1]);
434*53ee8cc1Swenshuai.xi 
435*53ee8cc1Swenshuai.xi     //waiting add
436*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetIFAGC_PARAM[0],sizeof(DVBC_GetIFAGC_PARAM));
437*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetIFAGC_PARAM[1],DVBC_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_reg,spt_DVBC_U16_VAL);
438*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetIFAGC_PARAM[2],DVBC_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_reg_lsb,spt_DVBC_U16_VAL);
439*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetIFAGC_PARAM[3],DVBC_GetIFAGC_PARAM,UADP_SDT_P2N,ifagc_err_reg,spt_DVBC_U16_VAL);
440*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetIFAGC_PARAM[4]);
441*53ee8cc1Swenshuai.xi 
442*53ee8cc1Swenshuai.xi     //waiting add
443*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetSNR_PARAM[0],sizeof(DVBC_GetSNR_PARAM));
444*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetSNR_PARAM[1],DVBC_GetSNR_PARAM,UADP_SDT_P2N,snr_reg,spt_DVBC_U16_VAL);
445*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetSNR_PARAM[2]);
446*53ee8cc1Swenshuai.xi 
447*53ee8cc1Swenshuai.xi     //waiting add
448*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetPostViterbiBer_PARAM[0],sizeof(DVBC_GetPostViterbiBer_PARAM));
449*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetPostViterbiBer_PARAM[1],DVBC_GetPostViterbiBer_PARAM,UADP_SDT_P2N,BitErr_reg,spt_DVBC_U32_VAL);
450*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetPostViterbiBer_PARAM[2],DVBC_GetPostViterbiBer_PARAM,UADP_SDT_P2N,BitErrPeriod_reg,spt_DVBC_U16_VAL);
451*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetPostViterbiBer_PARAM[3]);
452*53ee8cc1Swenshuai.xi 
453*53ee8cc1Swenshuai.xi     //bryan add
454*53ee8cc1Swenshuai.xi     #if UFO_DEMOD_DVBC_GET_AGC_INFO
455*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_DVBC_GetAGCInfo_PARAM[0],sizeof(DVBC_GetAGCInfo_PARAM));
456*53ee8cc1Swenshuai.xi     UADP_SDT_KIND(&spt_DVBC_GetAGCInfo_PARAM[1],DVBC_GetAGCInfo_PARAM,UADP_SDT_P2N,pu16Data,spt_DVBC_U16_VAL);
457*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_DVBC_GetAGCInfo_PARAM[2]);
458*53ee8cc1Swenshuai.xi 		#endif
459*53ee8cc1Swenshuai.xi 
460*53ee8cc1Swenshuai.xi    *pIoctl= (FUtopiaIOctl)DVBC_adp_Ioctl;
461*53ee8cc1Swenshuai.xi 
462*53ee8cc1Swenshuai.xi     return TRUE;
463*53ee8cc1Swenshuai.xi }
464*53ee8cc1Swenshuai.xi 
465*53ee8cc1Swenshuai.xi 
466*53ee8cc1Swenshuai.xi 
467*53ee8cc1Swenshuai.xi 
468*53ee8cc1Swenshuai.xi 
469*53ee8cc1Swenshuai.xi 
470