1 #include <linux/slab.h>
2 #include <linux/kernel.h>
3 #include <linux/sched.h>
4 #include <linux/string.h>
5 #include <linux/uaccess.h>
6 #include <linux/compat.h>
7 #include "MsOS.h"
8 #include "MsTypes.h"
9 #include "utopia.h"
10 #include "utopia_adp.h"
11 #include "apiXC_Dlc.h"
12 #include "apiXC_DBC.h"
13 #include "apiXC_Dlc_v2.h"
14 #include "DLC_adp.h"
15
16 //Function parameter
17
18 #ifdef MSOS_TYPE_LINUX_KERNEL
19 #define CPY_FROM_USER(a,b,c) if(copy_from_user(a,b,c) != 0) { break; }
20 #define CPY_to_USER(a,b,c) if(copy_to_user(a,b,c) != 0) { break; }
21 #else
22 #define CPY_FROM_USER memcpy
23 #define CPY_to_USER memcpy
24 #endif //MSOS_TYPE_LINUX_KERNEL
25
26
27 #if (defined(MSOS_TYPE_LINUX_KERNEL) && defined(CONFIG_COMPAT))
28 #define IS_CMP_TASK() is_compat_task()
29 #define CMP_CPY_FROM_USER(a,b,c) if(copy_from_user(a, compat_ptr((unsigned long)b), c) != 0) { break; }
30 #define CMP_CPY_TO_USER(a,b,c) if(copy_to_user(compat_ptr((unsigned long)a), b, c) != 0) { break; }
31 #else
32 #define IS_CMP_TASK() (FALSE)
33 #define CMP_CPY_FROM_USER CPY_FROM_USER
34 #define CMP_CPY_TO_USER CPY_to_USER
35 #endif
36
37 //UADP_STRUCT_POINTER_TABLE spt_DLC_INIT_EX[10];
38 UADP_SPT_NAMEnNXT_DEF(ADP_DLC_InitData,0);
39 UADP_SPT_NAMEnNXT_DEF(DLC_INIT_EX,1);
40 //UADP_STRUCT_POINTER_TABLE spt_DLC_SET_SETTING_EX[10];
41 UADP_SPT_NAMEnNXT_DEF(ADP_DLC_MFinit_Ex,0);
42 UADP_SPT_NAMEnNXT_DEF(DLC_SET_SETTING_EX,1);
43 UADP_STRUCT_POINTER_TABLE spt_DLC_SET_CURVE[10];
44 UADP_STRUCT_POINTER_TABLE spt_DLC_SET_BLE_SLOP_POINT[10];
45 UADP_STRUCT_POINTER_TABLE spt_DLC_EXIT[10];
46 UADP_STRUCT_POINTER_TABLE spt_DLC_SET_ON_OFF[10];
47 UADP_STRUCT_POINTER_TABLE spt_DLC_SET_HANDLER_ON_OFF[10];
48 UADP_STRUCT_POINTER_TABLE spt_DLC_SET_BLE_ON_OFF[10];
49 UADP_STRUCT_POINTER_TABLE spt_DLC_ENABLE_MAIN_SUB_CURVE_SYNCHRONIZATION[10];
50 UADP_STRUCT_POINTER_TABLE spt_DLC_HANDLER[10];
51 UADP_STRUCT_POINTER_TABLE spt_DLC_GET_HISTOGRAM_HANDLER[10];
52 UADP_STRUCT_POINTER_TABLE spt_DLC_GET_AVERAGE_VALUE[10];
53 UADP_STRUCT_POINTER_TABLE spt_DLC_GET_AVERAGE_VALUE_EX[10];
54 UADP_STRUCT_POINTER_TABLE spt_DLC_INIT_CURVE[10];
55 UADP_STRUCT_POINTER_TABLE spt_DLC_SPEEDUP_TRIGGER[10];
56 UADP_STRUCT_POINTER_TABLE spt_DLC_GET_LUMA_CURVE_STATUS[10];
57 UADP_STRUCT_POINTER_TABLE spt_DLC_CGC_RESET_C_GAIN[10];
58 UADP_STRUCT_POINTER_TABLE spt_DLC_CGC_CHECK_C_GAIN_IN_PQ_COM[10];
59 UADP_STRUCT_POINTER_TABLE spt_DLC_CGC_RESET_Y_GAIN[10];
60 UADP_STRUCT_POINTER_TABLE spt_DLC_CGC_CHECK_Y_GAIN_IN_PQ_COM[10];
61 UADP_STRUCT_POINTER_TABLE spt_DLC_CGC_RESET[10];
62 UADP_STRUCT_POINTER_TABLE spt_DLC_CGC_INIT[10];
63 UADP_STRUCT_POINTER_TABLE spt_DLC_CGC_REINIT[10];
64 UADP_STRUCT_POINTER_TABLE spt_DLC_CGC_HANDLER[10];
65 UADP_STRUCT_POINTER_TABLE spt_DLC_GET_LIB_VER[10];
66 UADP_STRUCT_POINTER_TABLE spt_DLC_GET_INFO[10];
67 UADP_STRUCT_POINTER_TABLE spt_DLC_GET_STATUS_EX[10];
68 UADP_STRUCT_POINTER_TABLE spt_DLC_SET_DBG_LEVEL[10];
69 UADP_STRUCT_POINTER_TABLE spt_DLC_WRITE_CURVE[10];
70 UADP_STRUCT_POINTER_TABLE spt_DLC_WRITE_CURVE_SUB[10];
71 UADP_STRUCT_POINTER_TABLE spt_DLC_GET_HISTOGRAM[10];
72 //UADP_STRUCT_POINTER_TABLE spt_DLC_DECODE_EXT_CMD[10];
73 UADP_SPT_NAMEnNXT_DEF(ADP_DLC_DECODE_EXT_CMD_params,0);
74 UADP_SPT_NAMEnNXT_DEF(DLC_DECODE_EXT_CMD,1);
75 //UADP_STRUCT_POINTER_TABLE spt_DLC_SET_CAPTURE_RANGE[10];
76 UADP_SPT_NAMEnNXT_DEF(ADP_DLC_CAPTURE_Range,0);
77 UADP_SPT_NAMEnNXT_DEF(DLC_SET_CAPTURE_RANGE,1);
78 //UADP_STRUCT_POINTER_TABLE spt_DLC_SET_SETTING[10];
79 UADP_SPT_NAMEnNXT_DEF(DLC_SET_SETTING,0);
80 //UADP_STRUCT_POINTER_TABLE spt_DLC_INIT[10];
81 UADP_SPT_NAMEnNXT_DEF(ADP_DLC_init,0);
82 UADP_SPT_NAMEnNXT_DEF(DLC_INIT,1);
83 //UADP_STRUCT_POINTER_TABLE spt_DLC_GET_STATUS[10];
84 UADP_SPT_NAMEnNXT_DEF(ADP_DLC_ApiStatus,0);
85 UADP_SPT_NAMEnNXT_DEF(DLC_GET_STATUS,1);
86 UADP_STRUCT_POINTER_TABLE spt_DLC_SET_POWERSTATE[10];
87 //UADP_STRUCT_POINTER_TABLE spt_DBC_DLC_INIT[10];
88 UADP_SPT_NAMEnNXT_DEF(DBC_DLC_INIT,0);
89 UADP_STRUCT_POINTER_TABLE spt_DBC_INIT[10];
90 UADP_STRUCT_POINTER_TABLE spt_DBC_SET_STATUS[10];
91 UADP_STRUCT_POINTER_TABLE spt_DBC_GET_STATUS[10];
92 UADP_STRUCT_POINTER_TABLE spt_DBC_SET_READY[10];
93 UADP_STRUCT_POINTER_TABLE spt_DBC_SET_DEBUG_MODE[10];
94 UADP_STRUCT_POINTER_TABLE spt_DBC_GET_DEBUG_MODE[10];
95 UADP_STRUCT_POINTER_TABLE spt_DBC_UPDATE_PWM[10];
96 UADP_STRUCT_POINTER_TABLE spt_DBC_HANDLER[10];
97 UADP_STRUCT_POINTER_TABLE spt_DBC_ADJUST_YC_GAIN[10];
98 UADP_STRUCT_POINTER_TABLE spt_DBC_YC_GAIN_INIT[10];
99 UADP_STRUCT_POINTER_TABLE spt_DBC_RESET[10];
100 //UADP_STRUCT_POINTER_TABLE spt_DBC_DECODE_EXT_CMD[10];
101 UADP_SPT_NAMEnNXT_DEF(ADP_DECODE_EXT_CMD_PARAMS,0);
102 UADP_SPT_NAMEnNXT_DEF(DBC_DECODE_EXT_CMD,1);
103
104 UADP_STRUCT_POINTER_TABLE spt_DrvDLC_MFinit[10];
105 UADP_STRUCT_POINTER_TABLE spt_DrvDLC_MFinit_Ex[10];
106 UADP_STRUCT_POINTER_TABLE spt_DrvDLC_DBC_MFinit[10];
107 UADP_STRUCT_POINTER_TABLE spt_DrvDLC_init[10];
108 UADP_STRUCT_POINTER_TABLE spt_DrvDLC_lumadata[10];
109 UADP_STRUCT_POINTER_TABLE spt_DrvDLC_ApiStatus[10];
110 UADP_STRUCT_POINTER_TABLE spt_DrvDLC_CAPTURE_Range[10];
111 UADP_STRUCT_POINTER_TABLE spt_DrvDLC_CONTROL_PARAMS[10];
112
113 UADP_SPT_NAMEnNXT_DEF(DLC_TMOInfo,0);
114 UADP_SPT_NAMEnNXT_DEF(DLC_SET_TMOINFO,1);
115
DLC_adp_Init(FUtopiaIOctl * pIoctl)116 MS_U32 DLC_adp_Init(FUtopiaIOctl* pIoctl)
117 {
118
119 //set table
120 MS_U32 temp;
121
122 //Function parameter
123 //stDLC_Init_Ex* pDLC_Init_Ex = (stDLC_Init_Ex*)temp;
124 //stDLC_SetSetting_Ex* pDLC_SetSetting_Ex = (stDLC_SetSetting_Ex*)temp;
125 //stDLC_SetCurve* pDLC_SetCurve = (stDLC_SetCurve*)temp;
126 //stDLC_Exit* pDLC_Exit = (stDLC_Exit*)temp;
127 //stDLC_SetOnOff* pDLC_SetOnOff = (stDLC_SetOnOff*)temp;
128 //stDLC_SetDlcHandlerOnOff* pDLC_SetDlcHandlerOnOff = (stDLC_SetDlcHandlerOnOff*)temp;
129 //stDLC_SetBleOnOff* pDLC_SetBleOnOff = (stDLC_SetBleOnOff*)temp;
130 //stDLC_EnableMainSubCurveSynchronization* pDLC_EnableMainSubCurveSynchronization = (stDLC_EnableMainSubCurveSynchronization*)temp;
131 //stDLC_Handler* pDLC_Handler = (stDLC_Handler*)temp;
132 //stDLC_GetHistogramHandler* pDLC_GetHistogramHandler = (stDLC_GetHistogramHandler*)temp;
133 //stDLC_GetAverageValue* pDLC_GetAverageValue = (stDLC_GetAverageValue*)temp;
134 //stDLC_GetAverageValue_Ex* pDLC_GetAverageValue_Ex = (stDLC_GetAverageValue_Ex*)temp;
135 //stDLC_InitCurve* pDLC_InitCurve = (stDLC_InitCurve*)temp;
136 //stDLC_SpeedupTrigger* pDLC_SpeedupTrigger = (stDLC_SpeedupTrigger*)temp;
137 //stDLC_GetLumaCurveStatus* pDLC_GetLumaCurveStatus = (stDLC_GetLumaCurveStatus*)temp;
138 //stDLC_CGC_ResetCGain* pDLC_CGC_ResetCGain = (stDLC_CGC_ResetCGain*)temp;
139 //stDLC_CGC_CheckCGainInPQCom* pDLC_CGC_CheckCGainInPQCom = (stDLC_CGC_CheckCGainInPQCom*)temp;
140 //stDLC_CGC_ResetYGain* pDLC_CGC_ResetYGain = (stDLC_CGC_ResetYGain*)temp;
141 //stDLC_CGC_CheckYGainInPQCom* pDLC_CGC_CheckYGainInPQCom = (stDLC_CGC_CheckYGainInPQCom*)temp;
142 //stDLC_CGC_Reset* pDLC_CGC_Reset = (stDLC_CGC_Reset*)temp;
143 //stDLC_CGC_Init* pDLC_CGC_Init = (stDLC_CGC_Init*)temp;
144 //stDLC_CGC_ReInit* pDLC_CGC_ReInit = (stDLC_CGC_ReInit*)temp;
145 //stDLC_CGC_Handler* pDLC_CGC_Handler = (stDLC_CGC_Handler*)temp;
146 //stDLC_GetLibVer* pDLC_GetLibVer = (stDLC_GetLibVer*)temp;
147 //stDLC_GetInfo* pDLC_GetInfo = (stDLC_GetInfo*)temp;
148 //stDLC_GetStatus_Ex* pDLC_GetStatus_Ex = (stDLC_GetStatus_Ex*)temp;
149 //stDLC_SetDbgLevel* pDLC_SetDbgLevel = (stDLC_SetDbgLevel*)temp;
150 //stDLC_WriteCurve* pDLC_WriteCurve = (stDLC_WriteCurve*)temp;
151 //stDLC_WriteCurve_Sub* pDLC_WriteCurve_Sub = (stDLC_WriteCurve_Sub*)temp;
152 //stDLC_GetHistogram* pDLC_GetHistogram = (stDLC_GetHistogram*)temp;
153 //stDLC_DecodeExtCmd* pDLC_DecodeExtCmd = (stDLC_DecodeExtCmd*)temp;
154 //stDLC_SetCaptureRange* pDLC_SetCaptureRange = (stDLC_SetCaptureRange*)temp;
155 //stDLC_SetSetting* pDLC_SetSetting = (stDLC_SetSetting*)temp;
156 //stDLC_Init* pDLC_Init = (stDLC_Init*)temp;
157 //stDLC_GetStatus* pDLC_GetStatus = (stDLC_GetStatus*)temp;
158 //stDLC_SetPowerState* pDLC_SetPowerState = (stDLC_SetPowerState*)temp;
159 //stDBC_DLC_Init* pDBC_DLC_Init = (stDBC_DLC_Init*)temp;
160 //stDBC_Init* pDBC_Init = (stDBC_Init*)temp;
161 //stDBC_Setstatus* pDBC_Setstatus = (stDBC_Setstatus*)temp;
162 //stDBC_Getstatus* pDBC_Getstatus = (stDBC_Getstatus*)temp;
163 //stDBC_SetReady* pDBC_SetReady = (stDBC_SetReady*)temp;
164 //stDBC_SetDebugMode* pDBC_SetDebugMode = (stDBC_SetDebugMode*)temp;
165 //stDBC_GetDebugMode* pDBC_GetDebugMode = (stDBC_GetDebugMode*)temp;
166 //stDBC_UpdatePWM* pDBC_UpdatePWMT = (stDBC_UpdatePWM*)temp;
167 //stDBC_Handler* pDBC_Handler = (stDBC_Handler*)temp;
168 //stDBC_AdjustYCGain* pDBC_AdjustYCGain = (stDBC_AdjustYCGain*)temp;
169 //stDBC_YCGainInit* pDBC_YCGainInit = (stDBC_YCGainInit*)temp;
170 //stDBC_Reset* pDBC_Reset = (stDBC_Reset*)temp;
171 //stDBC_DecodeExtCmd* pDBC_DecodeExtCmd = (stDBC_DecodeExtCmd*)temp;
172
173 ////Function parameter's pointer
174 //XC_DLC_MFinit* pDrvDLC_MFinit = (XC_DLC_MFinit*)temp;
175 //XC_DLC_MFinit_Ex* pDrvDLC_MFinit_Ex = (XC_DLC_MFinit_Ex*)temp;
176 //XC_DLC_DBC_MFinit* pDrvDLC_DBC_MFinit = (XC_DLC_DBC_MFinit*)temp;
177 //XC_DLC_init* pDrvDLC_init = (XC_DLC_init*)temp;
178 //XC_DLC_lumadata* pDrvDLC_lumadata = (XC_DLC_lumadata*)temp;
179 //XC_DLC_ApiStatus* pDrvDLC_ApiStatus = (XC_DLC_ApiStatus*)temp;
180 //XC_DLC_CAPTURE_Range* pDrvDLC_CAPTURE_Range = (XC_DLC_CAPTURE_Range*)temp;
181 //tDLC_CONTROL_PARAMS* pDrvDLC_CONTROL_PARAMS = (tDLC_CONTROL_PARAMS*)temp;
182
183
184
185 //Function parameter
186 //UADPBypassSetSPT(&spt_DLC_INIT_EX[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_Init_Ex));
187 //UADPBypassSetSPT(&spt_DLC_INIT_EX[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDLC_Init_Ex->pstXC_DLC_InitData)) - (unsigned int)pDLC_Init_Ex), &spt_DrvDLC_init);
188 //UADPBypassSetSPT(&spt_DLC_INIT_EX[2],UADP_SPT_END , 0, 0);
189 UADP_SPT_NAME0NXT(ADP_DLC_InitData,XC_DLC_init);
190 UADP_SPT_NAME1NXT(DLC_INIT_EX,stDLC_Init_Ex,pstXC_DLC_InitData,ADP_DLC_InitData);
191
192 //UADPBypassSetSPT(&spt_DLC_SET_SETTING_EX[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetSetting_Ex));
193 //UADPBypassSetSPT(&spt_DLC_SET_SETTING_EX[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDLC_SetSetting_Ex->DLC_MFinit_Ex)) - (unsigned int)pDLC_SetSetting_Ex), &spt_DrvDLC_MFinit_Ex);
194 //UADPBypassSetSPT(&spt_DLC_SET_SETTING_EX[2],UADP_SPT_END , 0, 0);
195 UADP_SPT_NAME0NXT(ADP_DLC_MFinit_Ex,XC_DLC_MFinit_Ex);
196 UADP_SPT_NAME1NXT(DLC_SET_SETTING_EX,stDLC_SetSetting_Ex,DLC_MFinit_Ex,ADP_DLC_MFinit_Ex);
197
198 UADPBypassSetSPT(&spt_DLC_SET_CURVE[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetCurve));
199 UADPBypassSetSPT(&spt_DLC_SET_CURVE[1],UADP_SPT_END , 0, 0);
200
201 UADPBypassSetSPT(&spt_DLC_SET_BLE_SLOP_POINT[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetBleSlopPoint));
202 UADPBypassSetSPT(&spt_DLC_SET_BLE_SLOP_POINT[1],UADP_SPT_END , 0, 0);
203
204 UADPBypassSetSPT(&spt_DLC_EXIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_Exit));
205 UADPBypassSetSPT(&spt_DLC_EXIT[1],UADP_SPT_END , 0, 0);
206
207 UADPBypassSetSPT(&spt_DLC_SET_ON_OFF[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetOnOff));
208 UADPBypassSetSPT(&spt_DLC_SET_ON_OFF[1],UADP_SPT_END , 0, 0);
209
210 UADPBypassSetSPT(&spt_DLC_SET_HANDLER_ON_OFF[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetDlcHandlerOnOff));
211 UADPBypassSetSPT(&spt_DLC_SET_HANDLER_ON_OFF[1],UADP_SPT_END , 0, 0);
212
213 UADPBypassSetSPT(&spt_DLC_SET_BLE_ON_OFF[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetBleOnOff));
214 UADPBypassSetSPT(&spt_DLC_SET_BLE_ON_OFF[1],UADP_SPT_END , 0, 0);
215
216 UADPBypassSetSPT(&spt_DLC_ENABLE_MAIN_SUB_CURVE_SYNCHRONIZATION[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_EnableMainSubCurveSynchronization));
217 UADPBypassSetSPT(&spt_DLC_ENABLE_MAIN_SUB_CURVE_SYNCHRONIZATION[1],UADP_SPT_END , 0, 0);
218
219 UADPBypassSetSPT(&spt_DLC_HANDLER[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_Handler));
220 UADPBypassSetSPT(&spt_DLC_HANDLER[1],UADP_SPT_END , 0, 0);
221
222 UADPBypassSetSPT(&spt_DLC_GET_HISTOGRAM_HANDLER[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetHistogramHandler));
223 UADPBypassSetSPT(&spt_DLC_GET_HISTOGRAM_HANDLER[1],UADP_SPT_END , 0, 0);
224
225 UADPBypassSetSPT(&spt_DLC_GET_AVERAGE_VALUE[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetAverageValue));
226 UADPBypassSetSPT(&spt_DLC_GET_AVERAGE_VALUE[1],UADP_SPT_END , 0, 0);
227
228 UADPBypassSetSPT(&spt_DLC_GET_AVERAGE_VALUE_EX[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetAverageValue_Ex));
229 UADPBypassSetSPT(&spt_DLC_GET_AVERAGE_VALUE_EX[1],UADP_SPT_END , 0, 0);
230
231 UADPBypassSetSPT(&spt_DLC_INIT_CURVE[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_InitCurve));
232 UADPBypassSetSPT(&spt_DLC_INIT_CURVE[1],UADP_SPT_END , 0, 0);
233
234 UADPBypassSetSPT(&spt_DLC_SPEEDUP_TRIGGER[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SpeedupTrigger));
235 UADPBypassSetSPT(&spt_DLC_SPEEDUP_TRIGGER[1],UADP_SPT_END , 0, 0);
236
237 UADPBypassSetSPT(&spt_DLC_GET_LUMA_CURVE_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetLumaCurveStatus));
238 UADPBypassSetSPT(&spt_DLC_GET_LUMA_CURVE_STATUS[1],UADP_SPT_END , 0, 0);
239
240 UADPBypassSetSPT(&spt_DLC_CGC_RESET_C_GAIN[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_CGC_ResetCGain));
241 UADPBypassSetSPT(&spt_DLC_CGC_RESET_C_GAIN[1],UADP_SPT_END , 0, 0);
242
243 UADPBypassSetSPT(&spt_DLC_CGC_CHECK_C_GAIN_IN_PQ_COM[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_CGC_CheckCGainInPQCom));
244 UADPBypassSetSPT(&spt_DLC_CGC_CHECK_C_GAIN_IN_PQ_COM[1],UADP_SPT_END , 0, 0);
245
246 UADPBypassSetSPT(&spt_DLC_CGC_RESET_Y_GAIN[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_CGC_ResetYGain));
247 UADPBypassSetSPT(&spt_DLC_CGC_RESET_Y_GAIN[1],UADP_SPT_END , 0, 0);
248
249 UADPBypassSetSPT(&spt_DLC_CGC_CHECK_Y_GAIN_IN_PQ_COM[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_CGC_CheckYGainInPQCom));
250 UADPBypassSetSPT(&spt_DLC_CGC_CHECK_Y_GAIN_IN_PQ_COM[1],UADP_SPT_END , 0, 0);
251
252 UADPBypassSetSPT(&spt_DLC_CGC_RESET[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_CGC_Reset));
253 UADPBypassSetSPT(&spt_DLC_CGC_RESET[1],UADP_SPT_END , 0, 0);
254
255 UADPBypassSetSPT(&spt_DLC_CGC_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_CGC_Init));
256 UADPBypassSetSPT(&spt_DLC_CGC_INIT[1],UADP_SPT_END , 0, 0);
257
258 UADPBypassSetSPT(&spt_DLC_CGC_REINIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_CGC_ReInit));
259 UADPBypassSetSPT(&spt_DLC_CGC_REINIT[1],UADP_SPT_END , 0, 0);
260
261 UADPBypassSetSPT(&spt_DLC_CGC_HANDLER[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_CGC_Handler));
262 UADPBypassSetSPT(&spt_DLC_CGC_HANDLER[1],UADP_SPT_END , 0, 0);
263
264 UADPBypassSetSPT(&spt_DLC_GET_LIB_VER[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetLibVer));
265 UADPBypassSetSPT(&spt_DLC_GET_LIB_VER[1],UADP_SPT_END , 0, 0);
266
267 UADPBypassSetSPT(&spt_DLC_GET_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetInfo));
268 UADPBypassSetSPT(&spt_DLC_GET_INFO[1],UADP_SPT_END , 0, 0);
269
270 UADPBypassSetSPT(&spt_DLC_GET_STATUS_EX[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetStatus_Ex));
271 UADPBypassSetSPT(&spt_DLC_GET_STATUS_EX[1],UADP_SPT_END , 0, 0);
272
273 UADPBypassSetSPT(&spt_DLC_SET_DBG_LEVEL[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetDbgLevel));
274 UADPBypassSetSPT(&spt_DLC_SET_DBG_LEVEL[1],UADP_SPT_END , 0, 0);
275
276 UADPBypassSetSPT(&spt_DLC_WRITE_CURVE[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_WriteCurve));
277 UADPBypassSetSPT(&spt_DLC_WRITE_CURVE[1],UADP_SPT_END , 0, 0);
278
279 UADPBypassSetSPT(&spt_DLC_WRITE_CURVE_SUB[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_WriteCurve_Sub));
280 UADPBypassSetSPT(&spt_DLC_WRITE_CURVE_SUB[1],UADP_SPT_END , 0, 0);
281
282 UADPBypassSetSPT(&spt_DLC_GET_HISTOGRAM[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetHistogram));
283 UADPBypassSetSPT(&spt_DLC_GET_HISTOGRAM[1],UADP_SPT_END , 0, 0);
284
285 //UADPBypassSetSPT(&spt_DLC_DECODE_EXT_CMD[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_DecodeExtCmd));
286 //UADPBypassSetSPT(&spt_DLC_DECODE_EXT_CMD[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDLC_DecodeExtCmd->params)) - (unsigned int)pDLC_DecodeExtCmd), &spt_DrvDLC_CONTROL_PARAMS);
287 //UADPBypassSetSPT(&spt_DLC_DECODE_EXT_CMD[2],UADP_SPT_END , 0, 0);
288 UADP_SPT_NAME0NXT(ADP_DLC_DECODE_EXT_CMD_params,tDLC_CONTROL_PARAMS);
289 UADP_SPT_NAME1NXT(DLC_DECODE_EXT_CMD,stDLC_DecodeExtCmd,params,ADP_DLC_DECODE_EXT_CMD_params);
290
291 //UADPBypassSetSPT(&spt_DLC_SET_CAPTURE_RANGE[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetCaptureRange));
292 //UADPBypassSetSPT(&spt_DLC_SET_CAPTURE_RANGE[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDLC_SetCaptureRange->pu16_Range)) - (unsigned int)pDLC_SetCaptureRange), &spt_DrvDLC_CAPTURE_Range);
293 //UADPBypassSetSPT(&spt_DLC_SET_CAPTURE_RANGE[2],UADP_SPT_END , 0, 0);
294 UADP_SPT_NAME0NXT(ADP_DLC_CAPTURE_Range,XC_DLC_CAPTURE_Range);
295 UADP_SPT_NAME1NXT(DLC_SET_CAPTURE_RANGE,stDLC_SetCaptureRange,pu16_Range,ADP_DLC_CAPTURE_Range);
296
297 //UADPBypassSetSPT(&spt_DLC_SET_SETTING[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetSetting));
298 //UADPBypassSetSPT(&spt_DLC_SET_SETTING[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDLC_SetSetting->DLC_MFinit)) - (unsigned int)pDLC_SetSetting), &spt_DrvDLC_MFinit);
299 //UADPBypassSetSPT(&spt_DLC_SET_SETTING[2],UADP_SPT_END , 0, 0);
300 UADP_SPT_NAME0NXT(DLC_SET_SETTING,stDLC_SetSetting);
301
302 //UADPBypassSetSPT(&spt_DLC_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_Init));
303 //UADPBypassSetSPT(&spt_DLC_INIT[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDLC_Init->pstXC_DLC_InitData)) - (unsigned int)pDLC_Init), &spt_DrvDLC_init);
304 //UADPBypassSetSPT(&spt_DLC_INIT[2],UADP_SPT_END , 0, 0);
305 UADP_SPT_NAME0NXT(ADP_DLC_init,XC_DLC_init);
306 UADP_SPT_NAME1NXT(DLC_INIT,stDLC_Init,pstXC_DLC_InitData,ADP_DLC_init);
307
308 //UADPBypassSetSPT(&spt_DLC_GET_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_GetStatus));
309 //UADPBypassSetSPT(&spt_DLC_GET_STATUS[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDLC_GetStatus->pDrvStatus)) - (unsigned int)pDLC_GetStatus), &spt_DrvDLC_ApiStatus);
310 //UADPBypassSetSPT(&spt_DLC_GET_STATUS[2],UADP_SPT_END , 0, 0);
311 UADP_SPT_NAME0NXT(ADP_DLC_ApiStatus,XC_DLC_ApiStatus);
312 UADP_SPT_NAME1NXT(DLC_GET_STATUS,stDLC_GetStatus,pDrvStatus,ADP_DLC_ApiStatus);
313
314 UADPBypassSetSPT(&spt_DLC_SET_POWERSTATE[0],UADP_SPT_SELF_SIZE,0, sizeof(stDLC_SetPowerState));
315 UADPBypassSetSPT(&spt_DLC_SET_POWERSTATE[1],UADP_SPT_END , 0, 0);
316
317 //UADPBypassSetSPT(&spt_DBC_DLC_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_DLC_Init));
318 //UADPBypassSetSPT(&spt_DBC_DLC_INIT[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDBC_DLC_Init->DLC_DBC_MFinit)) - (unsigned int)pDBC_DLC_Init), &spt_DrvDLC_DBC_MFinit);
319 //UADPBypassSetSPT(&spt_DBC_DLC_INIT[2],UADP_SPT_END , 0, 0);
320 UADP_SPT_NAME0NXT(DBC_DLC_INIT,stDBC_DLC_Init);
321
322 UADPBypassSetSPT(&spt_DBC_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_Init));
323 UADPBypassSetSPT(&spt_DBC_INIT[1],UADP_SPT_END , 0, 0);
324
325 UADPBypassSetSPT(&spt_DBC_SET_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_Setstatus));
326 UADPBypassSetSPT(&spt_DBC_SET_STATUS[1],UADP_SPT_END , 0, 0);
327
328 UADPBypassSetSPT(&spt_DBC_GET_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_Getstatus));
329 UADPBypassSetSPT(&spt_DBC_GET_STATUS[1],UADP_SPT_END , 0, 0);
330
331 UADPBypassSetSPT(&spt_DBC_SET_READY[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_SetReady));
332 UADPBypassSetSPT(&spt_DBC_SET_READY[1],UADP_SPT_END , 0, 0);
333
334 UADPBypassSetSPT(&spt_DBC_SET_DEBUG_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_SetDebugMode));
335 UADPBypassSetSPT(&spt_DBC_SET_DEBUG_MODE[1],UADP_SPT_END , 0, 0);
336
337 UADPBypassSetSPT(&spt_DBC_GET_DEBUG_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_GetDebugMode));
338 UADPBypassSetSPT(&spt_DBC_GET_DEBUG_MODE[1],UADP_SPT_END , 0, 0);
339
340 UADPBypassSetSPT(&spt_DBC_UPDATE_PWM[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_UpdatePWM));
341 UADPBypassSetSPT(&spt_DBC_UPDATE_PWM[1],UADP_SPT_END , 0, 0);
342
343 UADPBypassSetSPT(&spt_DBC_HANDLER[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_Handler));
344 UADPBypassSetSPT(&spt_DBC_HANDLER[1],UADP_SPT_END , 0, 0);
345
346 UADPBypassSetSPT(&spt_DBC_ADJUST_YC_GAIN[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_AdjustYCGain));
347 UADPBypassSetSPT(&spt_DBC_ADJUST_YC_GAIN[1],UADP_SPT_END , 0, 0);
348
349 UADPBypassSetSPT(&spt_DBC_YC_GAIN_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_YCGainInit));
350 UADPBypassSetSPT(&spt_DBC_YC_GAIN_INIT[1],UADP_SPT_END , 0, 0);
351
352 UADPBypassSetSPT(&spt_DBC_RESET[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_Reset));
353 UADPBypassSetSPT(&spt_DBC_RESET[1],UADP_SPT_END , 0, 0);
354
355 //UADPBypassSetSPT(&spt_DBC_DECODE_EXT_CMD[0],UADP_SPT_SELF_SIZE,0, sizeof(stDBC_DecodeExtCmd));
356 //UADPBypassSetSPT(&spt_DBC_DECODE_EXT_CMD[1],UADP_SPT_POINTER_TO_NEXT, ((unsigned int)(&(pDBC_DecodeExtCmd->params)) - (unsigned int)pDrvDLC_CONTROL_PARAMS), &spt_DrvDLC_CONTROL_PARAMS);
357 //UADPBypassSetSPT(&spt_DBC_DECODE_EXT_CMD[2],UADP_SPT_END , 0, 0);
358 UADP_SPT_NAME0NXT(ADP_DECODE_EXT_CMD_PARAMS,tDBC_CONTROL_PARAMS);
359 UADP_SPT_NAME1NXT(DBC_DECODE_EXT_CMD,stDBC_DecodeExtCmd,params,ADP_DECODE_EXT_CMD_PARAMS);
360
361 #if defined(UFO_XC_HDR_VERSION) && (UFO_XC_HDR_VERSION == 2)
362 UADP_SPT_NAME0NXT(DLC_TMOInfo,ST_XC_DLC_TMO_INFO);
363 UADP_SPT_NAME1NXT(DLC_SET_TMOINFO,stDLC_SetTMOInfo,pstDLC_TMOInfo,DLC_TMOInfo);
364 #endif
365
366 *pIoctl= (FUtopiaIOctl)DLC_adp_Ioctl;
367 return 0;
368 }
369
DLC_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)370 MS_U32 DLC_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
371 {
372 MS_U32 u32Ret;
373 char buffer_arg[2048];
374 switch(u32Cmd)
375 {
376 case E_DLC_CMD_INIT_EX :
377 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_INIT_EX, spt_DLC_INIT_EX, buffer_arg,sizeof(buffer_arg));
378 break;
379
380 case E_DLC_CMD_SET_SETTING_EX :
381 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_SETTING_EX, spt_DLC_SET_SETTING_EX, buffer_arg,sizeof(buffer_arg));
382 break;
383
384 case E_DLC_CMD_SET_CURVE :
385 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_CURVE, spt_DLC_SET_CURVE, buffer_arg,sizeof(buffer_arg));
386 break;
387
388 case E_DLC_CMD_SET_BLE_SLOP_POINT :
389 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_BLE_SLOP_POINT, spt_DLC_SET_BLE_SLOP_POINT, buffer_arg,sizeof(buffer_arg));
390 break;
391
392 case E_DLC_CMD_EXIT :
393 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_EXIT, spt_DLC_EXIT, buffer_arg,sizeof(buffer_arg));
394 break;
395
396 case E_DLC_CMD_SET_ON_OFF :
397 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_ON_OFF, spt_DLC_SET_ON_OFF, buffer_arg,sizeof(buffer_arg));
398 break;
399
400 case E_DLC_CMD_SET_HANDLER_ON_OFF :
401 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_HANDLER_ON_OFF, spt_DLC_SET_HANDLER_ON_OFF, buffer_arg,sizeof(buffer_arg));
402 break;
403
404 case E_DLC_CMD_SET_BLE_ON_OFF :
405 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_BLE_ON_OFF, spt_DLC_SET_BLE_ON_OFF, buffer_arg,sizeof(buffer_arg));
406 break;
407
408 case E_DLC_CMD_ENABLE_MAIN_SUB_CURVE_SYNCHRONIZATION :
409 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_ENABLE_MAIN_SUB_CURVE_SYNCHRONIZATION, spt_DLC_ENABLE_MAIN_SUB_CURVE_SYNCHRONIZATION, buffer_arg,sizeof(buffer_arg));
410 break;
411
412 case E_DLC_CMD_HANDLER :
413 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_HANDLER, spt_DLC_HANDLER, buffer_arg,sizeof(buffer_arg));
414 break;
415
416 case E_DLC_CMD_GET_HISTOGRAM_HANDLER :
417 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_HISTOGRAM_HANDLER, spt_DLC_GET_HISTOGRAM_HANDLER, buffer_arg,sizeof(buffer_arg));
418 break;
419
420 case E_DLC_CMD_GET_AVERAGE_VALUE :
421 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_AVERAGE_VALUE, spt_DLC_GET_AVERAGE_VALUE, buffer_arg,sizeof(buffer_arg));
422 break;
423
424 case E_DLC_CMD_GET_AVERAGE_VALUE_EX :
425 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_AVERAGE_VALUE_EX, spt_DLC_GET_AVERAGE_VALUE_EX, buffer_arg,sizeof(buffer_arg));
426 break;
427
428 case E_DLC_CMD_INIT_CURVE :
429 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_INIT_CURVE, spt_DLC_INIT_CURVE, buffer_arg,sizeof(buffer_arg));
430 break;
431
432 case E_DLC_CMD_SPEEDUP_TRIGGER :
433 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SPEEDUP_TRIGGER, spt_DLC_SPEEDUP_TRIGGER, buffer_arg,sizeof(buffer_arg));
434 break;
435
436 case E_DLC_CMD_GET_LUMA_CURVE_STATUS :
437 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_LUMA_CURVE_STATUS, spt_DLC_GET_LUMA_CURVE_STATUS, buffer_arg,sizeof(buffer_arg));
438 break;
439
440 case E_DLC_CMD_CGC_RESET_C_GAIN :
441 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_CGC_RESET_C_GAIN, spt_DLC_CGC_RESET_C_GAIN, buffer_arg,sizeof(buffer_arg));
442 break;
443
444 case E_DLC_CMD_CGC_CHECK_C_GAIN_IN_PQ_COM :
445 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_CGC_CHECK_C_GAIN_IN_PQ_COM, spt_DLC_CGC_CHECK_C_GAIN_IN_PQ_COM, buffer_arg,sizeof(buffer_arg));
446 break;
447
448 case E_DLC_CMD_CGC_RESET_Y_GAIN :
449 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_CGC_RESET_Y_GAIN, spt_DLC_CGC_RESET_Y_GAIN, buffer_arg,sizeof(buffer_arg));
450 break;
451
452 case E_DLC_CMD_CGC_CHECK_Y_GAIN_IN_PQ_COM :
453 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_CGC_CHECK_Y_GAIN_IN_PQ_COM, spt_DLC_CGC_CHECK_Y_GAIN_IN_PQ_COM, buffer_arg,sizeof(buffer_arg));
454 break;
455
456 case E_DLC_CMD_CGC_RESET :
457 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_CGC_RESET, spt_DLC_CGC_RESET, buffer_arg,sizeof(buffer_arg));
458 break;
459
460 case E_DLC_CMD_CGC_INIT :
461 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_CGC_INIT, spt_DLC_CGC_INIT, buffer_arg,sizeof(buffer_arg));
462 break;
463
464 case E_DLC_CMD_CGC_REINIT :
465 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_CGC_REINIT, spt_DLC_CGC_REINIT, buffer_arg,sizeof(buffer_arg));
466 break;
467
468 case E_DLC_CMD_CGC_HANDLER :
469 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_CGC_HANDLER, spt_DLC_CGC_HANDLER, buffer_arg,sizeof(buffer_arg));
470 break;
471
472 case E_DLC_CMD_GET_LIB_VER :
473 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_LIB_VER, spt_DLC_GET_LIB_VER, buffer_arg,sizeof(buffer_arg));
474 break;
475
476 case E_DLC_CMD_GET_INFO :
477 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_INFO, spt_DLC_GET_INFO, buffer_arg,sizeof(buffer_arg));
478 break;
479
480 case E_DLC_CMD_GET_STATUS_EX :
481 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_STATUS_EX, spt_DLC_GET_STATUS_EX, buffer_arg,sizeof(buffer_arg));
482 break;
483
484 case E_DLC_CMD_SET_DBG_LEVEL :
485 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_DBG_LEVEL, spt_DLC_SET_DBG_LEVEL, buffer_arg,sizeof(buffer_arg));
486 break;
487
488 case E_DLC_CMD_WRITE_CURVE :
489 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_WRITE_CURVE, spt_DLC_WRITE_CURVE, buffer_arg,sizeof(buffer_arg));
490 break;
491
492 case E_DLC_CMD_WRITE_CURVE_SUB :
493 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_WRITE_CURVE_SUB, spt_DLC_WRITE_CURVE_SUB, buffer_arg,sizeof(buffer_arg));
494 break;
495
496 case E_DLC_CMD_GET_HISTOGRAM :
497 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_HISTOGRAM, spt_DLC_GET_HISTOGRAM, buffer_arg,sizeof(buffer_arg));
498 break;
499
500 case E_DLC_CMD_DECODE_EXT_CMD :
501 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_DECODE_EXT_CMD, spt_DLC_DECODE_EXT_CMD, buffer_arg,sizeof(buffer_arg));
502 break;
503
504 case E_DLC_CMD_SET_CAPTURE_RANGE :
505 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_CAPTURE_RANGE, spt_DLC_SET_CAPTURE_RANGE, buffer_arg,sizeof(buffer_arg));
506 break;
507
508 case E_DLC_CMD_SET_SETTING :
509 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_SETTING, spt_DLC_SET_SETTING, buffer_arg,sizeof(buffer_arg));
510 break;
511
512 case E_DLC_CMD_INIT :
513 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_INIT, spt_DLC_INIT, buffer_arg,sizeof(buffer_arg));
514 break;
515
516 case E_DLC_CMD_GET_STATUS :
517 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_GET_STATUS, spt_DLC_GET_STATUS, buffer_arg,sizeof(buffer_arg));
518 break;
519
520 case E_DLC_CMD_SET_POWERSTATE :
521 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_POWERSTATE, spt_DLC_SET_POWERSTATE, buffer_arg,sizeof(buffer_arg));
522 break;
523
524 case E_DLC_CMD_SET_TMOINFO :
525 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DLC_SET_TMOINFO, spt_DLC_SET_TMOINFO, buffer_arg,sizeof(buffer_arg));
526 break;
527
528 case E_DBC_CMD_DLC_INIT :
529 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_DLC_INIT, spt_DBC_DLC_INIT, buffer_arg,sizeof(buffer_arg));
530 break;
531
532 case E_DBC_CMD_INIT :
533 //u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_CMD_INIT, spt_DBC_CMD_INIT, buffer_arg,sizeof(buffer_arg));
534 break;
535
536 case E_DBC_CMD_SET_STATUS :
537 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_SET_STATUS, spt_DBC_SET_STATUS, buffer_arg,sizeof(buffer_arg));
538 break;
539
540 case E_DBC_CMD_GET_STATUS :
541 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_GET_STATUS, spt_DBC_GET_STATUS, buffer_arg,sizeof(buffer_arg));
542 break;
543
544 case E_DBC_CMD_SET_READY :
545 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_SET_READY, spt_DBC_SET_READY, buffer_arg,sizeof(buffer_arg));
546 break;
547
548 case E_DBC_CMD_SET_DEBUG_MODE :
549 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_SET_DEBUG_MODE, spt_DBC_SET_DEBUG_MODE, buffer_arg,sizeof(buffer_arg));
550 break;
551
552 case E_DBC_CMD_GET_DEBUG_MODE :
553 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_GET_DEBUG_MODE, spt_DBC_GET_DEBUG_MODE, buffer_arg,sizeof(buffer_arg));
554 break;
555
556 case E_DBC_CMD_UPDATE_PWM :
557 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_UPDATE_PWM, spt_DBC_UPDATE_PWM, buffer_arg,sizeof(buffer_arg));
558 break;
559
560 case E_DBC_CMD_HANDLER :
561 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_HANDLER, spt_DBC_HANDLER, buffer_arg,sizeof(buffer_arg));
562 break;
563
564 case E_DBC_CMD_ADJUST_YC_GAIN :
565 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_ADJUST_YC_GAIN, spt_DBC_ADJUST_YC_GAIN, buffer_arg,sizeof(buffer_arg));
566 break;
567
568 case E_DBC_CMD_YC_GAIN_INIT :
569 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_YC_GAIN_INIT, spt_DBC_YC_GAIN_INIT, buffer_arg,sizeof(buffer_arg));
570 break;
571
572 case E_DBC_CMD_RESET :
573 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_RESET, spt_DBC_RESET, buffer_arg,sizeof(buffer_arg));
574 break;
575
576 case E_DBC_CMD_DECODE_EXT_CMD :
577 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_DBC_DECODE_EXT_CMD, spt_DBC_DECODE_EXT_CMD, buffer_arg,sizeof(buffer_arg));
578 break;
579
580 }
581
582 return u32Ret;
583 // return UtopiaIoctl(pModuleDDI->pInstant,u32Cmd,arg);
584 }
585
586
587
588
589