1 #include "MsTypes.h"
2 #include "MsCommon.h"
3 #ifndef MSOS_TYPE_LINUX_KERNEL
4 #include <stdio.h>
5 #include <string.h>
6 #endif
7
8 #include "utopia_dapi.h"
9 #include "apiXC_Dlc.h"
10 #include "apiXC_DBC.h"
11 #include "apiXC_DLC_private.h"
12 #include "apiXC_Dlc_v2.h"
13 #include "utopia.h"
14
15
16
17 // ========== Global definition ==========
18 void* pModuleDLC = NULL;
19 #ifdef MSOS_TYPE_LINUX_KERNEL
20 void* pInstanceDLCStr = NULL;
DLCStr(MS_U32 u32PowerState,void * pModule)21 MS_U32 DLCStr(MS_U32 u32PowerState, void* pModule)
22 {
23 MS_U32 u32Return=UTOPIA_STATUS_FAIL;
24 stDLC_SetPowerState DBCArgs;
25
26 switch(u32PowerState)
27 {
28 case E_POWER_SUSPEND:
29 if (pInstanceDLCStr == NULL)
30 {
31 if(UtopiaOpen(MODULE_DLC, &pInstanceDLCStr, 0, NULL) != UTOPIA_STATUS_SUCCESS)
32 {
33 printf("UtopiaOpen DBC failed\n");
34 return UTOPIA_STATUS_FAIL;
35 }
36 }
37 DBCArgs.enPowerState = u32PowerState;
38 DBCArgs.u32Return = UTOPIA_STATUS_FAIL;
39 if(UtopiaIoctl(pInstanceDLCStr, E_DLC_CMD_SET_POWERSTATE, (void*)&DBCArgs) != UTOPIA_STATUS_SUCCESS)
40 {
41 printf("Obtain DBC engine fail\n");
42 return UTOPIA_STATUS_FAIL;
43 }
44 u32Return=DBCArgs.u32Return;
45 break;
46 case E_POWER_RESUME:
47 if (pInstanceDLCStr == NULL)
48 {
49 if(UtopiaOpen(MODULE_DLC, &pInstanceDLCStr, 0, NULL) != UTOPIA_STATUS_SUCCESS)
50 {
51 printf("UtopiaOpen DBC failed\n");
52 return UTOPIA_STATUS_FAIL;
53 }
54 }
55 DBCArgs.enPowerState = u32PowerState;
56 DBCArgs.u32Return = UTOPIA_STATUS_FAIL;
57 if(UtopiaIoctl(pInstanceDLCStr, E_DLC_CMD_SET_POWERSTATE, (void*)&DBCArgs) != UTOPIA_STATUS_SUCCESS)
58 {
59 printf("Obtain DBC engine fail\n");
60 return UTOPIA_STATUS_FAIL;
61 }
62 u32Return=DBCArgs.u32Return;
63 break;
64 default:
65 printf("[%s][%d] PowerState:%lx not Implement now!!!\n",__FUNCTION__,__LINE__,u32PowerState);
66 break;
67 }
68 return u32Return;
69 }
70 #endif
DLCRegisterToUtopia(FUtopiaOpen ModuleType)71 void DLCRegisterToUtopia(FUtopiaOpen ModuleType)
72 {
73 // 1. deal with module
74 UtopiaModuleCreate(MODULE_DLC, 0, &pModuleDLC);
75 UtopiaModuleRegister(pModuleDLC);
76 // register func for module, after register here, then ap call UtopiaOpen/UtopiaIoctl/UtopiaClose can call to these registered standard func
77 UtopiaModuleSetupFunctionPtr(pModuleDLC, (FUtopiaOpen)DLCOpen, (FUtopiaClose)DLCClose, (FUtopiaIOctl)DLCIoctl);
78
79 // 2. deal with resource , XCݥiݭnresourceA䤤@ӬOreadonlyAt~@ӬOXCӥ]resource
80 void* psResource = NULL;
81 #if defined(MSOS_TYPE_LINUX_KERNEL)
82 UtopiaModuleSetupSTRFunctionPtr(pModuleDLC, (FUtopiaSTR)DLCStr);
83 UtopiaModuleSetSTRPrivate(pModuleDLC, sizeof(DLC_REGS_SAVE_AREA));
84 #endif
85 // 3. resource can allocate private for internal use
86 UtopiaModuleAddResourceStart(pModuleDLC, E_DLC_POOL_ID_INTERNAL);
87 UtopiaResourceCreate("DLC", sizeof(DLC_RESOURCE_PRIVATE), &psResource);
88 UtopiaResourceRegister(pModuleDLC, psResource, E_DLC_POOL_ID_INTERNAL);
89 UtopiaModuleAddResourceEnd(pModuleDLC, E_DLC_POOL_ID_INTERNAL);
90
91 // shall we init first?
92 }
93
94
DLCOpen(void ** ppInstance,const void * const pAttribute)95 MS_U32 DLCOpen(void** ppInstance, const void* const pAttribute)
96 {
97 DLC_INSTANCE_PRIVATE *psDLCInstPri = NULL;
98 UtopiaInstanceCreate(sizeof(DLC_INSTANCE_PRIVATE), ppInstance);
99 UtopiaInstanceGetPrivate(*ppInstance, (void**)&psDLCInstPri);
100
101 psDLCInstPri->fpDLC_Init_Ex = MApi_XC_DLC_Init_Ex_U2;
102 psDLCInstPri->fpDLC_SetSetting_Ex = MApi_XC_DLC_SetSetting_Ex_U2;
103 psDLCInstPri->fpDLC_SetCurve = MApi_XC_DLC_SetCurve_U2;
104 psDLCInstPri->fpDLC_SetBleSlopPoint = MApi_XC_DLC_SetBleSlopPoint_U2;
105 psDLCInstPri->fpDLC_SetHDRInit = MApi_XC_DLC_SetHDRInit_U2;
106 #ifdef UFO_XC_HDR
107 #if (UFO_XC_HDR_VERSION == 2)
108 //MApi_XC_DLC_SetTMOInfo_U2 is defined by (UFO_XC_HDR_VERSION == 2)
109 psDLCInstPri->fpDLC_SetTMOInfo = MApi_XC_DLC_SetTMOInfo_U2;
110 #endif
111 #endif
112 psDLCInstPri->fpDLC_Exit = MApi_XC_DLC_Exit_U2;
113 psDLCInstPri->fpDLC_SetOnOff = MApi_XC_DLC_SetOnOff_U2;
114 psDLCInstPri->fpDLC_SetDlcHandlerOnOff = MApi_XC_DLC_SetDlcHandlerOnOff_U2;
115 psDLCInstPri->fpDLC_SetBleOnOff = MApi_XC_DLC_SetBleOnOff_U2;
116 psDLCInstPri->fpDLC_EnableMainSubCurveSynchronization = MApi_XC_DLC_EnableMainSubCurveSynchronization_U2;
117 psDLCInstPri->fpDLC_Handler = MApi_XC_DLC_Handler_U2;
118 psDLCInstPri->fpDLC_GetHistogramHandler = MApi_XC_DLC_GetHistogramHandler_U2;
119 psDLCInstPri->fpDLC_GetAverageValue = MApi_XC_DLC_GetAverageValue_U2;
120 psDLCInstPri->fpDLC_GetAverageValue_Ex = MApi_XC_DLC_GetAverageValue_Ex_U2;
121 psDLCInstPri->fpDLC_InitCurve = MApi_XC_DLC_InitCurve_U2;
122 psDLCInstPri->fpDLC_SpeedupTrigger = MApi_XC_DLC_SpeedupTrigger_U2;
123 psDLCInstPri->fpDLC_GetLumaCurveStatus = MApi_XC_DLC_GetLumaCurveStatus_U2;
124 psDLCInstPri->fpDLC_CGC_ResetCGain = MApi_XC_DLC_CGC_ResetCGain_U2;
125 psDLCInstPri->fpDLC_CGC_CheckCGainInPQCom = MApi_XC_DLC_CGC_CheckCGainInPQCom_U2;
126 psDLCInstPri->fpDLC_CGC_ResetYGain = MApi_XC_DLC_CGC_ResetYGain_U2;
127 psDLCInstPri->fpDLC_CGC_CheckYGainInPQCom = MApi_XC_DLC_CGC_CheckYGainInPQCom_U2;
128 psDLCInstPri->fpDLC_CGC_Reset = MApi_XC_DLC_CGC_Reset_U2;
129 psDLCInstPri->fpDLC_CGC_Init = MApi_XC_DLC_CGC_Init_U2;
130 psDLCInstPri->fpDLC_CGC_ReInit = MApi_XC_DLC_CGC_ReInit_U2;
131 psDLCInstPri->fpDLC_CGC_Handler = MApi_XC_DLC_CGC_Handler_U2;
132 psDLCInstPri->fpDLC_GetLibVer = MApi_XC_DLC_GetLibVer_U2;
133 psDLCInstPri->fpDLC_GetInfo = MApi_XC_DLC_GetInfo_U2;
134 psDLCInstPri->fpDLC_GetStatus_Ex = MApi_XC_DLC_GetStatus_Ex_U2;
135 psDLCInstPri->fpDLC_SetDbgLevel = MApi_XC_DLC_SetDbgLevel_U2;
136 psDLCInstPri->fpDLC_WriteCurve = MApi_XC_DLC_WriteCurve_U2;
137 psDLCInstPri->fpDLC_WriteCurve_Sub = MApi_XC_DLC_WriteCurve_Sub_U2;
138 psDLCInstPri->fpDLC_GetHistogram = MApi_XC_DLC_GetHistogram_U2;
139 psDLCInstPri->fpDLC_DecodeExtCmd = MApi_XC_DLC_DecodeExtCmd_U2;
140 psDLCInstPri->fpDLC_SetCaptureRange = MApi_XC_DLC_SetCaptureRange_U2;
141 psDLCInstPri->fpDLC_SetSetting = MApi_XC_DLC_SetSetting_U2;
142 psDLCInstPri->fpDLC_Init = MApi_XC_DLC_Init_U2;
143 psDLCInstPri->fpDLC_GetStatus = MApi_XC_DLC_GetStatus_U2;
144 psDLCInstPri->fpDLC_SetPowerState = MApi_XC_DLC_SetPowerState_U2;
145 psDLCInstPri->fpDBC_DLC_Init =MApi_XC_DLC_DBC_Init_U2 ;
146 psDLCInstPri->fpDBC_Init =MApi_XC_DBC_Init_U2 ;
147 psDLCInstPri->fpDBC_Setstatus= MApi_XC_DLC_DBC_Setstatus_U2;
148 psDLCInstPri->fpDBC_Getstatus =MApi_XC_DLC_DBC_Getstatus_U2 ;
149 psDLCInstPri->fpDBC_SetReady = MApi_XC_DLC_DBC_SetReady_U2;
150 psDLCInstPri->fpDBC_SetDebugMode =MApi_XC_DLC_DBC_SetDebugMode_U2 ;
151 psDLCInstPri->fpDBC_GetDebugMode = MApi_XC_DLC_DBC_GetDebugMode_U2;
152 psDLCInstPri->fpDBC_UpdatePWM =MApi_XC_DLC_DBC_UpdatePWM_U2 ;
153 psDLCInstPri->fpDBC_Handler =MApi_XC_DLC_DBC_Handler_U2 ;
154 psDLCInstPri->fpDBC_AdjustYCGain = MApi_XC_DLC_DBC_AdjustYCGain_U2;
155 psDLCInstPri->fpDBC_YCGainInit = MApi_XC_DLC_DBC_YCGainInit_U2;
156 psDLCInstPri->fpDBC_Reset = MApi_XC_DLC_DBC_Reset_U2;
157 psDLCInstPri->fpDBC_DecodeExtCmd = MApi_XC_DBC_DecodeExtCmd_U2;
158 return UTOPIA_STATUS_SUCCESS;
159 }
160
161
DLCIoctl(void * pInstance,MS_U32 u32Cmd,void * pArgs)162 MS_U32 DLCIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs)
163 {
164 void* pModule = NULL;
165 void* pResource = NULL;
166 DLC_INSTANCE_PRIVATE* psDLCInstPri = NULL;
167 UtopiaInstanceGetPrivate(pInstance, (void*)&psDLCInstPri);
168 UtopiaInstanceGetModule(pInstance, &pModule);
169 //printf("[%s,%5d] u32Cmd type = %ld\n",__FUNCTION__,__LINE__,u32Cmd);
170
171
172 switch(u32Cmd)
173 {
174 case E_DLC_CMD_INIT_EX:
175 {
176 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
177 {
178 printf("UtopiaDlcResourceObtain fail\n");
179 return UTOPIA_STATUS_ERR_RESOURCE;
180 }
181
182 pstDLC_Init_Ex pDLCArgs = (pstDLC_Init_Ex)pArgs;
183 pDLCArgs->bReturn = psDLCInstPri->fpDLC_Init_Ex(pInstance, pDLCArgs->pstXC_DLC_InitData ,pDLCArgs->u32InitDataLen);
184
185 UtopiaResourceRelease(pResource);
186 return UTOPIA_STATUS_SUCCESS;
187 break;
188 }
189 case E_DLC_CMD_SET_SETTING_EX:
190 {
191 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
192 {
193 printf("UtopiaDlcResourceObtain fail\n");
194 return UTOPIA_STATUS_ERR_RESOURCE;
195 }
196
197 pstDLC_SetSetting_Ex pDLCArgs = (pstDLC_SetSetting_Ex)pArgs;
198 psDLCInstPri->fpDLC_SetSetting_Ex(pInstance, pDLCArgs->DLC_MFinit_Ex);
199
200 UtopiaResourceRelease(pResource);
201 return UTOPIA_STATUS_SUCCESS;
202 break;
203 }
204 case E_DLC_CMD_SET_CURVE:
205 {
206 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
207 {
208 printf("UtopiaDlcResourceObtain fail\n");
209 return UTOPIA_STATUS_ERR_RESOURCE;
210 }
211
212 pstDLC_SetCurve pDLCArgs = (pstDLC_SetCurve)pArgs;
213 psDLCInstPri->fpDLC_SetCurve(pInstance, pDLCArgs->pNormal ,pDLCArgs->pLight ,pDLCArgs->pDark);
214
215 UtopiaResourceRelease(pResource);
216 return UTOPIA_STATUS_SUCCESS;
217 break;
218 }
219 case E_DLC_CMD_SET_BLE_SLOP_POINT:
220 {
221 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
222 {
223 printf("UtopiaDlcResourceObtain fail\n");
224 return UTOPIA_STATUS_ERR_RESOURCE;
225 }
226
227 pstDLC_SetBleSlopPoint pDLCArgs = (pstDLC_SetBleSlopPoint)pArgs;
228 psDLCInstPri->fpDLC_SetBleSlopPoint(pInstance, pDLCArgs->pBLESlopPoint );
229
230 UtopiaResourceRelease(pResource);
231 return UTOPIA_STATUS_SUCCESS;
232 break;
233 }
234 case E_DLC_CMD_SET_HDR_INFO:
235 {
236 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
237 {
238 printf("UtopiaDlcResourceObtain fail\n");
239 return UTOPIA_STATUS_ERR_RESOURCE;
240 }
241
242 pstDLC_HDRInitData pDLCArgs = (pstDLC_HDRInitData)pArgs;
243 pDLCArgs->bReturn = psDLCInstPri->fpDLC_SetHDRInit(pInstance, pDLCArgs->pstDLC_HDRInitData );
244
245 UtopiaResourceRelease(pResource);
246 return UTOPIA_STATUS_SUCCESS;
247 break;
248 }
249
250 case E_DLC_CMD_SET_TMOINFO:
251 {
252 #if defined(UFO_XC_HDR_VERSION) && (UFO_XC_HDR_VERSION == 2)
253 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
254 {
255 printf("UtopiaDlcResourceObtain fail\n");
256 return UTOPIA_STATUS_ERR_RESOURCE;
257 }
258
259 pstDLC_SetTMOInfo pDLCArgs = (pstDLC_SetTMOInfo)pArgs;
260 pDLCArgs->bReturn = psDLCInstPri->fpDLC_SetTMOInfo(pInstance, pDLCArgs->pstDLC_TMOInfo );
261
262 UtopiaResourceRelease(pResource);
263 #endif
264 return UTOPIA_STATUS_SUCCESS;
265 break;
266 }
267
268 case E_DLC_CMD_EXIT:
269 {
270 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
271 {
272 printf("UtopiaDlcResourceObtain fail\n");
273 return UTOPIA_STATUS_ERR_RESOURCE;
274 }
275
276 pstDLC_Exit pDLCArgs = (pstDLC_Exit)pArgs;
277 pDLCArgs->bReturn = psDLCInstPri->fpDLC_Exit(pInstance);
278
279 UtopiaResourceRelease(pResource);
280 return UTOPIA_STATUS_SUCCESS;
281 break;
282 }
283 case E_DLC_CMD_SET_ON_OFF:
284 {
285 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
286 {
287 printf("UtopiaDlcResourceObtain fail\n");
288 return UTOPIA_STATUS_ERR_RESOURCE;
289 }
290
291 pstDLC_SetOnOff pDLCArgs = (pstDLC_SetOnOff)pArgs;
292 psDLCInstPri->fpDLC_SetOnOff(pInstance, pDLCArgs->bSwitch ,pDLCArgs->bWindow);
293
294 UtopiaResourceRelease(pResource);
295 return UTOPIA_STATUS_SUCCESS;
296 break;
297 }
298 case E_DLC_CMD_SET_HANDLER_ON_OFF:
299 {
300 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
301 {
302 printf("UtopiaDlcResourceObtain fail\n");
303 return UTOPIA_STATUS_ERR_RESOURCE;
304 }
305
306 pstDLC_SetDlcHandlerOnOff pDLCArgs = (pstDLC_SetDlcHandlerOnOff)pArgs;
307 psDLCInstPri->fpDLC_SetDlcHandlerOnOff(pInstance, pDLCArgs->bDlcEnable );
308
309 UtopiaResourceRelease(pResource);
310 return UTOPIA_STATUS_SUCCESS;
311 break;
312 }
313 case E_DLC_CMD_SET_BLE_ON_OFF:
314 {
315 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
316 {
317 printf("UtopiaDlcResourceObtain fail\n");
318 return UTOPIA_STATUS_ERR_RESOURCE;
319 }
320
321 pstDLC_SetBleOnOff pDLCArgs = (pstDLC_SetBleOnOff)pArgs;
322 pDLCArgs->bReturn = psDLCInstPri->fpDLC_SetBleOnOff(pInstance, pDLCArgs->bSwitch );
323
324 UtopiaResourceRelease(pResource);
325 return UTOPIA_STATUS_SUCCESS;
326 break;
327 }
328 case E_DLC_CMD_ENABLE_MAIN_SUB_CURVE_SYNCHRONIZATION:
329 {
330 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
331 {
332 printf("UtopiaDlcResourceObtain fail\n");
333 return UTOPIA_STATUS_ERR_RESOURCE;
334 }
335
336 pstDLC_EnableMainSubCurveSynchronization pDLCArgs = (pstDLC_EnableMainSubCurveSynchronization)pArgs;
337 psDLCInstPri->fpDLC_EnableMainSubCurveSynchronization(pInstance, pDLCArgs->bEnable );
338
339 UtopiaResourceRelease(pResource);
340 return UTOPIA_STATUS_SUCCESS;
341 break;
342 }
343 case E_DLC_CMD_HANDLER:
344 {
345 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
346 {
347 printf("UtopiaDlcResourceObtain fail\n");
348 return UTOPIA_STATUS_ERR_RESOURCE;
349 }
350
351 pstDLC_Handler pDLCArgs = (pstDLC_Handler)pArgs;
352 psDLCInstPri->fpDLC_Handler(pInstance, pDLCArgs->bWindow);
353
354 UtopiaResourceRelease(pResource);
355 return UTOPIA_STATUS_SUCCESS;
356 break;
357 }
358 case E_DLC_CMD_GET_HISTOGRAM_HANDLER:
359 {
360 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
361 {
362 printf("UtopiaDlcResourceObtain fail\n");
363 return UTOPIA_STATUS_ERR_RESOURCE;
364 }
365
366 pstDLC_GetHistogramHandler pDLCArgs = (pstDLC_GetHistogramHandler)pArgs;
367 pDLCArgs->bReturn = psDLCInstPri->fpDLC_GetHistogramHandler(pInstance, pDLCArgs->bWindow );
368
369 UtopiaResourceRelease(pResource);
370 return UTOPIA_STATUS_SUCCESS;
371 break;
372 }
373 case E_DLC_CMD_GET_AVERAGE_VALUE:
374 {
375 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
376 {
377 printf("UtopiaDlcResourceObtain fail\n");
378 return UTOPIA_STATUS_ERR_RESOURCE;
379 }
380
381 pstDLC_GetAverageValue pDLCArgs = (pstDLC_GetAverageValue)pArgs;
382 pDLCArgs->u8Return = psDLCInstPri->fpDLC_GetAverageValue(pInstance);
383
384 UtopiaResourceRelease(pResource);
385 return UTOPIA_STATUS_SUCCESS;
386 break;
387 }
388 case E_DLC_CMD_GET_AVERAGE_VALUE_EX:
389 {
390 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
391 {
392 printf("UtopiaDlcResourceObtain fail\n");
393 return UTOPIA_STATUS_ERR_RESOURCE;
394 }
395
396 pstDLC_GetAverageValue_Ex pDLCArgs = (pstDLC_GetAverageValue_Ex)pArgs;
397 pDLCArgs->u16Return = psDLCInstPri->fpDLC_GetAverageValue_Ex(pInstance);
398
399 UtopiaResourceRelease(pResource);
400 return UTOPIA_STATUS_SUCCESS;
401 break;
402 }
403 case E_DLC_CMD_INIT_CURVE:
404 {
405 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
406 {
407 printf("UtopiaDlcResourceObtain fail\n");
408 return UTOPIA_STATUS_ERR_RESOURCE;
409 }
410
411
412 pstDLC_InitCurve pDLCArgs = (pstDLC_InitCurve)pArgs;
413 psDLCInstPri->fpDLC_InitCurve(pInstance, pDLCArgs->u16HStart , pDLCArgs->u16HEnd , pDLCArgs->u16VStart , pDLCArgs->u16VEnd );
414
415 UtopiaResourceRelease(pResource);
416 return UTOPIA_STATUS_SUCCESS;
417 break;
418 }
419 case E_DLC_CMD_SPEEDUP_TRIGGER:
420 {
421 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
422 {
423 printf("UtopiaDlcResourceObtain fail\n");
424 return UTOPIA_STATUS_ERR_RESOURCE;
425 }
426
427 pstDLC_SpeedupTrigger pDLCArgs = (pstDLC_SpeedupTrigger)pArgs;
428 psDLCInstPri->fpDLC_SpeedupTrigger(pInstance, pDLCArgs->u8Loop );
429
430 UtopiaResourceRelease(pResource);
431 return UTOPIA_STATUS_SUCCESS;
432 break;
433 }
434 case E_DLC_CMD_GET_LUMA_CURVE_STATUS:
435 {
436 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
437 {
438 printf("UtopiaDlcResourceObtain fail\n");
439 return UTOPIA_STATUS_ERR_RESOURCE;
440 }
441
442 pstDLC_GetLumaCurveStatus pDLCArgs = (pstDLC_GetLumaCurveStatus)pArgs;
443 pDLCArgs->bReturn = psDLCInstPri->fpDLC_GetLumaCurveStatus(pInstance);
444
445 UtopiaResourceRelease(pResource);
446 return UTOPIA_STATUS_SUCCESS;
447 break;
448 }
449 case E_DLC_CMD_CGC_RESET_C_GAIN:
450 {
451 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
452 {
453 printf("UtopiaDlcResourceObtain fail\n");
454 return UTOPIA_STATUS_ERR_RESOURCE;
455 }
456
457 psDLCInstPri->fpDLC_CGC_ResetCGain(pInstance);
458
459 UtopiaResourceRelease(pResource);
460 return UTOPIA_STATUS_SUCCESS;
461 break;
462 }
463 case E_DLC_CMD_CGC_CHECK_C_GAIN_IN_PQ_COM:
464 {
465 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
466 {
467 printf("UtopiaDlcResourceObtain fail\n");
468 return UTOPIA_STATUS_ERR_RESOURCE;
469 }
470
471 psDLCInstPri->fpDLC_CGC_CheckCGainInPQCom(pInstance);
472
473 UtopiaResourceRelease(pResource);
474 return UTOPIA_STATUS_SUCCESS;
475 break;
476 }
477 case E_DLC_CMD_CGC_RESET_Y_GAIN:
478 {
479 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
480 {
481 printf("UtopiaDlcResourceObtain fail\n");
482 return UTOPIA_STATUS_ERR_RESOURCE;
483 }
484
485 psDLCInstPri->fpDLC_CGC_ResetYGain(pInstance);
486
487 UtopiaResourceRelease(pResource);
488 return UTOPIA_STATUS_SUCCESS;
489 break;
490 }
491 case E_DLC_CMD_CGC_CHECK_Y_GAIN_IN_PQ_COM:
492 {
493 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
494 {
495 printf("UtopiaDlcResourceObtain fail\n");
496 return UTOPIA_STATUS_ERR_RESOURCE;
497 }
498
499 psDLCInstPri->fpDLC_CGC_CheckYGainInPQCom(pInstance);
500
501 UtopiaResourceRelease(pResource);
502 return UTOPIA_STATUS_SUCCESS;
503 break;
504 }
505 case E_DLC_CMD_CGC_RESET:
506 {
507 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
508 {
509 printf("UtopiaDlcResourceObtain fail\n");
510 return UTOPIA_STATUS_ERR_RESOURCE;
511 }
512
513 psDLCInstPri->fpDLC_CGC_Reset(pInstance);
514
515 UtopiaResourceRelease(pResource);
516 return UTOPIA_STATUS_SUCCESS;
517 break;
518 }
519 case E_DLC_CMD_CGC_INIT:
520 {
521 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
522 {
523 printf("UtopiaDlcResourceObtain fail\n");
524 return UTOPIA_STATUS_ERR_RESOURCE;
525 }
526
527 psDLCInstPri->fpDLC_CGC_Init(pInstance);
528
529 UtopiaResourceRelease(pResource);
530 return UTOPIA_STATUS_SUCCESS;
531 break;
532 }
533 case E_DLC_CMD_CGC_REINIT:
534 {
535 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
536 {
537 printf("UtopiaDlcResourceObtain fail\n");
538 return UTOPIA_STATUS_ERR_RESOURCE;
539 }
540
541 psDLCInstPri->fpDLC_CGC_ReInit(pInstance);
542
543 UtopiaResourceRelease(pResource);
544 return UTOPIA_STATUS_SUCCESS;
545 break;
546 }
547 case E_DLC_CMD_CGC_HANDLER:
548 {
549 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
550 {
551 printf("UtopiaDlcResourceObtain fail\n");
552 return UTOPIA_STATUS_ERR_RESOURCE;
553 }
554
555 psDLCInstPri->fpDLC_CGC_Handler(pInstance);
556
557 UtopiaResourceRelease(pResource);
558 return UTOPIA_STATUS_SUCCESS;
559 break;
560 }
561 case E_DLC_CMD_GET_LIB_VER:
562 {
563 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
564 {
565 printf("UtopiaDlcResourceObtain fail\n");
566 return UTOPIA_STATUS_ERR_RESOURCE;
567 }
568
569 pstDLC_GetLibVer pDLCArgs = (pstDLC_GetLibVer)pArgs;
570 pDLCArgs->eResult = psDLCInstPri->fpDLC_GetLibVer(pInstance, pDLCArgs->ppVersion);
571
572 UtopiaResourceRelease(pResource);
573 return UTOPIA_STATUS_SUCCESS;
574 break;
575 }
576 case E_DLC_CMD_GET_INFO:
577 {
578 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
579 {
580 printf("UtopiaDlcResourceObtain fail\n");
581 return UTOPIA_STATUS_ERR_RESOURCE;
582 }
583
584 pstDLC_GetInfo pDLCArgs = (pstDLC_GetInfo)pArgs;
585 pDLCArgs->eResult = psDLCInstPri->fpDLC_GetInfo(pInstance);
586
587 UtopiaResourceRelease(pResource);
588 return UTOPIA_STATUS_SUCCESS;
589 break;
590 }
591 case E_DLC_CMD_GET_STATUS_EX:
592 {
593 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
594 {
595 printf("UtopiaDlcResourceObtain fail\n");
596 return UTOPIA_STATUS_ERR_RESOURCE;
597 }
598
599 pstDLC_GetStatus_Ex pDLCArgs = (pstDLC_GetStatus_Ex)pArgs;
600 pDLCArgs->bReturn = psDLCInstPri->fpDLC_GetStatus_Ex(pInstance, pDLCArgs->pDrvStatus ,pDLCArgs->bWindow);
601
602 UtopiaResourceRelease(pResource);
603 return UTOPIA_STATUS_SUCCESS;
604 break;
605 }
606 case E_DLC_CMD_SET_DBG_LEVEL:
607 {
608 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
609 {
610 printf("UtopiaDlcResourceObtain fail\n");
611 return UTOPIA_STATUS_ERR_RESOURCE;
612 }
613
614 pstDLC_SetDbgLevel pDLCArgs = (pstDLC_SetDbgLevel)pArgs;
615 pDLCArgs->bReturn = psDLCInstPri->fpDLC_SetDbgLevel(pInstance, pDLCArgs->u16DbgSwitch);
616
617 UtopiaResourceRelease(pResource);
618 return UTOPIA_STATUS_SUCCESS;
619 break;
620 }
621 case E_DLC_CMD_WRITE_CURVE:
622 {
623 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
624 {
625 printf("UtopiaDlcResourceObtain fail\n");
626 return UTOPIA_STATUS_ERR_RESOURCE;
627 }
628
629 pstDLC_WriteCurve pDLCArgs = (pstDLC_WriteCurve)pArgs;
630 pDLCArgs->bReturn = psDLCInstPri->fpDLC_WriteCurve(pInstance, pDLCArgs->pu8Table );
631
632 UtopiaResourceRelease(pResource);
633 return UTOPIA_STATUS_SUCCESS;
634 break;
635 }
636 case E_DLC_CMD_WRITE_CURVE_SUB:
637 {
638 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
639 {
640 printf("UtopiaDlcResourceObtain fail\n");
641 return UTOPIA_STATUS_ERR_RESOURCE;
642 }
643
644 pstDLC_WriteCurve_Sub pDLCArgs = (pstDLC_WriteCurve_Sub)pArgs;
645 pDLCArgs->bReturn = psDLCInstPri->fpDLC_WriteCurve_Sub(pInstance, pDLCArgs->pu8Table );
646
647 UtopiaResourceRelease(pResource);
648 return UTOPIA_STATUS_SUCCESS;
649 break;
650 }
651 case E_DLC_CMD_GET_HISTOGRAM:
652 {
653 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
654 {
655 printf("UtopiaDlcResourceObtain fail\n");
656 return UTOPIA_STATUS_ERR_RESOURCE;
657 }
658
659 pstDLC_GetHistogram pDLCArgs = (pstDLC_GetHistogram)pArgs;
660 pDLCArgs->bReturn = psDLCInstPri->fpDLC_GetHistogram(pInstance, pDLCArgs->pu16Histogram ,pDLCArgs->enHistogramType);
661
662 UtopiaResourceRelease(pResource);
663 return UTOPIA_STATUS_SUCCESS;
664 break;
665 }
666 case E_DLC_CMD_DECODE_EXT_CMD:
667 {
668 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
669 {
670 printf("UtopiaDlcResourceObtain fail\n");
671 return UTOPIA_STATUS_ERR_RESOURCE;
672 }
673
674 pstDLC_DecodeExtCmd pDLCArgs = (pstDLC_DecodeExtCmd)pArgs;
675 psDLCInstPri->fpDLC_DecodeExtCmd(pInstance, pDLCArgs->params );
676
677 UtopiaResourceRelease(pResource);
678 return UTOPIA_STATUS_SUCCESS;
679 break;
680 }
681 case E_DLC_CMD_SET_CAPTURE_RANGE:
682 {
683 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
684 {
685 printf("UtopiaDlcResourceObtain fail\n");
686 return UTOPIA_STATUS_ERR_RESOURCE;
687 }
688
689 pstDLC_SetCaptureRange pDLCArgs = (pstDLC_SetCaptureRange)pArgs;
690 psDLCInstPri->fpDLC_SetCaptureRange(pInstance, pDLCArgs->pu16_Range );
691
692 UtopiaResourceRelease(pResource);
693 return UTOPIA_STATUS_SUCCESS;
694 break;
695 }
696 case E_DLC_CMD_SET_SETTING:
697 {
698 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
699 {
700 printf("UtopiaDlcResourceObtain fail\n");
701 return UTOPIA_STATUS_ERR_RESOURCE;
702 }
703
704 pstDLC_SetSetting pDLCArgs = (pstDLC_SetSetting)pArgs;
705 psDLCInstPri->fpDLC_SetSetting(pInstance, pDLCArgs->DLC_MFinit);
706
707 UtopiaResourceRelease(pResource);
708 return UTOPIA_STATUS_SUCCESS;
709 break;
710 }
711 case E_DLC_CMD_INIT:
712 {
713 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
714 {
715 printf("UtopiaDlcResourceObtain fail\n");
716 return UTOPIA_STATUS_ERR_RESOURCE;
717 }
718
719 pstDLC_Init pDLCArgs = (pstDLC_Init)pArgs;
720 pDLCArgs->bReturn = psDLCInstPri->fpDLC_Init(pInstance, pDLCArgs->pstXC_DLC_InitData ,pDLCArgs->u32InitDataLen);
721
722 UtopiaResourceRelease(pResource);
723 return UTOPIA_STATUS_SUCCESS;
724 break;
725 }
726 case E_DLC_CMD_GET_STATUS:
727 {
728 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
729 {
730 printf("UtopiaDlcResourceObtain fail\n");
731 return UTOPIA_STATUS_ERR_RESOURCE;
732 }
733
734 pstDLC_GetStatus pDLCArgs = (pstDLC_GetStatus)pArgs;
735 pDLCArgs->bReturn = psDLCInstPri->fpDLC_GetStatus(pInstance, pDLCArgs->pDrvStatus ,pDLCArgs->bWindow);
736
737 UtopiaResourceRelease(pResource);
738 return UTOPIA_STATUS_SUCCESS;
739 break;
740 }
741
742 case E_DLC_CMD_SET_POWERSTATE:
743 {
744 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
745 {
746 printf("UtopiaDlcResourceObtain fail\n");
747 return UTOPIA_STATUS_ERR_RESOURCE;
748 }
749
750 pstDLC_SetPowerState pDLCArgs = (pstDLC_SetPowerState)pArgs;
751 pDLCArgs->u32Return = psDLCInstPri->fpDLC_SetPowerState(pInstance, pDLCArgs->enPowerState);
752
753 UtopiaResourceRelease(pResource);
754 return UTOPIA_STATUS_SUCCESS;
755 break;
756 }
757
758 case E_DBC_CMD_DLC_INIT:
759 {
760 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
761 {
762 printf("UtopiaDlcResourceObtain fail\n");
763 return UTOPIA_STATUS_ERR_RESOURCE;
764 }
765
766 pstDBC_DLC_Init pDLCArgs = (pstDBC_DLC_Init)pArgs;
767 psDLCInstPri->fpDBC_DLC_Init(pInstance, pDLCArgs->DLC_DBC_MFinit );
768
769 UtopiaResourceRelease(pResource);
770 return UTOPIA_STATUS_SUCCESS;
771 break;
772 }
773 case E_DBC_CMD_INIT:
774 {
775 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
776 {
777 printf("UtopiaDlcResourceObtain fail\n");
778 return UTOPIA_STATUS_ERR_RESOURCE;
779 }
780
781 psDLCInstPri->fpDBC_Init(pInstance );
782
783 UtopiaResourceRelease(pResource);
784 return UTOPIA_STATUS_SUCCESS;
785 break;
786 }
787 case E_DBC_CMD_SET_STATUS:
788 {
789 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
790 {
791 printf("UtopiaDlcResourceObtain fail\n");
792 return UTOPIA_STATUS_ERR_RESOURCE;
793 }
794
795 pstDBC_Setstatus pDLCArgs = (pstDBC_Setstatus)pArgs;
796 psDLCInstPri->fpDBC_Setstatus(pInstance, pDLCArgs->bDBCEnable );
797
798 UtopiaResourceRelease(pResource);
799 return UTOPIA_STATUS_SUCCESS;
800 break;
801 }
802 case E_DBC_CMD_GET_STATUS:
803 {
804 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
805 {
806 printf("UtopiaDlcResourceObtain fail\n");
807 return UTOPIA_STATUS_ERR_RESOURCE;
808 }
809
810 pstDBC_Getstatus pDLCArgs = (pstDBC_Getstatus)pArgs;
811 pDLCArgs->bReturn = psDLCInstPri->fpDBC_Getstatus(pInstance);
812
813 UtopiaResourceRelease(pResource);
814 return UTOPIA_STATUS_SUCCESS;
815 break;
816 }
817 case E_DBC_CMD_SET_READY:
818 {
819 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
820 {
821 printf("UtopiaDlcResourceObtain fail\n");
822 return UTOPIA_STATUS_ERR_RESOURCE;
823 }
824
825 pstDBC_SetReady pDLCArgs = (pstDBC_SetReady)pArgs;
826 psDLCInstPri->fpDBC_SetReady(pInstance, pDLCArgs->bDBCReady);
827
828 UtopiaResourceRelease(pResource);
829 return UTOPIA_STATUS_SUCCESS;
830 break;
831 }
832 case E_DBC_CMD_SET_DEBUG_MODE:
833 {
834 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
835 {
836 printf("UtopiaDlcResourceObtain fail\n");
837 return UTOPIA_STATUS_ERR_RESOURCE;
838 }
839
840 pstDBC_SetDebugMode pDLCArgs = (pstDBC_SetDebugMode)pArgs;
841 psDLCInstPri->fpDBC_SetDebugMode(pInstance, pDLCArgs->ucDBC_DebugMode);
842
843 UtopiaResourceRelease(pResource);
844 return UTOPIA_STATUS_SUCCESS;
845 break;
846 }
847 case E_DBC_CMD_GET_DEBUG_MODE:
848 {
849 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
850 {
851 printf("UtopiaDlcResourceObtain fail\n");
852 return UTOPIA_STATUS_ERR_RESOURCE;
853 }
854
855 pstDBC_GetDebugMode pDLCArgs = (pstDBC_GetDebugMode)pArgs;
856 pDLCArgs->u8Return = psDLCInstPri->fpDBC_GetDebugMode(pInstance);
857
858 UtopiaResourceRelease(pResource);
859 return UTOPIA_STATUS_SUCCESS;
860 break;
861 }
862 case E_DBC_CMD_UPDATE_PWM:
863 {
864 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
865 {
866 printf("UtopiaDlcResourceObtain fail\n");
867 return UTOPIA_STATUS_ERR_RESOURCE;
868 }
869
870 pstDBC_UpdatePWM pDLCArgs = (pstDBC_UpdatePWM)pArgs;
871 psDLCInstPri->fpDBC_UpdatePWM(pInstance ,pDLCArgs->u8PWMvalue);
872
873 UtopiaResourceRelease(pResource);
874 return UTOPIA_STATUS_SUCCESS;
875 break;
876 }
877 case E_DBC_CMD_HANDLER:
878 {
879 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
880 {
881 printf("UtopiaDlcResourceObtain fail\n");
882 return UTOPIA_STATUS_ERR_RESOURCE;
883 }
884
885 pstDBC_Handler pDLCArgs = (pstDBC_Handler)pArgs;
886 pDLCArgs->u16Return = psDLCInstPri->fpDBC_Handler(pInstance );
887
888 UtopiaResourceRelease(pResource);
889 return UTOPIA_STATUS_SUCCESS;
890 break;
891 }
892 case E_DBC_CMD_ADJUST_YC_GAIN:
893 {
894 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
895 {
896 printf("UtopiaDlcResourceObtain fail\n");
897 return UTOPIA_STATUS_ERR_RESOURCE;
898 }
899
900 psDLCInstPri->fpDBC_AdjustYCGain(pInstance );
901
902
903 UtopiaResourceRelease(pResource);
904 return UTOPIA_STATUS_SUCCESS;
905 break;
906 }
907 case E_DBC_CMD_YC_GAIN_INIT:
908 {
909 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
910 {
911 printf("UtopiaDlcResourceObtain fail\n");
912 return UTOPIA_STATUS_ERR_RESOURCE;
913 }
914
915 pstDBC_YCGainInit pDLCArgs = (pstDBC_YCGainInit)pArgs;
916 psDLCInstPri->fpDBC_YCGainInit(pInstance ,pDLCArgs->u8YGain_M ,pDLCArgs->u8YGain_L ,pDLCArgs->u8CGain_M ,pDLCArgs->u8CGain_L );
917
918 UtopiaResourceRelease(pResource);
919 return UTOPIA_STATUS_SUCCESS;
920 break;
921 }
922 case E_DBC_CMD_RESET:
923 {
924 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
925 {
926 printf("UtopiaDlcResourceObtain fail\n");
927 return UTOPIA_STATUS_ERR_RESOURCE;
928 }
929
930 psDLCInstPri->fpDBC_Reset(pInstance );
931
932 UtopiaResourceRelease(pResource);
933 return UTOPIA_STATUS_SUCCESS;
934 break;
935 }
936 case E_DBC_CMD_DECODE_EXT_CMD:
937 {
938 if (UtopiaResourceObtain(pModule, E_DLC_POOL_ID_INTERNAL, &pResource) != UTOPIA_STATUS_SUCCESS)
939 {
940 printf("UtopiaDlcResourceObtain fail\n");
941 return UTOPIA_STATUS_ERR_RESOURCE;
942 }
943
944 pstDBC_DecodeExtCmd pDLCArgs = (pstDBC_DecodeExtCmd)pArgs;
945 psDLCInstPri->fpDBC_DecodeExtCmd(pInstance ,pDLCArgs->params );
946
947 UtopiaResourceRelease(pResource);
948 return UTOPIA_STATUS_SUCCESS;
949 break;
950 }
951
952 default:
953 printf("Error DLC Command = %td\n",(ptrdiff_t)u32Cmd);
954 break;
955 }
956 return UTOPIA_STATUS_SUCCESS;
957 }
958
959
DLCClose(void * pInstance)960 MS_U32 DLCClose(void* pInstance)
961 {
962 UtopiaInstanceDelete(pInstance);
963
964 return TRUE;
965 }
966
967
968