xref: /utopia/UTPA2-700.0.x/modules/xc/utopia_adaption/xc/XC_adp.c (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 //<MStar Software>
2 //******************************************************************************
3 // MStar Software
4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5 // All software, firmware and related documentation herein ("MStar Software") are
6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7 // law, including, but not limited to, copyright law and international treaties.
8 // Any use, modification, reproduction, retransmission, or republication of all
9 // or part of MStar Software is expressly prohibited, unless prior written
10 // permission has been granted by MStar.
11 //
12 // By accessing, browsing and/or using MStar Software, you acknowledge that you
13 // have read, understood, and agree, to be bound by below terms ("Terms") and to
14 // comply with all applicable laws and regulations:
15 //
16 // 1. MStar shall retain any and all right, ownership and interest to MStar
17 //    Software and any modification/derivatives thereof.
18 //    No right, ownership, or interest to MStar Software and any
19 //    modification/derivatives thereof is transferred to you under Terms.
20 //
21 // 2. You understand that MStar Software might include, incorporate or be
22 //    supplied together with third party`s software and the use of MStar
23 //    Software may require additional licenses from third parties.
24 //    Therefore, you hereby agree it is your sole responsibility to separately
25 //    obtain any and all third party right and license necessary for your use of
26 //    such third party`s software.
27 //
28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29 //    MStar`s confidential information and you agree to keep MStar`s
30 //    confidential information in strictest confidence and not disclose to any
31 //    third party.
32 //
33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34 //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35 //    without limitation, any warranties of merchantability, non-infringement of
36 //    intellectual property rights, fitness for a particular purpose, error free
37 //    and in conformity with any international standard.  You agree to waive any
38 //    claim against MStar for any loss, damage, cost or expense that you may
39 //    incur related to your use of MStar Software.
40 //    In no event shall MStar be liable for any direct, indirect, incidental or
41 //    consequential damages, including without limitation, lost of profit or
42 //    revenues, lost or damage of data, and unauthorized system use.
43 //    You agree that this Section 4 shall still apply without being affected
44 //    even if MStar Software has been modified by MStar in accordance with your
45 //    request or instruction for your use, except otherwise agreed by both
46 //    parties in writing.
47 //
48 // 5. If requested, MStar may from time to time provide technical supports or
49 //    services in relation with MStar Software to you for your use of
50 //    MStar Software in conjunction with your or your customer`s product
51 //    ("Services").
52 //    You understand and agree that, except otherwise agreed by both parties in
53 //    writing, Services are provided on an "AS IS" basis and the warranty
54 //    disclaimer set forth in Section 4 above shall apply.
55 //
56 // 6. Nothing contained herein shall be construed as by implication, estoppels
57 //    or otherwise:
58 //    (a) conferring any license or right to use MStar name, trademark, service
59 //        mark, symbol or any other identification;
60 //    (b) obligating MStar or any of its affiliates to furnish any person,
61 //        including without limitation, you and your customers, any assistance
62 //        of any kind whatsoever, or any information; or
63 //    (c) conferring any license or right under any intellectual property right.
64 //
65 // 7. These terms shall be governed by and construed in accordance with the laws
66 //    of Taiwan, R.O.C., excluding its conflict of law rules.
67 //    Any and all dispute arising out hereof or related hereto shall be finally
68 //    settled by arbitration referred to the Chinese Arbitration Association,
69 //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70 //    Rules of the Association by three (3) arbitrators appointed in accordance
71 //    with the said Rules.
72 //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73 //    be English.
74 //    The arbitration award shall be final and binding to both parties.
75 //
76 //******************************************************************************
77 
78 ////////////////////////////////////////////////////////////////////////////////
79 /// file    XC_adp.c
80 /// @brief  Main API in XC library.
81 /// @author MStar Semiconductor Inc.
82 ////////////////////////////////////////////////////////////////////////////////
83 
84 #ifndef _XC_ADP_C_
85 #define _XC_ADP_C_
86 
87 //------------------------------------------------------------------------------
88 //  Include Files
89 //------------------------------------------------------------------------------
90 // Common Definition
91 #include <linux/kernel.h>
92 #include <linux/sched.h>
93 #include <linux/string.h>
94 #include <linux/slab.h>
95 #include <linux/uaccess.h>
96 #include <linux/compat.h>
97 #include "MsTypes.h"
98 #include "utopia.h"
99 #include "utopia_adp.h"
100 #include "MsOS.h"
101 
102 // Internal Definition
103 #include "drvXC_IOPort.h"
104 #include "apiXC.h"
105 #include "apiXC_v2.h"
106 #include "apiXC_DWIN.h"
107 #ifdef UFO_XC_VMARK
108 #include "apiXC_VMark.h"
109 #include "apiXC_VMark_v2.h"
110 #endif
111 
112 
113 #include "XC_PCMonitor_adp.h"
114 #include "XC_ModeParse_adp.h"
115 #include "XC_HDMI_if_adp.h"
116 #include "XC_AUTO_adp.h"
117 #include "XC_ADC_adp.h"
118 #include "XC_adp.h"
119 
120 extern spt_MS_NULL;
121 
122 //------------------------------------------------------------------------------
123 //  Driver Compiler Options
124 //------------------------------------------------------------------------------
125 
126 //------------------------------------------------------------------------------
127 //  Local Defines
128 //------------------------------------------------------------------------------
129 
130 #ifdef MSOS_TYPE_LINUX_KERNEL
131     #define CPY_FROM_USER(a,b,c)                                    if(copy_from_user(a,b,c) != 0) { break; }
132     #define CPY_to_USER(a,b,c)                                      if(copy_to_user(a,b,c) != 0) { break; }
133 #else
134     #define CPY_FROM_USER                                           memcpy
135     #define CPY_to_USER                                             memcpy
136 #endif  //MSOS_TYPE_LINUX_KERNEL
137 
138 
139 #if (defined(MSOS_TYPE_LINUX_KERNEL) && defined(CONFIG_COMPAT))
140     #define IS_CMP_TASK()                                             is_compat_task()
141     #define CMP_CPY_FROM_USER(a,b,c)                                if(copy_from_user(a, compat_ptr((unsigned long)b), c) != 0)  {  break; }
142     #define CMP_CPY_TO_USER(a,b,c)                                  if(copy_to_user(compat_ptr((unsigned long)a), b, c) != 0) { break;  }
143 #else
144     #define IS_CMP_TASK()                                             (FALSE)
145     #define CMP_CPY_FROM_USER                                       CPY_FROM_USER
146     #define CMP_CPY_TO_USER                                         CPY_to_USER
147 #endif //CONFIG_COMPAT
148 //------------------------------------------------------------------------------
149 //  Local Structurs
150 //------------------------------------------------------------------------------
151 
152 //------------------------------------------------------------------------------
153 //  Global Variables
154 //------------------------------------------------------------------------------
155 
156 //------------------------------------------------------------------------------
157 //  Local Variables
158 //------------------------------------------------------------------------------
159 
160 #ifdef UFO_XC_HDR
161 #if (UFO_XC_HDR_VERSION == 2)
162 
163 #ifdef CONFIG_COMPAT
164 typedef struct
165 {
166     MS_U32 u323DLutInfo_Version;         ///<Version of current structure. Please always set to "HDR_3DLUT_INFO_VERSION" as input
167     MS_U16 u163DLutInfo_Length;          ///<Length of this structure, u163DLutInfo_Length=sizeof(XC_HDR_3DLUT_INFO)
168 
169     compat_uptr_t pu8Data;                     /// pointer to data
170     MS_U32 u32Size;                     /// data size
171 } _compact_XC_HDR_3DLUT_INFO;
172 
173 typedef struct DLL_PACKED
174 {
175     EN_XC_HDR_CTRL_TYPE enCtrlType;
176     compat_uptr_t pParam;
177     E_APIXC_ReturnValue eReturnValue;
178 } _compact_stXC_HDR_CTRL;
179 
180 /// CFD control information, reference mdrv_xc_st.h in kernel.
181 typedef struct  __attribute__((packed))
182 {
183     /// Control type, reference EN_MAPI_CFD_CTRL_TYPE
184     EN_XC_CFD_CTRL_TYPE enCtrlType;
185     /// Control parameter
186     void *pParam;
187 #if !defined (__aarch64__)
188     /// Dummy parameter
189     void *pDummy;
190 #endif
191     /// Control parameter length
192     MS_U32 u32ParamLen;
193     /// Error code
194     MS_U16 u16ErrCode;
195 } _compact_XC_CFD_CONTROL_INFO;
196 
197 #endif
198 #endif
199 #endif
200 
201 #if 0
202 typedef struct DLL_PACKED
203 {
204     E_XC_CAPS eCapType;
205     compat_uptr_t   pRet;
206     MS_U32    ret_size;
207     E_APIXC_ReturnValue eReturnValue;
208 } _compact_stXC_GET_CHIP_CAPS;
209 #endif
210 
211 //Function parameter
212 UADP_STRUCT_POINTER_TABLE spt_XC_GET_LIB_VER[5];
213 UADP_STRUCT_POINTER_TABLE spt_XC_CMD_GET_INFO[5];
214 UADP_STRUCT_POINTER_TABLE spt_XC_GET_STATUS[5];
215 UADP_STRUCT_POINTER_TABLE spt_XC_GET_STATUS_NODELAY[5];
216 UADP_STRUCT_POINTER_TABLE spt_XC_GET_STATUS_EX[5];
217 UADP_STRUCT_POINTER_TABLE spt_XC_SET_DBG_LEVEL[5];
218 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FPLL_CUSTOMERMODE[5];
219 UADP_STRUCT_POINTER_TABLE spt_XC_CMD_SET_IOMAPBASE[5];
220 UADP_STRUCT_POINTER_TABLE spt_XC_INIT[5];
221 UADP_STRUCT_POINTER_TABLE spt_XC_GET_CONFIG[5];
222 UADP_STRUCT_POINTER_TABLE spt_XC_INIT_MISC[5];
223 UADP_STRUCT_POINTER_TABLE spt_XC_GET_MISC_STATUS[5];
224 UADP_STRUCT_POINTER_TABLE spt_XC_GET_CAPABILITY[5];
225 UADP_STRUCT_POINTER_TABLE spt_XC_GET_CHIP_CAPS[5];
226 UADP_STRUCT_POINTER_TABLE spt_XC_EXIT[5];
227 UADP_STRUCT_POINTER_TABLE spt_XC_SET_DYNAMIC_SCALING[5];
228 UADP_STRUCT_POINTER_TABLE spt_XC_GET_DNR_BASEOFFSET[5];
229 UADP_STRUCT_POINTER_TABLE spt_XC_GET_FRAMENUM_FACTOR[5];
230 UADP_STRUCT_POINTER_TABLE spt_XC_SET_WINDOW[5];
231 UADP_STRUCT_POINTER_TABLE spt_XC_SET_DUALWINDOW[5];
232 UADP_STRUCT_POINTER_TABLE spt_XC_SET_TRAVELING_WINDOW[5];
233 UADP_STRUCT_POINTER_TABLE spt_XC_SET_INPUTSOURCE[5];
234 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_YUVSPACE[5];
235 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_MEMORYFORMAT422[5];
236 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FORCE_RGBIN[5];
237 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MIRRORMODE_EX[5];
238 UADP_STRUCT_POINTER_TABLE spt_XC_GET_MIRRORMODE_TYPEEX[5];
239 UADP_STRUCT_POINTER_TABLE spt_XC_GET_SYNC_STATUS[5];
240 UADP_SPT_NAMEnNXT_DEF(XC_CMA_CONFIG,0);
241 UADP_SPT_NAMEnNXT_DEF(XC_CONFIG_CMA,1);
242 UADP_SPT_NAMEnNXT_DEF(XC_SET_OSD_LAYER_BLENDING,0);
243 UADP_SPT_NAMEnNXT_DEF(XC_SET_OSD_LAYER_ALPHA,0);
244 UADP_STRUCT_POINTER_TABLE spt_XC_SET_WAIT_OUTPUT_VSYNC[5];
245 UADP_STRUCT_POINTER_TABLE spt_XC_SET_WAIT_INPUT_VSYNC[5];
246 UADP_STRUCT_POINTER_TABLE spt_XC_SET_HDMI_SYNCMODE[5];
247 UADP_STRUCT_POINTER_TABLE spt_XC_GET_HDMI_SYNCMODE[5];
248 UADP_STRUCT_POINTER_TABLE spt_XC_SET_REPORT_WINDOW[5];
249 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW[5];
250 UADP_STRUCT_POINTER_TABLE spt_XC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW[5];
251 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL[5];
252 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OPWRITEOFF_ENABLE[5];
253 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OPWRITEOFF_ENABLE_TO_REG[5];
254 UADP_STRUCT_POINTER_TABLE spt_XC_FORCESET_OPWRITEOFF_ENABLE[5];
255 UADP_STRUCT_POINTER_TABLE spt_XC_GET_OPWRITEOFF_ENABLE[5];
256 UADP_STRUCT_POINTER_TABLE spt_XC_SET_DISPLAY_WIN_TO_REG[5];
257 UADP_STRUCT_POINTER_TABLE spt_XC_GET_DISPLAY_WIN_FROM_REG[5];
258 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FREEZEIMG[5];
259 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_FREEZEIMG[5];
260 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BOTHWINDOW_BLACKVIDEO[5];
261 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BLACKSCREEN[5];
262 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BLACKVIDEO[5];
263 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_BLACKVIDEO_ENABLE[5];
264 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FRAMEBUFFERLESS[5];
265 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_FRAMEBUFFERLESS[5];
266 UADP_STRUCT_POINTER_TABLE spt_XC_SET_REQUEST_FRAMEBUFFERLESS[5];
267 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS[5];
268 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_HWVERSION[5];
269 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_3D_SUPPORT_HW2DTO3D[5];
270 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_MODE[5];
271 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_MAINWIN_FIRST[5];
272 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_LR_EXCHANGE[5];
273 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_3D_LR_EXCHANGED[5];
274 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_INPUT_MODE[5];
275 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_OUTPUT_MODE[5];
276 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_PANELTYPE[5];
277 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_MAINWIN_FIRST[5];
278 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_3D_MAINSUB_IPSYNC[5];
279 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_VERTICALVIDEO_OFFSET[5];
280 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_VERTICALVIDEO_OFFSET[5];
281 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_3D_FORMAT_SUPPORTED[5];
282 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_HORIZONTAL_SHIFT[5];
283 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_LR_SBS2LINE[5];
284 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_HORIZONTAL_SHIFT[5];
285 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_HW2DTO3D_BUFFER[5];
286 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_HW2DTO3D_PARAMETERS[5];
287 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_HW2DTO3D_PARAMETERS[5];
288 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_DETECT_3DFORMAT_PARAMETERS[5];
289 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_DETECT_3DFORMAT_PARAMETERS[5];
290 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_FORMAT_DETECTED_BY_CONTENT[5];
291 UADP_STRUCT_POINTER_TABLE spt_XC_SET_NINELATTICE[5];
292 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_POST_PQSETTING[5];
293 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_FRAMEPACKING_INFO[5];
294 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_AUTODETECT[5];
295 UADP_STRUCT_POINTER_TABLE spt_XC_GET_3D_AUTODETECT_3DFLAG[5];
296 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_SUBWINCLOCK[5];
297 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_3D_LR_SBS2LINE[5];
298 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_3D_SKIP_DEFAULT_LR_FLAG[5];
299 UADP_STRUCT_POINTER_TABLE spt_XC_SET_3D_SKIP_DEFAULT_LR_FLAG[5];
300 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_INIT[5];
301 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_SOURCE_MONITOR[5];
302 //UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_CREATE_PATH[5];
303 UADP_SPT_NAMEnNXT_DEF(ADP_Path_Info,5);
304 UADP_SPT_NAMEnNXT_DEF(XC_SET_MUX_CREATE_PATH,1);
305 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_DELETE_PATH[5];
306 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_ENABLE_PATH[5];
307 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_TRIGGER_PATH_SYNC_EVENT[5];
308 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT[5];
309 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_ONOFF_PERIODIC_HANDLER[5];
310 UADP_STRUCT_POINTER_TABLE spt_XC_GET_MUX_PATHINFO[5];
311 UADP_STRUCT_POINTER_TABLE spt_XC_MUX_PATHINFO[5];
312 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_SUPPORT_MHL_PATHINFO[5];
313 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO[5];
314 UADP_STRUCT_POINTER_TABLE spt_XC_GET_MUX_HDMIPORT[5];
315 UADP_STRUCT_POINTER_TABLE spt_XC_MUX_INPUTSRCTABLE[2];
316 UADP_STRUCT_POINTER_TABLE spt_XC_GET_MUX_MAPPING_TAB[3];
317 UADP_STRUCT_POINTER_TABLE spt_XC_GET_MUX_INPUTSOURCE2VDYMUXPORT[5];
318 UADP_STRUCT_POINTER_TABLE spt_XC_SET_NR[5];
319 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_UC_ENABLED[5];
320 UADP_STRUCT_POINTER_TABLE spt_XC_SET_GENERATE_SPECIFIC_TIMING[5];
321 UADP_STRUCT_POINTER_TABLE spt_XC_GET_DE_BYPASS_MODE[5];
322 UADP_STRUCT_POINTER_TABLE spt_XC_GET_DE_WINDOW[5];
323 UADP_STRUCT_POINTER_TABLE spt_XC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE[5];
324 UADP_STRUCT_POINTER_TABLE spt_XC_GET_CAPTURE_WINDOW[5];
325 UADP_STRUCT_POINTER_TABLE spt_XC_SET_CAPTURE_WINDOW_VSTART[5];
326 UADP_STRUCT_POINTER_TABLE spt_XC_SET_CAPTURE_WINDOW_HSTART[5];
327 UADP_STRUCT_POINTER_TABLE spt_XC_SET_CAPTURE_WINDOW_VSIZE[5];
328 UADP_STRUCT_POINTER_TABLE spt_XC_SET_CAPTURE_WINDOW_HSIZE[5];
329 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SOFTWARE_RESET[5];
330 UADP_STRUCT_POINTER_TABLE spt_XC_GET_HFREQX10[5];
331 UADP_STRUCT_POINTER_TABLE spt_XC_GET_HFREQX1K[5];
332 UADP_STRUCT_POINTER_TABLE spt_XC_GET_VFREQX10[5];
333 UADP_STRUCT_POINTER_TABLE spt_XC_GET_VFREQX1K[5];
334 UADP_STRUCT_POINTER_TABLE spt_XC_GET_ACCURATE_VFREQX1k[5];
335 UADP_STRUCT_POINTER_TABLE spt_XC_SET_INTERRUPT_ATTACH[5];
336 UADP_STRUCT_POINTER_TABLE spt_XC_SET_INTERRUPT_DEATTACH[5];
337 UADP_STRUCT_POINTER_TABLE spt_XC_SET_DISABLE_INPUTSOURCE[5];
338 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_INPUTSOURCE_DISABLED[5];
339 UADP_STRUCT_POINTER_TABLE spt_XC_SET_CHANGE_PANELTYPE[5];
340 UADP_STRUCT_POINTER_TABLE spt_XC_GET_CURRENT_READBANK[5];
341 UADP_STRUCT_POINTER_TABLE spt_XC_GET_CURRENT_WRITEBANK[5];
342 UADP_STRUCT_POINTER_TABLE spt_XC_SET_AUTO_PRESCALING[5];
343 UADP_STRUCT_POINTER_TABLE spt_XC_GET_VSYNC_WIDTH[5];
344 UADP_STRUCT_POINTER_TABLE spt_XC_SET_GOP_ENABLE[5];
345 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SELECT_IP_FOR_GOP[5];
346 UADP_STRUCT_POINTER_TABLE spt_XC_GET_DESTINATION_INFO[5];
347 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FDMASK_BYWIN[5];
348 UADP_STRUCT_POINTER_TABLE spt_XC_GET_FDMASK_BYWIN[5];
349 UADP_STRUCT_POINTER_TABLE spt_XC_SET_IP1_TESTPATTERN[5];
350 UADP_STRUCT_POINTER_TABLE spt_XC_SET_INIT_IP_FOR_INTERNAL_TIMING[5];
351 UADP_STRUCT_POINTER_TABLE spt_XC_SET_IPMUX[5];
352 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_HSYNC_ACTIVE[5];
353 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_VSYNC_ACTIVE[5];
354 UADP_STRUCT_POINTER_TABLE spt_XC_GET_AUTO_POSITION_WINDOW[5];
355 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FRAMEBUFFER_ADDRESS[5];
356 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING[5];
357 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SCALER_MEMORY_REQUEST[5];
358 UADP_STRUCT_POINTER_TABLE spt_XC_GET_PIXEL_DATA[5];
359 UADP_STRUCT_POINTER_TABLE spt_XC_GET_AVAILABLE_SIZE[5];
360 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FRAME_COLOR[5];
361 UADP_STRUCT_POINTER_TABLE spt_XC_SET_DISPLAY_WINDOW_COLOR[5];
362 UADP_STRUCT_POINTER_TABLE spt_XC_GET_SUPPORT_SOURCE_TO_VE[5];
363 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OUTPUT_CAPTURE[5];
364 UADP_STRUCT_POINTER_TABLE spt_XC_SET_GAMMA_ONOFF[5];
365 UADP_STRUCT_POINTER_TABLE spt_XC_SET_PREGAMMA_GAIN[5];
366 UADP_STRUCT_POINTER_TABLE spt_XC_SET_PREGAMMA_OFFSET[5];
367 UADP_STRUCT_POINTER_TABLE spt_XC_SET_PANEL_TIMING[5];
368 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OUTPUT_TIMING_MODE[5];
369 UADP_STRUCT_POINTER_TABLE spt_XC_SET_CUSTOMER_SYNC_INFO[5];
370 UADP_STRUCT_POINTER_TABLE spt_XC_GET_WAIT_FPLL_DONE[5];
371 UADP_STRUCT_POINTER_TABLE spt_XC_GET_OUTPUT_VFREQX100[5];
372 UADP_STRUCT_POINTER_TABLE spt_XC_GET_OP1_OUTPUT_VFREQX100[5];
373 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_FRAMELOCK[5];
374 UADP_STRUCT_POINTER_TABLE spt_XC_SET_CUSTOMIZE_FRC_TABLE[5];
375 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OUTPUT_FRAME_CONTROL[5];
376 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FPLL_FSM_ENABLE[5];
377 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FORCE_FREERUN[5];
378 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_FORCE_FREERUN[5];
379 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FREERUN_FREQ[5];
380 UADP_STRUCT_POINTER_TABLE spt_XC_SET_EXPANEL_INFO[5];
381 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FPLL_THRESHMODE[5];
382 UADP_STRUCT_POINTER_TABLE spt_XC_GET_FPLL_THRESHMODE[5];
383 UADP_STRUCT_POINTER_TABLE spt_XC_SET_IPAUTONOSIGNAL[5];
384 UADP_STRUCT_POINTER_TABLE spt_XC_GET_IPAUTONOSIGNAL[5];
385 UADP_STRUCT_POINTER_TABLE spt_XC_SET_IPAUTOCOAST[5];
386 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FPLL_MANUAL_SETTING_ENABLE[5];
387 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FPLL_BOUNDARY_TEST[5];
388 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OFFLINE_DETECTION[5];
389 UADP_STRUCT_POINTER_TABLE spt_XC_GET_OFFLINE_DETECTION[5];
390 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OFFLINE_SOG_THRESHOLD[5];
391 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OFFLINE_SOG_BW[5];
392 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OFFLINE_INIT[5];
393 UADP_STRUCT_POINTER_TABLE spt_XC_SET_EXTRA_FETCH_ADV_LINE[5];
394 UADP_STRUCT_POINTER_TABLE spt_XC_SET_VGA_SOG_ENABLE[5];
395 UADP_STRUCT_POINTER_TABLE spt_XC_SET_WINDOW_ENABLE[5];
396 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_SUBWINDOW_ENABLE[5];
397 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BORDER_FORMAT[5];
398 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BORDER_ENABLE[5];
399 UADP_STRUCT_POINTER_TABLE spt_XC_SET_ZORDER_MAINWINDOW_FIRSTL[5];
400 UADP_STRUCT_POINTER_TABLE spt_XC_SET_PQ_LOADFUNCTION[5];
401 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_H_NONLINEAR_SCALING[5];
402 UADP_STRUCT_POINTER_TABLE spt_XC_SET_EUROHDTV_SUPPORT_ENABLE[5];
403 UADP_STRUCT_POINTER_TABLE spt_XC_SET_EUROHDTV_DETECTION_ENABLE[5];
404 UADP_STRUCT_POINTER_TABLE spt_XC_READBYTE[5];
405 UADP_STRUCT_POINTER_TABLE spt_XC_WRITEBYTE[5];
406 UADP_STRUCT_POINTER_TABLE spt_XC_WRITEBYTEMSK[5];
407 UADP_STRUCT_POINTER_TABLE spt_XC_WRITE2BYTEMSK[5];
408 UADP_STRUCT_POINTER_TABLE spt_XC_W2BYTE[5];
409 UADP_STRUCT_POINTER_TABLE spt_XC_R2BYTE[5];
410 UADP_STRUCT_POINTER_TABLE spt_XC_W4BYTE[5];
411 UADP_STRUCT_POINTER_TABLE spt_XC_R4BYTE[5];
412 UADP_STRUCT_POINTER_TABLE spt_XC_R2BYTEMSK[5];
413 UADP_STRUCT_POINTER_TABLE spt_XC_W2BYTEMSK[5];
414 UADP_STRUCT_POINTER_TABLE spt_XC_MLOAD_INIT[5];
415 UADP_STRUCT_POINTER_TABLE spt_XC_MLOAD_ENABLE[5];
416 UADP_STRUCT_POINTER_TABLE spt_XC_MLOAD_GETSTATUS[5];
417 UADP_STRUCT_POINTER_TABLE spt_XC_MLOAD_WRITE_CMD_AND_FIRE[5];
418 UADP_STRUCT_POINTER_TABLE spt_XC_MLOAD_WRITE_CMDS_AND_FIRE[5];
419 UADP_STRUCT_POINTER_TABLE spt_XC_MLG_INIT[5];
420 UADP_STRUCT_POINTER_TABLE spt_XC_MLG_ENABLE[5];
421 UADP_STRUCT_POINTER_TABLE spt_XC_MLG_GET_CAPS[5];
422 UADP_STRUCT_POINTER_TABLE spt_XC_MLG_GETSTATUST[5];
423 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OSD2VEMODE[5];
424 UADP_STRUCT_POINTER_TABLE spt_XC_SET_IP2_PREFILTER_ENABLE[5];
425 UADP_STRUCT_POINTER_TABLE spt_XC_GET_PIXELRGB[5];
426 UADP_STRUCT_POINTER_TABLE spt_XC_SET_KEEP_PIXELPOINTER_APPEAR[5];
427 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MEMORY_FORMAT_EX[5];
428 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE[5];
429 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SKIP_SWRESET[5];
430 UADP_STRUCT_POINTER_TABLE spt_XC_SET_REPORTWINDOW_FOR_FRAMECOLOR[5];
431 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OSDLAYER[5];
432 UADP_STRUCT_POINTER_TABLE spt_XC_GET_OSDLAYER[5];
433 UADP_STRUCT_POINTER_TABLE spt_XC_SET_VIDEO_ALPHA[5];
434 UADP_STRUCT_POINTER_TABLE spt_XC_GET_VIDEO_ALPHA[5];
435 UADP_STRUCT_POINTER_TABLE spt_XC_SKIP_WAIT_VSYNC[5];
436 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OP2VOP_DE_SELECTION[5];
437 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FRC_WINDOW[5];
438 UADP_STRUCT_POINTER_TABLE spt_XC_SET_2INITFACTOR_ENABLE[5];
439 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_FIELDPACKINGMODE_SUPPORTED[5];
440 //pre init
441 //UADP_STRUCT_POINTER_TABLE spt_XC_PREINIT[5];
442 UADP_SPT_NAMEnNXT_DEF(XC_PREINIT_INFO,0);
443 
444 UADP_SPT_NAMEnNXT_DEF(XC_PREINIT_FRC,1);
445 UADP_SPT_NAMEnNXT_DEF(XC_PREINIT_FRC_3D_TYPE,1);
446 UADP_SPT_NAMEnNXT_DEF(XC_PREINIT_NULL,1);
447 //end of pre init
448 
449 
450 UADP_STRUCT_POINTER_TABLE spt_XC_GET_BUFFERDATA[5];
451 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BUFFERDATA[5];
452 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MAINWINDOW_ENABLE[5];
453 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SUBWINDOW_ENABLE[5];
454 UADP_STRUCT_POINTER_TABLE spt_XC_SET_PIXEL_SHIFT[5];
455 UADP_STRUCT_POINTER_TABLE spt_XC_SET_VIDEO_ON_OSD[5];
456 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OSD_BLENDING_FORMULA[5];
457 UADP_STRUCT_POINTER_TABLE spt_XC_GET_REPORT_PIXEL_INFO[5];
458 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SCALING[5];
459 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MCDI_BUFFERADDRESS[5];
460 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MCDI_ENABLE[5];
461 UADP_STRUCT_POINTER_TABLE spt_XC_SEND_CMD2FRC[5];
462 UADP_STRUCT_POINTER_TABLE spt_XC_GET_MSG_FROM_FRC[5];
463 UADP_STRUCT_POINTER_TABLE spt_XC_SET_AUTO_RWBANK_ENABLE[5];
464 UADP_STRUCT_POINTER_TABLE spt_XC_SET_RWBANK_MAPPING_NUM[5];
465 UADP_STRUCT_POINTER_TABLE spt_XC_GET_RWBANK_MAPPING_NUM[5];
466 UADP_STRUCT_POINTER_TABLE spt_XC_GET_RWBANK_MAPPING_NUM_FOR_ZAP[5];
467 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BOBMODE[5];
468 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FORCE_READBANK[5];
469 UADP_STRUCT_POINTER_TABLE spt_XC_SET_LOCK_POINT[5];
470 UADP_STRUCT_POINTER_TABLE spt_XC_LD_INIT[5];
471 UADP_STRUCT_POINTER_TABLE spt_XC_SET_LD_MEMORYADDRESS[8];
472 UADP_STRUCT_POINTER_TABLE spt_XC_GET_LD_VALUE[5];
473 UADP_STRUCT_POINTER_TABLE spt_XC_SET_LD_LEVEL[5];
474 UADP_STRUCT_POINTER_TABLE spt_XC_SET_LD_TURNOFF_LDBL[5];
475 UADP_STRUCT_POINTER_TABLE spt_XC_SET_NOTUPDATE_SPI_DATA_FLAGS[5];
476 UADP_STRUCT_POINTER_TABLE spt_XC_SET_LD_USERMODEFLAGS[5];
477 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BL_LEVEL[5];
478 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BWS_MODE[5];
479 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FRC_COLOR_PATH_CONTROL[5];
480 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FRC_OP2_RGBGAIN[5];
481 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FRC_OP2_RGBOFFSET[5];
482 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FRC_OP2_DITHER[5];
483 UADP_STRUCT_POINTER_TABLE spt_XC_FRC_BYPASS[5];
484 UADP_STRUCT_POINTER_TABLE spt_XC_FRC_MUTE[5];
485 UADP_STRUCT_POINTER_TABLE spt_XC_SET_GSTREAMER_PROCESS[5];
486 UADP_STRUCT_POINTER_TABLE spt_XC_GET_GSTREAMER_PROCESS[5];
487 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FORCE_READ_FRAME[5];
488 UADP_STRUCT_POINTER_TABLE spt_XC_SET_CSC[5];
489 UADP_STRUCT_POINTER_TABLE spt_XC_SET_REGISTER_PQ_FPLL_THRESH_MODE[5];
490 UADP_STRUCT_POINTER_TABLE spt_XC_GET_FREERUN_STATUS[5];
491 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BYPASS_CSC[5];
492 UADP_STRUCT_POINTER_TABLE spt_XC_GET_DS_FORCE_INDEX_SUPPORTED[5];
493 UADP_STRUCT_POINTER_TABLE spt_XC_SET_DS_FORCE_INDEX[5];
494 UADP_STRUCT_POINTER_TABLE spt_XC_SET_DS_INDEX_SOURCE_SELECT[5];
495 UADP_STRUCT_POINTER_TABLE spt_XC_GET_DS_STATUS[5];
496 UADP_STRUCT_POINTER_TABLE spt_XC_OSDC_INITSETTING[5];
497 UADP_STRUCT_POINTER_TABLE spt_XC_OSDC_SET_OUTPUTVFREQX10[5];
498 UADP_STRUCT_POINTER_TABLE spt_XC_OSDC_CONTROL[5];
499 UADP_STRUCT_POINTER_TABLE spt_XC_OSDC_GET_DESTINATION_INFO[5];
500 UADP_STRUCT_POINTER_TABLE spt_XC_SET_POWERSTATE[5];
501 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BYPASS_OSDVSYNC_POS[5];
502 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BYPASS_INPUTSRC[5];
503 UADP_STRUCT_POINTER_TABLE spt_XC_SET_SEAMLESS_ZAPPING[5];
504 UADP_STRUCT_POINTER_TABLE spt_XC_GET_SEAMLESS_ZAPPING_STATUS[5];
505 UADP_STRUCT_POINTER_TABLE spt_XC_SET_VTRACK_PAYLOADDATA[5];
506 UADP_STRUCT_POINTER_TABLE spt_XC_SET_VTRACK_USERDEFINED_SETTING[5];
507 UADP_STRUCT_POINTER_TABLE spt_XC_SET_VTRACK_ENABLE[5];
508 UADP_STRUCT_POINTER_TABLE spt_XC_PRESET_PQINFO[5];
509 UADP_STRUCT_POINTER_TABLE spt_XC_GET_OP1_TESTPATTERN_ENABLED[5];
510 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OP1_TESTPATTERN[5];
511 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OP2_TESTPATTERN[5];
512 UADP_STRUCT_POINTER_TABLE spt_XC_CHECK_WB_TESTPATTERN[5];
513 UADP_STRUCT_POINTER_TABLE spt_XC_SET_HLINEARSCALING[5];
514 UADP_STRUCT_POINTER_TABLE spt_XC_EnableT3D[5];
515 UADP_STRUCT_POINTER_TABLE spt_XC_Set_FRC_InputTiming[5];
516 UADP_STRUCT_POINTER_TABLE spt_XC_Get_FRC_InputTiming[5];
517 UADP_STRUCT_POINTER_TABLE spt_XC_GET_OUTPUT_VFREQ[5];
518 UADP_STRUCT_POINTER_TABLE spt_XC_GET_CURRENT_OUTPUTVFREQX100[5];
519 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MEMORY_WRITE_REQUEST[5];
520 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MEMORY_FORMAT[5];
521 UADP_STRUCT_POINTER_TABLE spt_XC_SET_OUTPUT_ADJUST_SETTING[5];
522 UADP_STRUCT_POINTER_TABLE spt_XC_SET_FPLL_FSM[5];
523 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MIRROR_MODE_ENABLE[5];
524 UADP_STRUCT_POINTER_TABLE spt_XC_SET_MIRROR_MODE2_ENABLE[5];
525 UADP_STRUCT_POINTER_TABLE spt_XC_Get_VBOX_Info[5];
526 UADP_SPT_NAMEnNXT_DEF(XC_GET_SWDSIndex,5);
527 UADP_SPT_NAMEnNXT_DEF(XC_GET_Is_SupportSWDS,5);
528 
529 //Function parameter's pointer
530 UADP_STRUCT_POINTER_TABLE spt_XC_MSIF_Version[5];
531 UADP_STRUCT_POINTER_TABLE spt_XC_ApiInfo[5];
532 UADP_STRUCT_POINTER_TABLE spt_XC_ApiStatus[5];
533 UADP_STRUCT_POINTER_TABLE spt_XC_ApiStatus_NODELAY[5];
534 UADP_STRUCT_POINTER_TABLE spt_XC_ApiStatusEx[5];
535 UADP_STRUCT_POINTER_TABLE spt_XC_INITDATA[10];
536 UADP_STRUCT_POINTER_TABLE spt_XC_INITMISC[5];
537 UADP_STRUCT_POINTER_TABLE spt_XC_TypeU32[5];
538 UADP_STRUCT_POINTER_TABLE spt_XC_DynamicScaling_Info[5];
539 UADP_STRUCT_POINTER_TABLE spt_XC_SETWIN_INFO[5];
540 UADP_STRUCT_POINTER_TABLE spt_XC_IP_SYNC_STATUS[5];
541 UADP_STRUCT_POINTER_TABLE spt_XC_MS_WINDOW_TYPE[5];
542 UADP_STRUCT_POINTER_TABLE spt_XC_3D_HW2DTO3D_PARA[5];
543 UADP_STRUCT_POINTER_TABLE spt_XC_3D_DETECT3DFORMAT_PARA[5];
544 UADP_STRUCT_POINTER_TABLE spt_XC_ST_DETECTNL_PARA[5];
545 UADP_STRUCT_POINTER_TABLE spt_XC_3D_FPINFO_PARA[5];
546 UADP_STRUCT_POINTER_TABLE spt_XC_3D_AUTODETECT_METHOD[5];
547 UADP_STRUCT_POINTER_TABLE spt_XC_MUX_PATH_INFO[5];
548 UADP_STRUCT_POINTER_TABLE spt_XC_TypeU16[5];
549 UADP_STRUCT_POINTER_TABLE spt_XC_PANEL_INFO[5];
550 UADP_STRUCT_POINTER_TABLE spt_MS_XC_DST_DispInfo[5];
551 UADP_STRUCT_POINTER_TABLE spt_XC_VBOX_INFO[5];
552 //UADP_STRUCT_POINTER_TABLE spt_XC_SETWIN_INFO[5];
553 UADP_STRUCT_POINTER_TABLE spt_XC_PIXEL_32BIT[5];
554 UADP_STRUCT_POINTER_TABLE spt_XC_SetTiming_Info[5];
555 UADP_STRUCT_POINTER_TABLE spt_SC_FRC_SETTING[5];
556 UADP_STRUCT_POINTER_TABLE spt_XC_OUTPUTFRAME_Info[5];
557 UADP_STRUCT_POINTER_TABLE spt_XC_PANEL_INFO_EX[5];
558 UADP_STRUCT_POINTER_TABLE spt_XC_Get_Pixel_RGB[5];
559 UADP_STRUCT_POINTER_TABLE spt_MS_XC_REPORT_PIXELINFO[5];
560 UADP_STRUCT_POINTER_TABLE spt_MS_XC_OSDC_TGEN_INFO[5];
561 UADP_STRUCT_POINTER_TABLE spt_MS_XC_OSDC_CTRL_INFO[5];
562 UADP_STRUCT_POINTER_TABLE spt_MS_OSDC_DST_DispInfo[5];
563 UADP_STRUCT_POINTER_TABLE spt_XC_MS_BOOL[5];
564 UADP_STRUCT_POINTER_TABLE spt_XC_FRC_InputTiming[5];
565 UADP_STRUCT_POINTER_TABLE spt_XC_OUTPUT_TIMING_ADJUST_SETTING[5];
566 UADP_STRUCT_POINTER_TABLE spt_XC_TypeU8[5];
567 
568 //DIP caps
569 UADP_SPT_NAMEnNXT_DEF(XC_GET_CHIP_CAPS_DIP_A0,0);
570 UADP_SPT_NAMEnNXT_DEF(XC_GET_CHIP_CAPS_DIP,1);
571 
572 #ifdef UFO_XC_AUTO_DOWNLOAD
573 
574 UADP_SPT_NAMEnNXT_DEF(XC_AUTODOWNLOAD_CLIENT_SUPPORTED_CAPS,0);
575 UADP_SPT_NAMEnNXT_DEF(XC_GET_CHIP_CAPS_AUTODOWNLOAD_CLIENT,1);
576 UADP_STRUCT_POINTER_TABLE spt_XC_AUTODOWNLOAD_CONFIG_INFO[5];
577 UADP_STRUCT_POINTER_TABLE spt_XC_AUTODOWNLOAD_CONFIG_CTRL[5];
578 UADP_STRUCT_POINTER_TABLE spt_XC_AUTODOWNLOAD_FORMAT_INFO[5];
579 UADP_STRUCT_POINTER_TABLE spt_XC_AUTODOWNLOAD_DATA_INFO[5];
580 UADP_STRUCT_POINTER_TABLE spt_XC_AUTODOWNLOAD_WRITE_CTRL[5];
581 UADP_STRUCT_POINTER_TABLE spt_XC_AUTODOWNLOAD_FIRE_CTRL[5];
582 #endif
583 
584 #ifdef UFO_XC_HDR
585 #if (UFO_XC_HDR_VERSION == 2)
586 UADP_STRUCT_POINTER_TABLE spt_XC_HDR_TYPE[5];
587 
588 UADP_STRUCT_POINTER_TABLE spt_XC_XC_HDR_DMA_CONFIG_INFO[5];
589 UADP_STRUCT_POINTER_TABLE spt_XC_XC_HDR_DMA_INIT_INFO[5];
590 UADP_STRUCT_POINTER_TABLE spt_XC_HDR_OPEN_METADATA_INFO[5];
591 UADP_STRUCT_POINTER_TABLE spt_XC_HDR_ENABLE_CTRL[5];
592 UADP_STRUCT_POINTER_TABLE spt_XC_HDR_SET_TYPE_CTRL[5];
593 UADP_STRUCT_POINTER_TABLE spt_XC_HDR_GET_TYPE_CTRL[5];
594 //UADP_SPT_NAMEnNXT_DEF(XC_HDR_3DLUT_INFO,0);
595 //UADP_SPT_NAMEnNXT_DEF(XC_HDR_SET_3DLUT_CTRL,1);
596 UADP_SPT_NAMEnNXT_DEF(XC_HDR_DMA_INIT_INFO,0);
597 UADP_SPT_NAMEnNXT_DEF(XC_HDR_INIT_DMA_CTRL,1);
598 UADP_SPT_NAMEnNXT_DEF(XC_HDR_OTT_SHARE_MEMORY_INFO,0);
599 UADP_SPT_NAMEnNXT_DEF(XC_HDR_SET_OTT_SHARE_MEMORY_CTRL,1);
600 
601 UADP_STRUCT_POINTER_TABLE spt_XC_HDR_SET_OPEN_METADATA[5];
602 UADP_SPT_NAMEnNXT_DEF(XC_HDR_SUPPORTED_CAPS_A0,0);
603 UADP_SPT_NAMEnNXT_DEF(XC_HDR_SUPPORTED_CAPS,1);
604 UADP_STRUCT_POINTER_TABLE spt_XC_HDR_COLOR_FORMAT[5];
605 UADP_STRUCT_POINTER_TABLE spt_XC_HDR_SET_COLOR_FORMAT_CTRL[5];
606 #endif
607 #endif
608 
609 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
610 UADP_STRUCT_POINTER_TABLE spt_XC_SET_BLACKVIDEO_BYMODE[5];
611 #endif
612 
613 #ifdef UFO_XC_VMARK
614 UADP_STRUCT_POINTER_TABLE spt_XC_VMARK_SET_PARAMETERS[5];
615 UADP_STRUCT_POINTER_TABLE spt_XC_VMARK_PARAMETER[5];
616 #endif
617 
618 #ifdef UFO_XC_GET_3D_FORMAT
619 UADP_STRUCT_POINTER_TABLE spt_XC_3DATTRIBUTE_TYPE[5];
620 UADP_STRUCT_POINTER_TABLE spt_XC_3DFormat[5];
621 UADP_STRUCT_POINTER_TABLE spt_XC_GET3DFORMAT[5];
622 #endif
623 
624 #ifdef UFO_XC_SET_DSINFO_V0
625 UADP_SPT_NAMEnNXT_DEF(XC_DS_INFO,0);
626 UADP_SPT_NAMEnNXT_DEF(XC_SET_DSINFO,1);
627 #endif
628 
629 UADP_STRUCT_POINTER_TABLE spt_XC_SWDS_Fire[5];
630 #ifdef UFO_XC_SUPPORT_DUAL_MIU
631 UADP_STRUCT_POINTER_TABLE spt_XC_ENABLE_DUAL_MODE[5];
632 #endif
633 
634 UADP_SPT_NAMEnNXT_DEF(XC_SWDR_INFO_A0,0);
635 UADP_SPT_NAMEnNXT_DEF(XC_SET_SWDR_INFO,1);
636 UADP_SPT_NAMEnNXT_DEF(XC_GET_SWDR_INFO,1);
637 
638 //------------------------------------------------------------------------------
639 //  Debug Functions
640 //------------------------------------------------------------------------------
641 
642 //------------------------------------------------------------------------------
643 //  Local Functions
644 //------------------------------------------------------------------------------
645 
646 //------------------------------------------------------------------------------
647 //  Global Functions
648 //------------------------------------------------------------------------------
_XC_adp_Init(void)649 MS_U32 _XC_adp_Init(void)
650 {
651 
652 //set table
653     MS_U32 temp=0;
654 
655     //Function parameter
656     //pstXC_GET_LIB_VER           pXC_GET_LIB_VER      = (pstXC_GET_LIB_VER)temp;
657     pstXC_CMD_GET_INFO          pXC_GetINFO          = (pstXC_CMD_GET_INFO)temp;
658     pstXC_GET_STATUS            pXC_GET_STATUS       = (pstXC_GET_STATUS)temp;
659     pstXC_GET_STATUS_EX         pXC_GET_STATUS_EX    = (pstXC_GET_STATUS_EX)temp;
660     //pstXC_SET_DBG_LEVEL         pXC_SET_DBG_LEVEL    = (pstXC_SET_DBG_LEVEL)temp;
661     //PTVE_SWITCHOUTPUTDEST       pSwitchOutputDest = (PTVE_SWITCHOUTPUTDEST)temp;
662     //pstXC_SET_FPLL_CUSTOMERMODE pXC_SET_FPLL_CUSTOMERMODE = (pstXC_SET_FPLL_CUSTOMERMODE)temp;
663     //pstXC_CMD_SET_IOMAPBASE     pXC_CMD_SET_IOMAPBASE = (pstXC_CMD_SET_IOMAPBASE)temp;
664     pstXC_INIT                  pXC_INIT              = (pstXC_INIT)temp;
665     pstXC_GET_CONFIG            pXC_GET_CONFIG        = (pstXC_GET_CONFIG)temp;
666     pstXC_INIT_MISC             pXC_INIT_MISC         = (pstXC_INIT_MISC)temp;
667     pstXC_GET_MISC_STATUS       pXC_GET_MISC_STATUS   = (pstXC_GET_MISC_STATUS)temp;
668     //pstXC_GET_CAPABILITY        pXC_GET_CAPABILITY    = (pstXC_GET_CAPABILITY)temp;
669     pstXC_GET_CHIP_CAPS         pXC_GET_CHIP_CAPS     = (pstXC_GET_CHIP_CAPS)temp;
670     //pstXC_EXIT                  pXC_EXIT              = (pstXC_EXIT)temp;
671     pstXC_SET_DYNAMIC_SCALING   pXC_SET_DYNAMIC_SCALING = (pstXC_SET_DYNAMIC_SCALING)temp;
672     //pstXC_GET_DNR_BASEOFFSET    pXC_GET_DNR_BASEOFFSET  = (pstXC_GET_DNR_BASEOFFSET)temp;
673     //pstXC_GET_FRAMENUM_FACTOR   pXC_GET_FRAMENUM_FACTOR = (pstXC_GET_FRAMENUM_FACTOR)temp;
674     pstXC_SET_WINDOW            pXC_SET_WINDOW          = (pstXC_SET_WINDOW)temp;
675     pstXC_SET_DUALWINDOW        pXC_SET_DUALWINDOW      = (pstXC_SET_DUALWINDOW)temp;
676     pstXC_SET_TRAVELING_WINDOW  pXC_SET_TRAVELING_WINDOW = (pstXC_SET_TRAVELING_WINDOW)temp;
677     //pstXC_SET_INPUTSOURCE       pXC_SET_INPUTSOURCE     = (pstXC_SET_INPUTSOURCE)temp;
678     //pstXC_CHECK_YUVSPACE        pXC_CHECK_YUVSPACE      = (pstXC_CHECK_YUVSPACE)temp;
679     //pstXC_CHECK_MEMORYFORMAT422 pXC_CHECK_MEMORYFORMAT422 = (pstXC_CHECK_MEMORYFORMAT422)temp;
680     //pstXC_SET_FORCE_RGBIN       pXC_SET_FORCE_RGBIN     = (pstXC_SET_FORCE_RGBIN)temp;
681     //pstXC_SET_MIRRORMODE_EX     pXC_SET_MIRRORMODE_EX   = (pstXC_SET_MIRRORMODE_EX)temp;
682     //pstXC_GET_MIRRORMODE_TYPEEX pXC_GET_MIRRORMODE_TYPEEX = (pstXC_GET_MIRRORMODE_TYPEEX)temp;
683     pstXC_GET_SYNC_STATUS       pXC_GET_SYNC_STATUS       = (pstXC_GET_SYNC_STATUS)temp;
684     //pstXC_SET_WAIT_OUTPUT_VSYNC pXC_SET_WAIT_OUTPUT_VSYNC = (pstXC_SET_WAIT_OUTPUT_VSYNC)temp;
685     //pstXC_SET_WAIT_INPUT_VSYNC  pXC_SET_WAIT_INPUT_VSYNC  = (pstXC_SET_WAIT_INPUT_VSYNC)temp;
686     //pstXC_SET_HDMI_SYNCMODE     pXC_SET_HDMI_SYNCMODE     = (pstXC_SET_HDMI_SYNCMODE)temp;
687     //pstXC_GET_HDMI_SYNCMODE     pXC_GET_HDMI_SYNCMODE     = (pstXC_GET_HDMI_SYNCMODE)temp;
688     //pstXC_SET_REPORT_WINDOW     pXC_SET_REPORT_WINDOW     =(pstXC_SET_REPORT_WINDOW)temp;
689     //pstXC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW pXC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW = (pstXC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW)temp;
690     //pstXC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW pXC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW = (pstXC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW)temp;
691     //pstXC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL pXC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL =(pstXC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL)temp;
692     //pstXC_SET_OPWRITEOFF_ENABLE        pXC_SET_OPWRITEOFF_ENABLE  =(pstXC_SET_OPWRITEOFF_ENABLE)temp;
693     //pstXC_SET_OPWRITEOFF_ENABLE_TO_REG pXC_SET_OPWRITEOFF_ENABLE_TO_REG =(pstXC_SET_OPWRITEOFF_ENABLE_TO_REG)temp;
694     //pstXC_FORCESET_OPWRITEOFF_ENABLE   pXC_FORCESET_OPWRITEOFF_ENABLE   =(pstXC_FORCESET_OPWRITEOFF_ENABLE)temp;
695     //pstXC_GET_OPWRITEOFF_ENABLE        pXC_GET_OPWRITEOFF_ENABLE  =(pstXC_GET_OPWRITEOFF_ENABLE)temp;
696     pstXC_SET_DISPLAY_WIN_TO_REG       pXC_SET_DISPLAY_WIN_TO_REG =(pstXC_SET_DISPLAY_WIN_TO_REG)temp;
697     pstXC_GET_DISPLAY_WIN_FROM_REG     pXC_GET_DISPLAY_WIN_FROM_REG =(pstXC_GET_DISPLAY_WIN_FROM_REG)temp;
698     //pstXC_SET_FREEZEIMG                pXC_SET_FREEZEIMG          =(pstXC_SET_FREEZEIMG)temp;
699     //pstXC_CHECK_FREEZEIMG              pXC_CHECK_FREEZEIMG        =(pstXC_CHECK_FREEZEIMG)temp;
700     //pstXC_SET_BOTHWINDOW_BLACKVIDEO    pXC_SET_BOTHWINDOW_BLACKVIDEO =(pstXC_SET_BOTHWINDOW_BLACKVIDEO)temp;
701     //pstXC_SET_BLACKSCREEN              pXC_SET_BLACKSCREEN        =(pstXC_SET_BLACKSCREEN)temp;
702     //pstXC_SET_BLACKVIDEO               pXC_SET_BLACKVIDEO         =(pstXC_SET_BLACKVIDEO)temp;
703     //pstXC_CHECK_BLACKVIDEO_ENABLE      pXC_CHECK_BLACKVIDEO_ENABLE =(pstXC_CHECK_BLACKVIDEO_ENABLE)temp;
704     //pstXC_SET_FRAMEBUFFERLESS          pXC_SET_FRAMEBUFFERLESS    =(pstXC_SET_FRAMEBUFFERLESS)temp;
705     //pstXC_CHECK_FRAMEBUFFERLESS        pXC_CHECK_FRAMEBUFFERLESS  =(pstXC_CHECK_FRAMEBUFFERLESS)temp;
706     //pstXC_SET_REQUEST_FRAMEBUFFERLESS  pXC_SET_REQUEST_FRAMEBUFFERLESS =(pstXC_SET_REQUEST_FRAMEBUFFERLESS)temp;
707     //pstXC_CHECK_REQUEST_FRAMEBUFFERLESS pXC_CHECK_REQUEST_FRAMEBUFFERLESS =(pstXC_CHECK_REQUEST_FRAMEBUFFERLESS)temp;
708     //pstXC_GET_3D_HWVERSION             pXC_GET_3D_HWVERSION       =(pstXC_GET_3D_HWVERSION)temp;
709     //pstXC_CHECK_3D_SUPPORT_HW2DTO3D    pXC_CHECK_3D_SUPPORT_HW2DTO3D =(pstXC_CHECK_3D_SUPPORT_HW2DTO3D)temp;
710     //pstXC_SET_3D_MODE                  pXC_SET_3D_MODE            =(pstXC_SET_3D_MODE)temp;
711     //pstXC_SET_3D_MAINWIN_FIRST         pXC_SET_3D_MAINWIN_FIRST   =(pstXC_SET_3D_MAINWIN_FIRST)temp;
712     //pstXC_SET_3D_LR_EXCHANGE           pXC_SET_3D_LR_EXCHANGE     =(pstXC_SET_3D_LR_EXCHANGE)temp;
713     //pstXC_CHECK_3D_LR_EXCHANGED        pXC_CHECK_3D_LR_EXCHANGED  =(pstXC_CHECK_3D_LR_EXCHANGED)temp;
714     //pstXC_GET_3D_INPUT_MODE            pXC_GET_3D_INPUT_MODE      =(pstXC_GET_3D_INPUT_MODE)temp;
715     //pstXC_GET_3D_OUTPUT_MODE           pXC_GET_3D_OUTPUT_MODE     =(pstXC_GET_3D_OUTPUT_MODE)temp;
716     //pstXC_GET_3D_PANELTYPE             pXC_GET_3D_PANELTYPE       =(pstXC_GET_3D_PANELTYPE)temp;
717     //pstXC_GET_3D_MAINWIN_FIRST         pXC_GET_3D_MAINWIN_FIRST   =(pstXC_GET_3D_MAINWIN_FIRST)temp;
718     //pstXC_CHECK_3D_MAINSUB_IPSYNC      pXC_CHECK_3D_MAINSUB_IPSYNC =(pstXC_CHECK_3D_MAINSUB_IPSYNC)temp;
719     //pstXC_SET_3D_VERTICALVIDEO_OFFSET  pXC_SET_3D_VERTICALVIDEO_OFFSET =(pstXC_SET_3D_VERTICALVIDEO_OFFSET)temp;
720     //pstXC_GET_3D_VERTICALVIDEO_OFFSET  pXC_GET_3D_VERTICALVIDEO_OFFSET =(pstXC_GET_3D_VERTICALVIDEO_OFFSET)temp;
721     //pstXC_CHECK_3D_FORMAT_SUPPORTED    pXC_CHECK_3D_FORMAT_SUPPORTED =(pstXC_CHECK_3D_FORMAT_SUPPORTED)temp;
722     //pstXC_SET_3D_HORIZONTAL_SHIFT      pXC_SET_3D_HORIZONTAL_SHIFT =(pstXC_SET_3D_HORIZONTAL_SHIFT)temp;
723     //pstXC_SET_3D_LR_SBS2LINE           pXC_SET_3D_LR_SBS2LINE      =(pstXC_SET_3D_LR_SBS2LINE)temp;
724     //pstXC_GET_3D_HORIZONTAL_SHIFT      pXC_GET_3D_HORIZONTAL_SHIFT =(pstXC_GET_3D_HORIZONTAL_SHIFT)temp;
725     //pstXC_SET_3D_HW2DTO3D_BUFFER       pXC_SET_3D_HW2DTO3D_BUFFER  =(pstXC_SET_3D_HW2DTO3D_BUFFER)temp;
726     //pstXC_SET_3D_HW2DTO3D_PARAMETERS   pXC_SET_3D_HW2DTO3D_PARAMETERS =(pstXC_SET_3D_HW2DTO3D_PARAMETERS)temp;
727     pstXC_GET_3D_HW2DTO3D_PARAMETERS   pXC_GET_3D_HW2DTO3D_PARAMETERS =(pstXC_GET_3D_HW2DTO3D_PARAMETERS)temp;
728     pstXC_SET_3D_DETECT_3DFORMAT_PARAMETERS pXC_SET_3D_DETECT_3DFORMAT_PARAMETERS =(pstXC_SET_3D_DETECT_3DFORMAT_PARAMETERS)temp;
729     //pstXC_GET_3D_DETECT_3DFORMAT_PARAMETERS pXC_GET_3D_DETECT_3DFORMAT_PARAMETERS =(pstXC_GET_3D_DETECT_3DFORMAT_PARAMETERS)temp;
730     //pstXC_GET_3D_FORMAT_DETECTED_BY_CONTENT pXC_GET_3D_FORMAT_DETECTED_BY_CONTENT =(pstXC_GET_3D_FORMAT_DETECTED_BY_CONTENT)temp;
731     pstXC_SET_NINELATTICE               pXC_SET_NINELATTICE          =(pstXC_SET_NINELATTICE)temp;
732     //pstXC_SET_3D_POST_PQSETTING         pXC_SET_3D_POST_PQSETTING    =(pstXC_SET_3D_POST_PQSETTING)temp;
733     pstXC_SET_3D_FRAMEPACKING_INFO      pXC_SET_3D_FRAMEPACKING_INFO =(pstXC_SET_3D_FRAMEPACKING_INFO)temp;
734     //pstXC_SET_3D_AUTODETECT             pXC_SET_3D_AUTODETECT        =(pstXC_SET_3D_AUTODETECT)temp;
735     pstXC_GET_3D_AUTODETECT_3DFLAG      pXC_GET_3D_AUTODETECT_3DFLAG =(pstXC_GET_3D_AUTODETECT_3DFLAG)temp;
736     //pstXC_SET_3D_SUBWINCLOCK            pXC_SET_3D_SUBWINCLOCK       =(pstXC_SET_3D_SUBWINCLOCK)temp;
737     //pstXC_CHECK_3D_LR_SBS2LINE          pXC_CHECK_3D_LR_SBS2LINE     =(pstXC_CHECK_3D_LR_SBS2LINE)temp;
738     //pstXC_CHECK_3D_SKIP_DEFAULT_LR_FLAG pXC_CHECK_3D_SKIP_DEFAULT_LR_FLAG =(pstXC_CHECK_3D_SKIP_DEFAULT_LR_FLAG)temp;
739     //pstXC_SET_3D_SKIP_DEFAULT_LR_FLAG   pXC_SET_3D_SKIP_DEFAULT_LR_FLAG =(pstXC_SET_3D_SKIP_DEFAULT_LR_FLAG)temp;
740     //pstXC_SET_MUX_INIT                  pXC_SET_MUX_INIT =(pstXC_SET_MUX_INIT)temp;
741     //pstXC_SET_MUX_SOURCE_MONITOR        pXC_SET_MUX_SOURCE_MONITOR =(pstXC_SET_MUX_SOURCE_MONITOR)temp;
742     //pstXC_SET_MUX_CREATE_PATH           pXC_SET_MUX_CREATE_PATH =(pstXC_SET_MUX_CREATE_PATH)temp;
743     //pstXC_SET_MUX_DELETE_PATH           pXC_SET_MUX_DELETE_PATH =(pstXC_SET_MUX_DELETE_PATH)temp;
744     //pstXC_SET_MUX_ENABLE_PATH           pXC_SET_MUX_ENABLE_PATH =(pstXC_SET_MUX_ENABLE_PATH)temp;
745     //pstXC_SET_MUX_TRIGGER_PATH_SYNC_EVENT  pXC_SET_MUX_TRIGGER_PATH_SYNC_EVENT =(pstXC_SET_MUX_TRIGGER_PATH_SYNC_EVENT)temp;
746     //pstXC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT pXC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT=(pstXC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT)temp;
747     //pstXC_SET_MUX_ONOFF_PERIODIC_HANDLER   pXC_SET_MUX_ONOFF_PERIODIC_HANDLER =(pstXC_SET_MUX_ONOFF_PERIODIC_HANDLER)temp;
748     pstXC_GET_MUX_PATHINFO                 pXC_GET_MUX_PATHINFO =(pstXC_GET_MUX_PATHINFO)temp;
749     //pstXC_SET_MUX_SUPPORT_MHL_PATHINFO     pXC_SET_MUX_SUPPORT_MHL_PATHINFO =(pstXC_SET_MUX_SUPPORT_MHL_PATHINFO)temp;
750     //pstXC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO pXC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO =(pstXC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO)temp;
751     //pstXC_GET_MUX_HDMIPORT                 pXC_GET_MUX_HDMIPORT =(pstXC_GET_MUX_HDMIPORT)temp;
752     //pstXC_GET_MUX_INPUTSOURCE2VDYMUXPORT   pXC_GET_MUX_INPUTSOURCE2VDYMUXPORT =(pstXC_GET_MUX_INPUTSOURCE2VDYMUXPORT)temp;
753     //pstXC_SET_NR                       pXC_SET_NR           =(pstXC_SET_NR)temp;
754     //pstXC_CHECK_UC_ENABLED             pXC_CHECK_UC_ENABLED =(pstXC_CHECK_UC_ENABLED)temp;
755     //pstXC_SET_GENERATE_SPECIFIC_TIMING pXC_SET_GENERATE_SPECIFIC_TIMING =(pstXC_SET_GENERATE_SPECIFIC_TIMING)temp;
756     //pstXC_GET_DE_BYPASS_MODE           pXC_GET_DE_BYPASS_MODE =(pstXC_GET_DE_BYPASS_MODE)temp;
757     pstXC_GET_DE_WINDOW                pXC_GET_DE_WINDOW    =(pstXC_GET_DE_WINDOW)temp;
758     pstXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE pXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE =(pstXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE)temp;
759     pstXC_GET_CAPTURE_WINDOW           pXC_GET_CAPTURE_WINDOW =(pstXC_GET_CAPTURE_WINDOW)temp;
760     //pstXC_SET_CAPTURE_WINDOW_VSTART    pXC_SET_CAPTURE_WINDOW_VSTART =(pstXC_SET_CAPTURE_WINDOW_VSTART)temp;
761     //pstXC_SET_CAPTURE_WINDOW_HSTART    pXC_SET_CAPTURE_WINDOW_HSTART =(pstXC_SET_CAPTURE_WINDOW_HSTART)temp;
762     //pstXC_SET_CAPTURE_WINDOW_VSIZE     pXC_SET_CAPTURE_WINDOW_VSIZE  =(pstXC_SET_CAPTURE_WINDOW_VSIZE)temp;
763     //pstXC_SET_CAPTURE_WINDOW_HSIZE     pXC_SET_CAPTURE_WINDOW_HSIZE  =(pstXC_SET_CAPTURE_WINDOW_HSIZE)temp;
764     //pstXC_SET_SOFTWARE_RESET           pXC_SET_SOFTWARE_RESET        =(pstXC_SET_SOFTWARE_RESET)temp;
765     //pstXC_GET_HFREQX10 pXC_GET_HFREQX10 =(pstXC_GET_HFREQX10)temp;
766     //pstXC_GET_HFREQX1K pXC_GET_HFREQX1K =(pstXC_GET_HFREQX1K)temp;
767     //pstXC_GET_VFREQX10 pXC_GET_VFREQX10 =(pstXC_GET_VFREQX10)temp;
768     //pstXC_GET_VFREQX1K pXC_GET_VFREQX1K =(pstXC_GET_VFREQX1K)temp;
769     //pstXC_GET_ACCURATE_VFREQX1k      pXC_GET_ACCURATE_VFREQX1k      =(pstXC_GET_ACCURATE_VFREQX1k)temp;
770     //pstXC_SET_INTERRUPT_ATTACH       pXC_SET_INTERRUPT_ATTACH       =(pstXC_SET_INTERRUPT_ATTACH)temp;
771     //pstXC_SET_INTERRUPT_DEATTACH     pXC_SET_INTERRUPT_DEATTACH     =(pstXC_SET_INTERRUPT_DEATTACH)temp;
772     //pstXC_SET_DISABLE_INPUTSOURCE    pXC_SET_DISABLE_INPUTSOURCE    =(pstXC_SET_DISABLE_INPUTSOURCE)temp;
773     //pstXC_CHECK_INPUTSOURCE_DISABLED pXC_CHECK_INPUTSOURCE_DISABLED =(pstXC_CHECK_INPUTSOURCE_DISABLED)temp;
774     pstXC_SET_CHANGE_PANELTYPE       pXC_SET_CHANGE_PANELTYPE       =(pstXC_SET_CHANGE_PANELTYPE)temp;
775     //pstXC_GET_CURRENT_READBANK       pXC_GET_CURRENT_READBANK =(pstXC_GET_CURRENT_READBANK)temp;
776     //pstXC_GET_CURRENT_WRITEBANK      pXC_GET_CURRENT_WRITEBANK =(pstXC_GET_CURRENT_WRITEBANK)temp;
777     //pstXC_SET_AUTO_PRESCALING        pXC_SET_AUTO_PRESCALING =(pstXC_SET_AUTO_PRESCALING)temp;
778     //pstXC_GET_VSYNC_WIDTH            pXC_GET_VSYNC_WIDTH =(pstXC_GET_VSYNC_WIDTH)temp;
779     //pstXC_SET_GOP_ENABLE             pXC_SET_GOP_ENABLE =(pstXC_SET_GOP_ENABLE)temp;
780     //pstXC_SET_SELECT_IP_FOR_GOP      pXC_SET_SELECT_IP_FOR_GOP =(pstXC_SET_SELECT_IP_FOR_GOP)temp;
781     pstXC_GET_DESTINATION_INFO       pXC_GET_DESTINATION_INFO =(pstXC_GET_DESTINATION_INFO)temp;
782     //pstXC_SET_FDMASK_BYWIN           pXC_SET_FDMASK_BYWIN =(pstXC_SET_FDMASK_BYWIN)temp;
783     //pstXC_GET_FDMASK_BYWIN           pXC_GET_FDMASK_BYWIN =(pstXC_GET_FDMASK_BYWIN)temp;
784     //pstXC_SET_IP1_TESTPATTERN        pXC_SET_IP1_TESTPATTERN =(pstXC_SET_IP1_TESTPATTERN)temp;
785     //pstXC_SET_INIT_IP_FOR_INTERNAL_TIMING pXC_SET_INIT_IP_FOR_INTERNAL_TIMING =(pstXC_SET_INIT_IP_FOR_INTERNAL_TIMING)temp;
786     //pstXC_SET_IPMUX                  pXC_SET_IPMUX =(pstXC_SET_IPMUX)temp;
787     //pstXC_CHECK_HSYNC_ACTIVE         pXC_CHECK_HSYNC_ACTIVE =(pstXC_CHECK_HSYNC_ACTIVE)temp;
788     //pstXC_CHECK_VSYNC_ACTIVE         pXC_CHECK_VSYNC_ACTIVE =(pstXC_CHECK_VSYNC_ACTIVE)temp;
789     pstXC_GET_AUTO_POSITION_WINDOW   pXC_GET_AUTO_POSITION_WINDOW =(pstXC_GET_AUTO_POSITION_WINDOW)temp;
790     //pstXC_SET_FRAMEBUFFER_ADDRESS    pXC_SET_FRAMEBUFFER_ADDRESS =(pstXC_SET_FRAMEBUFFER_ADDRESS)temp;
791     pstXC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING pXC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING =(pstXC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING)temp;
792     //pstXC_SET_SCALER_MEMORY_REQUEST  pXC_SET_SCALER_MEMORY_REQUEST =(pstXC_SET_SCALER_MEMORY_REQUEST)temp;
793     pstXC_GET_PIXEL_DATA             pXC_GET_PIXEL_DATA =(pstXC_GET_PIXEL_DATA)temp;
794     //pstXC_GET_AVAILABLE_SIZE         pXC_GET_AVAILABLE_SIZE =(pstXC_GET_AVAILABLE_SIZE)temp;
795     //pstXC_SET_FRAME_COLOR            pXC_SET_FRAME_COLOR =(pstXC_SET_FRAME_COLOR)temp;
796     //pstXC_SET_DISPLAY_WINDOW_COLOR   pXC_SET_DISPLAY_WINDOW_COLOR =(pstXC_SET_DISPLAY_WINDOW_COLOR)temp;
797     pstXC_GET_SUPPORT_SOURCE_TO_VE   pXC_GET_SUPPORT_SOURCE_TO_VE =(pstXC_GET_SUPPORT_SOURCE_TO_VE)temp;
798     //pstXC_SET_OUTPUT_CAPTURE         pXC_SET_OUTPUT_CAPTURE =(pstXC_SET_OUTPUT_CAPTURE)temp;
799     //pstXC_SET_GAMMA_ONOFF            pXC_SET_GAMMA_ONOFF =(pstXC_SET_GAMMA_ONOFF)temp;
800     //pstXC_SET_PREGAMMA_GAIN          pXC_SET_PREGAMMA_GAIN =(pstXC_SET_PREGAMMA_GAIN)temp;
801     //pstXC_SET_PREGAMMA_OFFSET        pXC_SET_PREGAMMA_OFFSET =(pstXC_SET_PREGAMMA_OFFSET)temp;
802     pstXC_SET_PANEL_TIMING           pXC_SET_PANEL_TIMING =(pstXC_SET_PANEL_TIMING)temp;
803     //pstXC_SET_OUTPUT_TIMING_MODE     pXC_SET_OUTPUT_TIMING_MODE =(pstXC_SET_OUTPUT_TIMING_MODE)temp;
804     //pstXC_SET_CUSTOMER_SYNC_INFO     pXC_SET_CUSTOMER_SYNC_INFO =(pstXC_SET_CUSTOMER_SYNC_INFO)temp;
805     //pstXC_GET_WAIT_FPLL_DONE         pXC_GET_WAIT_FPLL_DONE =(pstXC_GET_WAIT_FPLL_DONE)temp;
806     //pstXC_GET_OUTPUT_VFREQX100       pXC_GET_OUTPUT_VFREQX100 =(pstXC_GET_OUTPUT_VFREQX100)temp;
807     //pstXC_GET_OP1_OUTPUT_VFREQX100   pXC_GET_OP1_OUTPUT_VFREQX100 =(pstXC_GET_OP1_OUTPUT_VFREQX100)temp;
808     //pstXC_CHECK_FRAMELOCK            pXC_CHECK_FRAMELOCK =(pstXC_CHECK_FRAMELOCK)temp;
809     pstXC_SET_CUSTOMIZE_FRC_TABLE    pXC_SET_CUSTOMIZE_FRC_TABLE =(pstXC_SET_CUSTOMIZE_FRC_TABLE)temp;
810     pstXC_SET_OUTPUT_FRAME_CONTROL   pXC_SET_OUTPUT_FRAME_CONTROL =(pstXC_SET_OUTPUT_FRAME_CONTROL)temp;
811     //pstXC_SET_FPLL_FSM_ENABLE        pXC_SET_FPLL_FSM_ENABLE =(pstXC_SET_FPLL_FSM_ENABLE)temp;
812     //pstXC_SET_FORCE_FREERUN          pXC_SET_FORCE_FREERUN =(pstXC_SET_FORCE_FREERUN)temp;
813     //pstXC_CHECK_FORCE_FREERUN        pXC_CHECK_FORCE_FREERUN =(pstXC_CHECK_FORCE_FREERUN)temp;
814     //pstXC_SET_FREERUN_FREQ           pXC_SET_FREERUN_FREQ =(pstXC_SET_FREERUN_FREQ)temp;
815     pstXC_SET_EXPANEL_INFO           pXC_SET_EXPANEL_INFO =(pstXC_SET_EXPANEL_INFO)temp;
816     //pstXC_SET_FPLL_THRESHMODE        pXC_SET_FPLL_THRESHMODE =(pstXC_SET_FPLL_THRESHMODE)temp;
817     //pstXC_GET_FPLL_THRESHMODE        pXC_GET_FPLL_THRESHMODE =(pstXC_GET_FPLL_THRESHMODE)temp;
818     //pstXC_SET_IPAUTONOSIGNAL         pXC_SET_IPAUTONOSIGNAL =(pstXC_SET_IPAUTONOSIGNAL)temp;
819     //pstXC_GET_IPAUTONOSIGNAL         pXC_GET_IPAUTONOSIGNAL =(pstXC_GET_IPAUTONOSIGNAL)temp;
820     //pstXC_SET_IPAUTOCOAST            pXC_SET_IPAUTOCOAST =(pstXC_SET_IPAUTOCOAST)temp;
821     //pstXC_SET_FPLL_MANUAL_SETTING_ENABLE pXC_SET_FPLL_MANUAL_SETTING_ENABLE =(pstXC_SET_FPLL_MANUAL_SETTING_ENABLE)temp;
822     //pstXC_SET_FPLL_BOUNDARY_TEST     pXC_SET_FPLL_BOUNDARY_TEST =(pstXC_SET_FPLL_BOUNDARY_TEST)temp;
823     //pstXC_SET_OFFLINE_DETECTION      pXC_SET_OFFLINE_DETECTION =(pstXC_SET_OFFLINE_DETECTION)temp;
824     //pstXC_GET_OFFLINE_DETECTION      pXC_GET_OFFLINE_DETECTION =(pstXC_GET_OFFLINE_DETECTION)temp;
825     //pstXC_SET_OFFLINE_SOG_THRESHOLD  pXC_SET_OFFLINE_SOG_THRESHOLD =(pstXC_SET_OFFLINE_SOG_THRESHOLD)temp;
826     //pstXC_SET_OFFLINE_SOG_BW         pXC_SET_OFFLINE_SOG_BW =(pstXC_SET_OFFLINE_SOG_BW)temp;
827     //pstXC_SET_OFFLINE_INIT           pXC_SET_OFFLINE_INIT =(pstXC_SET_OFFLINE_INIT)temp;
828     //pstXC_SET_EXTRA_FETCH_ADV_LINE   pXC_SET_EXTRA_FETCH_ADV_LINE =(pstXC_SET_EXTRA_FETCH_ADV_LINE)temp;
829     //pstXC_SET_VGA_SOG_ENABLE         pXC_SET_VGA_SOG_ENABLE =(pstXC_SET_VGA_SOG_ENABLE)temp;
830     //pstXC_SET_WINDOW_ENABLE          pXC_SET_WINDOW_ENABLE =(pstXC_SET_WINDOW_ENABLE)temp;
831     //pstXC_CHECK_SUBWINDOW_ENABLE     pXC_CHECK_SUBWINDOW_ENABLE =(pstXC_CHECK_SUBWINDOW_ENABLE)temp;
832     //pstXC_SET_BORDER_FORMAT          pXC_SET_BORDER_FORMAT =(pstXC_SET_BORDER_FORMAT)temp;
833     //pstXC_SET_BORDER_ENABLE          pXC_SET_BORDER_ENABLE =(pstXC_SET_BORDER_ENABLE)temp;
834     //pstXC_SET_ZORDER_MAINWINDOW_FIRST pXC_SET_ZORDER_MAINWINDOW_FIRST =(pstXC_SET_ZORDER_MAINWINDOW_FIRST)temp;
835     //pstXC_SET_PQ_LOADFUNCTION        pXC_SET_PQ_LOADFUNCTION =(pstXC_SET_PQ_LOADFUNCTION)temp;
836     //pstXC_CHECK_H_NONLINEAR_SCALING  pXC_CHECK_H_NONLINEAR_SCALING =(pstXC_CHECK_H_NONLINEAR_SCALING)temp;
837     //pstXC_SET_EUROHDTV_SUPPORT_ENABLE pXC_SET_EUROHDTV_SUPPORT_ENABLE =(pstXC_SET_EUROHDTV_SUPPORT_ENABLE)temp;
838     //pstXC_SET_EUROHDTV_DETECTION_ENABLE pXC_SET_EUROHDTV_DETECTION_ENABLE =(pstXC_SET_EUROHDTV_DETECTION_ENABLE)temp;
839     //pstXC_READBYTE      pXC_READBYTE =(pstXC_READBYTE)temp;
840     //pstXC_WRITEBYTE     pXC_WRITEBYTE =(pstXC_WRITEBYTE)temp;
841     //pstXC_WRITEBYTEMSK  pXC_WRITEBYTEMSK =(pstXC_WRITEBYTEMSK)temp;
842     //pstXC_WRITE2BYTEMSK pXC_WRITE2BYTEMSK =(pstXC_WRITE2BYTEMSK)temp;
843     //pstXC_W2BYTE        pXC_W2BYTE =(pstXC_W2BYTE)temp;
844     //pstXC_R2BYTE        pXC_R2BYTE =(pstXC_R2BYTE)temp;
845     //pstXC_W4BYTE        pXC_W4BYTE =(pstXC_W4BYTE)temp;
846     //pstXC_R4BYTE        pXC_R4BYTE =(pstXC_R4BYTE)temp;
847     //pstXC_R2BYTEMSK     pXC_R2BYTEMSK =(pstXC_R2BYTEMSK)temp;
848     //pstXC_W2BYTEMSK     pXC_W2BYTEMSK =(pstXC_W2BYTEMSK)temp;
849     //pstXC_MLOAD_INIT    pXC_MLOAD_INIT =(pstXC_MLOAD_INIT)temp;
850     //pstXC_MLOAD_ENABLE  pXC_MLOAD_ENABLE =(pstXC_MLOAD_ENABLE)temp;
851     //pstXC_MLOAD_GETSTATUS           pXC_MLOAD_GETSTATUS =(pstXC_MLOAD_GETSTATUS)temp;
852     //pstXC_MLOAD_WRITE_CMD_AND_FIRE  pXC_MLOAD_WRITE_CMD_AND_FIRE =(pstXC_MLOAD_WRITE_CMD_AND_FIRE)temp;
853     pstXC_MLOAD_WRITE_CMDS_AND_FIRE pXC_MLOAD_WRITE_CMDS_AND_FIRE =(pstXC_MLOAD_WRITE_CMDS_AND_FIRE)temp;
854     //pstXC_MLG_INIT       pXC_MLG_INIT =(pstXC_MLG_INIT)temp;
855     //pstXC_MLG_ENABLE     pXC_MLG_ENABLE =(pstXC_MLG_ENABLE)temp;
856     //pstXC_MLG_GET_CAPS   pXC_MLG_GET_CAPS =(pstXC_MLG_GET_CAPS)temp;
857     //pstXC_MLG_GETSTATUS  pXC_MLG_GETSTATUS =(pstXC_MLG_GETSTATUS)temp;
858     //pstXC_SET_OSD2VEMODE pXC_SET_OSD2VEMODE =(pstXC_SET_OSD2VEMODE)temp;
859     //pstXC_SET_IP2_PREFILTER_ENABLE pXC_SET_IP2_PREFILTER_ENABLE =(pstXC_SET_IP2_PREFILTER_ENABLE)temp;
860     pstXC_GET_PIXELRGB                 pXC_GET_PIXELRGB =(pstXC_GET_PIXELRGB)temp;
861     //pstXC_SET_KEEP_PIXELPOINTER_APPEAR pXC_SET_KEEP_PIXELPOINTER_APPEAR =(pstXC_SET_KEEP_PIXELPOINTER_APPEAR)temp;
862     //pstXC_SET_MEMORY_FORMAT_EX         pXC_SET_MEMORY_FORMAT_EX =(pstXC_SET_MEMORY_FORMAT_EX)temp;
863     //pstXC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE pXC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE =(pstXC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE)temp;
864     //pstXC_SET_SKIP_SWRESET             pXC_SET_SKIP_SWRESET =(pstXC_SET_SKIP_SWRESET)temp;
865     //pstXC_SET_REPORTWINDOW_FOR_FRAMECOLOR pXC_SET_REPORTWINDOW_FOR_FRAMECOLOR =(pstXC_SET_REPORTWINDOW_FOR_FRAMECOLOR)temp;
866     //pstXC_SET_OSDLAYER     pXC_SET_OSDLAYER =(pstXC_SET_OSDLAYER)temp;
867     //pstXC_GET_OSDLAYER     pXC_GET_OSDLAYER =(pstXC_GET_OSDLAYER)temp;
868     //pstXC_SET_VIDEO_ALPHA  pXC_SET_VIDEO_ALPHA =(pstXC_SET_VIDEO_ALPHA)temp;
869     pstXC_GET_VIDEO_ALPHA  pXC_GET_VIDEO_ALPHA =(pstXC_GET_VIDEO_ALPHA)temp;
870     //pstXC_SKIP_WAIT_VSYNC  pXC_SKIP_WAIT_VSYNC =(pstXC_SKIP_WAIT_VSYNC)temp;
871     //pstXC_SET_OP2VOP_DE_SELECTION pXC_SET_OP2VOP_DE_SELECTION =(pstXC_SET_OP2VOP_DE_SELECTION)temp;
872     //pstXC_SET_FRC_WINDOW          pXC_SET_FRC_WINDOW =(pstXC_SET_FRC_WINDOW)temp;
873     //pstXC_SET_2INITFACTOR_ENABLE  pXC_SET_2INITFACTOR_ENABLE =(pstXC_SET_2INITFACTOR_ENABLE)temp;
874     //pstXC_CHECK_FIELDPACKINGMODE_SUPPORTED pXC_CHECK_FIELDPACKINGMODE_SUPPORTED =(pstXC_CHECK_FIELDPACKINGMODE_SUPPORTED)temp;
875     //pstXC_PREINIT               pXC_PREINIT =(pstXC_PREINIT)temp;
876     //pstXC_GET_BUFFERDATA        pXC_GET_BUFFERDATA =(pstXC_GET_BUFFERDATA)temp;
877     //pstXC_SET_BUFFERDATA        pXC_SET_BUFFERDATA =(pstXC_SET_BUFFERDATA)temp;
878     //pstXC_SET_MAINWINDOW_ENABLE pXC_SET_MAINWINDOW_ENABLE =(pstXC_SET_MAINWINDOW_ENABLE)temp;
879     pstXC_SET_SUBWINDOW_ENABLE  pXC_SET_SUBWINDOW_ENABLE =(pstXC_SET_SUBWINDOW_ENABLE)temp;
880     //pstXC_SET_PIXEL_SHIFT       pXC_SET_PIXEL_SHIFT =(pstXC_SET_PIXEL_SHIFT)temp;
881     //pstXC_SET_VIDEO_ON_OSD      pXC_SET_VIDEO_ON_OSD=(pstXC_SET_VIDEO_ON_OSD)temp;
882     //pstXC_SET_OSD_BLENDING_FORMULA pXC_SET_OSD_BLENDING_FORMULA=(pstXC_SET_OSD_BLENDING_FORMULA)temp;
883     pstXC_GET_REPORT_PIXEL_INFO pXC_GET_REPORT_PIXEL_INFO=(pstXC_GET_REPORT_PIXEL_INFO)temp;
884     //pstXC_SET_SCALING           pXC_SET_SCALING=(pstXC_SET_SCALING)temp;
885     //pstXC_SET_MCDI_BUFFERADDRESS pXC_SET_MCDI_BUFFERADDRESS=(pstXC_SET_MCDI_BUFFERADDRESS)temp;
886     //pstXC_SET_MCDI_ENABLE       pXC_SET_MCDI_ENABLE=(pstXC_SET_MCDI_ENABLE)temp;
887     //pstXC_SEND_CMD2FRC          pXC_SEND_CMD2FRC=(pstXC_SEND_CMD2FRC)temp;
888     pstXC_GET_MSG_FROM_FRC      pXC_GET_MSG_FROM_FRC=(pstXC_GET_MSG_FROM_FRC)temp;
889     //pstXC_SET_AUTO_RWBANK_ENABLE pXC_SET_AUTO_RWBANK_ENABLE=(pstXC_SET_AUTO_RWBANK_ENABLE)temp;
890     //pstXC_SET_RWBANK_MAPPING_NUM pXC_SET_RWBANK_MAPPING_NUM=(pstXC_SET_RWBANK_MAPPING_NUM)temp;
891     //pstXC_GET_RWBANK_MAPPING_NUM pXC_GET_RWBANK_MAPPING_NUM=(pstXC_GET_RWBANK_MAPPING_NUM)temp;
892     //pstXC_GET_RWBANK_MAPPING_NUM_FOR_ZAP pXC_GET_RWBANK_MAPPING_NUM_FOR_ZAP=(pstXC_GET_RWBANK_MAPPING_NUM_FOR_ZAP)temp;
893     //pstXC_SET_BOBMODE            pXC_SET_BOBMODE=(pstXC_SET_BOBMODE)temp;
894     //pstXC_SET_FORCE_READBANK     pXC_SET_FORCE_READBANK=(pstXC_SET_FORCE_READBANK)temp;
895     //pstXC_SET_LOCK_POINT         pXC_SET_LOCK_POINT=(pstXC_SET_LOCK_POINT)temp;
896     //pstXC_LD_INIT                pXC_LD_INIT=(pstXC_LD_INIT)temp;
897     //pstXC_SET_LD_MEMORYADDRESS   pXC_SET_LD_MEMORYADDRESS=(pstXC_SET_LD_MEMORYADDRESS)temp;
898     pstXC_GET_LD_VALUE           pXC_GET_LD_VALUE=(pstXC_GET_LD_VALUE)temp;
899     //pstXC_SET_LD_LEVEL           pXC_SET_LD_LEVEL=(pstXC_SET_LD_LEVEL)temp;
900     //pstXC_SET_LD_TURNOFF_LDBL    pXC_SET_LD_TURNOFF_LDBL=(pstXC_SET_LD_TURNOFF_LDBL)temp;
901     //pstXC_SET_NOTUPDATE_SPI_DATA_FLAGS pXC_SET_NOTUPDATE_SPI_DATA_FLAGS=(pstXC_SET_NOTUPDATE_SPI_DATA_FLAGS)temp;
902     //pstXC_SET_LD_USERMODEFLAGS   pXC_SET_LD_USERMODEFLAGS=(pstXC_SET_LD_USERMODEFLAGS)temp;
903     //pstXC_SET_BL_LEVEL           pXC_SET_BL_LEVEL=(pstXC_SET_BL_LEVEL)temp;
904     //pstXC_SET_BWS_MODE           pXC_SET_BWS_MODE=(pstXC_SET_BWS_MODE)temp;
905     //pstXC_SET_FRC_COLOR_PATH_CONTROL pXC_SET_FRC_COLOR_PATH_CONTROL=(pstXC_SET_FRC_COLOR_PATH_CONTROL)temp;
906     //pstXC_SET_FRC_OP2_RGBGAIN    pXC_SET_FRC_OP2_RGBGAIN=(pstXC_SET_FRC_OP2_RGBGAIN)temp;
907     //pstXC_SET_FRC_OP2_RGBOFFSET  pXC_SET_FRC_OP2_RGBOFFSET=(pstXC_SET_FRC_OP2_RGBOFFSET)temp;
908     //pstXC_SET_FRC_OP2_DITHER     pXC_SET_FRC_OP2_DITHER=(pstXC_SET_FRC_OP2_DITHER)temp;
909     //pstXC_FRC_BYPASS             pXC_FRC_BYPASS=(pstXC_FRC_BYPASS)temp;
910     //pstXC_FRC_MUTE               pXC_FRC_MUTE=(pstXC_FRC_MUTE)temp;
911     //pstXC_SET_FORCE_READ_FRAME   pXC_SET_FORCE_READ_FRAME=(pstXC_SET_FORCE_READ_FRAME)temp;
912     //pstXC_SET_CSC                     pXC_SET_CSC=(pstXC_SET_CSC)temp;
913     //pstXC_SET_REGISTER_PQ_FPLL_THRESH_MODE pXC_SET_REGISTER_PQ_FPLL_THRESH_MODE=(pstXC_SET_REGISTER_PQ_FPLL_THRESH_MODE)temp;
914     //pstXC_GET_FREERUN_STATUS          pXC_GET_FREERUN_STATUS=(pstXC_GET_FREERUN_STATUS)temp;
915     //pstXC_SET_BYPASS_CSC              pXC_SET_BYPASS_CSC=(pstXC_SET_BYPASS_CSC)temp;
916     //pstXC_GET_DS_FORCE_INDEX_SUPPORTED pXC_GET_DS_FORCE_INDEX_SUPPORTED=(pstXC_GET_DS_FORCE_INDEX_SUPPORTED)temp;
917     //pstXC_SET_DS_FORCE_INDEX          pXC_SET_DS_FORCE_INDEX=(pstXC_SET_DS_FORCE_INDEX)temp;
918     //pstXC_SET_DS_INDEX_SOURCE_SELECT  pXC_SET_DS_INDEX_SOURCE_SELECT=(pstXC_SET_DS_INDEX_SOURCE_SELECT)temp;
919     //pstXC_GET_DS_STATUS               pXC_GET_DS_STATUS=(pstXC_GET_DS_STATUS)temp;
920     pstXC_OSDC_INITSETTING            pXC_OSDC_INITSETTING=(pstXC_OSDC_INITSETTING)temp;
921     //pstXC_OSDC_SET_OUTPUTVFREQX10     pXC_OSDC_SET_OUTPUTVFREQX10=(pstXC_OSDC_SET_OUTPUTVFREQX10)temp;
922     //pstXC_OSDC_CONTROL                pXC_OSDC_CONTROL=(pstXC_OSDC_CONTROL)temp;
923     pstXC_OSDC_GET_DESTINATION_INFO   pXC_OSDC_GET_DESTINATION_INFO=(pstXC_OSDC_GET_DESTINATION_INFO)temp;
924     //pstXC_SET_POWERSTATE              pXC_SET_POWERSTATE=(pstXC_SET_POWERSTATE)temp;
925     //pstXC_SET_BYPASS_OSDVSYNC_POS     pXC_SET_BYPASS_OSDVSYNC_POS=(pstXC_SET_BYPASS_OSDVSYNC_POS)temp;
926     //pstXC_SET_BYPASS_INPUTSRC         pXC_SET_BYPASS_INPUTSRC=(pstXC_SET_BYPASS_INPUTSRC)temp;
927     //pstXC_SET_SEAMLESS_ZAPPING        pXC_SET_SEAMLESS_ZAPPING=(pstXC_SET_SEAMLESS_ZAPPING)temp;
928     pstXC_GET_SEAMLESS_ZAPPING_STATUS pXC_GET_SEAMLESS_ZAPPING_STATUS=(pstXC_GET_SEAMLESS_ZAPPING_STATUS)temp;
929     //pstXC_SET_VTRACK_PAYLOADDATA      pXC_SET_VTRACK_PAYLOADDATA=(pstXC_SET_VTRACK_PAYLOADDATA)temp;
930     pstXC_SET_VTRACK_USERDEFINED_SETTING pXC_SET_VTRACK_USERDEFINED_SETTING=(pstXC_SET_VTRACK_USERDEFINED_SETTING)temp;
931     //pstXC_SET_VTRACK_ENABLE           pXC_SET_VTRACK_ENABLE=(pstXC_SET_VTRACK_ENABLE)temp;
932     pstXC_PRESET_PQINFO               pXC_PRESET_PQINFO=(pstXC_PRESET_PQINFO)temp;
933     //pstXC_GET_OP1_TESTPATTERN_ENABLED pXC_GET_OP1_TESTPATTERN_ENABLED=(pstXC_GET_OP1_TESTPATTERN_ENABLED)temp;
934     //pstXC_SET_OP1_TESTPATTERN         pXC_SET_OP1_TESTPATTERN=(pstXC_SET_OP1_TESTPATTERN)temp;
935     //pstXC_SET_OP2_TESTPATTERN         pXC_SET_OP2_TESTPATTERN=(pstXC_SET_OP2_TESTPATTERN)temp;
936     //pstXC_CHECK_WB_TESTPATTERN        pXC_CHECK_WB_TESTPATTERN=(pstXC_CHECK_WB_TESTPATTERN)temp;
937     //pstXC_SET_HLINEARSCALING          pXC_SET_HLINEARSCALING=(pstXC_SET_HLINEARSCALING)temp;
938     //pstXC_EnableT3D                   pXC_EnableT3D=(pstXC_EnableT3D)temp;
939     //pstXC_Set_FRC_InputTiming         pXC_Set_FRC_InputTiming=(pstXC_Set_FRC_InputTiming)temp;
940     pstXC_Get_FRC_InputTiming         pXC_Get_FRC_InputTiming=(pstXC_Get_FRC_InputTiming)temp;
941     //pstXC_GET_OUTPUT_VFREQ            pXC_GET_OUTPUT_VFREQ=(pstXC_GET_OUTPUT_VFREQ)temp;
942     //pstXC_GET_CURRENT_OUTPUTVFREQX100 pXC_GET_CURRENT_OUTPUTVFREQX100=(pstXC_GET_CURRENT_OUTPUTVFREQX100)temp;
943     //pstXC_SET_MEMORY_WRITE_REQUEST    pXC_SET_MEMORY_WRITE_REQUEST=(pstXC_SET_MEMORY_WRITE_REQUEST)temp;
944     //pstXC_SET_MEMORY_FORMAT           pXC_SET_MEMORY_FORMAT=(pstXC_SET_MEMORY_FORMAT)temp;
945     pstXC_SET_OUTPUT_ADJUST_SETTING   pXC_SET_OUTPUT_ADJUST_SETTING=(pstXC_SET_OUTPUT_ADJUST_SETTING)temp;
946     //pstXC_SET_FPLL_FSM                pXC_SET_FPLL_FSM=(pstXC_SET_FPLL_FSM)temp;
947     //pstXC_SET_MIRROR_MODE_ENABLE      pXC_SET_MIRROR_MODE_ENABLE=(pstXC_SET_MIRROR_MODE_ENABLE)temp;
948     //pstXC_SET_MIRROR_MODE2_ENABLE     pXC_SET_MIRROR_MODE2_ENABLE=(pstXC_SET_MIRROR_MODE2_ENABLE)temp;
949     pstXC_Get_VBOX_Info               pXC_GET_VBOX_INFO=(pstXC_Get_VBOX_Info)temp;
950 #ifdef UFO_XC_AUTO_DOWNLOAD
951     XC_AUTODOWNLOAD_DATA_INFO* pXC_AUTODOWNLOAD_DATA_INFO = (XC_AUTODOWNLOAD_DATA_INFO*)temp;
952     pstXC_AUTODOWNLOAD_CONFIG_CTRL pXC_AUTODOWNLOAD_CONFIG_CTRL = (pstXC_AUTODOWNLOAD_CONFIG_CTRL)temp;
953     pstXC_AUTODOWNLOAD_WRITE_CTRL pXC_AUTODOWNLOAD_WRITE_CTRL = (pstXC_AUTODOWNLOAD_WRITE_CTRL)temp;
954 #endif
955 #ifdef UFO_XC_HDR
956 #if (UFO_XC_HDR_VERSION == 2)
957     pstXC_HDR_CTRL pXC_HDR_CTRL = (pstXC_HDR_CTRL)temp;
958     XC_HDR_3DLUT_INFO* pXC_HDR_3DLUT_INFO = (XC_HDR_3DLUT_INFO*)temp;
959 #endif
960 #endif
961 
962 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
963     pstXC_SET_BLACKVIDEO_BYMODE pXC_SET_BLACKVIDEO_BYMODE = (pstXC_SET_BLACKVIDEO_BYMODE)temp;
964 #endif
965 
966 #ifdef UFO_XC_VMARK
967     pstXC_VMARK_SET_PARAMETERS pXC_VMARK_SET_PARAMETERS = (pstXC_VMARK_SET_PARAMETERS)temp;
968 #endif
969 
970 #ifdef UFO_XC_GET_3D_FORMAT
971     pstXC_GET3DFORMAT pXC_GET3DFORMAT     = (pstXC_GET3DFORMAT)temp;
972 #endif
973     //Function parameter's pointer
974     //XC_ApiInfo* pXC_ApiInfo = (XC_ApiInfo*)temp;
975     //XC_ApiStatus* pXC_ApiStatus = (XC_ApiStatus*)temp;
976     //XC_ApiStatusEx* pXC_ApiStatusEx = (XC_ApiStatusEx*)temp;
977     //XC_INITDATA* pXC_InitData = (XC_INITDATA*)temp;
978     //XC_INITMISC* pXC_Init_Misc = (XC_INITMISC*)temp;
979     //MS_U32* pXC_TYPE_U32 = (MS_U32*)temp;
980     //XC_DynamicScaling_Info* pXC_DSInfo = (XC_DynamicScaling_Info*)temp;
981     //XC_SETWIN_INFO* pstXC_SetWin_Info = (XC_SETWIN_INFO*)temp;
982     //XC_IP_SYNC_STATUS* pXC_Sync_Status = (XC_IP_SYNC_STATUS*)temp;
983     //MS_WINDOW_TYPE* pXC_Dspwin = (MS_WINDOW_TYPE*)temp;
984     //MS_XC_3D_HW2DTO3D_PARA* pXC_3DHw2DTo3DPara = (MS_XC_3D_HW2DTO3D_PARA*)temp;
985     //MS_XC_3D_DETECT3DFORMAT_PARA* pXC_Detect3DFormatPara = (MS_XC_3D_DETECT3DFORMAT_PARA*)temp;
986     //ST_DETECTNL_PARA* pXC_DetectNLatticePara = (ST_DETECTNL_PARA*)temp;
987     //MS_XC_3D_FPINFO_PARA* pXC_FPInfoPara = (MS_XC_3D_FPINFO_PARA*)temp;
988     //E_XC_3D_AUTODETECT_METHOD* pXC_enDetectMethod = (E_XC_3D_AUTODETECT_METHOD*)temp;
989     //MS_U16* pXC_TYPE_U16 = (MS_U16*)temp;
990     //XC_PANEL_INFO* pXC_PanelInfo = (XC_PANEL_INFO*)temp;
991     //MS_XC_DST_DispInfo* pXC_DST_DispInfo = (MS_XC_DST_DispInfo*)temp;
992     //MS_PIXEL_32BIT* pXC_pixel_32BIT = (MS_PIXEL_32BIT*)temp;
993     //XC_SetTiming_Info* pXC_SetTiming_Info = (XC_SetTiming_Info*)temp;
994     //SC_FRC_SETTING* pXC_FRCTable = (SC_FRC_SETTING*)temp;
995     //XC_OUTPUTFRAME_Info* pXC_OUTPUTFRAME_Info = (XC_OUTPUTFRAME_Info*)temp;
996     //XC_PANEL_INFO_EX* pXC_PANEL_INFO_EX = (XC_PANEL_INFO_EX*)temp;
997     //XC_Get_Pixel_RGB* pXC_Get_Pixel_RGB = (XC_Get_Pixel_RGB*)temp;
998     //MS_XC_REPORT_PIXELINFO* pXC_REPORT_PIXELINFO = (MS_XC_REPORT_PIXELINFO*)temp;
999     //MS_XC_OSDC_TGEN_INFO* pXC_OSDC_TGEN_INFO = (MS_XC_OSDC_TGEN_INFO*)temp;
1000     //MS_XC_OSDC_CTRL_INFO* pXC_OSDC_CTRL_INFO = (MS_XC_OSDC_CTRL_INFO*)temp;
1001     //MS_OSDC_DST_DispInfo* pXC_OSDC_DST_DispInfo = (MS_OSDC_DST_DispInfo*)temp;
1002     //E_XC_FRC_InputTiming* pXC_FRC_InputTiming = (E_XC_FRC_InputTiming*)temp;
1003     //XC_OUTPUT_TIMING_ADJUST_SETTING* pXC_OUTPUT_TIMING_ADJUST_SETTING = (XC_OUTPUT_TIMING_ADJUST_SETTING*)temp;
1004     //MS_U8* pXC_TYPE_U8 = (MS_U8*)temp;
1005     //MS_BOOL* pXC_TYPE_BOOL = (MS_BOOL*)temp;
1006 
1007     //Function parameter's pointer
1008     //spt_XC_MSIF_Version
1009     UADPBypassSetSPT(&spt_XC_ApiInfo[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_ApiInfo));
1010     UADPBypassSetSPT(&spt_XC_ApiInfo[1],UADP_SPT_END , 0, 0);
1011 
1012     UADPBypassSetSPT(&spt_XC_ApiStatus[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_ApiStatus));
1013     UADPBypassSetSPT(&spt_XC_ApiStatus[1],UADP_SPT_END , 0, 0);
1014 
1015     UADPBypassSetSPT(&spt_XC_ApiStatus_NODELAY[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_ApiStatus));
1016     UADPBypassSetSPT(&spt_XC_ApiStatus_NODELAY[1],UADP_SPT_END , 0, 0);
1017 
1018     UADPBypassSetSPT(&spt_XC_ApiStatusEx[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_ApiStatusEx));
1019     UADPBypassSetSPT(&spt_XC_ApiStatusEx[1],UADP_SPT_END , 0, 0);
1020 
1021 #ifdef BIFROST_32BIT_MODE
1022     UADP_SDT_NAME8(XC_INITDATA,XC_INITDATA,UADP_SDT_AT,u32Main_FB_Start_Addr,MS_NULL,UADP_SDT_AT,u32Main_FB_Size,MS_NULL,UADP_SDT_AT,u32Sub_FB_Start_Addr,MS_NULL,UADP_SDT_AT,u32Sub_FB_Size,MS_NULL,UADP_SDT_AT,u32Main_FRCM_FB_Start_Addr,MS_NULL,UADP_SDT_AT,u32Main_FRCM_FB_Size,MS_NULL,UADP_SDT_AT,u32Sub_FRCM_FB_Start_Addr,MS_NULL,UADP_SDT_AT,u32Sub_FRCM_FB_Size,MS_NULL);
1023 #else
1024     UADPBypassSetSPT(&spt_XC_INITDATA[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_INITDATA));
1025     UADPBypassSetSPT(&spt_XC_INITDATA[1],UADP_SPT_END , 0, 0);
1026 #endif
1027 
1028     UADPBypassSetSPT(&spt_XC_INITMISC[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_INITMISC));
1029     UADPBypassSetSPT(&spt_XC_INITMISC[1],UADP_SPT_END , 0, 0);
1030 
1031     UADPBypassSetSPT(&spt_XC_TypeU32[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_U32));
1032     UADPBypassSetSPT(&spt_XC_TypeU32[1],UADP_SPT_END , 0, 0);
1033 
1034 #ifdef BIFROST_32BIT_MODE
1035     UADP_SDT_NAME1(XC_DynamicScaling_Info,XC_DynamicScaling_Info,UADP_SDT_AT,u32DS_Info_BaseAddr,MS_NULL);
1036 #else
1037     UADPBypassSetSPT(&spt_XC_DynamicScaling_Info[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_DynamicScaling_Info));
1038     UADPBypassSetSPT(&spt_XC_DynamicScaling_Info[1],UADP_SPT_END , 0, 0);
1039 #endif
1040 
1041     UADPBypassSetSPT(&spt_XC_SETWIN_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_SETWIN_INFO));
1042     UADPBypassSetSPT(&spt_XC_SETWIN_INFO[1],UADP_SPT_END , 0, 0);
1043 
1044     UADPBypassSetSPT(&spt_XC_IP_SYNC_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_IP_SYNC_STATUS));
1045     UADPBypassSetSPT(&spt_XC_IP_SYNC_STATUS[1],UADP_SPT_END , 0, 0);
1046 
1047     UADPBypassSetSPT(&spt_XC_MS_WINDOW_TYPE[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_WINDOW_TYPE));
1048     UADPBypassSetSPT(&spt_XC_MS_WINDOW_TYPE[1],UADP_SPT_END , 0, 0);
1049 
1050     UADPBypassSetSPT(&spt_XC_3D_HW2DTO3D_PARA[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_XC_3D_HW2DTO3D_PARA));
1051     UADPBypassSetSPT(&spt_XC_3D_HW2DTO3D_PARA[1],UADP_SPT_END , 0, 0);
1052 
1053     UADPBypassSetSPT(&spt_XC_3D_DETECT3DFORMAT_PARA[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_XC_3D_DETECT3DFORMAT_PARA));
1054     UADPBypassSetSPT(&spt_XC_3D_DETECT3DFORMAT_PARA[1],UADP_SPT_END , 0, 0);
1055 
1056     UADPBypassSetSPT(&spt_XC_ST_DETECTNL_PARA[0],UADP_SPT_SELF_SIZE,0, sizeof(ST_DETECTNL_PARA));
1057     UADPBypassSetSPT(&spt_XC_ST_DETECTNL_PARA[1],UADP_SPT_END , 0, 0);
1058 
1059     UADPBypassSetSPT(&spt_XC_3D_FPINFO_PARA[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_XC_3D_FPINFO_PARA));
1060     UADPBypassSetSPT(&spt_XC_3D_FPINFO_PARA[1],UADP_SPT_END , 0, 0);
1061 
1062     UADPBypassSetSPT(&spt_XC_3D_AUTODETECT_METHOD[0],UADP_SPT_SELF_SIZE,0, sizeof(E_XC_3D_AUTODETECT_METHOD));
1063     UADPBypassSetSPT(&spt_XC_3D_AUTODETECT_METHOD[1],UADP_SPT_END , 0, 0);
1064     //8***
1065     //UADPBypassSetSPT(&spt_XC_MUX_PATH_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_VE_WINDOW_TYPE));
1066     //UADPBypassSetSPT(&spt_XC_MUX_PATH_INFO[1],UADP_SPT_END , 0, 0);
1067 
1068     UADPBypassSetSPT(&spt_XC_TypeU16[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_U16));
1069     UADPBypassSetSPT(&spt_XC_TypeU16[1],UADP_SPT_END , 0, 0);
1070 
1071     UADPBypassSetSPT(&spt_XC_PANEL_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_PANEL_INFO));
1072     UADPBypassSetSPT(&spt_XC_PANEL_INFO[1],UADP_SPT_END , 0, 0);
1073 
1074     UADPBypassSetSPT(&spt_MS_XC_DST_DispInfo[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_XC_DST_DispInfo));
1075     UADPBypassSetSPT(&spt_MS_XC_DST_DispInfo[1],UADP_SPT_END , 0, 0);
1076 
1077     //UADPBypassSetSPT(&spt_XC_SETWIN_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_VE_WINDOW_TYPE));
1078     //UADPBypassSetSPT(&spt_XC_SETWIN_INFO[1],UADP_SPT_END , 0, 0);
1079 
1080     UADPBypassSetSPT(&spt_XC_PIXEL_32BIT[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_PIXEL_32BIT));
1081     UADPBypassSetSPT(&spt_XC_PIXEL_32BIT[1],UADP_SPT_END , 0, 0);
1082 
1083     UADPBypassSetSPT(&spt_XC_SetTiming_Info[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_SetTiming_Info));
1084     UADPBypassSetSPT(&spt_XC_SetTiming_Info[1],UADP_SPT_END , 0, 0);
1085 
1086     UADPBypassSetSPT(&spt_SC_FRC_SETTING[0],UADP_SPT_SELF_SIZE,0, sizeof(SC_FRC_SETTING));
1087     UADPBypassSetSPT(&spt_SC_FRC_SETTING[1],UADP_SPT_END , 0, 0);
1088 
1089     UADPBypassSetSPT(&spt_XC_OUTPUTFRAME_Info[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_OUTPUTFRAME_Info));
1090     UADPBypassSetSPT(&spt_XC_OUTPUTFRAME_Info[1],UADP_SPT_END , 0, 0);
1091 
1092     UADPBypassSetSPT(&spt_XC_PANEL_INFO_EX[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_PANEL_INFO_EX));
1093     UADPBypassSetSPT(&spt_XC_PANEL_INFO_EX[1],UADP_SPT_END , 0, 0);
1094 
1095     UADPBypassSetSPT(&spt_XC_Get_Pixel_RGB[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_Get_Pixel_RGB));
1096     UADPBypassSetSPT(&spt_XC_Get_Pixel_RGB[1],UADP_SPT_END , 0, 0);
1097 
1098     UADPBypassSetSPT(&spt_MS_XC_REPORT_PIXELINFO[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_XC_REPORT_PIXELINFO));
1099     UADPBypassSetSPT(&spt_MS_XC_REPORT_PIXELINFO[1],UADP_SPT_END , 0, 0);
1100 
1101     UADPBypassSetSPT(&spt_MS_XC_OSDC_TGEN_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_XC_OSDC_TGEN_INFO));
1102     UADPBypassSetSPT(&spt_MS_XC_OSDC_TGEN_INFO[1],UADP_SPT_END , 0, 0);
1103 
1104     UADPBypassSetSPT(&spt_MS_XC_OSDC_CTRL_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_XC_OSDC_CTRL_INFO));
1105     UADPBypassSetSPT(&spt_MS_XC_OSDC_CTRL_INFO[1],UADP_SPT_END , 0, 0);
1106 
1107     UADPBypassSetSPT(&spt_MS_OSDC_DST_DispInfo[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_OSDC_DST_DispInfo));
1108     UADPBypassSetSPT(&spt_MS_OSDC_DST_DispInfo[1],UADP_SPT_END , 0, 0);
1109 
1110     UADPBypassSetSPT(&spt_XC_MS_BOOL[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_BOOL));
1111     UADPBypassSetSPT(&spt_XC_MS_BOOL[1],UADP_SPT_END , 0, 0);
1112 
1113     UADPBypassSetSPT(&spt_XC_FRC_InputTiming[0],UADP_SPT_SELF_SIZE,0, sizeof(E_XC_FRC_InputTiming));
1114     UADPBypassSetSPT(&spt_XC_FRC_InputTiming[1],UADP_SPT_END , 0, 0);
1115 
1116     UADPBypassSetSPT(&spt_XC_OUTPUT_TIMING_ADJUST_SETTING[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_OUTPUT_TIMING_ADJUST_SETTING));
1117     UADPBypassSetSPT(&spt_XC_OUTPUT_TIMING_ADJUST_SETTING[1],UADP_SPT_END , 0, 0);
1118 
1119     UADPBypassSetSPT(&spt_XC_TypeU8[0],UADP_SPT_SELF_SIZE,0, sizeof(MS_U8));
1120     UADPBypassSetSPT(&spt_XC_TypeU8[1],UADP_SPT_END , 0, 0);
1121 
1122     //Function parameter
1123 
1124     //vesion
1125     UADPBypassSetSPT(&spt_XC_CMD_GET_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CMD_GET_INFO));
1126     UADPBypassSetSPT(&spt_XC_CMD_GET_INFO[1],UADP_SPT_POINTER_TO_NEXT,
1127                      ((unsigned long)(&(pXC_GetINFO->stReturnValue))-(unsigned long)pXC_GetINFO), (unsigned long)spt_XC_ApiInfo);
1128     UADPBypassSetSPT(&spt_XC_CMD_GET_INFO[2],UADP_SPT_END , 0, 0);
1129 
1130     UADPBypassSetSPT(&spt_XC_GET_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_STATUS));
1131     UADPBypassSetSPT(&spt_XC_GET_STATUS[1],UADP_SPT_POINTER_TO_NEXT,
1132                      ((unsigned long)(&(pXC_GET_STATUS->pDrvStatus))-(unsigned long)pXC_GET_STATUS), (unsigned long)spt_XC_ApiStatus);
1133     UADPBypassSetSPT(&spt_XC_GET_STATUS[2],UADP_SPT_END , 0, 0);
1134 
1135     UADPBypassSetSPT(&spt_XC_GET_STATUS_NODELAY[0],UADP_SPT_SELF_SIZE,0, sizeof(ST_XC_GET_STATUS_NODELAY));
1136     UADPBypassSetSPT(&spt_XC_GET_STATUS_NODELAY[1],UADP_SPT_POINTER_TO_NEXT,
1137                      ((unsigned long)(&(pXC_GET_STATUS->pDrvStatus))-(unsigned long)pXC_GET_STATUS), (unsigned long)spt_XC_ApiStatus_NODELAY);
1138     UADPBypassSetSPT(&spt_XC_GET_STATUS_NODELAY[2],UADP_SPT_END , 0, 0);
1139 
1140 
1141     UADPBypassSetSPT(&spt_XC_GET_STATUS_EX[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_STATUS_EX));
1142     UADPBypassSetSPT(&spt_XC_GET_STATUS_EX[1],UADP_SPT_POINTER_TO_NEXT,
1143                      ((unsigned long)(&(pXC_GET_STATUS_EX->pDrvStatusEx))-(unsigned long)pXC_GET_STATUS_EX), (unsigned long)spt_XC_ApiStatusEx);
1144     UADPBypassSetSPT(&spt_XC_GET_STATUS_EX[2],UADP_SPT_END , 0, 0);
1145 
1146     UADPBypassSetSPT(&spt_XC_SET_DBG_LEVEL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_DBG_LEVEL));
1147     UADPBypassSetSPT(&spt_XC_SET_DBG_LEVEL[1],UADP_SPT_END , 0, 0);
1148 
1149     UADPBypassSetSPT(&spt_XC_SET_FPLL_CUSTOMERMODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FPLL_CUSTOMERMODE));
1150     UADPBypassSetSPT(&spt_XC_SET_FPLL_CUSTOMERMODE[1],UADP_SPT_END , 0, 0);
1151 
1152     UADPBypassSetSPT(&spt_XC_CMD_SET_IOMAPBASE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CMD_SET_IOMAPBASE));
1153     UADPBypassSetSPT(&spt_XC_CMD_SET_IOMAPBASE[1],UADP_SPT_END , 0, 0);
1154 
1155     UADPBypassSetSPT(&spt_XC_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_INIT));
1156     UADPBypassSetSPT(&spt_XC_INIT[1],UADP_SPT_POINTER_TO_NEXT,
1157                      ((unsigned long)(&(pXC_INIT->pXC_InitData)) - (unsigned long)pXC_INIT), (unsigned long)spt_XC_INITDATA);
1158     UADPBypassSetSPT(&spt_XC_INIT[2],UADP_SPT_END , 0, 0);
1159 
1160     UADPBypassSetSPT(&spt_XC_GET_CONFIG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_CONFIG));
1161     UADPBypassSetSPT(&spt_XC_GET_CONFIG[1],UADP_SPT_POINTER_TO_NEXT,
1162                      ((unsigned long)(&(pXC_GET_CONFIG->pXC_InitData)) - (unsigned long)pXC_GET_CONFIG), (unsigned long)spt_XC_INITDATA);
1163     UADPBypassSetSPT(&spt_XC_GET_CONFIG[2],UADP_SPT_END , 0, 0);
1164 
1165     UADPBypassSetSPT(&spt_XC_INIT_MISC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_INIT_MISC));
1166     UADPBypassSetSPT(&spt_XC_INIT_MISC[1],UADP_SPT_POINTER_TO_NEXT,
1167                      ((unsigned long)(&(pXC_INIT_MISC->pXC_Init_Misc)) - (unsigned long)pXC_INIT_MISC), (unsigned long)spt_XC_INITMISC);
1168     UADPBypassSetSPT(&spt_XC_INIT_MISC[2],UADP_SPT_END , 0, 0);
1169 
1170     UADPBypassSetSPT(&spt_XC_GET_MISC_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_MISC_STATUS));
1171     UADPBypassSetSPT(&spt_XC_GET_MISC_STATUS[1],UADP_SPT_POINTER_TO_NEXT,
1172                      ((unsigned long)(&(pXC_GET_MISC_STATUS->pXC_Init_Misc)) - (unsigned long)pXC_GET_MISC_STATUS), (unsigned long)spt_XC_INITMISC);
1173     UADPBypassSetSPT(&spt_XC_GET_MISC_STATUS[2],UADP_SPT_END , 0, 0);
1174 
1175     UADPBypassSetSPT(&spt_XC_GET_CAPABILITY[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_CAPABILITY));
1176     UADPBypassSetSPT(&spt_XC_GET_CAPABILITY[1],UADP_SPT_END , 0, 0);
1177 
1178 #ifdef UFO_XC_AUTO_DOWNLOAD
1179     UADP_SPT_NAME0NXT(XC_AUTODOWNLOAD_CLIENT_SUPPORTED_CAPS, XC_AUTODOWNLOAD_CLIENT_SUPPORTED_CAPS);
1180     UADP_SPT_NAME1NXT(XC_GET_CHIP_CAPS_AUTODOWNLOAD_CLIENT, stXC_GET_CHIP_CAPS, pRet, XC_AUTODOWNLOAD_CLIENT_SUPPORTED_CAPS);
1181 #endif
1182 
1183     UADPBypassSetSPT(&spt_XC_GET_CHIP_CAPS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_CHIP_CAPS));
1184     UADPBypassSetSPT(&spt_XC_GET_CHIP_CAPS[1],UADP_SPT_POINTER_TO_NEXT,
1185                      ((unsigned long)(&(pXC_GET_CHIP_CAPS->pRet)) - (unsigned long)pXC_GET_CHIP_CAPS), (unsigned long)spt_XC_TypeU32);
1186     UADPBypassSetSPT(&spt_XC_GET_CHIP_CAPS[2],UADP_SPT_END , 0, 0);
1187 
1188     UADPBypassSetSPT(&spt_XC_EXIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_EXIT));
1189     UADPBypassSetSPT(&spt_XC_EXIT[1],UADP_SPT_END , 0, 0);
1190 
1191     UADPBypassSetSPT(&spt_XC_SET_DYNAMIC_SCALING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_DYNAMIC_SCALING));
1192     UADPBypassSetSPT(&spt_XC_SET_DYNAMIC_SCALING[1],UADP_SPT_POINTER_TO_NEXT,
1193                      ((unsigned long)(&(pXC_SET_DYNAMIC_SCALING->pstDSInfo)) - (unsigned long)pXC_SET_DYNAMIC_SCALING), (unsigned long)spt_XC_DynamicScaling_Info);
1194     UADPBypassSetSPT(&spt_XC_SET_DYNAMIC_SCALING[2],UADP_SPT_END , 0, 0);
1195 
1196     UADPBypassSetSPT(&spt_XC_GET_DNR_BASEOFFSET[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_DNR_BASEOFFSET));
1197     UADPBypassSetSPT(&spt_XC_GET_DNR_BASEOFFSET[1],UADP_SPT_END , 0, 0);
1198 
1199     UADPBypassSetSPT(&spt_XC_GET_FRAMENUM_FACTOR[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_FRAMENUM_FACTOR));
1200     UADPBypassSetSPT(&spt_XC_GET_FRAMENUM_FACTOR[1],UADP_SPT_END , 0, 0);
1201 
1202     UADPBypassSetSPT(&spt_XC_SET_WINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_WINDOW));
1203     UADPBypassSetSPT(&spt_XC_SET_WINDOW[1],UADP_SPT_POINTER_TO_NEXT,
1204                      ((unsigned long)(&(pXC_SET_WINDOW->pstXC_SetWin_Info)) - (unsigned long)pXC_SET_WINDOW), (unsigned long)spt_XC_SETWIN_INFO);
1205     UADPBypassSetSPT(&spt_XC_SET_WINDOW[2],UADP_SPT_END , 0, 0);
1206 
1207     UADPBypassSetSPT(&spt_XC_SET_DUALWINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_DUALWINDOW));
1208     UADPBypassSetSPT(&spt_XC_SET_DUALWINDOW[1],UADP_SPT_POINTER_TO_NEXT,
1209                      ((unsigned long)(&(pXC_SET_DUALWINDOW->pstXC_SetWin_Info_Main)) - (unsigned long)pXC_SET_DUALWINDOW), (unsigned long)spt_XC_SETWIN_INFO);
1210     UADPBypassSetSPT(&spt_XC_SET_DUALWINDOW[2],UADP_SPT_POINTER_TO_NEXT,
1211                      ((unsigned long)(&(pXC_SET_DUALWINDOW->pstXC_SetWin_Info_Sub)) - (unsigned long)pXC_SET_DUALWINDOW), (unsigned long)spt_XC_SETWIN_INFO);
1212     UADPBypassSetSPT(&spt_XC_SET_DUALWINDOW[3],UADP_SPT_END , 0, 0);
1213 
1214     UADPBypassSetSPT(&spt_XC_SET_TRAVELING_WINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_TRAVELING_WINDOW));
1215     UADPBypassSetSPT(&spt_XC_SET_TRAVELING_WINDOW[1],UADP_SPT_POINTER_TO_NEXT,
1216                      ((unsigned long)(&(pXC_SET_TRAVELING_WINDOW->pstXC_SetWin_Info)) - (unsigned long)pXC_SET_TRAVELING_WINDOW), (unsigned long)spt_XC_SETWIN_INFO);
1217     UADPBypassSetSPT(&spt_XC_SET_TRAVELING_WINDOW[2],UADP_SPT_END , 0, 0);
1218 
1219     UADPBypassSetSPT(&spt_XC_SET_INPUTSOURCE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_INPUTSOURCE));
1220     UADPBypassSetSPT(&spt_XC_SET_INPUTSOURCE[1],UADP_SPT_END , 0, 0);
1221 
1222     UADPBypassSetSPT(&spt_XC_CHECK_YUVSPACE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_YUVSPACE));
1223     UADPBypassSetSPT(&spt_XC_CHECK_YUVSPACE[1],UADP_SPT_END , 0, 0);
1224 
1225     UADPBypassSetSPT(&spt_XC_CHECK_MEMORYFORMAT422[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_MEMORYFORMAT422));
1226     UADPBypassSetSPT(&spt_XC_CHECK_MEMORYFORMAT422[1],UADP_SPT_END , 0, 0);
1227 
1228     UADPBypassSetSPT(&spt_XC_SET_FORCE_RGBIN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FORCE_RGBIN));
1229     UADPBypassSetSPT(&spt_XC_SET_FORCE_RGBIN[1],UADP_SPT_END , 0, 0);
1230 
1231     UADPBypassSetSPT(&spt_XC_SET_MIRRORMODE_EX[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MIRRORMODE_EX));
1232     UADPBypassSetSPT(&spt_XC_SET_MIRRORMODE_EX[1],UADP_SPT_END , 0, 0);
1233 
1234     UADPBypassSetSPT(&spt_XC_GET_MIRRORMODE_TYPEEX[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_MIRRORMODE_TYPEEX));
1235     UADPBypassSetSPT(&spt_XC_GET_MIRRORMODE_TYPEEX[1],UADP_SPT_END , 0, 0);
1236 
1237     UADPBypassSetSPT(&spt_XC_GET_SYNC_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_SYNC_STATUS));
1238     UADPBypassSetSPT(&spt_XC_GET_SYNC_STATUS[1],UADP_SPT_POINTER_TO_NEXT,
1239                      ((unsigned long)(&(pXC_GET_SYNC_STATUS->sXC_Sync_Status)) - (unsigned long)pXC_GET_SYNC_STATUS), (unsigned long)spt_XC_IP_SYNC_STATUS);
1240     UADPBypassSetSPT(&spt_XC_GET_SYNC_STATUS[2],UADP_SPT_END , 0, 0);
1241 
1242     UADPBypassSetSPT(&spt_XC_SET_WAIT_OUTPUT_VSYNC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_WAIT_OUTPUT_VSYNC));
1243     UADPBypassSetSPT(&spt_XC_SET_WAIT_OUTPUT_VSYNC[1],UADP_SPT_END , 0, 0);
1244 
1245     UADPBypassSetSPT(&spt_XC_SET_WAIT_INPUT_VSYNC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_WAIT_INPUT_VSYNC));
1246     UADPBypassSetSPT(&spt_XC_SET_WAIT_INPUT_VSYNC[2],UADP_SPT_END , 0, 0);
1247 
1248     UADPBypassSetSPT(&spt_XC_SET_HDMI_SYNCMODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_HDMI_SYNCMODE));
1249     UADPBypassSetSPT(&spt_XC_SET_HDMI_SYNCMODE[1],UADP_SPT_END , 0, 0);
1250 
1251     UADPBypassSetSPT(&spt_XC_GET_HDMI_SYNCMODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_HDMI_SYNCMODE));
1252     UADPBypassSetSPT(&spt_XC_GET_HDMI_SYNCMODE[1],UADP_SPT_END , 0, 0);
1253 
1254     UADPBypassSetSPT(&spt_XC_SET_REPORT_WINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_REPORT_WINDOW));
1255     UADPBypassSetSPT(&spt_XC_SET_REPORT_WINDOW[1],UADP_SPT_END , 0, 0);
1256 
1257     UADPBypassSetSPT(&spt_XC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW));
1258     UADPBypassSetSPT(&spt_XC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW[1],UADP_SPT_END , 0, 0);
1259 
1260     UADPBypassSetSPT(&spt_XC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW));
1261     UADPBypassSetSPT(&spt_XC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW[1],UADP_SPT_END , 0, 0);
1262 
1263     UADPBypassSetSPT(&spt_XC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL));
1264     UADPBypassSetSPT(&spt_XC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL[1],UADP_SPT_END , 0, 0);
1265 
1266     UADPBypassSetSPT(&spt_XC_SET_OPWRITEOFF_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OPWRITEOFF_ENABLE));
1267     UADPBypassSetSPT(&spt_XC_SET_OPWRITEOFF_ENABLE[2],UADP_SPT_END , 0, 0);
1268 
1269     UADPBypassSetSPT(&spt_XC_SET_OPWRITEOFF_ENABLE_TO_REG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OPWRITEOFF_ENABLE_TO_REG));
1270     UADPBypassSetSPT(&spt_XC_SET_OPWRITEOFF_ENABLE_TO_REG[1],UADP_SPT_END , 0, 0);
1271 
1272     UADPBypassSetSPT(&spt_XC_FORCESET_OPWRITEOFF_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_FORCESET_OPWRITEOFF_ENABLE));
1273     UADPBypassSetSPT(&spt_XC_FORCESET_OPWRITEOFF_ENABLE[1],UADP_SPT_END , 0, 0);
1274 
1275     UADPBypassSetSPT(&spt_XC_GET_OPWRITEOFF_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_OPWRITEOFF_ENABLE));
1276     UADPBypassSetSPT(&spt_XC_GET_OPWRITEOFF_ENABLE[1],UADP_SPT_END , 0, 0);
1277 
1278     UADPBypassSetSPT(&spt_XC_SET_DISPLAY_WIN_TO_REG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_DISPLAY_WIN_TO_REG));
1279     UADPBypassSetSPT(&spt_XC_SET_DISPLAY_WIN_TO_REG[1],UADP_SPT_POINTER_TO_NEXT,
1280                      ((unsigned long)(&(pXC_SET_DISPLAY_WIN_TO_REG->pstDspwin)) - (unsigned long)pXC_SET_DISPLAY_WIN_TO_REG), (unsigned long)spt_XC_MS_WINDOW_TYPE);
1281     UADPBypassSetSPT(&spt_XC_SET_DISPLAY_WIN_TO_REG[2],UADP_SPT_END , 0, 0);
1282 
1283     UADPBypassSetSPT(&spt_XC_GET_DISPLAY_WIN_FROM_REG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_DISPLAY_WIN_FROM_REG));
1284     UADPBypassSetSPT(&spt_XC_GET_DISPLAY_WIN_FROM_REG[1],UADP_SPT_POINTER_TO_NEXT,
1285                      ((unsigned long)(&(pXC_GET_DISPLAY_WIN_FROM_REG->pstDspwin)) - (unsigned long)pXC_GET_DISPLAY_WIN_FROM_REG), (unsigned long)spt_XC_MS_WINDOW_TYPE);
1286     UADPBypassSetSPT(&spt_XC_GET_DISPLAY_WIN_FROM_REG[2],UADP_SPT_END , 0, 0);
1287 
1288     UADPBypassSetSPT(&spt_XC_SET_FREEZEIMG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FREEZEIMG));
1289     UADPBypassSetSPT(&spt_XC_SET_FREEZEIMG[1],UADP_SPT_END , 0, 0);
1290 
1291     UADPBypassSetSPT(&spt_XC_CHECK_FREEZEIMG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_FREEZEIMG));
1292     UADPBypassSetSPT(&spt_XC_CHECK_FREEZEIMG[1],UADP_SPT_END , 0, 0);
1293 
1294     UADPBypassSetSPT(&spt_XC_SET_BOTHWINDOW_BLACKVIDEO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BOTHWINDOW_BLACKVIDEO));
1295     UADPBypassSetSPT(&spt_XC_SET_BOTHWINDOW_BLACKVIDEO[1],UADP_SPT_END , 0, 0);
1296 
1297     UADPBypassSetSPT(&spt_XC_SET_BLACKSCREEN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BLACKSCREEN));
1298     UADPBypassSetSPT(&spt_XC_SET_BLACKSCREEN[1],UADP_SPT_END , 0, 0);
1299 
1300     UADPBypassSetSPT(&spt_XC_SET_BLACKVIDEO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BLACKVIDEO));
1301     UADPBypassSetSPT(&spt_XC_SET_BLACKVIDEO[1],UADP_SPT_END , 0, 0);
1302 
1303     UADPBypassSetSPT(&spt_XC_CHECK_BLACKVIDEO_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_BLACKVIDEO_ENABLE));
1304     UADPBypassSetSPT(&spt_XC_CHECK_BLACKVIDEO_ENABLE[1],UADP_SPT_END , 0, 0);
1305 
1306     UADPBypassSetSPT(&spt_XC_SET_FRAMEBUFFERLESS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FRAMEBUFFERLESS));
1307     UADPBypassSetSPT(&spt_XC_SET_FRAMEBUFFERLESS[1],UADP_SPT_END , 0, 0);
1308 
1309     UADPBypassSetSPT(&spt_XC_CHECK_FRAMEBUFFERLESS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_FRAMEBUFFERLESS));
1310     UADPBypassSetSPT(&spt_XC_CHECK_FRAMEBUFFERLESS[1],UADP_SPT_END , 0, 0);
1311 
1312     UADPBypassSetSPT(&spt_XC_SET_REQUEST_FRAMEBUFFERLESS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_REQUEST_FRAMEBUFFERLESS));
1313     UADPBypassSetSPT(&spt_XC_SET_REQUEST_FRAMEBUFFERLESS[1],UADP_SPT_END , 0, 0);
1314 
1315     UADPBypassSetSPT(&spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_REQUEST_FRAMEBUFFERLESS));
1316     UADPBypassSetSPT(&spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS[1],UADP_SPT_END , 0, 0);
1317 
1318     UADPBypassSetSPT(&spt_XC_GET_3D_HWVERSION[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_HWVERSION));
1319     UADPBypassSetSPT(&spt_XC_GET_3D_HWVERSION[1],UADP_SPT_END , 0, 0);
1320 
1321     UADPBypassSetSPT(&spt_XC_CHECK_3D_SUPPORT_HW2DTO3D[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_3D_SUPPORT_HW2DTO3D));
1322     UADPBypassSetSPT(&spt_XC_CHECK_3D_SUPPORT_HW2DTO3D[1],UADP_SPT_END , 0, 0);
1323 
1324     UADPBypassSetSPT(&spt_XC_SET_3D_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_MODE));
1325     UADPBypassSetSPT(&spt_XC_SET_3D_MODE[1],UADP_SPT_END , 0, 0);
1326 
1327     UADPBypassSetSPT(&spt_XC_SET_3D_MAINWIN_FIRST[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_MAINWIN_FIRST));
1328     UADPBypassSetSPT(&spt_XC_SET_3D_MAINWIN_FIRST[1],UADP_SPT_END , 0, 0);
1329 
1330     UADPBypassSetSPT(&spt_XC_SET_3D_LR_EXCHANGE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_LR_EXCHANGE));
1331     UADPBypassSetSPT(&spt_XC_SET_3D_LR_EXCHANGE[1],UADP_SPT_END , 0, 0);
1332 
1333     UADPBypassSetSPT(&spt_XC_CHECK_3D_LR_EXCHANGED[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_3D_LR_EXCHANGED));
1334     UADPBypassSetSPT(&spt_XC_CHECK_3D_LR_EXCHANGED[1],UADP_SPT_END , 0, 0);
1335 
1336     UADPBypassSetSPT(&spt_XC_GET_3D_INPUT_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_INPUT_MODE));
1337     UADPBypassSetSPT(&spt_XC_GET_3D_INPUT_MODE[1],UADP_SPT_END , 0, 0);
1338 
1339     UADPBypassSetSPT(&spt_XC_GET_3D_OUTPUT_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_OUTPUT_MODE));
1340     UADPBypassSetSPT(&spt_XC_GET_3D_OUTPUT_MODE[1],UADP_SPT_END , 0, 0);
1341 
1342     UADPBypassSetSPT(&spt_XC_GET_3D_PANELTYPE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_PANELTYPE));
1343     UADPBypassSetSPT(&spt_XC_GET_3D_PANELTYPE[1],UADP_SPT_END , 0, 0);
1344 
1345     UADPBypassSetSPT(&spt_XC_GET_3D_MAINWIN_FIRST[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_MAINWIN_FIRST));
1346     UADPBypassSetSPT(&spt_XC_GET_3D_MAINWIN_FIRST[1],UADP_SPT_END , 0, 0);
1347 
1348     UADPBypassSetSPT(&spt_XC_CHECK_3D_MAINSUB_IPSYNC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_3D_MAINSUB_IPSYNC));
1349     UADPBypassSetSPT(&spt_XC_CHECK_3D_MAINSUB_IPSYNC[1],UADP_SPT_END , 0, 0);
1350 
1351     UADPBypassSetSPT(&spt_XC_SET_3D_VERTICALVIDEO_OFFSET[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_VERTICALVIDEO_OFFSET));
1352     UADPBypassSetSPT(&spt_XC_SET_3D_VERTICALVIDEO_OFFSET[1],UADP_SPT_END , 0, 0);
1353 
1354     UADPBypassSetSPT(&spt_XC_GET_3D_VERTICALVIDEO_OFFSET[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_VERTICALVIDEO_OFFSET));
1355     UADPBypassSetSPT(&spt_XC_GET_3D_VERTICALVIDEO_OFFSET[1],UADP_SPT_END , 0, 0);
1356 
1357     UADPBypassSetSPT(&spt_XC_CHECK_3D_FORMAT_SUPPORTED[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_3D_FORMAT_SUPPORTED));
1358     UADPBypassSetSPT(&spt_XC_CHECK_3D_FORMAT_SUPPORTED[1],UADP_SPT_END , 0, 0);
1359 
1360     UADPBypassSetSPT(&spt_XC_SET_3D_HORIZONTAL_SHIFT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_HORIZONTAL_SHIFT));
1361     UADPBypassSetSPT(&spt_XC_SET_3D_HORIZONTAL_SHIFT[1],UADP_SPT_END , 0, 0);
1362 
1363     UADPBypassSetSPT(&spt_XC_SET_3D_LR_SBS2LINE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_LR_SBS2LINE));
1364     UADPBypassSetSPT(&spt_XC_SET_3D_LR_SBS2LINE[1],UADP_SPT_END , 0, 0);
1365 
1366     UADPBypassSetSPT(&spt_XC_GET_3D_HORIZONTAL_SHIFT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_HORIZONTAL_SHIFT));
1367     UADPBypassSetSPT(&spt_XC_GET_3D_HORIZONTAL_SHIFT[1],UADP_SPT_END , 0, 0);
1368 
1369 #ifdef BIFROST_32BIT_MODE
1370     UADP_SDT_NAME2(XC_SET_3D_HW2DTO3D_BUFFER,stXC_SET_3D_HW2DTO3D_BUFFER,UADP_SDT_AT,u32HW2DTO3D_DD_Buf,MS_NULL,UADP_SDT_AT,u32HW2DTO3D_DR_Buf,MS_NULL);
1371 #else
1372     UADPBypassSetSPT(&spt_XC_SET_3D_HW2DTO3D_BUFFER[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_HW2DTO3D_BUFFER));
1373     UADPBypassSetSPT(&spt_XC_SET_3D_HW2DTO3D_BUFFER[1],UADP_SPT_END , 0, 0);
1374 #endif
1375 
1376     UADPBypassSetSPT(&spt_XC_SET_3D_HW2DTO3D_PARAMETERS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_HW2DTO3D_PARAMETERS));
1377     UADPBypassSetSPT(&spt_XC_SET_3D_HW2DTO3D_PARAMETERS[1],UADP_SPT_END , 0, 0);
1378 
1379     UADPBypassSetSPT(&spt_XC_GET_3D_HW2DTO3D_PARAMETERS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_HW2DTO3D_PARAMETERS));
1380     UADPBypassSetSPT(&spt_XC_GET_3D_HW2DTO3D_PARAMETERS[1],UADP_SPT_POINTER_TO_NEXT,
1381                      ((unsigned long)(&(pXC_GET_3D_HW2DTO3D_PARAMETERS->pst3DHw2DTo3DPara)) - (unsigned long)pXC_GET_3D_HW2DTO3D_PARAMETERS),(unsigned long)spt_XC_3D_HW2DTO3D_PARA);
1382     UADPBypassSetSPT(&spt_XC_GET_3D_HW2DTO3D_PARAMETERS[2],UADP_SPT_END , 0, 0);
1383 
1384     UADPBypassSetSPT(&spt_XC_SET_3D_DETECT_3DFORMAT_PARAMETERS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_DETECT_3DFORMAT_PARAMETERS));
1385     UADPBypassSetSPT(&spt_XC_SET_3D_DETECT_3DFORMAT_PARAMETERS[1],UADP_SPT_POINTER_TO_NEXT,
1386                      ((unsigned long)(&(pXC_SET_3D_DETECT_3DFORMAT_PARAMETERS->pstDetect3DFormatPara)) - (unsigned long)pXC_SET_3D_DETECT_3DFORMAT_PARAMETERS), (unsigned long)spt_XC_3D_DETECT3DFORMAT_PARA);
1387     UADPBypassSetSPT(&spt_XC_SET_3D_DETECT_3DFORMAT_PARAMETERS[2],UADP_SPT_END , 0, 0);
1388 
1389     UADPBypassSetSPT(&spt_XC_GET_3D_DETECT_3DFORMAT_PARAMETERS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_DETECT_3DFORMAT_PARAMETERS));
1390     UADPBypassSetSPT(&spt_XC_GET_3D_DETECT_3DFORMAT_PARAMETERS[1],UADP_SPT_POINTER_TO_NEXT,
1391                      ((unsigned long)(&(pXC_SET_3D_DETECT_3DFORMAT_PARAMETERS->pstDetect3DFormatPara)) - (unsigned long)pXC_SET_3D_DETECT_3DFORMAT_PARAMETERS), (unsigned long)spt_XC_3D_DETECT3DFORMAT_PARA);
1392     UADPBypassSetSPT(&spt_XC_GET_3D_DETECT_3DFORMAT_PARAMETERS[2],UADP_SPT_END , 0, 0);
1393 
1394     UADPBypassSetSPT(&spt_XC_GET_3D_FORMAT_DETECTED_BY_CONTENT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_FORMAT_DETECTED_BY_CONTENT));
1395     UADPBypassSetSPT(&spt_XC_GET_3D_FORMAT_DETECTED_BY_CONTENT[1],UADP_SPT_END , 0, 0);
1396 
1397     UADPBypassSetSPT(&spt_XC_SET_NINELATTICE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_NINELATTICE));
1398     UADPBypassSetSPT(&spt_XC_SET_NINELATTICE[1],UADP_SPT_POINTER_TO_NEXT,
1399                      ((unsigned long)(&(pXC_SET_NINELATTICE->pstDetectNLatticePara)) - (unsigned long)pXC_SET_NINELATTICE), (unsigned long)spt_XC_ST_DETECTNL_PARA);
1400     UADPBypassSetSPT(&spt_XC_SET_NINELATTICE[2],UADP_SPT_END , 0, 0);
1401 
1402     UADPBypassSetSPT(&spt_XC_SET_3D_POST_PQSETTING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_POST_PQSETTING));
1403     UADPBypassSetSPT(&spt_XC_SET_3D_POST_PQSETTING[1],UADP_SPT_END , 0, 0);
1404 
1405     UADPBypassSetSPT(&spt_XC_SET_3D_FRAMEPACKING_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_FRAMEPACKING_INFO));
1406     UADPBypassSetSPT(&spt_XC_SET_3D_FRAMEPACKING_INFO[1],UADP_SPT_POINTER_TO_NEXT,
1407                      ((unsigned long)(&(pXC_SET_3D_FRAMEPACKING_INFO->pstFPInfoPara)) - (unsigned long)pXC_SET_3D_FRAMEPACKING_INFO), (unsigned long)spt_XC_3D_FPINFO_PARA);
1408     UADPBypassSetSPT(&spt_XC_SET_3D_FRAMEPACKING_INFO[2],UADP_SPT_END , 0, 0);
1409 
1410     UADPBypassSetSPT(&spt_XC_SET_3D_AUTODETECT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_AUTODETECT));
1411     UADPBypassSetSPT(&spt_XC_SET_3D_AUTODETECT[1],UADP_SPT_END , 0, 0);
1412 
1413     UADPBypassSetSPT(&spt_XC_GET_3D_AUTODETECT_3DFLAG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_3D_AUTODETECT_3DFLAG ));
1414     UADPBypassSetSPT(&spt_XC_GET_3D_AUTODETECT_3DFLAG[1],UADP_SPT_POINTER_TO_NEXT,
1415                      ((unsigned long)(&(pXC_GET_3D_AUTODETECT_3DFLAG->penDetectMethod)) - (unsigned long)pXC_GET_3D_AUTODETECT_3DFLAG), (unsigned long)spt_XC_3D_AUTODETECT_METHOD);
1416     UADPBypassSetSPT(&spt_XC_GET_3D_AUTODETECT_3DFLAG[2],UADP_SPT_POINTER_TO_NEXT,
1417                      ((unsigned long)(&(pXC_GET_3D_AUTODETECT_3DFLAG->pbEnable)) - (unsigned long)pXC_GET_3D_AUTODETECT_3DFLAG), (unsigned long)spt_XC_MS_BOOL);
1418     UADPBypassSetSPT(&spt_XC_GET_3D_AUTODETECT_3DFLAG[3],UADP_SPT_END , 0, 0);
1419 
1420     UADPBypassSetSPT(&spt_XC_SET_3D_SUBWINCLOCK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_SUBWINCLOCK));
1421     UADPBypassSetSPT(&spt_XC_SET_3D_SUBWINCLOCK[1],UADP_SPT_END , 0, 0);
1422 
1423     UADPBypassSetSPT(&spt_XC_CHECK_3D_LR_SBS2LINE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_3D_LR_SBS2LINE));
1424     UADPBypassSetSPT(&spt_XC_CHECK_3D_LR_SBS2LINE[1],UADP_SPT_END , 0, 0);
1425 
1426     UADPBypassSetSPT(&spt_XC_CHECK_3D_SKIP_DEFAULT_LR_FLAG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_3D_SKIP_DEFAULT_LR_FLAG));
1427     UADPBypassSetSPT(&spt_XC_CHECK_3D_SKIP_DEFAULT_LR_FLAG[1],UADP_SPT_END , 0, 0);
1428 
1429     UADPBypassSetSPT(&spt_XC_SET_3D_SKIP_DEFAULT_LR_FLAG[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_3D_SKIP_DEFAULT_LR_FLAG));
1430     UADPBypassSetSPT(&spt_XC_SET_3D_SKIP_DEFAULT_LR_FLAG[1],UADP_SPT_END , 0, 0);
1431 // need check
1432     UADPBypassSetSPT(&spt_XC_SET_MUX_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_INIT));
1433     UADPBypassSetSPT(&spt_XC_SET_MUX_INIT[1],UADP_SPT_END , 0, 0);
1434 
1435     UADPBypassSetSPT(&spt_XC_SET_MUX_SOURCE_MONITOR[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_SOURCE_MONITOR));
1436     UADPBypassSetSPT(&spt_XC_SET_MUX_SOURCE_MONITOR[1],UADP_SPT_END , 0, 0);
1437 // need check
1438     //UADPBypassSetSPT(&spt_XC_SET_MUX_CREATE_PATH[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_CREATE_PATH));
1439     //UADPBypassSetSPT(&spt_XC_SET_MUX_CREATE_PATH[1],UADP_SPT_END , 0, 0);
1440     //UADP_SPT_NAME0NXT(ADP_Path_Info,XC_MUX_PATH_INFO);
1441     UADP_SDT_NAME4(ADP_Path_Info,XC_MUX_PATH_INFO,UADP_SDT_AT,path_thread,MS_NULL,UADP_SDT_AT,SyncEventHandler,MS_NULL,UADP_SDT_AT,DestOnOff_Event_Handler,MS_NULL,UADP_SDT_AT,dest_periodic_handler,MS_NULL);
1442     UADP_SPT_NAME1NXT(XC_SET_MUX_CREATE_PATH,stXC_SET_MUX_CREATE_PATH,Path_Info,ADP_Path_Info);
1443 
1444     UADPBypassSetSPT(&spt_XC_SET_MUX_DELETE_PATH[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_DELETE_PATH));
1445     UADPBypassSetSPT(&spt_XC_SET_MUX_DELETE_PATH[1],UADP_SPT_END , 0, 0);
1446 
1447     UADPBypassSetSPT(&spt_XC_SET_MUX_ENABLE_PATH[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_ENABLE_PATH));
1448     UADPBypassSetSPT(&spt_XC_SET_MUX_ENABLE_PATH[1],UADP_SPT_END , 0, 0);
1449 // need check
1450     UADPBypassSetSPT(&spt_XC_SET_MUX_TRIGGER_PATH_SYNC_EVENT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_TRIGGER_PATH_SYNC_EVENT));
1451     UADPBypassSetSPT(&spt_XC_SET_MUX_TRIGGER_PATH_SYNC_EVENT[1],UADP_SPT_END , 0, 0);
1452 // need check
1453     UADPBypassSetSPT(&spt_XC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT));
1454     UADPBypassSetSPT(&spt_XC_SET_MUX_TRIGGER_DEST_ONOFF_EVENT[1],UADP_SPT_END , 0, 0);
1455 
1456     UADPBypassSetSPT(&spt_XC_SET_MUX_ONOFF_PERIODIC_HANDLER[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_ONOFF_PERIODIC_HANDLER));
1457     UADPBypassSetSPT(&spt_XC_SET_MUX_ONOFF_PERIODIC_HANDLER[1],UADP_SPT_END , 0, 0);
1458 // need check
1459     UADPBypassSetSPT(&spt_XC_MUX_PATHINFO[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_MUX_PATH_INFO));
1460     UADPBypassSetSPT(&spt_XC_MUX_PATHINFO[1],UADP_SPT_END , 0, 0);
1461 
1462     UADPBypassSetSPT(&spt_XC_GET_MUX_PATHINFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_MUX_PATHINFO));
1463     UADPBypassSetSPT(&spt_XC_GET_MUX_PATHINFO[1],UADP_SPT_POINTER_TO_NEXT,
1464                      ((unsigned long)(&(pXC_GET_MUX_PATHINFO->Paths)) - (unsigned long)pXC_GET_MUX_PATHINFO), (unsigned long)spt_XC_MUX_PATHINFO);
1465     UADPBypassSetSPT(&spt_XC_GET_MUX_PATHINFO[2],UADP_SPT_END , 0, 0);
1466 
1467     UADPBypassSetSPT(&spt_XC_SET_MUX_SUPPORT_MHL_PATHINFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_SUPPORT_MHL_PATHINFO));
1468     UADPBypassSetSPT(&spt_XC_SET_MUX_SUPPORT_MHL_PATHINFO[1],UADP_SPT_END , 0, 0);
1469 
1470     UADPBypassSetSPT(&spt_XC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO));
1471     UADPBypassSetSPT(&spt_XC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO[1],UADP_SPT_END , 0, 0);
1472 
1473     UADPBypassSetSPT(&spt_XC_GET_MUX_HDMIPORT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_MUX_HDMIPORT));
1474     UADPBypassSetSPT(&spt_XC_GET_MUX_HDMIPORT[1],UADP_SPT_END , 0, 0);
1475 
1476     UADPBypassSetSPT(&spt_XC_MUX_INPUTSRCTABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_MUX_INPUTSRCTABLE)*50);// because by default we have 50 types of input
1477     UADPBypassSetSPT(&spt_XC_MUX_INPUTSRCTABLE[1],UADP_SPT_END , 0, 0);
1478 
1479     UADPBypassSetSPT(&spt_XC_GET_MUX_MAPPING_TAB[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_MUX_MAPPINGTAB));
1480     UADPBypassSetSPT(&spt_XC_GET_MUX_MAPPING_TAB[1],UADP_SPT_POINTER_TO_NEXT,((unsigned long) &((stXC_GET_MUX_MAPPINGTAB *)0)->mapping_tab), (unsigned long)spt_XC_MUX_INPUTSRCTABLE);
1481     UADPBypassSetSPT(&spt_XC_GET_MUX_MAPPING_TAB[2],UADP_SPT_END , 0, 0);
1482 
1483     UADPBypassSetSPT(&spt_XC_GET_MUX_INPUTSOURCE2VDYMUXPORT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_MUX_INPUTSOURCE2VDYMUXPORT));
1484     UADPBypassSetSPT(&spt_XC_GET_MUX_INPUTSOURCE2VDYMUXPORT[1],UADP_SPT_END , 0, 0);
1485 
1486     UADPBypassSetSPT(&spt_XC_SET_NR[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_NR));
1487     UADPBypassSetSPT(&spt_XC_SET_NR[1],UADP_SPT_END , 0, 0);
1488 
1489     UADPBypassSetSPT(&spt_XC_CHECK_UC_ENABLED[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_UC_ENABLED));
1490     UADPBypassSetSPT(&spt_XC_CHECK_UC_ENABLED[1],UADP_SPT_END , 0, 0);
1491 
1492     UADPBypassSetSPT(&spt_XC_SET_GENERATE_SPECIFIC_TIMING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_GENERATE_SPECIFIC_TIMING));
1493     UADPBypassSetSPT(&spt_XC_SET_GENERATE_SPECIFIC_TIMING[1],UADP_SPT_END , 0, 0);
1494 
1495     UADPBypassSetSPT(&spt_XC_GET_DE_BYPASS_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_DE_BYPASS_MODE));
1496     UADPBypassSetSPT(&spt_XC_GET_DE_BYPASS_MODE[1],UADP_SPT_END , 0, 0);
1497 
1498     UADPBypassSetSPT(&spt_XC_GET_DE_WINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_DE_WINDOW));
1499     UADPBypassSetSPT(&spt_XC_GET_DE_WINDOW[1],UADP_SPT_POINTER_TO_NEXT,
1500                      ((unsigned long)(&(pXC_GET_DE_WINDOW->psWin)) - (unsigned long)pXC_GET_DE_WINDOW), (unsigned long)spt_XC_MS_WINDOW_TYPE);
1501     UADPBypassSetSPT(&spt_XC_GET_DE_WINDOW[2],UADP_SPT_END , 0, 0);
1502 
1503     UADPBypassSetSPT(&spt_XC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE));
1504     UADPBypassSetSPT(&spt_XC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE[1],UADP_SPT_POINTER_TO_NEXT,
1505                      ((unsigned long)(&(pXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE->pu16Width)) - (unsigned long)pXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE), (unsigned long)spt_XC_TypeU16);
1506     UADPBypassSetSPT(&spt_XC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE[2],UADP_SPT_POINTER_TO_NEXT,
1507                      ((unsigned long)(&(pXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE->pu16Height)) - (unsigned long)pXC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE), (unsigned long)spt_XC_TypeU16);
1508     UADPBypassSetSPT(&spt_XC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE[3],UADP_SPT_END , 0, 0);
1509 
1510     UADPBypassSetSPT(&spt_XC_GET_CAPTURE_WINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_CAPTURE_WINDOW));
1511     UADPBypassSetSPT(&spt_XC_GET_CAPTURE_WINDOW[1],UADP_SPT_POINTER_TO_NEXT,
1512                      ((unsigned long)(&(pXC_GET_CAPTURE_WINDOW->capture_win)) - (unsigned long)pXC_GET_CAPTURE_WINDOW), (unsigned long)spt_XC_MS_WINDOW_TYPE);
1513     UADPBypassSetSPT(&spt_XC_GET_CAPTURE_WINDOW[2],UADP_SPT_END , 0, 0);
1514 
1515     UADPBypassSetSPT(&spt_XC_SET_CAPTURE_WINDOW_VSTART[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_CAPTURE_WINDOW_VSTART));
1516     UADPBypassSetSPT(&spt_XC_SET_CAPTURE_WINDOW_VSTART[1],UADP_SPT_END , 0, 0);
1517 
1518     UADPBypassSetSPT(&spt_XC_SET_CAPTURE_WINDOW_HSTART[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_CAPTURE_WINDOW_HSTART));
1519     UADPBypassSetSPT(&spt_XC_SET_CAPTURE_WINDOW_HSTART[1],UADP_SPT_END , 0, 0);
1520 
1521     UADPBypassSetSPT(&spt_XC_SET_CAPTURE_WINDOW_VSIZE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_CAPTURE_WINDOW_VSIZE));
1522     UADPBypassSetSPT(&spt_XC_SET_CAPTURE_WINDOW_VSIZE[1],UADP_SPT_END , 0, 0);
1523 
1524     UADPBypassSetSPT(&spt_XC_SET_CAPTURE_WINDOW_HSIZE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_CAPTURE_WINDOW_HSIZE));
1525     UADPBypassSetSPT(&spt_XC_SET_CAPTURE_WINDOW_HSIZE[1],UADP_SPT_END , 0, 0);
1526 
1527     UADPBypassSetSPT(&spt_XC_SET_SOFTWARE_RESET[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SOFTWARE_RESET));
1528     UADPBypassSetSPT(&spt_XC_SET_SOFTWARE_RESET[1],UADP_SPT_END , 0, 0);
1529 
1530     UADPBypassSetSPT(&spt_XC_GET_HFREQX10[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_HFREQX10));
1531     UADPBypassSetSPT(&spt_XC_GET_HFREQX10[1],UADP_SPT_END , 0, 0);
1532 
1533     UADPBypassSetSPT(&spt_XC_GET_HFREQX1K[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_HFREQX1K));
1534     UADPBypassSetSPT(&spt_XC_GET_HFREQX1K[1],UADP_SPT_END , 0, 0);
1535 
1536     UADPBypassSetSPT(&spt_XC_GET_VFREQX10[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_VFREQX10));
1537     UADPBypassSetSPT(&spt_XC_GET_VFREQX10[1],UADP_SPT_END , 0, 0);
1538 
1539     UADPBypassSetSPT(&spt_XC_GET_VFREQX1K[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_VFREQX1K));
1540     UADPBypassSetSPT(&spt_XC_GET_VFREQX1K[1],UADP_SPT_END , 0, 0);
1541 
1542     UADPBypassSetSPT(&spt_XC_GET_ACCURATE_VFREQX1k[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_ACCURATE_VFREQX1k));
1543     UADPBypassSetSPT(&spt_XC_GET_ACCURATE_VFREQX1k[1],UADP_SPT_END , 0, 0);
1544 // need to check
1545     UADPBypassSetSPT(&spt_XC_SET_INTERRUPT_ATTACH[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_INTERRUPT_ATTACH));
1546     UADPBypassSetSPT(&spt_XC_SET_INTERRUPT_ATTACH[1],UADP_SPT_END , 0, 0);
1547 
1548     UADPBypassSetSPT(&spt_XC_SET_INTERRUPT_DEATTACH[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_INTERRUPT_DEATTACH));
1549     UADPBypassSetSPT(&spt_XC_SET_INTERRUPT_DEATTACH[1],UADP_SPT_END , 0, 0);
1550 
1551     UADPBypassSetSPT(&spt_XC_SET_DISABLE_INPUTSOURCE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_DISABLE_INPUTSOURCE));
1552     UADPBypassSetSPT(&spt_XC_SET_DISABLE_INPUTSOURCE[1],UADP_SPT_END , 0, 0);
1553 
1554     UADPBypassSetSPT(&spt_XC_CHECK_INPUTSOURCE_DISABLED[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_INPUTSOURCE_DISABLED));
1555     UADPBypassSetSPT(&spt_XC_CHECK_INPUTSOURCE_DISABLED[1],UADP_SPT_END , 0, 0);
1556 
1557     UADPBypassSetSPT(&spt_XC_SET_CHANGE_PANELTYPE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_CHANGE_PANELTYPE));
1558     UADPBypassSetSPT(&spt_XC_SET_CHANGE_PANELTYPE[1],UADP_SPT_POINTER_TO_NEXT,
1559                      ((unsigned long)(&(pXC_SET_CHANGE_PANELTYPE->pstPanelInfo)) - (unsigned long)pXC_SET_CHANGE_PANELTYPE), (unsigned long)spt_XC_PANEL_INFO);
1560     UADPBypassSetSPT(&spt_XC_SET_CHANGE_PANELTYPE[2],UADP_SPT_END , 0, 0);
1561 
1562     UADPBypassSetSPT(&spt_XC_GET_CURRENT_READBANK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_CURRENT_READBANK));
1563     UADPBypassSetSPT(&spt_XC_GET_CURRENT_READBANK[1],UADP_SPT_END , 0, 0);
1564 
1565     UADPBypassSetSPT(&spt_XC_GET_CURRENT_WRITEBANK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_CURRENT_WRITEBANK));
1566     UADPBypassSetSPT(&spt_XC_GET_CURRENT_WRITEBANK[1],UADP_SPT_END , 0, 0);
1567 
1568     UADPBypassSetSPT(&spt_XC_SET_AUTO_PRESCALING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_AUTO_PRESCALING));
1569     UADPBypassSetSPT(&spt_XC_SET_AUTO_PRESCALING[1],UADP_SPT_END , 0, 0);
1570 
1571     UADPBypassSetSPT(&spt_XC_GET_VSYNC_WIDTH[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_VSYNC_WIDTH));
1572     UADPBypassSetSPT(&spt_XC_GET_VSYNC_WIDTH[1],UADP_SPT_END , 0, 0);
1573 
1574     UADPBypassSetSPT(&spt_XC_SET_GOP_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_GOP_ENABLE));
1575     UADPBypassSetSPT(&spt_XC_SET_GOP_ENABLE[1],UADP_SPT_END , 0, 0);
1576 
1577     UADPBypassSetSPT(&spt_XC_SET_SELECT_IP_FOR_GOP[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SELECT_IP_FOR_GOP));
1578     UADPBypassSetSPT(&spt_XC_SET_SELECT_IP_FOR_GOP[1],UADP_SPT_END , 0, 0);
1579 
1580     UADPBypassSetSPT(&spt_XC_GET_DESTINATION_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_DESTINATION_INFO));
1581     UADPBypassSetSPT(&spt_XC_GET_DESTINATION_INFO[1],UADP_SPT_POINTER_TO_NEXT,
1582                      ((unsigned long)(&(pXC_GET_DESTINATION_INFO->pDstInfo)) - (unsigned long)pXC_GET_DESTINATION_INFO), (unsigned long)spt_MS_XC_DST_DispInfo);
1583     UADPBypassSetSPT(&spt_XC_GET_DESTINATION_INFO[2],UADP_SPT_END , 0, 0);
1584 
1585     UADPBypassSetSPT(&spt_XC_SET_FDMASK_BYWIN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FDMASK_BYWIN));
1586     UADPBypassSetSPT(&spt_XC_SET_FDMASK_BYWIN[1],UADP_SPT_END , 0, 0);
1587 
1588     UADPBypassSetSPT(&spt_XC_GET_FDMASK_BYWIN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_FDMASK_BYWIN));
1589     UADPBypassSetSPT(&spt_XC_GET_FDMASK_BYWIN[1],UADP_SPT_END , 0, 0);
1590 
1591     UADPBypassSetSPT(&spt_XC_SET_IP1_TESTPATTERN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_IP1_TESTPATTERN));
1592     UADPBypassSetSPT(&spt_XC_SET_IP1_TESTPATTERN[1],UADP_SPT_END , 0, 0);
1593 
1594     UADPBypassSetSPT(&spt_XC_SET_INIT_IP_FOR_INTERNAL_TIMING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_INIT_IP_FOR_INTERNAL_TIMING));
1595     UADPBypassSetSPT(&spt_XC_SET_INIT_IP_FOR_INTERNAL_TIMING[1],UADP_SPT_END , 0, 0);
1596 
1597     UADPBypassSetSPT(&spt_XC_SET_IPMUX[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_IPMUX ));
1598     UADPBypassSetSPT(&spt_XC_SET_IPMUX[1],UADP_SPT_END , 0, 0);
1599 
1600     UADPBypassSetSPT(&spt_XC_CHECK_HSYNC_ACTIVE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_HSYNC_ACTIVE));
1601     UADPBypassSetSPT(&spt_XC_CHECK_HSYNC_ACTIVE[1],UADP_SPT_END , 0, 0);
1602 
1603     UADPBypassSetSPT(&spt_XC_CHECK_VSYNC_ACTIVE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_VSYNC_ACTIVE));
1604     UADPBypassSetSPT(&spt_XC_CHECK_VSYNC_ACTIVE[1],UADP_SPT_END , 0, 0);
1605 
1606     UADPBypassSetSPT(&spt_XC_GET_AUTO_POSITION_WINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_AUTO_POSITION_WINDOW));
1607     UADPBypassSetSPT(&spt_XC_GET_AUTO_POSITION_WINDOW[1],UADP_SPT_POINTER_TO_NEXT,
1608                      ((unsigned long)(&(pXC_GET_AUTO_POSITION_WINDOW->pstAutoPositionWindow)) - (unsigned long)pXC_GET_AUTO_POSITION_WINDOW), (unsigned long)spt_XC_MS_WINDOW_TYPE);
1609     UADPBypassSetSPT(&spt_XC_GET_AUTO_POSITION_WINDOW[2],UADP_SPT_END , 0, 0);
1610 
1611 #ifdef BIFROST_32BIT_MODE
1612     UADP_SDT_NAME2(XC_SET_FRAMEBUFFER_ADDRESS,stXC_SET_FRAMEBUFFER_ADDRESS,UADP_SDT_AT,u32FBAddress,MS_NULL,UADP_SDT_AT,u32FBSize,MS_NULL);
1613 #else
1614     UADPBypassSetSPT(&spt_XC_SET_FRAMEBUFFER_ADDRESS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FRAMEBUFFER_ADDRESS));
1615     UADPBypassSetSPT(&spt_XC_SET_FRAMEBUFFER_ADDRESS[1],UADP_SPT_END , 0, 0);
1616 #endif
1617 
1618     UADPBypassSetSPT(&spt_XC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING));
1619     UADPBypassSetSPT(&spt_XC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING[1],UADP_SPT_POINTER_TO_NEXT,
1620                      ((unsigned long)(&(pXC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING->pstXC_SetWin_Info)) - (unsigned long)pXC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING), (unsigned long)spt_XC_SETWIN_INFO);
1621     UADPBypassSetSPT(&spt_XC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING[2],UADP_SPT_END , 0, 0);
1622 
1623     UADPBypassSetSPT(&spt_XC_SET_SCALER_MEMORY_REQUEST[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SCALER_MEMORY_REQUEST));
1624     UADPBypassSetSPT(&spt_XC_SET_SCALER_MEMORY_REQUEST[1],UADP_SPT_END , 0, 0);
1625 
1626     UADPBypassSetSPT(&spt_XC_GET_PIXEL_DATA[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_PIXEL_DATA));
1627     UADPBypassSetSPT(&spt_XC_GET_PIXEL_DATA[1],UADP_SPT_POINTER_TO_NEXT,
1628                      ((unsigned long)(&(pXC_GET_PIXEL_DATA->pixel)) - (unsigned long)pXC_GET_PIXEL_DATA), (unsigned long)spt_XC_PIXEL_32BIT);
1629     UADPBypassSetSPT(&spt_XC_GET_PIXEL_DATA[2],UADP_SPT_END , 0, 0);
1630 
1631     UADPBypassSetSPT(&spt_XC_GET_AVAILABLE_SIZE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_AVAILABLE_SIZE));
1632     UADPBypassSetSPT(&spt_XC_GET_AVAILABLE_SIZE[1],UADP_SPT_END , 0, 0);
1633 
1634     UADPBypassSetSPT(&spt_XC_SET_FRAME_COLOR[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FRAME_COLOR));
1635     UADPBypassSetSPT(&spt_XC_SET_FRAME_COLOR[1],UADP_SPT_END , 0, 0);
1636 
1637     UADPBypassSetSPT(&spt_XC_SET_DISPLAY_WINDOW_COLOR[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_DISPLAY_WINDOW_COLOR));
1638     UADPBypassSetSPT(&spt_XC_SET_DISPLAY_WINDOW_COLOR[1],UADP_SPT_END , 0, 0);
1639 
1640     UADPBypassSetSPT(&spt_XC_GET_SUPPORT_SOURCE_TO_VE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_SUPPORT_SOURCE_TO_VE));
1641     UADPBypassSetSPT(&spt_XC_GET_SUPPORT_SOURCE_TO_VE[1],UADP_SPT_POINTER_TO_NEXT,
1642                      ((unsigned long)(&(pXC_GET_SUPPORT_SOURCE_TO_VE->pOutputCapability)) - (unsigned long)pXC_GET_SUPPORT_SOURCE_TO_VE), (unsigned long)spt_XC_TypeU16);
1643     UADPBypassSetSPT(&spt_XC_GET_SUPPORT_SOURCE_TO_VE[2],UADP_SPT_END , 0, 0);
1644 
1645     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_CAPTURE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OUTPUT_CAPTURE ));
1646     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_CAPTURE[1],UADP_SPT_END , 0, 0);
1647 
1648     UADPBypassSetSPT(&spt_XC_SET_GAMMA_ONOFF[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_GAMMA_ONOFF));
1649     UADPBypassSetSPT(&spt_XC_SET_GAMMA_ONOFF[1],UADP_SPT_END , 0, 0);
1650 
1651     UADPBypassSetSPT(&spt_XC_SET_PREGAMMA_GAIN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_PREGAMMA_GAIN));
1652     UADPBypassSetSPT(&spt_XC_SET_PREGAMMA_GAIN[1],UADP_SPT_END , 0, 0);
1653 
1654     UADPBypassSetSPT(&spt_XC_SET_PREGAMMA_OFFSET[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_PREGAMMA_OFFSET));
1655     UADPBypassSetSPT(&spt_XC_SET_PREGAMMA_OFFSET[1],UADP_SPT_END , 0, 0);
1656 
1657     UADPBypassSetSPT(&spt_XC_SET_PANEL_TIMING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_PANEL_TIMING));
1658     UADPBypassSetSPT(&spt_XC_SET_PANEL_TIMING[1],UADP_SPT_POINTER_TO_NEXT,
1659                      ((unsigned long)(&(pXC_SET_PANEL_TIMING->pTimingInfo)) - (unsigned long)pXC_SET_PANEL_TIMING), (unsigned long)spt_XC_SetTiming_Info);
1660     UADPBypassSetSPT(&spt_XC_SET_PANEL_TIMING[2],UADP_SPT_END , 0, 0);
1661 
1662     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_TIMING_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OUTPUT_TIMING_MODE));
1663     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_TIMING_MODE[1],UADP_SPT_END , 0, 0);
1664 
1665     UADPBypassSetSPT(&spt_XC_SET_CUSTOMER_SYNC_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_CUSTOMER_SYNC_INFO));
1666     UADPBypassSetSPT(&spt_XC_SET_CUSTOMER_SYNC_INFO[1],UADP_SPT_END , 0, 0);
1667 
1668     UADPBypassSetSPT(&spt_XC_GET_WAIT_FPLL_DONE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_WAIT_FPLL_DONE));
1669     UADPBypassSetSPT(&spt_XC_GET_WAIT_FPLL_DONE[1],UADP_SPT_END , 0, 0);
1670 
1671     UADPBypassSetSPT(&spt_XC_GET_OUTPUT_VFREQX100[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_OUTPUT_VFREQX100));
1672     UADPBypassSetSPT(&spt_XC_GET_OUTPUT_VFREQX100[1],UADP_SPT_END , 0, 0);
1673 
1674     UADPBypassSetSPT(&spt_XC_GET_OP1_OUTPUT_VFREQX100[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_OP1_OUTPUT_VFREQX100));
1675     UADPBypassSetSPT(&spt_XC_GET_OP1_OUTPUT_VFREQX100[1],UADP_SPT_END , 0, 0);
1676 
1677     UADPBypassSetSPT(&spt_XC_CHECK_FRAMELOCK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_FRAMELOCK));
1678     UADPBypassSetSPT(&spt_XC_CHECK_FRAMELOCK[1],UADP_SPT_END , 0, 0);
1679 
1680     UADPBypassSetSPT(&spt_XC_SET_CUSTOMIZE_FRC_TABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_CUSTOMIZE_FRC_TABLE));
1681     UADPBypassSetSPT(&spt_XC_SET_CUSTOMIZE_FRC_TABLE[1],UADP_SPT_POINTER_TO_NEXT,
1682                      ((unsigned long)(&(pXC_SET_CUSTOMIZE_FRC_TABLE->stFRCTable)) - (unsigned long)pXC_SET_CUSTOMIZE_FRC_TABLE), (unsigned long)spt_SC_FRC_SETTING);
1683     UADPBypassSetSPT(&spt_XC_SET_CUSTOMIZE_FRC_TABLE[2],UADP_SPT_END , 0, 0);
1684 
1685     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_FRAME_CONTROL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OUTPUT_FRAME_CONTROL));
1686     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_FRAME_CONTROL[1],UADP_SPT_POINTER_TO_NEXT,
1687                      ((unsigned long)(&(pXC_SET_OUTPUT_FRAME_CONTROL->pstOutFrameInfo)) - (unsigned long)pXC_SET_OUTPUT_FRAME_CONTROL), (unsigned long)spt_XC_OUTPUTFRAME_Info);
1688     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_FRAME_CONTROL[2],UADP_SPT_END , 0, 0);
1689 
1690     UADPBypassSetSPT(&spt_XC_SET_FPLL_FSM_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FPLL_FSM_ENABLE));
1691     UADPBypassSetSPT(&spt_XC_SET_FPLL_FSM_ENABLE[1],UADP_SPT_END , 0, 0);
1692 
1693     UADPBypassSetSPT(&spt_XC_SET_FORCE_FREERUN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FORCE_FREERUN));
1694     UADPBypassSetSPT(&spt_XC_SET_FORCE_FREERUN[1],UADP_SPT_END , 0, 0);
1695 
1696     UADPBypassSetSPT(&spt_XC_CHECK_FORCE_FREERUN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_FORCE_FREERUN));
1697     UADPBypassSetSPT(&spt_XC_CHECK_FORCE_FREERUN[1],UADP_SPT_END , 0, 0);
1698 
1699     UADPBypassSetSPT(&spt_XC_SET_FREERUN_FREQ[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FREERUN_FREQ));
1700     UADPBypassSetSPT(&spt_XC_SET_FREERUN_FREQ[1],UADP_SPT_END , 0, 0);
1701 
1702     UADPBypassSetSPT(&spt_XC_SET_EXPANEL_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_EXPANEL_INFO));
1703     UADPBypassSetSPT(&spt_XC_SET_EXPANEL_INFO[1],UADP_SPT_POINTER_TO_NEXT,
1704                      ((unsigned long)(&(pXC_SET_EXPANEL_INFO->pPanelInfoEx)) - (unsigned long)pXC_SET_EXPANEL_INFO), (unsigned long)spt_XC_PANEL_INFO_EX);
1705     UADPBypassSetSPT(&spt_XC_SET_EXPANEL_INFO[2],UADP_SPT_END , 0, 0);
1706 
1707     UADPBypassSetSPT(&spt_XC_SET_FPLL_THRESHMODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FPLL_THRESHMODE));
1708     UADPBypassSetSPT(&spt_XC_SET_FPLL_THRESHMODE[1],UADP_SPT_END , 0, 0);
1709 
1710     UADPBypassSetSPT(&spt_XC_GET_FPLL_THRESHMODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_FPLL_THRESHMODE));
1711     UADPBypassSetSPT(&spt_XC_GET_FPLL_THRESHMODE[1],UADP_SPT_END , 0, 0);
1712 
1713     UADPBypassSetSPT(&spt_XC_SET_IPAUTONOSIGNAL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_IPAUTONOSIGNAL));
1714     UADPBypassSetSPT(&spt_XC_SET_IPAUTONOSIGNAL[1],UADP_SPT_END , 0, 0);
1715 
1716     UADPBypassSetSPT(&spt_XC_GET_IPAUTONOSIGNAL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_IPAUTONOSIGNAL));
1717     UADPBypassSetSPT(&spt_XC_GET_IPAUTONOSIGNAL[1],UADP_SPT_END , 0, 0);
1718 
1719     UADPBypassSetSPT(&spt_XC_SET_IPAUTOCOAST[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_IPAUTOCOAST));
1720     UADPBypassSetSPT(&spt_XC_SET_IPAUTOCOAST[1],UADP_SPT_END , 0, 0);
1721 
1722     UADPBypassSetSPT(&spt_XC_SET_FPLL_MANUAL_SETTING_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FPLL_MANUAL_SETTING_ENABLE));
1723     UADPBypassSetSPT(&spt_XC_SET_FPLL_MANUAL_SETTING_ENABLE[1],UADP_SPT_END , 0, 0);
1724 
1725     UADPBypassSetSPT(&spt_XC_SET_FPLL_BOUNDARY_TEST[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FPLL_BOUNDARY_TEST));
1726     UADPBypassSetSPT(&spt_XC_SET_FPLL_BOUNDARY_TEST[1],UADP_SPT_END , 0, 0);
1727 
1728     UADPBypassSetSPT(&spt_XC_SET_OFFLINE_DETECTION[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OFFLINE_DETECTION));
1729     UADPBypassSetSPT(&spt_XC_SET_OFFLINE_DETECTION[1],UADP_SPT_END , 0, 0);
1730 
1731     UADPBypassSetSPT(&spt_XC_GET_OFFLINE_DETECTION[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_OFFLINE_DETECTION));
1732     UADPBypassSetSPT(&spt_XC_GET_OFFLINE_DETECTION[1],UADP_SPT_END , 0, 0);
1733 
1734     UADPBypassSetSPT(&spt_XC_SET_OFFLINE_SOG_THRESHOLD[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OFFLINE_SOG_THRESHOLD));
1735     UADPBypassSetSPT(&spt_XC_SET_OFFLINE_SOG_THRESHOLD[1],UADP_SPT_END , 0, 0);
1736 
1737     UADPBypassSetSPT(&spt_XC_SET_OFFLINE_SOG_BW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OFFLINE_SOG_BW));
1738     UADPBypassSetSPT(&spt_XC_SET_OFFLINE_SOG_BW[1],UADP_SPT_END , 0, 0);
1739 
1740     UADPBypassSetSPT(&spt_XC_SET_OFFLINE_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OFFLINE_INIT));
1741     UADPBypassSetSPT(&spt_XC_SET_OFFLINE_INIT[1],UADP_SPT_END , 0, 0);
1742 
1743     UADPBypassSetSPT(&spt_XC_SET_EXTRA_FETCH_ADV_LINE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_EXTRA_FETCH_ADV_LINE));
1744     UADPBypassSetSPT(&spt_XC_SET_EXTRA_FETCH_ADV_LINE[1],UADP_SPT_END , 0, 0);
1745 
1746     UADPBypassSetSPT(&spt_XC_SET_VGA_SOG_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_VGA_SOG_ENABLE));
1747     UADPBypassSetSPT(&spt_XC_SET_VGA_SOG_ENABLE[1],UADP_SPT_END , 0, 0);
1748 
1749     UADPBypassSetSPT(&spt_XC_SET_WINDOW_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_WINDOW_ENABLE));
1750     UADPBypassSetSPT(&spt_XC_SET_WINDOW_ENABLE[1],UADP_SPT_END , 0, 0);
1751 
1752     UADPBypassSetSPT(&spt_XC_CHECK_SUBWINDOW_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_SUBWINDOW_ENABLE));
1753     UADPBypassSetSPT(&spt_XC_CHECK_SUBWINDOW_ENABLE[1],UADP_SPT_END , 0, 0);
1754 
1755     UADPBypassSetSPT(&spt_XC_SET_BORDER_FORMAT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BORDER_FORMAT));
1756     UADPBypassSetSPT(&spt_XC_SET_BORDER_FORMAT[1],UADP_SPT_END , 0, 0);
1757 
1758     UADPBypassSetSPT(&spt_XC_SET_BORDER_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BORDER_ENABLE));
1759     UADPBypassSetSPT(&spt_XC_SET_BORDER_ENABLE[1],UADP_SPT_END , 0, 0);
1760 
1761     UADPBypassSetSPT(&spt_XC_SET_ZORDER_MAINWINDOW_FIRSTL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_ZORDER_MAINWINDOW_FIRST));
1762     UADPBypassSetSPT(&spt_XC_SET_ZORDER_MAINWINDOW_FIRSTL[1],UADP_SPT_END , 0, 0);
1763 
1764     UADPBypassSetSPT(&spt_XC_SET_PQ_LOADFUNCTION[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_PQ_LOADFUNCTION));
1765     UADPBypassSetSPT(&spt_XC_SET_PQ_LOADFUNCTION[1],UADP_SPT_END , 0, 0);
1766 
1767     UADPBypassSetSPT(&spt_XC_CHECK_H_NONLINEAR_SCALING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_H_NONLINEAR_SCALING));
1768     UADPBypassSetSPT(&spt_XC_CHECK_H_NONLINEAR_SCALING[1],UADP_SPT_END , 0, 0);
1769 
1770     UADPBypassSetSPT(&spt_XC_SET_EUROHDTV_SUPPORT_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_EUROHDTV_SUPPORT_ENABLE));
1771     UADPBypassSetSPT(&spt_XC_SET_EUROHDTV_SUPPORT_ENABLE[1],UADP_SPT_END , 0, 0);
1772 
1773     UADPBypassSetSPT(&spt_XC_SET_EUROHDTV_DETECTION_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_EUROHDTV_DETECTION_ENABLE));
1774     UADPBypassSetSPT(&spt_XC_SET_EUROHDTV_DETECTION_ENABLE[1],UADP_SPT_END , 0, 0);
1775 
1776     UADPBypassSetSPT(&spt_XC_READBYTE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_READBYTE));
1777     UADPBypassSetSPT(&spt_XC_READBYTE[1],UADP_SPT_END , 0, 0);
1778 
1779     UADPBypassSetSPT(&spt_XC_WRITEBYTE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_WRITEBYTE));
1780     UADPBypassSetSPT(&spt_XC_WRITEBYTE[1],UADP_SPT_END , 0, 0);
1781 
1782     UADPBypassSetSPT(&spt_XC_WRITEBYTEMSK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_WRITEBYTEMSK));
1783     UADPBypassSetSPT(&spt_XC_WRITEBYTEMSK[1],UADP_SPT_END , 0, 0);
1784 
1785     UADPBypassSetSPT(&spt_XC_WRITE2BYTEMSK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_WRITE2BYTEMSK));
1786     UADPBypassSetSPT(&spt_XC_WRITE2BYTEMSK[1],UADP_SPT_END , 0, 0);
1787 
1788     UADPBypassSetSPT(&spt_XC_W2BYTE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_W2BYTE));
1789     UADPBypassSetSPT(&spt_XC_W2BYTE[1],UADP_SPT_END , 0, 0);
1790 
1791     UADPBypassSetSPT(&spt_XC_R2BYTE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_R2BYTE));
1792     UADPBypassSetSPT(&spt_XC_R2BYTE[1],UADP_SPT_END , 0, 0);
1793 
1794     UADPBypassSetSPT(&spt_XC_W4BYTE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_W4BYTE));
1795     UADPBypassSetSPT(&spt_XC_W4BYTE[1],UADP_SPT_END , 0, 0);
1796 
1797     UADPBypassSetSPT(&spt_XC_R4BYTE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_R4BYTE));
1798     UADPBypassSetSPT(&spt_XC_R4BYTE[1],UADP_SPT_END , 0, 0);
1799 
1800     UADPBypassSetSPT(&spt_XC_R2BYTEMSK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_R2BYTEMSK));
1801     UADPBypassSetSPT(&spt_XC_R2BYTEMSK[1],UADP_SPT_END , 0, 0);
1802 
1803     UADPBypassSetSPT(&spt_XC_W2BYTEMSK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_W2BYTEMSK));
1804     UADPBypassSetSPT(&spt_XC_W2BYTEMSK[1],UADP_SPT_END , 0, 0);
1805 
1806 #ifdef BIFROST_32BIT_MODE
1807     UADP_SDT_NAME1(XC_MLOAD_INIT,stXC_MLOAD_INIT,UADP_SDT_AT,PhyAddr,MS_NULL);
1808 #else
1809     UADPBypassSetSPT(&spt_XC_MLOAD_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLOAD_INIT));
1810     UADPBypassSetSPT(&spt_XC_MLOAD_INIT[1],UADP_SPT_END , 0, 0);
1811 #endif
1812 
1813     UADPBypassSetSPT(&spt_XC_MLOAD_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLOAD_ENABLE));
1814     UADPBypassSetSPT(&spt_XC_MLOAD_ENABLE[1],UADP_SPT_END , 0, 0);
1815 
1816     UADPBypassSetSPT(&spt_XC_MLOAD_GETSTATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLOAD_GETSTATUS));
1817     UADPBypassSetSPT(&spt_XC_MLOAD_GETSTATUS[1],UADP_SPT_END , 0, 0);
1818 
1819     UADPBypassSetSPT(&spt_XC_MLOAD_WRITE_CMD_AND_FIRE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLOAD_WRITE_CMD_AND_FIRE));
1820     UADPBypassSetSPT(&spt_XC_MLOAD_WRITE_CMD_AND_FIRE[1],UADP_SPT_END , 0, 0);
1821 
1822     UADPBypassSetSPT(&spt_XC_MLOAD_WRITE_CMDS_AND_FIRE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLOAD_WRITE_CMDS_AND_FIRE));
1823     UADPBypassSetSPT(&spt_XC_MLOAD_WRITE_CMDS_AND_FIRE[1],UADP_SPT_POINTER_TO_NEXT,
1824                      ((unsigned long)(&(pXC_MLOAD_WRITE_CMDS_AND_FIRE->pu32Addr)) - (unsigned long)pXC_MLOAD_WRITE_CMDS_AND_FIRE), (unsigned long)spt_XC_TypeU32);
1825     UADPBypassSetSPT(&spt_XC_MLOAD_WRITE_CMDS_AND_FIRE[2],UADP_SPT_POINTER_TO_NEXT,
1826                      ((unsigned long)(&(pXC_MLOAD_WRITE_CMDS_AND_FIRE->pu16Data)) - (unsigned long)pXC_MLOAD_WRITE_CMDS_AND_FIRE), (unsigned long)spt_XC_TypeU16);
1827     UADPBypassSetSPT(&spt_XC_MLOAD_WRITE_CMDS_AND_FIRE[3],UADP_SPT_POINTER_TO_NEXT,
1828                      ((unsigned long)(&(pXC_MLOAD_WRITE_CMDS_AND_FIRE->pu16Mask)) - (unsigned long)pXC_MLOAD_WRITE_CMDS_AND_FIRE), (unsigned long)spt_XC_TypeU16);
1829     UADPBypassSetSPT(&spt_XC_MLOAD_WRITE_CMDS_AND_FIRE[4],UADP_SPT_END , 0, 0);
1830 
1831 #ifdef BIFROST_32BIT_MODE
1832     UADP_SDT_NAME1(XC_MLG_INIT,stXC_MLG_INIT,UADP_SDT_AT,PhyAddr,MS_NULL);
1833 #else
1834     UADPBypassSetSPT(&spt_XC_MLG_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLG_INIT));
1835     UADPBypassSetSPT(&spt_XC_MLG_INIT[1],UADP_SPT_END , 0, 0);
1836 #endif
1837 
1838     UADPBypassSetSPT(&spt_XC_MLG_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLG_ENABLE));
1839     UADPBypassSetSPT(&spt_XC_MLG_ENABLE[1],UADP_SPT_END , 0, 0);
1840 
1841     UADPBypassSetSPT(&spt_XC_MLG_GET_CAPS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLG_GET_CAPS));
1842     UADPBypassSetSPT(&spt_XC_MLG_GET_CAPS[1],UADP_SPT_END , 0, 0);
1843 
1844     UADPBypassSetSPT(&spt_XC_MLG_GETSTATUST[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_MLG_GETSTATUS));
1845     UADPBypassSetSPT(&spt_XC_MLG_GETSTATUST[1],UADP_SPT_END , 0, 0);
1846 
1847     UADPBypassSetSPT(&spt_XC_SET_OSD2VEMODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OSD2VEMODE));
1848     UADPBypassSetSPT(&spt_XC_SET_OSD2VEMODE[1],UADP_SPT_END , 0, 0);
1849 
1850     UADPBypassSetSPT(&spt_XC_SET_IP2_PREFILTER_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_IP2_PREFILTER_ENABLE));
1851     UADPBypassSetSPT(&spt_XC_SET_IP2_PREFILTER_ENABLE[1],UADP_SPT_END , 0, 0);
1852 
1853     UADPBypassSetSPT(&spt_XC_GET_PIXELRGB[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_PIXELRGB));
1854     UADPBypassSetSPT(&spt_XC_GET_PIXELRGB[1],UADP_SPT_POINTER_TO_NEXT,
1855                      ((unsigned long)(&(pXC_GET_PIXELRGB->pData)) - (unsigned long)pXC_GET_PIXELRGB), (unsigned long)spt_XC_Get_Pixel_RGB);
1856     UADPBypassSetSPT(&spt_XC_GET_PIXELRGB[2],UADP_SPT_END , 0, 0);
1857 
1858     UADPBypassSetSPT(&spt_XC_SET_KEEP_PIXELPOINTER_APPEAR[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_KEEP_PIXELPOINTER_APPEAR));
1859     UADPBypassSetSPT(&spt_XC_SET_KEEP_PIXELPOINTER_APPEAR[1],UADP_SPT_END , 0, 0);
1860 
1861     UADPBypassSetSPT(&spt_XC_SET_MEMORY_FORMAT_EX[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MEMORY_FORMAT_EX));
1862     UADPBypassSetSPT(&spt_XC_SET_MEMORY_FORMAT_EX[1],UADP_SPT_END , 0, 0);
1863 
1864     UADPBypassSetSPT(&spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE));
1865     UADPBypassSetSPT(&spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE[1],UADP_SPT_END , 0, 0);
1866 
1867     UADPBypassSetSPT(&spt_XC_SET_SKIP_SWRESET[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SKIP_SWRESET));
1868     UADPBypassSetSPT(&spt_XC_SET_SKIP_SWRESET[1],UADP_SPT_END , 0, 0);
1869 
1870     UADPBypassSetSPT(&spt_XC_SET_REPORTWINDOW_FOR_FRAMECOLOR[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_REPORTWINDOW_FOR_FRAMECOLOR));
1871     UADPBypassSetSPT(&spt_XC_SET_REPORTWINDOW_FOR_FRAMECOLOR[1],UADP_SPT_END , 0, 0);
1872 
1873     UADPBypassSetSPT(&spt_XC_SET_OSDLAYER[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OSDLAYER));
1874     UADPBypassSetSPT(&spt_XC_SET_OSDLAYER[1],UADP_SPT_END , 0, 0);
1875 
1876     UADPBypassSetSPT(&spt_XC_GET_OSDLAYER[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_OSDLAYER));
1877     UADPBypassSetSPT(&spt_XC_GET_OSDLAYER[1],UADP_SPT_END , 0, 0);
1878 
1879     UADPBypassSetSPT(&spt_XC_SET_VIDEO_ALPHA[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_VIDEO_ALPHA));
1880     UADPBypassSetSPT(&spt_XC_SET_VIDEO_ALPHA[1],UADP_SPT_END , 0, 0);
1881 
1882     UADPBypassSetSPT(&spt_XC_GET_VIDEO_ALPHA[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_VIDEO_ALPHA));
1883     UADPBypassSetSPT(&spt_XC_GET_VIDEO_ALPHA[1],UADP_SPT_POINTER_TO_NEXT,
1884                      ((unsigned long)(&(pXC_GET_VIDEO_ALPHA->pu8Val)) - (unsigned long)pXC_GET_VIDEO_ALPHA), (unsigned long)spt_XC_TypeU8);
1885     UADPBypassSetSPT(&spt_XC_GET_VIDEO_ALPHA[2],UADP_SPT_END , 0, 0);
1886 
1887     UADPBypassSetSPT(&spt_XC_SKIP_WAIT_VSYNC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SKIP_WAIT_VSYNC));
1888     UADPBypassSetSPT(&spt_XC_SKIP_WAIT_VSYNC[1],UADP_SPT_END , 0, 0);
1889 
1890     UADPBypassSetSPT(&spt_XC_SET_OP2VOP_DE_SELECTION[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OP2VOP_DE_SELECTION));
1891     UADPBypassSetSPT(&spt_XC_SET_OP2VOP_DE_SELECTION[1],UADP_SPT_END , 0, 0);
1892 
1893     UADPBypassSetSPT(&spt_XC_SET_FRC_WINDOW[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FRC_WINDOW));
1894     UADPBypassSetSPT(&spt_XC_SET_FRC_WINDOW[1],UADP_SPT_END , 0, 0);
1895 
1896     UADPBypassSetSPT(&spt_XC_SET_2INITFACTOR_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_2INITFACTOR_ENABLE));
1897     UADPBypassSetSPT(&spt_XC_SET_2INITFACTOR_ENABLE[1],UADP_SPT_END , 0, 0);
1898 
1899     UADPBypassSetSPT(&spt_XC_CHECK_FIELDPACKINGMODE_SUPPORTED[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_FIELDPACKINGMODE_SUPPORTED));
1900     UADPBypassSetSPT(&spt_XC_CHECK_FIELDPACKINGMODE_SUPPORTED[1],UADP_SPT_END , 0, 0);
1901 // need check
1902 //pre init
1903     UADP_SPT_NAME0NXT(XC_PREINIT_INFO,XC_PREINIT_INFO_t);
1904     UADP_SPT_NAME1NXT(XC_PREINIT_FRC,stXC_PREINIT,para,XC_PREINIT_INFO);
1905     UADP_SPT_NAME1NXT(XC_PREINIT_FRC_3D_TYPE,stXC_PREINIT,para,XC_PREINIT_INFO);
1906     UADP_SPT_NAME1NXT(XC_PREINIT_NULL,stXC_PREINIT,para,XC_PREINIT_INFO);
1907 //end of pre init
1908 
1909 // need check
1910     UADPBypassSetSPT(&spt_XC_GET_BUFFERDATA[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_BUFFERDATA));
1911     UADPBypassSetSPT(&spt_XC_GET_BUFFERDATA[1],UADP_SPT_END , 0, 0);
1912 // need check
1913     UADPBypassSetSPT(&spt_XC_SET_BUFFERDATA[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BUFFERDATA));
1914     UADPBypassSetSPT(&spt_XC_SET_BUFFERDATA[1],UADP_SPT_END , 0, 0);
1915 
1916     UADPBypassSetSPT(&spt_XC_SET_MAINWINDOW_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MAINWINDOW_ENABLE));
1917     UADPBypassSetSPT(&spt_XC_SET_MAINWINDOW_ENABLE[1],UADP_SPT_END , 0, 0);
1918 
1919     UADPBypassSetSPT(&spt_XC_SET_SUBWINDOW_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SUBWINDOW_ENABLE));
1920     UADPBypassSetSPT(&spt_XC_SET_SUBWINDOW_ENABLE[1],UADP_SPT_POINTER_TO_NEXT,
1921                      ((unsigned long)(&(pXC_SET_SUBWINDOW_ENABLE->pstDispWin)) - (unsigned long)pXC_SET_SUBWINDOW_ENABLE), (unsigned long)spt_XC_MS_WINDOW_TYPE);
1922     UADPBypassSetSPT(&spt_XC_SET_SUBWINDOW_ENABLE[2],UADP_SPT_END , 0, 0);
1923 
1924     UADPBypassSetSPT(&spt_XC_SET_PIXEL_SHIFT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_PIXEL_SHIFT));
1925     UADPBypassSetSPT(&spt_XC_SET_PIXEL_SHIFT[1],UADP_SPT_END , 0, 0);
1926 
1927     UADPBypassSetSPT(&spt_XC_SET_VIDEO_ON_OSD[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_VIDEO_ON_OSD));
1928     UADPBypassSetSPT(&spt_XC_SET_VIDEO_ON_OSD[1],UADP_SPT_END , 0, 0);
1929 
1930     UADPBypassSetSPT(&spt_XC_SET_OSD_BLENDING_FORMULA[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OSD_BLENDING_FORMULA));
1931     UADPBypassSetSPT(&spt_XC_SET_OSD_BLENDING_FORMULA[1],UADP_SPT_END , 0, 0);
1932 
1933     UADPBypassSetSPT(&spt_XC_GET_REPORT_PIXEL_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_REPORT_PIXEL_INFO));
1934     UADPBypassSetSPT(&spt_XC_GET_REPORT_PIXEL_INFO[1],UADP_SPT_POINTER_TO_NEXT,
1935                      ((unsigned long)(&(pXC_GET_REPORT_PIXEL_INFO->pstRepPixInfo)) - (unsigned long)pXC_GET_REPORT_PIXEL_INFO), (unsigned long)spt_MS_XC_REPORT_PIXELINFO);
1936     UADPBypassSetSPT(&spt_XC_GET_REPORT_PIXEL_INFO[2],UADP_SPT_END , 0, 0);
1937 
1938     UADPBypassSetSPT(&spt_XC_SET_SCALING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SCALING));
1939     UADPBypassSetSPT(&spt_XC_SET_SCALING[1],UADP_SPT_END , 0, 0);
1940 
1941 #ifdef BIFROST_32BIT_MODE
1942     UADP_SDT_NAME2(XC_SET_MCDI_BUFFERADDRESS,stXC_SET_MCDI_BUFFERADDRESS,UADP_SDT_AT,u32FBAddress,MS_NULL,UADP_SDT_AT,u32FBSize,MS_NULL);
1943 #else
1944     UADPBypassSetSPT(&spt_XC_SET_MCDI_BUFFERADDRESS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MCDI_BUFFERADDRESS));
1945     UADPBypassSetSPT(&spt_XC_SET_MCDI_BUFFERADDRESS[1],UADP_SPT_END , 0, 0);
1946 #endif
1947 
1948     UADPBypassSetSPT(&spt_XC_SET_MCDI_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MCDI_ENABLE));
1949     UADPBypassSetSPT(&spt_XC_SET_MCDI_ENABLE[1],UADP_SPT_END , 0, 0);
1950 
1951     UADPBypassSetSPT(&spt_XC_SEND_CMD2FRC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SEND_CMD2FRC));
1952     UADPBypassSetSPT(&spt_XC_SEND_CMD2FRC[1],UADP_SPT_END , 0, 0);
1953 
1954     UADPBypassSetSPT(&spt_XC_GET_MSG_FROM_FRC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_MSG_FROM_FRC));
1955     UADPBypassSetSPT(&spt_XC_GET_MSG_FROM_FRC[1],UADP_SPT_POINTER_TO_NEXT,
1956                      ((unsigned long)(&(pXC_GET_MSG_FROM_FRC->pu8Cmd)) - (unsigned long)pXC_GET_MSG_FROM_FRC), (unsigned long)spt_XC_TypeU8);
1957     UADPBypassSetSPT(&spt_XC_GET_MSG_FROM_FRC[2],UADP_SPT_POINTER_TO_NEXT,
1958                      ((unsigned long)(&(pXC_GET_MSG_FROM_FRC->pu8ParaCount)) - (unsigned long)pXC_GET_MSG_FROM_FRC), (unsigned long)spt_XC_TypeU8);
1959     UADPBypassSetSPT(&spt_XC_GET_MSG_FROM_FRC[3],UADP_SPT_POINTER_TO_NEXT,
1960                      ((unsigned long)(&(pXC_GET_MSG_FROM_FRC->pu8Para)) - (unsigned long)pXC_GET_MSG_FROM_FRC), (unsigned long)spt_XC_TypeU8);
1961     UADPBypassSetSPT(&spt_XC_GET_MSG_FROM_FRC[4],UADP_SPT_END , 0, 0);
1962 
1963     UADPBypassSetSPT(&spt_XC_SET_AUTO_RWBANK_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_AUTO_RWBANK_ENABLE));
1964     UADPBypassSetSPT(&spt_XC_SET_AUTO_RWBANK_ENABLE[1],UADP_SPT_END , 0, 0);
1965 
1966     UADPBypassSetSPT(&spt_XC_SET_RWBANK_MAPPING_NUM[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_RWBANK_MAPPING_NUM));
1967     UADPBypassSetSPT(&spt_XC_SET_RWBANK_MAPPING_NUM[1],UADP_SPT_END , 0, 0);
1968 
1969     UADPBypassSetSPT(&spt_XC_GET_RWBANK_MAPPING_NUM[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_RWBANK_MAPPING_NUM));
1970     UADPBypassSetSPT(&spt_XC_GET_RWBANK_MAPPING_NUM[1],UADP_SPT_END , 0, 0);
1971 
1972     UADPBypassSetSPT(&spt_XC_GET_RWBANK_MAPPING_NUM_FOR_ZAP[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_RWBANK_MAPPING_NUM_FOR_ZAP));
1973     UADPBypassSetSPT(&spt_XC_GET_RWBANK_MAPPING_NUM_FOR_ZAP[1],UADP_SPT_END , 0, 0);
1974 
1975     UADPBypassSetSPT(&spt_XC_SET_BOBMODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BOBMODE));
1976     UADPBypassSetSPT(&spt_XC_SET_BOBMODE[1],UADP_SPT_END , 0, 0);
1977 
1978     UADPBypassSetSPT(&spt_XC_SET_FORCE_READBANK[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FORCE_READBANK));
1979     UADPBypassSetSPT(&spt_XC_SET_FORCE_READBANK[1],UADP_SPT_END , 0, 0);
1980 
1981     UADPBypassSetSPT(&spt_XC_SET_LOCK_POINT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_LOCK_POINT));
1982     UADPBypassSetSPT(&spt_XC_SET_LOCK_POINT[1],UADP_SPT_END , 0, 0);
1983 
1984     UADPBypassSetSPT(&spt_XC_LD_INIT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_LD_INIT));
1985     UADPBypassSetSPT(&spt_XC_LD_INIT[1],UADP_SPT_END , 0, 0);
1986 
1987 #ifdef BIFROST_32BIT_MODE
1988     UADP_SDT_NAME6(XC_SET_LD_MEMORYADDRESS,stXC_SET_LD_MEMORYADDRESS,UADP_SDT_AT,u32LDFBase0,MS_NULL,
1989                                                                         UADP_SDT_AT,u32LDFBase1,MS_NULL,
1990                                                                         UADP_SDT_AT,u32LDBBase0,MS_NULL,
1991                                                                         UADP_SDT_AT,u32LDBBase1,MS_NULL,
1992                                                                         UADP_SDT_AT,u32EDGE2DBase,MS_NULL,
1993                                                                         UADP_SDT_AT,u32LEDOffset,MS_NULL);
1994 #else
1995     UADPBypassSetSPT(&spt_XC_SET_LD_MEMORYADDRESS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_LD_MEMORYADDRESS));
1996     UADPBypassSetSPT(&spt_XC_SET_LD_MEMORYADDRESS[1],UADP_SPT_END , 0, 0);
1997 #endif
1998 
1999     UADPBypassSetSPT(&spt_XC_GET_LD_VALUE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_LD_VALUE));
2000     UADPBypassSetSPT(&spt_XC_GET_LD_VALUE[1],UADP_SPT_POINTER_TO_NEXT,
2001                      ((unsigned long)(&(pXC_GET_LD_VALUE->pu8LDValue)) - (unsigned long)pXC_GET_LD_VALUE), (unsigned long)spt_XC_TypeU8);
2002     UADPBypassSetSPT(&spt_XC_GET_LD_VALUE[2],UADP_SPT_END , 0, 0);
2003 
2004     UADPBypassSetSPT(&spt_XC_SET_LD_LEVEL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_LD_LEVEL));
2005     UADPBypassSetSPT(&spt_XC_SET_LD_LEVEL[1],UADP_SPT_END , 0, 0);
2006 
2007     UADPBypassSetSPT(&spt_XC_SET_LD_TURNOFF_LDBL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_LD_TURNOFF_LDBL));
2008     UADPBypassSetSPT(&spt_XC_SET_LD_TURNOFF_LDBL[1],UADP_SPT_END , 0, 0);
2009 
2010     UADPBypassSetSPT(&spt_XC_SET_NOTUPDATE_SPI_DATA_FLAGS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_NOTUPDATE_SPI_DATA_FLAGS));
2011     UADPBypassSetSPT(&spt_XC_SET_NOTUPDATE_SPI_DATA_FLAGS[1],UADP_SPT_END , 0, 0);
2012 
2013     UADPBypassSetSPT(&spt_XC_SET_LD_USERMODEFLAGS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_LD_USERMODEFLAGS));
2014     UADPBypassSetSPT(&spt_XC_SET_LD_USERMODEFLAGS[1],UADP_SPT_END , 0, 0);
2015 
2016     UADPBypassSetSPT(&spt_XC_SET_BL_LEVEL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BL_LEVEL));
2017     UADPBypassSetSPT(&spt_XC_SET_BL_LEVEL[1],UADP_SPT_END , 0, 0);
2018 
2019     UADPBypassSetSPT(&spt_XC_SET_BWS_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BWS_MODE));
2020     UADPBypassSetSPT(&spt_XC_SET_BWS_MODE[1],UADP_SPT_END , 0, 0);
2021 
2022     UADPBypassSetSPT(&spt_XC_SET_FRC_COLOR_PATH_CONTROL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FRC_COLOR_PATH_CONTROL));
2023     UADPBypassSetSPT(&spt_XC_SET_FRC_COLOR_PATH_CONTROL[1],UADP_SPT_END , 0, 0);
2024 
2025     UADPBypassSetSPT(&spt_XC_SET_FRC_OP2_RGBGAIN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FRC_OP2_RGBGAIN));
2026     UADPBypassSetSPT(&spt_XC_SET_FRC_OP2_RGBGAIN[1],UADP_SPT_END , 0, 0);
2027 
2028     UADPBypassSetSPT(&spt_XC_SET_FRC_OP2_RGBOFFSET[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FRC_OP2_RGBOFFSET));
2029     UADPBypassSetSPT(&spt_XC_SET_FRC_OP2_RGBOFFSET[1],UADP_SPT_END , 0, 0);
2030 
2031     UADPBypassSetSPT(&spt_XC_SET_FRC_OP2_DITHER[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FRC_OP2_DITHER));
2032     UADPBypassSetSPT(&spt_XC_SET_FRC_OP2_DITHER[1],UADP_SPT_END , 0, 0);
2033 
2034     UADPBypassSetSPT(&spt_XC_FRC_BYPASS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_FRC_BYPASS));
2035     UADPBypassSetSPT(&spt_XC_FRC_BYPASS[1],UADP_SPT_END , 0, 0);
2036 
2037     UADPBypassSetSPT(&spt_XC_FRC_MUTE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_FRC_MUTE));
2038     UADPBypassSetSPT(&spt_XC_FRC_MUTE[1],UADP_SPT_END , 0, 0);
2039 
2040     UADPBypassSetSPT(&spt_XC_SET_FORCE_READ_FRAME[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FORCE_READ_FRAME));
2041     UADPBypassSetSPT(&spt_XC_SET_FORCE_READ_FRAME[1],UADP_SPT_END , 0, 0);
2042 
2043     UADPBypassSetSPT(&spt_XC_SET_CSC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_CSC));
2044     UADPBypassSetSPT(&spt_XC_SET_CSC[1],UADP_SPT_END , 0, 0);
2045 // need check
2046     UADPBypassSetSPT(&spt_XC_SET_REGISTER_PQ_FPLL_THRESH_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_REGISTER_PQ_FPLL_THRESH_MODE));
2047     UADPBypassSetSPT(&spt_XC_SET_REGISTER_PQ_FPLL_THRESH_MODE[1],UADP_SPT_END , 0, 0);
2048 
2049     UADPBypassSetSPT(&spt_XC_GET_FREERUN_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_FREERUN_STATUS));
2050     UADPBypassSetSPT(&spt_XC_GET_FREERUN_STATUS[1],UADP_SPT_END , 0, 0);
2051 
2052     UADPBypassSetSPT(&spt_XC_SET_BYPASS_CSC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BYPASS_CSC));
2053     UADPBypassSetSPT(&spt_XC_SET_BYPASS_CSC[1],UADP_SPT_END , 0, 0);
2054 
2055     UADPBypassSetSPT(&spt_XC_GET_DS_FORCE_INDEX_SUPPORTED[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_DS_FORCE_INDEX_SUPPORTED));
2056     UADPBypassSetSPT(&spt_XC_GET_DS_FORCE_INDEX_SUPPORTED[1],UADP_SPT_END , 0, 0);
2057 
2058     UADPBypassSetSPT(&spt_XC_SET_DS_FORCE_INDEX[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_DS_FORCE_INDEX));
2059     UADPBypassSetSPT(&spt_XC_SET_DS_FORCE_INDEX[1],UADP_SPT_END , 0, 0);
2060 
2061     UADPBypassSetSPT(&spt_XC_SET_DS_INDEX_SOURCE_SELECT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_DS_INDEX_SOURCE_SELECT));
2062     UADPBypassSetSPT(&spt_XC_SET_DS_INDEX_SOURCE_SELECT[1],UADP_SPT_END , 0, 0);
2063 
2064     UADPBypassSetSPT(&spt_XC_GET_DS_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_DS_STATUS));
2065     UADPBypassSetSPT(&spt_XC_GET_DS_STATUS[1],UADP_SPT_END , 0, 0);
2066 
2067     UADPBypassSetSPT(&spt_XC_OSDC_INITSETTING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_OSDC_INITSETTING));
2068     UADPBypassSetSPT(&spt_XC_OSDC_INITSETTING[1],UADP_SPT_POINTER_TO_NEXT,
2069                      ((unsigned long)(&(pXC_OSDC_INITSETTING->pstOC_Tgen_Cus)) - (unsigned long)pXC_OSDC_INITSETTING), (unsigned long)spt_MS_XC_OSDC_TGEN_INFO);
2070     UADPBypassSetSPT(&spt_XC_OSDC_INITSETTING[2],UADP_SPT_POINTER_TO_NEXT,
2071                      ((unsigned long)(&(pXC_OSDC_INITSETTING->pstOC_Ctrl)) - (unsigned long)pXC_OSDC_INITSETTING), (unsigned long)spt_MS_XC_OSDC_CTRL_INFO);
2072     UADPBypassSetSPT(&spt_XC_OSDC_INITSETTING[3],UADP_SPT_END , 0, 0);
2073 
2074     UADPBypassSetSPT(&spt_XC_OSDC_SET_OUTPUTVFREQX10[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_OSDC_SET_OUTPUTVFREQX10));
2075     UADPBypassSetSPT(&spt_XC_OSDC_SET_OUTPUTVFREQX10[1],UADP_SPT_END , 0, 0);
2076 
2077     UADPBypassSetSPT(&spt_XC_OSDC_CONTROL[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_OSDC_CONTROL));
2078     UADPBypassSetSPT(&spt_XC_OSDC_CONTROL[1],UADP_SPT_END , 0, 0);
2079 
2080     UADPBypassSetSPT(&spt_XC_OSDC_GET_DESTINATION_INFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_OSDC_GET_DESTINATION_INFO));
2081     UADPBypassSetSPT(&spt_XC_OSDC_GET_DESTINATION_INFO[1],UADP_SPT_POINTER_TO_NEXT,
2082                      ((unsigned long)(&(pXC_OSDC_GET_DESTINATION_INFO->pDstInfo)) - (unsigned long)pXC_OSDC_GET_DESTINATION_INFO), (unsigned long)spt_MS_OSDC_DST_DispInfo);
2083     UADPBypassSetSPT(&spt_XC_OSDC_GET_DESTINATION_INFO[2],UADP_SPT_END , 0, 0);
2084 
2085     UADPBypassSetSPT(&spt_XC_SET_POWERSTATE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_POWERSTATE));
2086     UADPBypassSetSPT(&spt_XC_SET_POWERSTATE[1],UADP_SPT_END , 0, 0);
2087 
2088 
2089     UADPBypassSetSPT(&spt_XC_SET_BYPASS_OSDVSYNC_POS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BYPASS_OSDVSYNC_POS));
2090     UADPBypassSetSPT(&spt_XC_SET_BYPASS_OSDVSYNC_POS[1],UADP_SPT_END , 0, 0);
2091 
2092     UADPBypassSetSPT(&spt_XC_SET_BYPASS_INPUTSRC[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BYPASS_INPUTSRC));
2093     UADPBypassSetSPT(&spt_XC_SET_BYPASS_INPUTSRC[1],UADP_SPT_END , 0, 0);
2094 
2095     UADPBypassSetSPT(&spt_XC_SET_SEAMLESS_ZAPPING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_SEAMLESS_ZAPPING));
2096     UADPBypassSetSPT(&spt_XC_SET_SEAMLESS_ZAPPING[1],UADP_SPT_END , 0, 0);
2097 
2098     UADPBypassSetSPT(&spt_XC_GET_SEAMLESS_ZAPPING_STATUS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_SEAMLESS_ZAPPING_STATUS));
2099     UADPBypassSetSPT(&spt_XC_GET_SEAMLESS_ZAPPING_STATUS[1],UADP_SPT_POINTER_TO_NEXT,
2100                      ((unsigned long)(&(pXC_GET_SEAMLESS_ZAPPING_STATUS->pbEnable)) - (unsigned long)pXC_GET_SEAMLESS_ZAPPING_STATUS), (unsigned long)spt_XC_MS_BOOL);
2101     UADPBypassSetSPT(&spt_XC_GET_SEAMLESS_ZAPPING_STATUS[2],UADP_SPT_END , 0, 0);
2102 
2103     UADPBypassSetSPT(&spt_XC_SET_VTRACK_PAYLOADDATA[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_VTRACK_PAYLOADDATA));
2104     UADPBypassSetSPT(&spt_XC_SET_VTRACK_PAYLOADDATA[1],UADP_SPT_END , 0, 0);
2105 
2106     UADPBypassSetSPT(&spt_XC_SET_VTRACK_USERDEFINED_SETTING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_VTRACK_USERDEFINED_SETTING));
2107     UADPBypassSetSPT(&spt_XC_SET_VTRACK_USERDEFINED_SETTING[1],UADP_SPT_POINTER_TO_NEXT,
2108                      ((unsigned long)(&(pXC_SET_VTRACK_USERDEFINED_SETTING->pu8Setting)) - (unsigned long)pXC_SET_VTRACK_USERDEFINED_SETTING), (unsigned long)spt_XC_TypeU8);
2109     UADPBypassSetSPT(&spt_XC_SET_VTRACK_USERDEFINED_SETTING[2],UADP_SPT_END , 0, 0);
2110 
2111     UADPBypassSetSPT(&spt_XC_SET_VTRACK_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_VTRACK_ENABLE));
2112     UADPBypassSetSPT(&spt_XC_SET_VTRACK_ENABLE[1],UADP_SPT_END , 0, 0);
2113 
2114     UADPBypassSetSPT(&spt_XC_PRESET_PQINFO[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_PRESET_PQINFO));
2115     UADPBypassSetSPT(&spt_XC_PRESET_PQINFO[1],UADP_SPT_POINTER_TO_NEXT,
2116                      ((unsigned long)(&(pXC_PRESET_PQINFO->pstXC_SetWin_Info)) - (unsigned long)pXC_PRESET_PQINFO), (unsigned long)spt_XC_SETWIN_INFO);
2117     UADPBypassSetSPT(&spt_XC_PRESET_PQINFO[2],UADP_SPT_END , 0, 0);
2118 
2119     UADPBypassSetSPT(&spt_XC_GET_OP1_TESTPATTERN_ENABLED[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_OP1_TESTPATTERN_ENABLED));
2120     UADPBypassSetSPT(&spt_XC_GET_OP1_TESTPATTERN_ENABLED[1],UADP_SPT_END , 0, 0);
2121 
2122     UADPBypassSetSPT(&spt_XC_SET_OP1_TESTPATTERN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OP1_TESTPATTERN));
2123     UADPBypassSetSPT(&spt_XC_SET_OP1_TESTPATTERN[1],UADP_SPT_END , 0, 0);
2124 
2125     UADPBypassSetSPT(&spt_XC_SET_OP2_TESTPATTERN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OP2_TESTPATTERN));
2126     UADPBypassSetSPT(&spt_XC_SET_OP2_TESTPATTERN[1],UADP_SPT_END , 0, 0);
2127 
2128     UADPBypassSetSPT(&spt_XC_CHECK_WB_TESTPATTERN[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_CHECK_WB_TESTPATTERN));
2129     UADPBypassSetSPT(&spt_XC_CHECK_WB_TESTPATTERN[1],UADP_SPT_END , 0, 0);
2130 
2131     UADPBypassSetSPT(&spt_XC_SET_HLINEARSCALING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_HLINEARSCALING));
2132     UADPBypassSetSPT(&spt_XC_SET_HLINEARSCALING[1],UADP_SPT_END , 0, 0);
2133 
2134     UADPBypassSetSPT(&spt_XC_EnableT3D[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_EnableT3D));
2135     UADPBypassSetSPT(&spt_XC_EnableT3D[1],UADP_SPT_END , 0, 0);
2136 
2137     UADPBypassSetSPT(&spt_XC_Set_FRC_InputTiming[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_Set_FRC_InputTiming));
2138     UADPBypassSetSPT(&spt_XC_Set_FRC_InputTiming[1],UADP_SPT_END , 0, 0);
2139 
2140     UADPBypassSetSPT(&spt_XC_Get_FRC_InputTiming[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_Get_FRC_InputTiming));
2141     UADPBypassSetSPT(&spt_XC_Get_FRC_InputTiming[1],UADP_SPT_POINTER_TO_NEXT,
2142                      ((unsigned long)(&(pXC_Get_FRC_InputTiming->penFRC_InputTiming)) - (unsigned long)pXC_Get_FRC_InputTiming), (unsigned long)spt_XC_FRC_InputTiming);
2143     UADPBypassSetSPT(&spt_XC_Get_FRC_InputTiming[2],UADP_SPT_END , 0, 0);
2144 
2145     UADPBypassSetSPT(&spt_XC_GET_OUTPUT_VFREQ[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_OUTPUT_VFREQ));
2146     UADPBypassSetSPT(&spt_XC_GET_OUTPUT_VFREQ[1],UADP_SPT_END , 0, 0);
2147 
2148     UADPBypassSetSPT(&spt_XC_GET_CURRENT_OUTPUTVFREQX100[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_CURRENT_OUTPUTVFREQX100));
2149     UADPBypassSetSPT(&spt_XC_GET_CURRENT_OUTPUTVFREQX100[1],UADP_SPT_END , 0, 0);
2150 
2151     UADPBypassSetSPT(&spt_XC_SET_MEMORY_WRITE_REQUEST[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MEMORY_WRITE_REQUEST));
2152     UADPBypassSetSPT(&spt_XC_SET_MEMORY_WRITE_REQUEST[1],UADP_SPT_END , 0, 0);
2153 
2154     UADPBypassSetSPT(&spt_XC_SET_MEMORY_FORMAT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MEMORY_FORMAT));
2155     UADPBypassSetSPT(&spt_XC_SET_MEMORY_FORMAT[1],UADP_SPT_END , 0, 0);
2156 
2157     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_ADJUST_SETTING[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_OUTPUT_ADJUST_SETTING));
2158     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_ADJUST_SETTING[1],UADP_SPT_POINTER_TO_NEXT,
2159                      ((unsigned long)(&(pXC_SET_OUTPUT_ADJUST_SETTING->stAdjSetting)) - (unsigned long)pXC_SET_OUTPUT_ADJUST_SETTING), (unsigned long)spt_XC_OUTPUT_TIMING_ADJUST_SETTING);
2160     UADPBypassSetSPT(&spt_XC_SET_OUTPUT_ADJUST_SETTING[2],UADP_SPT_END , 0, 0);
2161 
2162     UADPBypassSetSPT(&spt_XC_SET_FPLL_FSM[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_FPLL_FSM));
2163     UADPBypassSetSPT(&spt_XC_SET_FPLL_FSM[1],UADP_SPT_END , 0, 0);
2164 
2165     UADPBypassSetSPT(&spt_XC_SET_MIRROR_MODE_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MIRROR_MODE_ENABLE));
2166     UADPBypassSetSPT(&spt_XC_SET_MIRROR_MODE_ENABLE[1],UADP_SPT_END , 0, 0);
2167 
2168     UADPBypassSetSPT(&spt_XC_SET_MIRROR_MODE2_ENABLE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_MIRROR_MODE2_ENABLE));
2169     UADPBypassSetSPT(&spt_XC_SET_MIRROR_MODE2_ENABLE[1],UADP_SPT_END , 0, 0);
2170 
2171     UADP_SDT_NAME2(XC_VBOX_INFO,XC_VBOX_INFO,UADP_SDT_AT,u32FBSize[0],MS_NULL,UADP_SDT_AT,u32FBSize[1],MS_NULL);
2172 
2173     UADPBypassSetSPT(&spt_XC_Get_VBOX_Info[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_Get_VBOX_Info));
2174     UADPBypassSetSPT(&spt_XC_Get_VBOX_Info[1],UADP_SPT_POINTER_TO_NEXT,
2175                      ((unsigned long)(&(pXC_GET_VBOX_INFO->pstXC_VboxInfo))-(unsigned long)pXC_GET_VBOX_INFO), (unsigned long)spt_XC_VBOX_INFO);
2176     UADPBypassSetSPT(&spt_XC_Get_VBOX_Info[2],UADP_SPT_END , 0, 0);
2177     UADP_SPT_NAME0NXT(XC_CMA_CONFIG,XC_CMA_CONFIG);
2178     UADP_SPT_NAME1NXT(XC_CONFIG_CMA,stXC_CONFIG_CMA,pstXC_CMA_Config,XC_CMA_CONFIG);
2179     UADP_SPT_NAME0NXT(XC_SET_OSD_LAYER_BLENDING,stXC_SET_OSD_LAYER_BLENDING);
2180     UADP_SPT_NAME0NXT(XC_SET_OSD_LAYER_ALPHA,stXC_SET_OSD_LAYER_ALPHA);
2181     UADP_SPT_NAME0NXT(XC_GET_SWDSIndex,stXC_GET_SWDSIndex);
2182     UADP_SPT_NAME0NXT(XC_GET_Is_SupportSWDS,stXC_GET_Is_SupportSWDS);
2183 
2184 
2185     //DIP caps
2186     UADP_SPT_NAME0NXT(XC_GET_CHIP_CAPS_DIP_A0,ST_XC_DIP_CHIPCAPS);
2187     UADP_SPT_NAME1NXT(XC_GET_CHIP_CAPS_DIP,stXC_GET_CHIP_CAPS,pRet,XC_GET_CHIP_CAPS_DIP_A0);
2188     //bottom
2189 
2190 #ifdef UFO_XC_AUTO_DOWNLOAD
2191 
2192 #ifdef BIFROST_32BIT_MODE
2193     UADP_SDT_NAME1(XC_AUTODOWNLOAD_CONFIG_INFO, XC_AUTODOWNLOAD_CONFIG_INFO, UADP_SDT_AT, phyBaseAddr, MS_NULL);
2194 
2195 #else
2196     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_CONFIG_INFO[0], UADP_SPT_SELF_SIZE,0, sizeof(XC_AUTODOWNLOAD_CONFIG_INFO));
2197     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_CONFIG_INFO[1], UADP_SPT_END, 0, 0);
2198 #endif
2199 
2200     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_CONFIG_CTRL[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_AUTODOWNLOAD_CONFIG_CTRL));
2201     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_CONFIG_CTRL[1], UADP_SPT_POINTER_TO_NEXT,
2202                      ((unsigned long)(&(pXC_AUTODOWNLOAD_CONFIG_CTRL->pstConfigInfo)) - (unsigned long)pXC_AUTODOWNLOAD_CONFIG_CTRL), (unsigned long)spt_XC_AUTODOWNLOAD_CONFIG_INFO);
2203     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_CONFIG_CTRL[2], UADP_SPT_END, 0, 0);
2204 
2205     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_FORMAT_INFO[0], UADP_SPT_SELF_SIZE,0, sizeof(XC_AUTODOWNLOAD_FORMAT_INFO));
2206     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_FORMAT_INFO[1], UADP_SPT_END, 0, 0);
2207 
2208     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_DATA_INFO[0], UADP_SPT_SELF_SIZE,0, sizeof(XC_AUTODOWNLOAD_DATA_INFO));
2209     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_DATA_INFO[1], UADP_SPT_POINTER_TO_NEXT,
2210                      ((unsigned long)(&(pXC_AUTODOWNLOAD_DATA_INFO->pu8Data)) - (unsigned long)pXC_AUTODOWNLOAD_DATA_INFO), (unsigned long)spt_XC_TypeU8);
2211     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_DATA_INFO[2], UADP_SPT_POINTER_TO_NEXT,
2212                      ((unsigned long)(&(pXC_AUTODOWNLOAD_DATA_INFO->pParam)) - (unsigned long)pXC_AUTODOWNLOAD_DATA_INFO), (unsigned long)spt_XC_AUTODOWNLOAD_FORMAT_INFO);
2213     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_DATA_INFO[3], UADP_SPT_END, 0, 0);
2214 
2215     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_WRITE_CTRL[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_AUTODOWNLOAD_WRITE_CTRL));
2216     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_WRITE_CTRL[1], UADP_SPT_POINTER_TO_NEXT,
2217                      ((unsigned long)(&(pXC_AUTODOWNLOAD_WRITE_CTRL->pstDataInfo)) - (unsigned long)pXC_AUTODOWNLOAD_WRITE_CTRL), (unsigned long)spt_XC_AUTODOWNLOAD_DATA_INFO);
2218     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_WRITE_CTRL[2], UADP_SPT_END, 0, 0);
2219 
2220     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_FIRE_CTRL[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_AUTODOWNLOAD_FIRE_CTRL));
2221     UADPBypassSetSPT(&spt_XC_AUTODOWNLOAD_FIRE_CTRL[1], UADP_SPT_END, 0, 0);
2222 #endif
2223 
2224 #ifdef UFO_XC_HDR
2225 #if (UFO_XC_HDR_VERSION == 2)
2226     UADPBypassSetSPT(&spt_XC_HDR_ENABLE_CTRL[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_HDR_CTRL));
2227     UADPBypassSetSPT(&spt_XC_HDR_ENABLE_CTRL[1], UADP_SPT_POINTER_TO_NEXT,
2228                      ((unsigned long)(&(pXC_HDR_CTRL->pParam)) - (unsigned long)pXC_HDR_CTRL), (unsigned long)spt_XC_MS_BOOL);
2229     UADPBypassSetSPT(&spt_XC_HDR_ENABLE_CTRL[2], UADP_SPT_END, 0, 0);
2230 
2231     UADPBypassSetSPT(&spt_XC_HDR_TYPE[0], UADP_SPT_SELF_SIZE,0, sizeof(EN_XC_HDR_TYPE));
2232     UADPBypassSetSPT(&spt_XC_HDR_TYPE[1], UADP_SPT_END, 0, 0);
2233 
2234     UADPBypassSetSPT(&spt_XC_HDR_SET_TYPE_CTRL[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_HDR_CTRL));
2235     UADPBypassSetSPT(&spt_XC_HDR_SET_TYPE_CTRL[1], UADP_SPT_POINTER_TO_NEXT,
2236                      ((unsigned long)(&(pXC_HDR_CTRL->pParam)) - (unsigned long)pXC_HDR_CTRL), (unsigned long)spt_XC_HDR_TYPE);
2237     UADPBypassSetSPT(&spt_XC_HDR_SET_TYPE_CTRL[2], UADP_SPT_END, 0, 0);
2238 
2239     UADPBypassSetSPT(&spt_XC_HDR_GET_TYPE_CTRL[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_HDR_CTRL));
2240     UADPBypassSetSPT(&spt_XC_HDR_GET_TYPE_CTRL[1], UADP_SPT_POINTER_TO_NEXT,
2241                     ((unsigned long)(&(pXC_HDR_CTRL->pParam)) - (unsigned long)pXC_HDR_CTRL), (unsigned long)spt_XC_HDR_TYPE);
2242     UADPBypassSetSPT(&spt_XC_HDR_GET_TYPE_CTRL[2], UADP_SPT_END, 0, 0);
2243 
2244     UADPBypassSetSPT(&spt_XC_XC_HDR_DMA_CONFIG_INFO[0], UADP_SPT_SELF_SIZE,0, sizeof(XC_HDR_DMA_CONFIG_INFO));
2245     UADPBypassSetSPT(&spt_XC_XC_HDR_DMA_CONFIG_INFO[1], UADP_SPT_END, 0, 0);
2246 
2247 //    UADPBypassSetSPT(&spt_XC_HDR_CONFIG_DMA_CTRL[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_HDR_CTRL));
2248 //    UADPBypassSetSPT(&spt_XC_HDR_CONFIG_DMA_CTRL[1], UADP_SPT_POINTER_TO_NEXT,
2249 //                     ((unsigned long)(&(pXC_HDR_CTRL->pParam)) - (unsigned long)pXC_HDR_CTRL), (unsigned long)spt_XC_XC_HDR_DMA_CONFIG_INFO);
2250 //    UADPBypassSetSPT(&spt_XC_HDR_CONFIG_DMA_CTRL[2], UADP_SPT_END, 0, 0);
2251 
2252     //UADP_SPT_NAME0NXT(XC_HDR_3DLUT_INFO, XC_HDR_3DLUT_INFO);
2253     //UADP_SPT_NAME1NXT(XC_HDR_SET_3DLUT_CTRL, stXC_HDR_CTRL, pParam, XC_HDR_3DLUT_INFO);
2254 
2255     UADP_SPT_NAME0NXT(XC_HDR_DMA_INIT_INFO, XC_HDR_DMA_INIT_INFO);
2256     UADP_SPT_NAME1NXT(XC_HDR_INIT_DMA_CTRL, stXC_HDR_CTRL, pParam, XC_HDR_DMA_INIT_INFO);
2257 
2258     UADP_SPT_NAME0NXT(XC_HDR_OTT_SHARE_MEMORY_INFO, XC_HDR_OTT_SHARE_MEMORY_INFO);
2259     UADP_SPT_NAME1NXT(XC_HDR_SET_OTT_SHARE_MEMORY_CTRL, stXC_HDR_CTRL, pParam, XC_HDR_OTT_SHARE_MEMORY_INFO);
2260 
2261     UADPBypassSetSPT(&spt_XC_HDR_OPEN_METADATA_INFO[0], UADP_SPT_SELF_SIZE,0, sizeof(XC_HDR_OPEN_METADATA_INFO));
2262     UADPBypassSetSPT(&spt_XC_HDR_OPEN_METADATA_INFO[1], UADP_SPT_END, 0, 0);
2263 
2264     UADPBypassSetSPT(&spt_XC_HDR_SET_OPEN_METADATA[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_HDR_CTRL));
2265     UADPBypassSetSPT(&spt_XC_HDR_SET_OPEN_METADATA[1], UADP_SPT_POINTER_TO_NEXT,
2266                      ((unsigned long)(&(pXC_HDR_CTRL->pParam)) - (unsigned long)pXC_HDR_CTRL), (unsigned long)spt_XC_HDR_OPEN_METADATA_INFO);
2267     UADPBypassSetSPT(&spt_XC_HDR_SET_OPEN_METADATA[2], UADP_SPT_END, 0, 0);
2268 
2269     UADP_SPT_NAME0NXT(XC_HDR_SUPPORTED_CAPS_A0,XC_HDR_SUPPORTED_CAPS);
2270     UADP_SPT_NAME1NXT(XC_HDR_SUPPORTED_CAPS,stXC_GET_CHIP_CAPS,pRet,XC_HDR_SUPPORTED_CAPS_A0);
2271 
2272     UADPBypassSetSPT(&spt_XC_HDR_COLOR_FORMAT[0], UADP_SPT_SELF_SIZE,0, sizeof(EN_XC_HDR_COLOR_FORMAT));
2273     UADPBypassSetSPT(&spt_XC_HDR_COLOR_FORMAT[1], UADP_SPT_END, 0, 0);
2274 
2275     UADPBypassSetSPT(&spt_XC_HDR_SET_COLOR_FORMAT_CTRL[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_HDR_CTRL));
2276     UADPBypassSetSPT(&spt_XC_HDR_SET_COLOR_FORMAT_CTRL[1], UADP_SPT_POINTER_TO_NEXT,
2277                      ((unsigned long)(&(pXC_HDR_CTRL->pParam)) - (unsigned long)pXC_HDR_CTRL), (unsigned long)spt_XC_HDR_COLOR_FORMAT);
2278     UADPBypassSetSPT(&spt_XC_HDR_SET_COLOR_FORMAT_CTRL[2], UADP_SPT_END, 0, 0);
2279 #endif
2280 #endif
2281 
2282 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
2283     UADPBypassSetSPT(&spt_XC_SET_BLACKVIDEO_BYMODE[0], UADP_SPT_SELF_SIZE,0, sizeof(stXC_SET_BLACKVIDEO_BYMODE));
2284     UADPBypassSetSPT(&spt_XC_SET_BLACKVIDEO_BYMODE[1], UADP_SPT_END, 0, 0);
2285 #endif
2286 
2287 #ifdef UFO_XC_VMARK
2288     UADPBypassSetSPT(&spt_XC_VMARK_PARAMETER[0],UADP_SPT_SELF_SIZE,0, sizeof(XC_VMARK_PARAMETER));
2289     UADPBypassSetSPT(&spt_XC_VMARK_PARAMETER[1],UADP_SPT_END , 0, 0);
2290 
2291     UADPBypassSetSPT(&spt_XC_VMARK_SET_PARAMETERS[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_VMARK_SET_PARAMETERS));
2292     UADPBypassSetSPT(&spt_XC_VMARK_SET_PARAMETERS[1],UADP_SPT_POINTER_TO_NEXT,
2293                      ((unsigned long)(&(pXC_VMARK_SET_PARAMETERS->pstXC_VMarkParameters))-(unsigned long)pXC_VMARK_SET_PARAMETERS), (unsigned long)spt_XC_VMARK_PARAMETER);
2294     UADPBypassSetSPT(&spt_XC_VMARK_SET_PARAMETERS[2],UADP_SPT_END , 0, 0);
2295 #endif
2296 #ifdef UFO_XC_SET_DSINFO_V0
2297     UADP_SPT_NAME0NXT(XC_DS_INFO,XC_DS_INFO);
2298     UADP_SPT_NAME1NXT(XC_SET_DSINFO,stXC_SET_DSINFO,pstSetDSInfo,XC_DS_INFO);
2299 #endif
2300 
2301     UADPBypassSetSPT(&spt_XC_SWDS_Fire[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_SWDS_FIRE));
2302     UADPBypassSetSPT(&spt_XC_SWDS_Fire[1],UADP_SPT_END , 0, 0);
2303 
2304 #ifdef UFO_XC_SUPPORT_DUAL_MIU
2305     UADPBypassSetSPT(&spt_XC_ENABLE_DUAL_MODE[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_EnableDualMode));
2306     UADPBypassSetSPT(&spt_XC_ENABLE_DUAL_MODE[1],UADP_SPT_END , 0, 0);
2307 #endif
2308 
2309 #ifdef UFO_XC_GET_3D_FORMAT
2310     UADPBypassSetSPT(&spt_XC_3DATTRIBUTE_TYPE[0], UADP_SPT_SELF_SIZE,0, sizeof(E_XC_3D_ATTRIBUTE_TYPE));
2311     UADPBypassSetSPT(&spt_XC_3DATTRIBUTE_TYPE[1], UADP_SPT_END, 0, 0);
2312 
2313     UADPBypassSetSPT(&spt_XC_3DFormat[0], UADP_SPT_SELF_SIZE,0, sizeof(E_XC_3D_OUTPUT_MODE));
2314     UADPBypassSetSPT(&spt_XC_3DFormat[1], UADP_SPT_END, 0, 0);
2315 
2316     UADPBypassSetSPT(&spt_XC_GET3DFORMAT[0],UADP_SPT_SELF_SIZE,0, sizeof(stXC_GET_CHIP_CAPS));
2317     UADPBypassSetSPT(&spt_XC_GET3DFORMAT[1],UADP_SPT_POINTER_TO_NEXT,
2318                      ((unsigned long)(&(pXC_GET3DFORMAT->para)) - (unsigned long)pXC_GET3DFORMAT), (unsigned long)spt_XC_3DATTRIBUTE_TYPE);
2319     UADPBypassSetSPT(&spt_XC_GET3DFORMAT[2],UADP_SPT_POINTER_TO_NEXT,
2320                      ((unsigned long)(&(pXC_GET3DFORMAT->p3DFormat)) - (unsigned long)pXC_GET3DFORMAT), (unsigned long)spt_XC_3DFormat);
2321     UADPBypassSetSPT(&spt_XC_GET3DFORMAT[3],UADP_SPT_END , 0, 0);
2322 #endif
2323 
2324     UADP_SPT_NAME0NXT(XC_SWDR_INFO_A0,XC_SWDR_INFO);
2325     UADP_SPT_NAME1NXT(XC_SET_SWDR_INFO,stXC_SWDR_INFO,pSWDR_INFO,XC_SWDR_INFO_A0);
2326     UADP_SPT_NAME1NXT(XC_GET_SWDR_INFO,stXC_SWDR_INFO,pSWDR_INFO,XC_SWDR_INFO_A0);
2327     return 0;
2328 }
2329 
_XC_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)2330 MS_U32 _XC_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
2331 {
2332     MS_U32 u32Ret;
2333     char buffer_arg[2];
2334 
2335     //printk("\033[1;33m[%s:%d]XC_CMD=%ld\033[m\n",__FUNCTION__,__LINE__,u32Cmd);
2336     switch(u32Cmd)
2337     {
2338 
2339         case E_XC_CMD_GET_LIB_VERSION :
2340         {
2341             // need refine
2342             //u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL, spt_TVE_GetInfo,buffer_arg,sizeof(buffer_arg));
2343             break;
2344         }
2345 
2346         case E_XC_CMD_GET_INFO:
2347         {
2348             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL, spt_XC_CMD_GET_INFO,buffer_arg,sizeof(buffer_arg));
2349             break;
2350         }
2351 
2352         case E_XC_CMD_GET_STATUS:
2353         {
2354             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_STATUS, spt_XC_GET_STATUS,buffer_arg,sizeof(buffer_arg));
2355             break;
2356         }
2357 
2358         case E_XC_CMD_GET_STATUS_NODELAY:
2359         {
2360             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_STATUS_NODELAY, spt_XC_GET_STATUS_NODELAY,buffer_arg,sizeof(buffer_arg));
2361             break;
2362         }
2363 
2364         case E_XC_CMD_GET_STATUS_EX:
2365         {
2366             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_STATUS_EX, spt_XC_GET_STATUS_EX,buffer_arg,sizeof(buffer_arg));
2367             break;
2368         }
2369 
2370         case E_XC_CMD_SET_DBG_LEVEL:
2371         {
2372             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DBG_LEVEL, spt_XC_SET_DBG_LEVEL,buffer_arg,sizeof(buffer_arg));
2373             break;
2374         }
2375 
2376         case E_XC_CMD_SET_FPLL_CUSTOMERMODE:
2377         {
2378             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FPLL_CUSTOMERMODE,NULL,buffer_arg,sizeof(buffer_arg));
2379             break;
2380         }
2381 
2382         case E_XC_CMD_SET_IOMAPBASE:
2383         {
2384             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CMD_SET_IOMAPBASE,buffer_arg,sizeof(buffer_arg));
2385             break;
2386         }
2387 
2388         case E_XC_CMD_INIT:
2389         {
2390             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_INIT,spt_XC_INIT,buffer_arg,sizeof(buffer_arg));
2391             break;
2392         }
2393 
2394         case E_XC_CMD_GET_CONFIG:
2395         {
2396             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_CONFIG,spt_XC_GET_CONFIG,buffer_arg,sizeof(buffer_arg));
2397             break;
2398         }
2399 
2400         case E_XC_CMD_INIT_MISC:
2401         {
2402             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_INIT_MISC,spt_XC_INIT_MISC,buffer_arg,sizeof(buffer_arg));
2403             break;
2404         }
2405 
2406         case E_XC_CMD_GET_MISC_STATUS:
2407         {
2408             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_MISC_STATUS,spt_XC_GET_MISC_STATUS,buffer_arg,sizeof(buffer_arg));
2409             break;
2410         }
2411 
2412         case E_XC_CMD_GET_CAPABILITY:
2413         {
2414             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_CAPABILITY,spt_XC_GET_CAPABILITY,buffer_arg,sizeof(buffer_arg));
2415             break;
2416         }
2417 
2418         case E_XC_CMD_GET_CHIPCAPS:
2419         {
2420             stXC_GET_CHIP_CAPS ptr;
2421             if(copy_from_user(&ptr, (stXC_GET_CHIP_CAPS __user *)pArgs, sizeof(stXC_GET_CHIP_CAPS)))
2422             {
2423                 return UTOPIA_STATUS_FAIL;
2424             }
2425 
2426             switch(ptr.eCapType)
2427             {
2428                 case E_XC_DIP_CHIP_CAPS:
2429                     u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_CHIP_CAPS_DIP,spt_XC_GET_CHIP_CAPS_DIP, buffer_arg,sizeof(buffer_arg));
2430                     break;
2431 #ifdef UFO_XC_AUTO_DOWNLOAD
2432                 case E_XC_SUPPORT_AUTODOWNLOAD_CLIENT:
2433                     u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_CHIP_CAPS_AUTODOWNLOAD_CLIENT,spt_XC_GET_CHIP_CAPS_AUTODOWNLOAD_CLIENT, buffer_arg,sizeof(buffer_arg));
2434                     break;
2435 #endif
2436 
2437 #ifdef UFO_XC_HDR
2438 #if (UFO_XC_HDR_VERSION == 2)
2439                 case E_XC_SUPPORT_HDR:
2440                     u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_SUPPORTED_CAPS,spt_XC_HDR_SUPPORTED_CAPS, buffer_arg,sizeof(buffer_arg));
2441                     break;
2442 #endif
2443 #endif
2444                 default :
2445                     u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_CHIP_CAPS,spt_XC_GET_CHIP_CAPS,buffer_arg,sizeof(buffer_arg));
2446                     break;
2447             }
2448         }
2449 
2450         case E_XC_CMD_EXIT:
2451         {
2452             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_EXIT,buffer_arg,sizeof(buffer_arg));
2453             break;
2454         }
2455 
2456         case E_XC_CMD_SET_DYNAMIC_SCALING:
2457         {
2458             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DYNAMIC_SCALING,spt_XC_SET_DYNAMIC_SCALING,buffer_arg,sizeof(buffer_arg));
2459             break;
2460         }
2461 
2462         case E_XC_CMD_GET_DNR_BASEOFFSET:
2463         {
2464             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_DNR_BASEOFFSET,spt_XC_GET_DNR_BASEOFFSET,buffer_arg,sizeof(buffer_arg));
2465             break;
2466         }
2467 
2468         case E_XC_CMD_GET_STORE_FRAMENUM:
2469         case E_XC_CMD_GET_FRAMENUM_FACTOR:
2470         {
2471             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_FRAMENUM_FACTOR,spt_XC_GET_FRAMENUM_FACTOR,buffer_arg,sizeof(buffer_arg));
2472             break;
2473         }
2474 
2475         case E_XC_CMD_SET_WINDOW:
2476         {
2477             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_WINDOW,spt_XC_SET_WINDOW,buffer_arg,sizeof(buffer_arg));
2478             break;
2479         }
2480 
2481         case E_XC_CMD_SET_DUALWINDOW:
2482         {
2483             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DUALWINDOW,spt_XC_SET_DUALWINDOW,buffer_arg,sizeof(buffer_arg));
2484             break;
2485         }
2486 
2487         case E_XC_CMD_SET_TRAVELING_WINDOW:
2488         {
2489             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_TRAVELING_WINDOW,spt_XC_SET_TRAVELING_WINDOW,buffer_arg,sizeof(buffer_arg));
2490             break;
2491         }
2492 
2493         case E_XC_CMD_SET_INPUTSOURCE:
2494         {
2495             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_INPUTSOURCE,NULL,buffer_arg,sizeof(buffer_arg));
2496             break;
2497         }
2498 
2499         case E_XC_CMD_CHECK_YUVSPACE:
2500         {
2501             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_YUVSPACE,spt_XC_CHECK_YUVSPACE,buffer_arg,sizeof(buffer_arg));
2502             break;
2503         }
2504 
2505         case E_XC_CMD_CHECK_MEMORYFORMAT422:
2506         {
2507             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_MEMORYFORMAT422,spt_XC_CHECK_MEMORYFORMAT422,buffer_arg,sizeof(buffer_arg));
2508             break;
2509         }
2510 
2511         case E_XC_CMD_SET_FORCE_RGBIN:
2512         {
2513             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FORCE_RGBIN,NULL,buffer_arg,sizeof(buffer_arg));
2514             break;
2515         }
2516 
2517         case E_XC_CMD_SET_MIRRORMODE_EX:
2518         {
2519             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MIRRORMODE_EX,spt_XC_SET_MIRRORMODE_EX,buffer_arg,sizeof(buffer_arg));
2520             break;
2521         }
2522 
2523         case E_XC_CMD_GET_MIRRORMODE_TYPEEX:
2524         {
2525             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_MIRRORMODE_TYPEEX,spt_XC_GET_MIRRORMODE_TYPEEX,buffer_arg,sizeof(buffer_arg));
2526             break;
2527         }
2528 
2529         case E_XC_CMD_GET_SYNC_STATUS:
2530         {
2531             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_SYNC_STATUS,spt_XC_GET_SYNC_STATUS,buffer_arg,sizeof(buffer_arg));
2532             break;
2533         }
2534 
2535         case E_XC_CMD_CONFIG_CMA:
2536         {
2537             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CONFIG_CMA,spt_XC_CONFIG_CMA,buffer_arg,sizeof(buffer_arg));
2538             break;
2539         }
2540         case E_XC_CMD_SET_WAIT_OUTPUT_VSYNC:
2541         {
2542             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_WAIT_OUTPUT_VSYNC,spt_XC_SET_WAIT_OUTPUT_VSYNC,buffer_arg,sizeof(buffer_arg));
2543             break;
2544         }
2545 
2546         case E_XC_CMD_SET_WAIT_INPUT_VSYNC:
2547         {
2548             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_WAIT_INPUT_VSYNC,spt_XC_SET_WAIT_INPUT_VSYNC,buffer_arg,sizeof(buffer_arg));
2549             break;
2550         }
2551 
2552         case E_XC_CMD_SET_HDMI_SYNCMODE:
2553         {
2554             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_HDMI_SYNCMODE,NULL,buffer_arg,sizeof(buffer_arg));
2555             break;
2556         }
2557 
2558         case E_XC_CMD_GET_HDMI_SYNCMODE:
2559         {
2560             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_HDMI_SYNCMODE,buffer_arg,sizeof(buffer_arg));
2561             break;
2562         }
2563 
2564         case E_XC_CMD_SET_REPORT_WINDOW:
2565         {
2566             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_REPORT_WINDOW,NULL,buffer_arg,sizeof(buffer_arg));
2567             break;
2568         }
2569 
2570         case E_XC_CMD_SET_SKIP_OPWRITEOFF_IN_SETWINDOW:
2571         {
2572             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW,spt_XC_SET_SKIP_OPWRITEOFF_IN_SETWINDOW,buffer_arg,sizeof(buffer_arg));
2573             break;
2574         }
2575 
2576         case E_XC_CMD_GET_SKIP_OPWRITEOFF_IN_SETWINDOW:
2577         {
2578             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW,spt_XC_GET_SKIP_OPWRITEOFF_IN_SETWINDOW,buffer_arg,sizeof(buffer_arg));
2579             break;
2580         }
2581 
2582         case E_XC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL:
2583         {
2584             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SKIP_DISABLE_OPWRITEOFF_IN_FPLL,NULL,buffer_arg,sizeof(buffer_arg));
2585             break;
2586         }
2587 
2588         case E_XC_CMD_SET_OPWRITEOFF_ENABLE:
2589         {
2590             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OPWRITEOFF_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
2591             break;
2592         }
2593 
2594         case E_XC_CMD_SET_OPWRITEOFF_ENABLE_TO_REG:
2595         {
2596             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OPWRITEOFF_ENABLE_TO_REG,NULL,buffer_arg,sizeof(buffer_arg));
2597             break;
2598         }
2599 
2600         case E_XC_CMD_FORCESET_OPWRITEOFF_ENABLE:
2601         {
2602             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_FORCESET_OPWRITEOFF_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
2603             break;
2604         }
2605 
2606         case E_XC_CMD_GET_OPWRITEOFF_ENABLE:
2607         {
2608             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_OPWRITEOFF_ENABLE,spt_XC_GET_OPWRITEOFF_ENABLE,buffer_arg,sizeof(buffer_arg));
2609             break;
2610         }
2611 
2612         case E_XC_CMD_SET_DISPLAY_WIN_TO_REG:
2613         {
2614             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DISPLAY_WIN_TO_REG,NULL,buffer_arg,sizeof(buffer_arg));
2615             break;
2616         }
2617 
2618         case E_XC_CMD_GET_DISPLAY_WIN_FROM_REG:
2619         {
2620             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_DISPLAY_WIN_FROM_REG,spt_XC_GET_DISPLAY_WIN_FROM_REG,buffer_arg,sizeof(buffer_arg));
2621             break;
2622         }
2623 
2624         case E_XC_CMD_SET_FREEZEIMG:
2625         {
2626             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FREEZEIMG,NULL,buffer_arg,sizeof(buffer_arg));
2627             break;
2628         }
2629 
2630         case E_XC_CMD_CHECK_FREEZEIMG:
2631         {
2632             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_FREEZEIMG,spt_XC_CHECK_FREEZEIMG,buffer_arg,sizeof(buffer_arg));
2633             break;
2634         }
2635 
2636         case E_XC_CMD_SET_BOTHWINDOW_BLACKVIDEO:
2637         {
2638             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BOTHWINDOW_BLACKVIDEO,NULL,buffer_arg,sizeof(buffer_arg));
2639             break;
2640         }
2641 
2642         case E_XC_CMD_SET_BLACKSCREEN:
2643         {
2644             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BLACKSCREEN,NULL,buffer_arg,sizeof(buffer_arg));
2645             break;
2646         }
2647 
2648         case E_XC_CMD_SET_BLACKVIDEO:
2649         {
2650             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BLACKVIDEO,NULL,buffer_arg,sizeof(buffer_arg));
2651             break;
2652         }
2653 
2654         case E_XC_CMD_CHECK_BLACKVIDEO_ENABLE:
2655         {
2656             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_BLACKVIDEO_ENABLE,spt_XC_CHECK_BLACKVIDEO_ENABLE,buffer_arg,sizeof(buffer_arg));
2657             break;
2658         }
2659 
2660         case E_XC_CMD_SET_FRAMEBUFFERLESS:
2661         {
2662             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FRAMEBUFFERLESS,NULL,buffer_arg,sizeof(buffer_arg));
2663             break;
2664         }
2665 
2666         case E_XC_CMD_CHECK_FRAMEBUFFERLESS:
2667         {
2668             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_FRAMEBUFFERLESS,buffer_arg,sizeof(buffer_arg));
2669             break;
2670         }
2671 
2672         case E_XC_CMD_SET_REQUEST_FRAMEBUFFERLESS:
2673         {
2674             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_REQUEST_FRAMEBUFFERLESS,NULL,buffer_arg,sizeof(buffer_arg));
2675             break;
2676         }
2677 
2678         case E_XC_CMD_CHECK_REQUEST_FRAMEBUFFERLESS:
2679         {
2680             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS,buffer_arg,sizeof(buffer_arg));
2681             break;
2682         }
2683 
2684         case E_XC_CMD_GET_3D_HWVERSION:
2685         {
2686             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_3D_HWVERSION,buffer_arg,sizeof(buffer_arg));
2687             break;
2688         }
2689 
2690         case E_XC_CMD_CHECK_3D_SUPPORT_HW2DTO3D:
2691         {
2692             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_3D_SUPPORT_HW2DTO3D,buffer_arg,sizeof(buffer_arg));
2693             break;
2694         }
2695 
2696         case E_XC_CMD_SET_3D_MODE:
2697         {
2698             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_MODE,spt_XC_SET_3D_MODE,buffer_arg,sizeof(buffer_arg));
2699             break;
2700         }
2701 
2702         case E_XC_CMD_SET_3D_MAINWIN_FIRST:
2703         {
2704             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_MAINWIN_FIRST,spt_XC_SET_3D_MAINWIN_FIRST,buffer_arg,sizeof(buffer_arg));
2705             break;
2706         }
2707 
2708         case E_XC_CMD_SET_3D_LR_EXCHANGE:
2709         {
2710             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_LR_EXCHANGE,spt_XC_SET_3D_LR_EXCHANGE,buffer_arg,sizeof(buffer_arg));
2711             break;
2712         }
2713 
2714         case E_XC_CMD_CHECK_3D_LR_EXCHANGED:
2715         {
2716             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_3D_LR_EXCHANGED,spt_XC_CHECK_3D_LR_EXCHANGED,buffer_arg,sizeof(buffer_arg));
2717             break;
2718         }
2719 
2720         case E_XC_CMD_GET_3D_INPUT_MODE:
2721         {
2722             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_3D_INPUT_MODE,spt_XC_GET_3D_INPUT_MODE,buffer_arg,sizeof(buffer_arg));
2723             break;
2724         }
2725 
2726         case E_XC_CMD_GET_3D_OUTPUT_MODE:
2727         {
2728             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_3D_OUTPUT_MODE,buffer_arg,sizeof(buffer_arg));
2729             break;
2730         }
2731 
2732         case E_XC_CMD_GET_3D_PANELTYPE:
2733         {
2734             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_3D_PANELTYPE,buffer_arg,sizeof(buffer_arg));
2735             break;
2736         }
2737 
2738         case E_XC_CMD_GET_3D_MAINWIN_FIRST:
2739         {
2740             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_3D_MAINWIN_FIRST,buffer_arg,sizeof(buffer_arg));
2741             break;
2742         }
2743 
2744         case E_XC_CMD_CHECK_3D_MAINSUB_IPSYNC:
2745         {
2746             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_3D_MAINSUB_IPSYNC,buffer_arg,sizeof(buffer_arg));
2747             break;
2748         }
2749 
2750         case E_XC_CMD_SET_3D_VERTICALVIDEO_OFFSET:
2751         {
2752             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_VERTICALVIDEO_OFFSET,spt_XC_SET_3D_VERTICALVIDEO_OFFSET,buffer_arg,sizeof(buffer_arg));
2753             break;
2754         }
2755 
2756         case E_XC_CMD_GET_3D_VERTICALVIDEO_OFFSET:
2757         {
2758             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_3D_VERTICALVIDEO_OFFSET,buffer_arg,sizeof(buffer_arg));
2759             break;
2760         }
2761 
2762         case E_XC_CMD_CHECK_3D_FORMAT_SUPPORTED:
2763         {
2764             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_3D_FORMAT_SUPPORTED,spt_XC_CHECK_3D_FORMAT_SUPPORTED,buffer_arg,sizeof(buffer_arg));
2765             break;
2766         }
2767 
2768         case E_XC_CMD_SET_3D_HORIZONTAL_SHIFT:
2769         {
2770             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_HORIZONTAL_SHIFT,spt_XC_SET_3D_HORIZONTAL_SHIFT,buffer_arg,sizeof(buffer_arg));
2771             break;
2772         }
2773 
2774         case E_XC_CMD_SET_3D_LR_SBS2LINE:
2775         {
2776             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_LR_SBS2LINE,spt_XC_SET_3D_LR_SBS2LINE,buffer_arg,sizeof(buffer_arg));
2777             break;
2778         }
2779 
2780         case E_XC_CMD_GET_3D_HORIZONTAL_SHIFT:
2781         {
2782             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_3D_HORIZONTAL_SHIFT,buffer_arg,sizeof(buffer_arg));
2783             break;
2784         }
2785 
2786         case E_XC_CMD_SET_3D_HW2DTO3D_BUFFER:
2787         {
2788             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_HW2DTO3D_BUFFER,spt_XC_SET_3D_HW2DTO3D_BUFFER,buffer_arg,sizeof(buffer_arg));
2789             break;
2790         }
2791 
2792         case E_XC_CMD_SET_3D_HW2DTO3D_PARAMETERS:
2793         {
2794             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_HW2DTO3D_PARAMETERS,spt_XC_SET_3D_HW2DTO3D_PARAMETERS,buffer_arg,sizeof(buffer_arg));
2795             break;
2796         }
2797 
2798         case E_XC_CMD_GET_3D_HW2DTO3D_PARAMETERS:
2799         {
2800             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_3D_HW2DTO3D_PARAMETERS,spt_XC_GET_3D_HW2DTO3D_PARAMETERS,buffer_arg,sizeof(buffer_arg));
2801             break;
2802         }
2803 
2804         case E_XC_CMD_SET_3D_DETECT_3DFORMAT_PARAMETERS:
2805         {
2806             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_DETECT_3DFORMAT_PARAMETERS,spt_XC_SET_3D_DETECT_3DFORMAT_PARAMETERS,buffer_arg,sizeof(buffer_arg));
2807             break;
2808         }
2809 
2810         case E_XC_CMD_GET_3D_DETECT_3DFORMAT_PARAMETERS:
2811         {
2812             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_3D_DETECT_3DFORMAT_PARAMETERS,spt_XC_GET_3D_DETECT_3DFORMAT_PARAMETERS,buffer_arg,sizeof(buffer_arg));
2813             break;
2814         }
2815 
2816         case E_XC_CMD_GET_3D_FORMAT_DETECTED_BY_CONTENT:
2817         {
2818             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_3D_FORMAT_DETECTED_BY_CONTENT,spt_XC_GET_3D_FORMAT_DETECTED_BY_CONTENT,buffer_arg,sizeof(buffer_arg));
2819             break;
2820         }
2821 
2822         case E_XC_CMD_SET_NINELATTICE:
2823         {
2824             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_NINELATTICE,spt_XC_SET_NINELATTICE,buffer_arg,sizeof(buffer_arg));
2825             break;
2826         }
2827 
2828         case E_XC_CMD_SET_3D_POST_PQSETTING:
2829         {
2830             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_POST_PQSETTING,spt_XC_SET_3D_POST_PQSETTING,buffer_arg,sizeof(buffer_arg));
2831             break;
2832         }
2833 
2834         case E_XC_CMD_SET_3D_FRAMEPACKING_INFO:
2835         {
2836             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_FRAMEPACKING_INFO,spt_XC_SET_3D_FRAMEPACKING_INFO,buffer_arg,sizeof(buffer_arg));
2837             break;
2838         }
2839 
2840         case E_XC_CMD_SET_3D_AUTODETECT:
2841         {
2842             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_AUTODETECT,spt_XC_SET_3D_AUTODETECT,buffer_arg,sizeof(buffer_arg));
2843             break;
2844         }
2845 
2846         case E_XC_CMD_GET_3D_AUTODETECT_3DFLAG:
2847         {
2848             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_3D_AUTODETECT_3DFLAG,spt_XC_GET_3D_AUTODETECT_3DFLAG,buffer_arg,sizeof(buffer_arg));
2849             break;
2850         }
2851 
2852         case E_XC_CMD_SET_3D_SUBWINCLOCK:
2853         {
2854             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_SET_3D_SUBWINCLOCK,buffer_arg,sizeof(buffer_arg));
2855             break;
2856         }
2857 
2858         case E_XC_CMD_CHECK_3D_LR_SBS2LINE:
2859         {
2860             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_3D_LR_SBS2LINE,buffer_arg,sizeof(buffer_arg));
2861             break;
2862         }
2863 
2864         case E_XC_CMD_CHECK_3D_SKIP_DEFAULT_LR_FLAG:
2865         {
2866             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_3D_SKIP_DEFAULT_LR_FLAG,buffer_arg,sizeof(buffer_arg));
2867             break;
2868         }
2869 
2870         case E_XC_CMD_SET_3D_SKIP_DEFAULT_LR_FLAG:
2871         {
2872             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_SKIP_DEFAULT_LR_FLAG,spt_XC_SET_3D_SKIP_DEFAULT_LR_FLAG,buffer_arg,sizeof(buffer_arg));
2873             break;
2874         }
2875 
2876         case E_XC_CMD_SET_MUX_INIT:
2877         {
2878             // need to check
2879             // u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_3D_SKIP_DEFAULT_LR_FLAG,spt_XC_SET_3D_SKIP_DEFAULT_LR_FLAG,buffer_arg,sizeof(buffer_arg));
2880             break;
2881         }
2882 
2883         case E_XC_CMD_SET_MUX_SOURCE_MONITOR:
2884         {
2885             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_SOURCE_MONITOR,NULL,buffer_arg,sizeof(buffer_arg));
2886             break;
2887         }
2888 
2889         case E_XC_CMD_SET_MUX_CREATE_PATH:
2890         {
2891             // need check
2892             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_CREATE_PATH,spt_XC_SET_MUX_CREATE_PATH,buffer_arg,sizeof(buffer_arg));
2893             break;
2894         }
2895 
2896         case E_XC_CMD_SET_MUX_DELETE_PATH:
2897         {
2898             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_DELETE_PATH,spt_XC_SET_MUX_DELETE_PATH,buffer_arg,sizeof(buffer_arg));
2899             break;
2900         }
2901 
2902         case E_XC_CMD_SET_MUX_ENABLE_PATH:
2903         {
2904             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_ENABLE_PATH,spt_XC_SET_MUX_ENABLE_PATH,buffer_arg,sizeof(buffer_arg));
2905             break;
2906         }
2907 
2908         case E_XC_CMD_SET_MUX_TRIGGER_PATH_SYNC_EVENT:
2909         {
2910             //need check
2911             // u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_ENABLE_PATH,spt_XC_SET_MUX_ENABLE_PATH,buffer_arg,sizeof(buffer_arg));
2912             break;
2913         }
2914 
2915         case E_XC_CMD_SET_MUX_TRIGGER_DEST_ONOFF_EVENT:
2916         {
2917             //need check
2918             //u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_ENABLE_PATH,spt_XC_SET_MUX_ENABLE_PATH,buffer_arg,sizeof(buffer_arg));
2919             break;
2920         }
2921 
2922         case E_XC_CMD_SET_MUX_ONOFF_PERIODIC_HANDLER:
2923         {
2924             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_ONOFF_PERIODIC_HANDLER,spt_XC_SET_MUX_ONOFF_PERIODIC_HANDLER,buffer_arg,sizeof(buffer_arg));
2925             break;
2926         }
2927 
2928         case E_XC_CMD_GET_MUX_PATHINFO:
2929         {
2930             // need check
2931             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_MUX_PATHINFO,spt_XC_GET_MUX_PATHINFO,buffer_arg,sizeof(buffer_arg));
2932             break;
2933         }
2934 
2935         case E_XC_CMD_SET_MUX_SUPPORT_MHL_PATHINFO:
2936         {
2937             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_SUPPORT_MHL_PATHINFO,spt_XC_SET_MUX_SUPPORT_MHL_PATHINFO,buffer_arg,sizeof(buffer_arg));
2938             break;
2939         }
2940 
2941         case E_XC_CMD_SET_MUX_MHL_HOTPLUG_INVERSE_INFO:
2942         {
2943             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO,spt_XC_SET_MUX_MHL_HOTPLUG_INVERSE_INFO,buffer_arg,sizeof(buffer_arg));
2944             break;
2945         }
2946 
2947         case E_XC_CMD_GET_MUX_HDMIPORT:
2948         {
2949             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_MUX_HDMIPORT,spt_XC_GET_MUX_HDMIPORT,buffer_arg,sizeof(buffer_arg));
2950             break;
2951         }
2952         case E_XC_CMD_GET_MUX_MAPPINGTAB:
2953         {
2954             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_MUX_MAPPING_TAB,NULL,buffer_arg,sizeof(buffer_arg));
2955             break;
2956         }
2957 
2958         case E_XC_CMD_GET_MUX_INPUTSOURCE2VDYMUXPORT:
2959         {
2960             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_MUX_INPUTSOURCE2VDYMUXPORT,spt_XC_GET_MUX_INPUTSOURCE2VDYMUXPORT,buffer_arg,sizeof(buffer_arg));
2961             break;
2962         }
2963 
2964         case E_XC_CMD_SET_NR:
2965         {
2966             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_NR,NULL,buffer_arg,sizeof(buffer_arg));
2967             break;
2968         }
2969 
2970         case E_XC_CMD_SET_FILM_MODE_PATCH:
2971         {
2972             u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
2973             break;
2974         }
2975 
2976         case E_XC_CMD_CHECK_UC_ENABLED:
2977         {
2978             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_UC_ENABLED,spt_XC_CHECK_UC_ENABLED,buffer_arg,sizeof(buffer_arg));
2979             break;
2980         }
2981 
2982         case E_XC_CMD_SET_GENERATE_SPECIFIC_TIMING:
2983         {
2984             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_GENERATE_SPECIFIC_TIMING,NULL,buffer_arg,sizeof(buffer_arg));
2985             break;
2986         }
2987 
2988         case E_XC_CMD_GET_DE_BYPASS_MODE:
2989         {
2990             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_DE_BYPASS_MODE,spt_XC_GET_DE_BYPASS_MODE,buffer_arg,sizeof(buffer_arg));
2991             break;
2992         }
2993 
2994         case E_XC_CMD_GET_DE_WINDOW:
2995         {
2996             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_DE_WINDOW,spt_XC_GET_DE_WINDOW,buffer_arg,sizeof(buffer_arg));
2997             break;
2998         }
2999 
3000         case E_XC_CMD_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE:
3001         {
3002             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE,spt_XC_GET_DE_WIN_WIDTH_HEIGHT_IN_DE_BYPASS_MODE,buffer_arg,sizeof(buffer_arg));
3003             break;
3004         }
3005 
3006         case E_XC_CMD_GET_CAPTURE_WINDOW:
3007         {
3008             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_CAPTURE_WINDOW,spt_XC_GET_CAPTURE_WINDOW,buffer_arg,sizeof(buffer_arg));
3009             break;
3010         }
3011 
3012         case E_XC_CMD_SET_CAPTURE_WINDOW_VSTART:
3013         {
3014             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CAPTURE_WINDOW_VSTART,NULL,buffer_arg,sizeof(buffer_arg));
3015             break;
3016         }
3017 
3018         case E_XC_CMD_SET_CAPTURE_WINDOW_HSTART:
3019         {
3020             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CAPTURE_WINDOW_HSTART,NULL,buffer_arg,sizeof(buffer_arg));
3021             break;
3022         }
3023 
3024         case E_XC_CMD_SET_CAPTURE_WINDOW_VSIZE:
3025         {
3026             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CAPTURE_WINDOW_VSIZE,NULL,buffer_arg,sizeof(buffer_arg));
3027             break;
3028         }
3029 
3030         case E_XC_CMD_SET_CAPTURE_WINDOW_HSIZE:
3031         {
3032             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CAPTURE_WINDOW_HSIZE,NULL,buffer_arg,sizeof(buffer_arg));
3033             break;
3034         }
3035 
3036         case E_XC_CMD_SET_SOFTWARE_RESET:
3037         {
3038             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SOFTWARE_RESET,NULL,buffer_arg,sizeof(buffer_arg));
3039             break;
3040         }
3041 
3042         case E_XC_CMD_GET_HFREQX10:
3043         {
3044             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_HFREQX10,spt_XC_GET_HFREQX10,buffer_arg,sizeof(buffer_arg));
3045             break;
3046         }
3047 
3048         case E_XC_CMD_GET_HFREQX1K:
3049         {
3050             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_HFREQX1K,buffer_arg,sizeof(buffer_arg));
3051             break;
3052         }
3053 
3054         case E_XC_CMD_GET_VFREQX10:
3055         {
3056             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_VFREQX10,spt_XC_GET_VFREQX10,buffer_arg,sizeof(buffer_arg));
3057             break;
3058         }
3059 
3060         case E_XC_CMD_GET_VFREQX1K:
3061         {
3062             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_VFREQX1K,buffer_arg,sizeof(buffer_arg));
3063             break;
3064         }
3065 
3066         case E_XC_CMD_GET_ACCURATE_VFREQX1k:
3067         {
3068             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_ACCURATE_VFREQX1k,spt_XC_GET_ACCURATE_VFREQX1k,buffer_arg,sizeof(buffer_arg));
3069             break;
3070         }
3071 
3072         case E_XC_CMD_SET_INTERRUPT_ATTACH:
3073         {
3074             //need check
3075             // u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_ACCURATE_VFREQX1k,spt_XC_GET_ACCURATE_VFREQX1k,buffer_arg,sizeof(buffer_arg));
3076             break;
3077         }
3078 
3079         case E_XC_CMD_SET_INTERRUPT_DEATTACH:
3080         {
3081             // need check
3082             //u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_ACCURATE_VFREQX1k,spt_XC_GET_ACCURATE_VFREQX1k,buffer_arg,sizeof(buffer_arg));
3083             break;
3084         }
3085 
3086         case E_XC_CMD_SET_DISABLE_INPUTSOURCE:
3087         {
3088             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DISABLE_INPUTSOURCE,NULL,buffer_arg,sizeof(buffer_arg));
3089             break;
3090         }
3091 
3092         case E_XC_CMD_CHECK_INPUTSOURCE_DISABLED:
3093         {
3094             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_INPUTSOURCE_DISABLED,spt_XC_CHECK_INPUTSOURCE_DISABLED,buffer_arg,sizeof(buffer_arg));
3095             break;
3096         }
3097 
3098         case E_XC_CMD_SET_CHANGE_PANELTYPE:
3099         {
3100             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CHANGE_PANELTYPE,NULL,buffer_arg,sizeof(buffer_arg));
3101             break;
3102         }
3103 
3104         case E_XC_CMD_GET_CURRENT_READBANK:
3105         {
3106             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_CURRENT_READBANK,spt_XC_GET_CURRENT_READBANK,buffer_arg,sizeof(buffer_arg));
3107             break;
3108         }
3109 
3110         case E_XC_CMD_GET_CURRENT_WRITEBANK:
3111         {
3112             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_CURRENT_WRITEBANK,spt_XC_GET_CURRENT_WRITEBANK,buffer_arg,sizeof(buffer_arg));
3113             break;
3114         }
3115 
3116         case E_XC_CMD_SET_AUTO_PRESCALING:
3117         {
3118             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_AUTO_PRESCALING,NULL,buffer_arg,sizeof(buffer_arg));
3119             break;
3120         }
3121 
3122         case E_XC_CMD_GET_VSYNC_WIDTH:
3123         {
3124             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_VSYNC_WIDTH,spt_XC_GET_VSYNC_WIDTH,buffer_arg,sizeof(buffer_arg));
3125             break;
3126         }
3127 
3128         case E_XC_CMD_SET_GOP_ENABLE:
3129         {
3130             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_GOP_ENABLE,spt_XC_SET_GOP_ENABLE,buffer_arg,sizeof(buffer_arg));
3131             break;
3132         }
3133 
3134         case E_XC_CMD_SET_SELECT_IP_FOR_GOP:
3135         {
3136             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SELECT_IP_FOR_GOP,NULL,buffer_arg,sizeof(buffer_arg));
3137             break;
3138         }
3139 
3140         case E_XC_CMD_SET_VOP_NEW_BLENDING_LEVEL:
3141         {
3142             u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
3143             break;
3144         }
3145 
3146         case E_XC_CMD_GET_DESTINATION_INFO:
3147         {
3148             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_DESTINATION_INFO,buffer_arg,sizeof(buffer_arg));
3149             break;
3150         }
3151 
3152         case E_XC_CMD_SET_FDMASK_BYWIN:
3153         {
3154             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FDMASK_BYWIN,NULL,buffer_arg,sizeof(buffer_arg));
3155             break;
3156         }
3157 
3158         case E_XC_CMD_GET_FDMASK_BYWIN:
3159         {
3160             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_FDMASK_BYWIN,spt_XC_GET_FDMASK_BYWIN,buffer_arg,sizeof(buffer_arg));
3161             break;
3162         }
3163 
3164         case E_XC_CMD_SET_IP1_TESTPATTERN:
3165         {
3166             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_IP1_TESTPATTERN,NULL,buffer_arg,sizeof(buffer_arg));
3167             break;
3168         }
3169 
3170         case E_XC_CMD_SET_INIT_IP_FOR_INTERNAL_TIMING:
3171         {
3172             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_INIT_IP_FOR_INTERNAL_TIMING,NULL,buffer_arg,sizeof(buffer_arg));
3173             break;
3174         }
3175 
3176         case E_XC_CMD_SET_IPMUX:
3177         {
3178             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_IPMUX,NULL,buffer_arg,sizeof(buffer_arg));
3179             break;
3180         }
3181 
3182         case E_XC_CMD_CHECK_HSYNC_ACTIVE:
3183         {
3184             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_HSYNC_ACTIVE,spt_XC_CHECK_HSYNC_ACTIVE,buffer_arg,sizeof(buffer_arg));
3185             break;
3186         }
3187 
3188         case E_XC_CMD_CHECK_VSYNC_ACTIVE:
3189         {
3190             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_VSYNC_ACTIVE,spt_XC_CHECK_VSYNC_ACTIVE,buffer_arg,sizeof(buffer_arg));
3191             break;
3192         }
3193 
3194         case E_XC_CMD_GET_AUTO_POSITION_WINDOW:
3195         {
3196             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_AUTO_POSITION_WINDOW,spt_XC_GET_AUTO_POSITION_WINDOW,buffer_arg,sizeof(buffer_arg));
3197             break;
3198         }
3199 
3200         case E_XC_CMD_SET_FRAMEBUFFER_ADDRESS:
3201         {
3202             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FRAMEBUFFER_ADDRESS,spt_XC_SET_FRAMEBUFFER_ADDRESS,buffer_arg,sizeof(buffer_arg));
3203             break;
3204         }
3205 
3206         case E_XC_CMD_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING:
3207         {
3208             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING,spt_XC_CHECK_FRAMEBUFFER_ENOUGH_FOR_CUSSCALING,buffer_arg,sizeof(buffer_arg));
3209             break;
3210         }
3211 
3212         case E_XC_CMD_SET_SCALER_MEMORY_REQUEST:
3213         {
3214             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SCALER_MEMORY_REQUEST,spt_XC_SET_SCALER_MEMORY_REQUEST,buffer_arg,sizeof(buffer_arg));
3215             break;
3216         }
3217 
3218         case E_XC_CMD_GET_PIXEL_DATA:
3219         {
3220             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_PIXEL_DATA,spt_XC_GET_PIXEL_DATA,buffer_arg,sizeof(buffer_arg));
3221             break;
3222         }
3223 
3224         case E_XC_CMD_GET_AVAILABLE_SIZE:
3225         {
3226             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_AVAILABLE_SIZE,spt_XC_GET_AVAILABLE_SIZE,buffer_arg,sizeof(buffer_arg));
3227             break;
3228         }
3229 
3230         case E_XC_CMD_SET_FRAME_COLOR:
3231         {
3232             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FRAME_COLOR,NULL,buffer_arg,sizeof(buffer_arg));
3233             break;
3234         }
3235 
3236         case E_XC_CMD_SET_DISPLAY_WINDOW_COLOR:
3237         {
3238             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DISPLAY_WINDOW_COLOR,NULL,buffer_arg,sizeof(buffer_arg));
3239             break;
3240         }
3241 
3242         case E_XC_CMD_GET_SUPPORT_SOURCE_TO_VE:
3243         {
3244             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_SUPPORT_SOURCE_TO_VE,buffer_arg,sizeof(buffer_arg));
3245             break;
3246         }
3247 
3248         case E_XC_CMD_SET_OUTPUT_CAPTURE:
3249         {
3250             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OUTPUT_CAPTURE,spt_XC_SET_OUTPUT_CAPTURE,buffer_arg,sizeof(buffer_arg));
3251             break;
3252         }
3253 
3254         case E_XC_CMD_SET_GAMMA_ONOFF:
3255         {
3256             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_GAMMA_ONOFF,NULL,buffer_arg,sizeof(buffer_arg));
3257             break;
3258         }
3259 
3260         case E_XC_CMD_SET_PREGAMMA_GAIN:
3261         {
3262             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_PREGAMMA_GAIN,NULL,buffer_arg,sizeof(buffer_arg));
3263             break;
3264         }
3265 
3266         case E_XC_CMD_SET_PREGAMMA_OFFSET:
3267         {
3268             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_PREGAMMA_OFFSET,NULL,buffer_arg,sizeof(buffer_arg));
3269             break;
3270         }
3271 
3272         case E_XC_CMD_SET_PANEL_TIMING:
3273         {
3274             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_PANEL_TIMING,NULL,buffer_arg,sizeof(buffer_arg));
3275             break;
3276         }
3277 
3278         case E_XC_CMD_SET_OUTPUT_TIMING_MODE:
3279         {
3280             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OUTPUT_TIMING_MODE,NULL,buffer_arg,sizeof(buffer_arg));
3281             break;
3282         }
3283 
3284         case E_XC_CMD_SET_FREERUN_TIMING:
3285         {
3286             u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
3287             break;
3288         }
3289 
3290         case E_XC_CMD_SET_CUSTOMER_SYNC_INFO:
3291         {
3292             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CUSTOMER_SYNC_INFO,spt_XC_SET_CUSTOMER_SYNC_INFO,buffer_arg,sizeof(buffer_arg));
3293             break;
3294         }
3295 
3296         case E_XC_CMD_GET_WAIT_FPLL_DONE:
3297         {
3298             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_WAIT_FPLL_DONE,buffer_arg,sizeof(buffer_arg));
3299             break;
3300         }
3301 
3302         case E_XC_CMD_GET_OUTPUT_VFREQX100:
3303         {
3304             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_OUTPUT_VFREQX100,buffer_arg,sizeof(buffer_arg));
3305             break;
3306         }
3307 
3308         case E_XC_CMD_GET_OP1_OUTPUT_VFREQX100:
3309         {
3310             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_OP1_OUTPUT_VFREQX100,buffer_arg,sizeof(buffer_arg));
3311             break;
3312         }
3313 
3314         case E_XC_CMD_CHECK_FRAMELOCK:
3315         {
3316             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_FRAMELOCK,buffer_arg,sizeof(buffer_arg));
3317             break;
3318         }
3319 
3320         case E_XC_CMD_SET_CUSTOMIZE_FRC_TABLE:
3321         {
3322             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CUSTOMIZE_FRC_TABLE,spt_XC_SET_CUSTOMIZE_FRC_TABLE,buffer_arg,sizeof(buffer_arg));
3323             break;
3324         }
3325 
3326         case E_XC_CMD_SET_OUTPUT_FRAME_CONTROL:
3327         {
3328             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OUTPUT_FRAME_CONTROL,spt_XC_SET_OUTPUT_FRAME_CONTROL,buffer_arg,sizeof(buffer_arg));
3329             break;
3330         }
3331 
3332         case E_XC_CMD_SET_FPLL_FSM_ENABLE:
3333         {
3334             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FPLL_FSM_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3335             break;
3336         }
3337 
3338         case E_XC_CMD_SET_FORCE_FREERUN:
3339         {
3340             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FORCE_FREERUN,NULL,buffer_arg,sizeof(buffer_arg));
3341             break;
3342         }
3343 
3344         case E_XC_CMD_CHECK_FORCE_FREERUN:
3345         {
3346             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_FORCE_FREERUN,buffer_arg,sizeof(buffer_arg));
3347             break;
3348         }
3349 
3350         case E_XC_CMD_SET_FREERUN_FREQ:
3351         {
3352             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FREERUN_FREQ,NULL,buffer_arg,sizeof(buffer_arg));
3353             break;
3354         }
3355 
3356         case E_XC_CMD_SET_EXPANEL_INFO:
3357         {
3358             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_EXPANEL_INFO,spt_XC_SET_EXPANEL_INFO,buffer_arg,sizeof(buffer_arg));
3359             break;
3360         }
3361 
3362         case E_XC_CMD_SET_FPLL_THRESHMODE:
3363         {
3364             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FPLL_THRESHMODE,NULL,buffer_arg,sizeof(buffer_arg));
3365             break;
3366         }
3367 
3368         case E_XC_CMD_GET_FPLL_THRESHMODE:
3369         {
3370             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_FPLL_THRESHMODE,buffer_arg,sizeof(buffer_arg));
3371             break;
3372         }
3373 
3374         case E_XC_CMD_SET_IPAUTONOSIGNAL:
3375         {
3376             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_IPAUTONOSIGNAL,spt_XC_SET_IPAUTONOSIGNAL,buffer_arg,sizeof(buffer_arg));
3377             break;
3378         }
3379 
3380         case E_XC_CMD_GET_IPAUTONOSIGNAL:
3381         {
3382             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_IPAUTONOSIGNAL,spt_XC_GET_IPAUTONOSIGNAL,buffer_arg,sizeof(buffer_arg));
3383             break;
3384         }
3385 
3386         case E_XC_CMD_SET_IPAUTOCOAST:
3387         {
3388             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_IPAUTOCOAST,NULL,buffer_arg,sizeof(buffer_arg));
3389             break;
3390         }
3391 
3392         case E_XC_CMD_SET_IPCOAST_DEBOUNCE_ENABLE:
3393         {
3394             u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
3395             break;
3396         }
3397 
3398         case E_XC_CMD_SET_CLEAR_IPCOAST_STATUS:
3399         {
3400             u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
3401             break;
3402         }
3403 
3404         case E_XC_CMD_SET_FPLL_MANUAL_SETTING_ENABLE:
3405         {
3406             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FPLL_MANUAL_SETTING_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3407             break;
3408         }
3409 
3410         case E_XC_CMD_SET_FPLL_BOUNDARY_TEST:
3411         {
3412             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FPLL_BOUNDARY_TEST,NULL,buffer_arg,sizeof(buffer_arg));
3413             break;
3414         }
3415 
3416         case E_XC_CMD_SET_OFFLINE_DETECTION:
3417         {
3418             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OFFLINE_DETECTION,NULL,buffer_arg,sizeof(buffer_arg));
3419             break;
3420         }
3421 
3422         case E_XC_CMD_GET_OFFLINE_DETECTION:
3423         {
3424             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_OFFLINE_DETECTION,spt_XC_GET_OFFLINE_DETECTION,buffer_arg,sizeof(buffer_arg));
3425             break;
3426         }
3427 
3428         case E_XC_CMD_SET_OFFLINE_SOG_THRESHOLD:
3429         {
3430             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OFFLINE_SOG_THRESHOLD,spt_XC_SET_OFFLINE_SOG_THRESHOLD,buffer_arg,sizeof(buffer_arg));
3431             break;
3432         }
3433 
3434         case E_XC_CMD_SET_OFFLINE_SOG_BW:
3435         {
3436             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OFFLINE_SOG_BW,spt_XC_SET_OFFLINE_SOG_BW,buffer_arg,sizeof(buffer_arg));
3437             break;
3438         }
3439 
3440         case E_XC_CMD_SET_OFFLINE_INIT:
3441         {
3442             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_SET_OFFLINE_INIT,buffer_arg,sizeof(buffer_arg));
3443             break;
3444         }
3445 
3446         case E_XC_CMD_SET_EXTRA_FETCH_ADV_LINE:
3447         {
3448             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_EXTRA_FETCH_ADV_LINE,NULL,buffer_arg,sizeof(buffer_arg));
3449             break;
3450         }
3451 
3452         case E_XC_CMD_SET_VGA_SOG_ENABLE:
3453         {
3454             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_VGA_SOG_ENABLE,spt_XC_SET_VGA_SOG_ENABLE,buffer_arg,sizeof(buffer_arg));
3455             break;
3456         }
3457 
3458         case E_XC_CMD_SET_WINDOW_ENABLE:
3459         {
3460             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_WINDOW_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3461             break;
3462         }
3463 
3464         case E_XC_CMD_CHECK_SUBWINDOW_ENABLE:
3465         {
3466             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_SUBWINDOW_ENABLE,buffer_arg,sizeof(buffer_arg));
3467             break;
3468         }
3469 
3470         case E_XC_CMD_SET_BORDER_FORMAT:
3471         {
3472             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BORDER_FORMAT,NULL,buffer_arg,sizeof(buffer_arg));
3473             break;
3474         }
3475 
3476         case E_XC_CMD_SET_BORDER_ENABLE:
3477         {
3478             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BORDER_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3479             break;
3480         }
3481 
3482         case E_XC_CMD_SET_ZORDER_MAINWINDOW_FIRST:
3483         {
3484             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_ZORDER_MAINWINDOW_FIRSTL,NULL,buffer_arg,sizeof(buffer_arg));
3485             break;
3486         }
3487 
3488         case E_XC_CMD_SET_PQ_LOADFUNCTION:
3489         {
3490             u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
3491             break;
3492         }
3493 
3494         case E_XC_CMD_CHECK_H_NONLINEAR_SCALING:
3495         {
3496             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_H_NONLINEAR_SCALING,buffer_arg,sizeof(buffer_arg));
3497             break;
3498         }
3499 
3500         case E_XC_CMD_SET_EUROHDTV_SUPPORT_ENABLE:
3501         {
3502             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_EUROHDTV_SUPPORT_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3503             break;
3504         }
3505 
3506         case E_XC_CMD_SET_EUROHDTV_DETECTION_ENABLE:
3507         {
3508             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_EUROHDTV_DETECTION_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3509             break;
3510         }
3511 
3512         case E_XC_CMD_READBYTE:
3513         {
3514             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_READBYTE,spt_XC_READBYTE,buffer_arg,sizeof(buffer_arg));
3515             break;
3516         }
3517 
3518         case E_XC_CMD_WRITEBYTE:
3519         {
3520             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_WRITEBYTE,NULL,buffer_arg,sizeof(buffer_arg));
3521             break;
3522         }
3523 
3524         case E_XC_CMD_WRITEBYTEMSK:
3525         {
3526             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_WRITEBYTEMSK,NULL,buffer_arg,sizeof(buffer_arg));
3527             break;
3528         }
3529 
3530         case E_XC_CMD_WRITE2BYTEMSK:
3531         {
3532             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_WRITE2BYTEMSK,NULL,buffer_arg,sizeof(buffer_arg));
3533             break;
3534         }
3535 
3536         case E_XC_CMD_W2BYTE:
3537         {
3538             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_W2BYTE,NULL,buffer_arg,sizeof(buffer_arg));
3539             break;
3540         }
3541 
3542         case E_XC_CMD_R2BYTE:
3543         {
3544             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_R2BYTE,spt_XC_R2BYTE,buffer_arg,sizeof(buffer_arg));
3545             break;
3546         }
3547 
3548         case E_XC_CMD_W4BYTE:
3549         {
3550             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_W4BYTE,NULL,buffer_arg,sizeof(buffer_arg));
3551             break;
3552         }
3553 
3554         case E_XC_CMD_R4BYTE:
3555         {
3556             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_R4BYTE,spt_XC_R4BYTE,buffer_arg,sizeof(buffer_arg));
3557             break;
3558         }
3559 
3560         case E_XC_CMD_R2BYTEMSK:
3561         {
3562             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_R2BYTEMSK,spt_XC_R2BYTEMSK,buffer_arg,sizeof(buffer_arg));
3563             break;
3564         }
3565 
3566         case E_XC_CMD_W2BYTEMSK:
3567         {
3568             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_W2BYTEMSK,NULL,buffer_arg,sizeof(buffer_arg));
3569             break;
3570         }
3571 
3572         case E_XC_CMD_MLOAD_INIT:
3573         {
3574             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_MLOAD_INIT,NULL,buffer_arg,sizeof(buffer_arg));
3575             break;
3576         }
3577 
3578         case E_XC_CMD_MLOAD_ENABLE:
3579         {
3580             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_MLOAD_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3581             break;
3582         }
3583 
3584         case E_XC_CMD_MLOAD_GETSTATUS:
3585         {
3586             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_MLOAD_GETSTATUS,buffer_arg,sizeof(buffer_arg));
3587             break;
3588         }
3589 
3590         case E_XC_CMD_MLOAD_WRITE_CMD_AND_FIRE:
3591         {
3592             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_MLOAD_WRITE_CMD_AND_FIRE,spt_XC_MLOAD_WRITE_CMD_AND_FIRE,buffer_arg,sizeof(buffer_arg));
3593             break;
3594         }
3595 
3596         case E_XC_CMD_MLOAD_WRITE_CMDS_AND_FIRE:
3597         {
3598             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_MLOAD_WRITE_CMDS_AND_FIRE,spt_XC_MLOAD_WRITE_CMDS_AND_FIRE,buffer_arg,sizeof(buffer_arg));
3599             break;
3600         }
3601 
3602         case E_XC_CMD_MLG_INIT:
3603         {
3604             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_MLG_INIT,NULL,buffer_arg,sizeof(buffer_arg));
3605             break;
3606         }
3607 
3608         case E_XC_CMD_MLG_ENABLE:
3609         {
3610             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_MLG_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3611             break;
3612         }
3613 
3614         case E_XC_CMD_MLG_GET_CAPS:
3615         {
3616             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_MLG_GET_CAPS,buffer_arg,sizeof(buffer_arg));
3617             break;
3618         }
3619 
3620         case E_XC_CMD_MLG_GETSTATUS:
3621         {
3622             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_MLG_GETSTATUST,buffer_arg,sizeof(buffer_arg));
3623             break;
3624         }
3625 
3626         case E_XC_CMD_SET_OSD2VEMODE:
3627         {
3628             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OSD2VEMODE,NULL,buffer_arg,sizeof(buffer_arg));
3629             break;
3630         }
3631 
3632         case E_XC_CMD_SET_IP2_PREFILTER_ENABLE:
3633         {
3634             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_IP2_PREFILTER_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3635             break;
3636         }
3637 
3638         case E_XC_CMD_GET_PIXELRGB:
3639         {
3640             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_PIXELRGB,spt_XC_GET_PIXELRGB,buffer_arg,sizeof(buffer_arg));
3641             break;
3642         }
3643 
3644         case E_XC_CMD_SET_KEEP_PIXELPOINTER_APPEAR:
3645         {
3646             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_KEEP_PIXELPOINTER_APPEAR,NULL,buffer_arg,sizeof(buffer_arg));
3647             break;
3648         }
3649 
3650         case E_XC_CMD_SET_MEMORY_FORMAT_EX:
3651         {
3652             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MEMORY_FORMAT_EX,spt_XC_SET_MEMORY_FORMAT_EX,buffer_arg,sizeof(buffer_arg));
3653             break;
3654         }
3655 
3656         case E_XC_CMD_CHECK_REQUEST_FRAMEBUFFERLESS_MODE:
3657         {
3658             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE,buffer_arg,sizeof(buffer_arg));
3659             break;
3660         }
3661 
3662         case E_XC_CMD_SET_SKIP_SWRESET:
3663         {
3664             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SKIP_SWRESET,spt_XC_SET_SKIP_SWRESET,buffer_arg,sizeof(buffer_arg));
3665             break;
3666         }
3667 
3668         case E_XC_CMD_SET_REPORTWINDOW_FOR_FRAMECOLOR:
3669         {
3670             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_REQUEST_FRAMEBUFFERLESS_MODE,NULL,buffer_arg,sizeof(buffer_arg));
3671             break;
3672         }
3673 
3674         case E_XC_CMD_SET_OSDLAYER:
3675         {
3676             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OSDLAYER,spt_XC_SET_OSDLAYER,buffer_arg,sizeof(buffer_arg));
3677             break;
3678         }
3679 
3680         case E_XC_CMD_GET_OSDLAYER:
3681         {
3682             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_OSDLAYER,spt_XC_GET_OSDLAYER,buffer_arg,sizeof(buffer_arg));
3683             break;
3684         }
3685 
3686         case E_XC_CMD_SET_VIDEO_ALPHA:
3687         {
3688             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_VIDEO_ALPHA,spt_XC_SET_VIDEO_ALPHA,buffer_arg,sizeof(buffer_arg));
3689             break;
3690         }
3691 
3692         case E_XC_CMD_GET_VIDEO_ALPHA:
3693         {
3694             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_VIDEO_ALPHA,spt_XC_GET_VIDEO_ALPHA,buffer_arg,sizeof(buffer_arg));
3695             break;
3696         }
3697 
3698         case E_XC_CMD_SKIP_WAIT_VSYNC:
3699         {
3700             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SKIP_WAIT_VSYNC,spt_XC_SKIP_WAIT_VSYNC,buffer_arg,sizeof(buffer_arg));
3701             break;
3702         }
3703 
3704         case E_XC_CMD_SET_OP2VOP_DE_SELECTION:
3705         {
3706             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OP2VOP_DE_SELECTION,spt_XC_SET_OP2VOP_DE_SELECTION,buffer_arg,sizeof(buffer_arg));
3707             break;
3708         }
3709 
3710         case E_XC_CMD_SET_FRC_WINDOW:
3711         {
3712             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FRC_WINDOW,NULL,buffer_arg,sizeof(buffer_arg));
3713             break;
3714         }
3715 
3716         case E_XC_CMD_SET_2INITFACTOR_ENABLE:
3717         {
3718             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_2INITFACTOR_ENABLE,spt_XC_SET_2INITFACTOR_ENABLE,buffer_arg,sizeof(buffer_arg));
3719             break;
3720         }
3721 
3722         case E_XC_CMD_CHECK_FIELDPACKINGMODE_SUPPORTED:
3723         {
3724             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_FIELDPACKINGMODE_SUPPORTED,buffer_arg,sizeof(buffer_arg));
3725             break;
3726         }
3727 
3728         case E_XC_CMD_PREINIT:
3729         {
3730             // need check
3731             stXC_PREINIT ptr;
3732             if(copy_from_user(&ptr, (stXC_PREINIT __user *)pArgs, sizeof(stXC_PREINIT)))
3733             {
3734                 return UTOPIA_STATUS_FAIL;
3735             }
3736             switch(ptr.eType)
3737             {
3738                 case E_XC_PREINIT_FRC:
3739                 {
3740                     u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_PREINIT_FRC,NULL,buffer_arg,sizeof(buffer_arg));
3741                     break;
3742                 }
3743                 case E_XC_PREINIT_FRC_3D_TYPE:
3744                 {
3745                     u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_PREINIT_FRC_3D_TYPE,NULL,buffer_arg,sizeof(buffer_arg));
3746                     break;
3747                 }
3748                 default:
3749                 case E_XC_PREINIT_NULL:
3750                     u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_PREINIT_NULL,NULL,buffer_arg,sizeof(buffer_arg));
3751                     break;
3752 
3753             }
3754             break;
3755         }
3756 
3757 #ifdef UFO_XC_GET_3D_FORMAT
3758         case E_XC_CMD_GET3DFORMAT:
3759         {
3760             // need check
3761             stXC_GET3DFORMAT ptr;
3762             if(copy_from_user(&ptr, (stXC_GET3DFORMAT __user *)pArgs, sizeof(stXC_GET3DFORMAT)))
3763             {
3764                 return UTOPIA_STATUS_FAIL;
3765             }
3766 
3767             u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET3DFORMAT,spt_XC_GET3DFORMAT,buffer_arg,sizeof(buffer_arg));
3768             break;
3769         }
3770 #endif
3771 
3772         case E_XC_CMD_GET_BUFFERDATA:
3773         {
3774             // need check
3775             //u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_FIELDPACKINGMODE_SUPPORTED,buffer_arg,sizeof(buffer_arg));
3776             break;
3777         }
3778 
3779         case E_XC_CMD_SET_BUFFERDATA:
3780         {
3781             // need check
3782             //u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_CHECK_FIELDPACKINGMODE_SUPPORTED,buffer_arg,sizeof(buffer_arg));
3783             break;
3784         }
3785 
3786         case E_XC_CMD_SET_MAINWINDOW_ENABLE:
3787         {
3788             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MAINWINDOW_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3789             break;
3790         }
3791 
3792         case E_XC_CMD_SET_SUBWINDOW_ENABLE:
3793         {
3794             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SUBWINDOW_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3795             break;
3796         }
3797 
3798         case E_XC_CMD_SET_SUBWINDOW_DISABLE:
3799         {
3800             u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
3801             break;
3802         }
3803 
3804         case E_XC_CMD_SET_PIXEL_SHIFT:
3805         {
3806             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_PIXEL_SHIFT,spt_XC_SET_PIXEL_SHIFT,buffer_arg,sizeof(buffer_arg));
3807             break;
3808         }
3809 
3810         case E_XC_CMD_SET_VIDEO_ON_OSD:
3811         {
3812             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_VIDEO_ON_OSD,spt_XC_SET_VIDEO_ON_OSD,buffer_arg,sizeof(buffer_arg));
3813             break;
3814         }
3815         case E_XC_CMD_SET_OSD_LAYER_BLEANDING:
3816         {
3817             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OSD_LAYER_BLENDING,spt_XC_SET_OSD_LAYER_BLENDING,buffer_arg,sizeof(buffer_arg));
3818             break;
3819         }
3820         case E_XC_CMD_SET_OSD_LAYER_ALPHA:
3821         {
3822             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OSD_LAYER_ALPHA,spt_XC_SET_OSD_LAYER_ALPHA,buffer_arg,sizeof(buffer_arg));
3823             break;
3824         }
3825 
3826         case E_XC_CMD_SET_OSD_BLENDING_FORMULA:
3827         {
3828             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OSD_BLENDING_FORMULA,spt_XC_SET_OSD_BLENDING_FORMULA,buffer_arg,sizeof(buffer_arg));
3829             break;
3830         }
3831 
3832         case E_XC_CMD_GET_REPORT_PIXEL_INFO:
3833         {
3834             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_REPORT_PIXEL_INFO,buffer_arg,sizeof(buffer_arg));
3835             break;
3836         }
3837 
3838         case E_XC_CMD_SET_SCALING:
3839         {
3840             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SCALING,NULL,buffer_arg,sizeof(buffer_arg));
3841             break;
3842         }
3843 
3844         case E_XC_CMD_SET_MCDI_BUFFERADDRESS:
3845         {
3846             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MCDI_BUFFERADDRESS,NULL,buffer_arg,sizeof(buffer_arg));
3847             break;
3848         }
3849 
3850         case E_XC_CMD_SET_MCDI_ENABLE:
3851         {
3852             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MCDI_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3853             break;
3854         }
3855 
3856         case E_XC_CMD_SEND_CMD2FRC:
3857         {
3858             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SEND_CMD2FRC,spt_XC_SEND_CMD2FRC,buffer_arg,sizeof(buffer_arg));
3859             break;
3860         }
3861 
3862 
3863         case E_XC_CMD_GET_MSG_FROM_FRC:
3864         {
3865             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_MSG_FROM_FRC,spt_XC_GET_MSG_FROM_FRC,buffer_arg,sizeof(buffer_arg));
3866             break;
3867         }
3868 
3869         case E_XC_CMD_SET_AUTO_RWBANK_ENABLE:
3870         {
3871             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_AUTO_RWBANK_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
3872             break;
3873         }
3874 
3875         case E_XC_CMD_SET_RWBANK_MAPPING_NUM:
3876         {
3877             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_RWBANK_MAPPING_NUM,NULL,buffer_arg,sizeof(buffer_arg));
3878             break;
3879         }
3880 
3881         case E_XC_CMD_GET_RWBANK_MAPPING_NUM:
3882         {
3883             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_RWBANK_MAPPING_NUM,spt_XC_GET_RWBANK_MAPPING_NUM,buffer_arg,sizeof(buffer_arg));
3884             break;
3885         }
3886 
3887         case E_XC_CMD_GET_RWBANK_MAPPING_NUM_FOR_ZAP:
3888         {
3889             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_RWBANK_MAPPING_NUM_FOR_ZAP,spt_XC_GET_RWBANK_MAPPING_NUM_FOR_ZAP,buffer_arg,sizeof(buffer_arg));
3890             break;
3891         }
3892 
3893         case E_XC_CMD_SET_BOBMODE:
3894         {
3895             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BOBMODE,spt_XC_SET_BOBMODE,buffer_arg,sizeof(buffer_arg));
3896             break;
3897         }
3898 
3899         case E_XC_CMD_SET_FORCE_READBANK:
3900         {
3901             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FORCE_READBANK,NULL,buffer_arg,sizeof(buffer_arg));
3902             break;
3903         }
3904 
3905         case E_XC_CMD_SET_LOCK_POINT:
3906         {
3907             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_LOCK_POINT,NULL,buffer_arg,sizeof(buffer_arg));
3908             break;
3909         }
3910 
3911         case E_XC_CMD_LD_INIT:
3912         {
3913             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_LD_INIT,spt_XC_LD_INIT,buffer_arg,sizeof(buffer_arg));
3914             break;
3915         }
3916 
3917         case E_XC_CMD_SET_LD_MEMORYADDRESS:
3918         {
3919             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_LD_MEMORYADDRESS,spt_XC_SET_LD_MEMORYADDRESS,buffer_arg,sizeof(buffer_arg));
3920             break;
3921         }
3922 
3923         case E_XC_CMD_GET_LD_VALUE:
3924         {
3925             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_LD_VALUE,spt_XC_GET_LD_VALUE,buffer_arg,sizeof(buffer_arg));
3926             break;
3927         }
3928 
3929         case E_XC_CMD_SET_LD_LEVEL:
3930         {
3931             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_LD_LEVEL,spt_XC_SET_LD_LEVEL,buffer_arg,sizeof(buffer_arg));
3932             break;
3933         }
3934 
3935         case E_XC_CMD_SET_LD_TURNOFF_LDBL:
3936         {
3937             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_LD_TURNOFF_LDBL,spt_XC_SET_LD_TURNOFF_LDBL,buffer_arg,sizeof(buffer_arg));
3938             break;
3939         }
3940 
3941         case E_XC_CMD_SET_NOTUPDATE_SPI_DATA_FLAGS:
3942         {
3943             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_NOTUPDATE_SPI_DATA_FLAGS,spt_XC_SET_NOTUPDATE_SPI_DATA_FLAGS,buffer_arg,sizeof(buffer_arg));
3944             break;
3945         }
3946 
3947         case E_XC_CMD_SET_LD_USERMODEFLAGS:
3948         {
3949             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_LD_USERMODEFLAGS,spt_XC_SET_LD_USERMODEFLAGS,buffer_arg,sizeof(buffer_arg));
3950             break;
3951         }
3952 
3953         case E_XC_CMD_SET_BL_LEVEL:
3954         {
3955             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BL_LEVEL,spt_XC_SET_BL_LEVEL,buffer_arg,sizeof(buffer_arg));
3956             break;
3957         }
3958 
3959         case E_XC_CMD_SET_BWS_MODE:
3960         {
3961             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BWS_MODE,NULL,buffer_arg,sizeof(buffer_arg));
3962             break;
3963         }
3964 
3965         case E_XC_CMD_SET_FRC_COLOR_PATH_CONTROL:
3966         {
3967             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FRC_COLOR_PATH_CONTROL,NULL,buffer_arg,sizeof(buffer_arg));
3968             break;
3969         }
3970 
3971         case E_XC_CMD_SET_FRC_OP2_RGBGAIN:
3972         {
3973             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FRC_OP2_RGBGAIN,NULL,buffer_arg,sizeof(buffer_arg));
3974             break;
3975         }
3976 
3977         case E_XC_CMD_SET_FRC_OP2_RGBOFFSET:
3978         {
3979             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FRC_OP2_RGBOFFSET,NULL,buffer_arg,sizeof(buffer_arg));
3980             break;
3981         }
3982 
3983         case E_XC_CMD_SET_FRC_OP2_DITHER:
3984         {
3985             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FRC_OP2_DITHER,NULL,buffer_arg,sizeof(buffer_arg));
3986             break;
3987         }
3988 
3989         case E_XC_CMD_FRC_BYPASS:
3990         {
3991             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_FRC_BYPASS,spt_XC_FRC_BYPASS,buffer_arg,sizeof(buffer_arg));
3992             break;
3993         }
3994 
3995         case E_XC_CMD_FRC_MUTE:
3996         {
3997             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_FRC_MUTE,NULL,buffer_arg,sizeof(buffer_arg));
3998             break;
3999         }
4000 
4001         case E_XC_CMD_SET_FORCE_READ_FRAME:
4002         {
4003             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FORCE_READ_FRAME,spt_XC_SET_FORCE_READ_FRAME,buffer_arg,sizeof(buffer_arg));
4004             break;
4005         }
4006 
4007         case E_XC_CMD_SET_CSC:
4008         {
4009             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CSC,NULL,buffer_arg,sizeof(buffer_arg));
4010             break;
4011         }
4012 
4013         case E_XC_CMD_SET_REGISTER_PQ_FPLL_THRESH_MODE:
4014         {
4015             // need check
4016             //u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_CSC,NULL,buffer_arg,sizeof(buffer_arg));
4017             break;
4018         }
4019 
4020         case E_XC_CMD_GET_FREERUN_STATUS:
4021         {
4022             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_FREERUN_STATUS,buffer_arg,sizeof(buffer_arg));
4023             break;
4024         }
4025 
4026         case E_XC_CMD_SET_BYPASS_CSC:
4027         {
4028             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BYPASS_CSC,NULL,buffer_arg,sizeof(buffer_arg));
4029             break;
4030         }
4031 
4032         case E_XC_CMD_GET_DS_FORCE_INDEX_SUPPORTED:
4033         {
4034             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_DS_FORCE_INDEX_SUPPORTED,spt_XC_GET_DS_FORCE_INDEX_SUPPORTED,buffer_arg,sizeof(buffer_arg));
4035             break;
4036         }
4037 
4038         case E_XC_CMD_SET_DS_FORCE_INDEX:
4039         {
4040             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DS_FORCE_INDEX,spt_XC_SET_DS_FORCE_INDEX,buffer_arg,sizeof(buffer_arg));
4041             break;
4042         }
4043 
4044         case E_XC_CMD_SET_DS_INDEX_SOURCE_SELECT:
4045         {
4046             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DS_INDEX_SOURCE_SELECT,spt_XC_SET_DS_INDEX_SOURCE_SELECT,buffer_arg,sizeof(buffer_arg));
4047             break;
4048         }
4049 
4050         case E_XC_CMD_GET_DS_STATUS:
4051         {
4052             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_DS_STATUS,buffer_arg,sizeof(buffer_arg));
4053             break;
4054         }
4055 
4056         case E_XC_CMD_OSDC_INITSETTING:
4057         {
4058             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_OSDC_INITSETTING,spt_XC_OSDC_INITSETTING,buffer_arg,sizeof(buffer_arg));
4059             break;
4060         }
4061 
4062         case E_XC_CMD_OSDC_SET_OUTPUTVFREQX10:
4063         {
4064             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_OSDC_SET_OUTPUTVFREQX10,NULL,buffer_arg,sizeof(buffer_arg));
4065             break;
4066         }
4067 
4068         case E_XC_CMD_OSDC_CONTROL:
4069         {
4070             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_OSDC_CONTROL,spt_XC_OSDC_CONTROL,buffer_arg,sizeof(buffer_arg));
4071             break;
4072         }
4073 
4074         case E_XC_CMD_OSDC_GET_DESTINATION_INFO:
4075         {
4076             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_OSDC_GET_DESTINATION_INFO,spt_XC_OSDC_GET_DESTINATION_INFO,buffer_arg,sizeof(buffer_arg));
4077             break;
4078         }
4079 
4080         case E_XC_CMD_SET_POWERSTATE:
4081         {
4082             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_POWERSTATE,spt_XC_SET_POWERSTATE,buffer_arg,sizeof(buffer_arg));
4083             break;
4084         }
4085 
4086         case E_XC_CMD_SET_BYPASS_OSDVSYNC_POS:
4087         {
4088             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BYPASS_OSDVSYNC_POS,NULL,buffer_arg,sizeof(buffer_arg));
4089             break;
4090         }
4091 
4092         case E_XC_CMD_SET_BYPASS_INPUTSRC:
4093         {
4094             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BYPASS_INPUTSRC,NULL,buffer_arg,sizeof(buffer_arg));
4095             break;
4096         }
4097 
4098         case E_XC_CMD_SET_SEAMLESS_ZAPPING:
4099         {
4100             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_SEAMLESS_ZAPPING,spt_XC_SET_SEAMLESS_ZAPPING,buffer_arg,sizeof(buffer_arg));
4101             break;
4102         }
4103 
4104         case E_XC_CMD_GET_SEAMLESS_ZAPPING_STATUS:
4105         {
4106             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_SEAMLESS_ZAPPING_STATUS,spt_XC_GET_SEAMLESS_ZAPPING_STATUS,buffer_arg,sizeof(buffer_arg));
4107             break;
4108         }
4109 
4110         case E_XC_CMD_SET_VTRACK_PAYLOADDATA:
4111         {
4112             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_VTRACK_PAYLOADDATA,spt_XC_SET_VTRACK_PAYLOADDATA,buffer_arg,sizeof(buffer_arg));
4113             break;
4114         }
4115 
4116         case E_XC_CMD_SET_VTRACK_USERDEFINED_SETTING:
4117         {
4118             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_VTRACK_USERDEFINED_SETTING,spt_XC_SET_VTRACK_USERDEFINED_SETTING,buffer_arg,sizeof(buffer_arg));
4119             break;
4120         }
4121 
4122         case E_XC_CMD_SET_VTRACK_ENABLE:
4123         {
4124             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_VTRACK_ENABLE,spt_XC_SET_VTRACK_ENABLE,buffer_arg,sizeof(buffer_arg));
4125             break;
4126         }
4127 
4128         case E_XC_CMD_PRESET_PQINFO:
4129         {
4130             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_PRESET_PQINFO,NULL,buffer_arg,sizeof(buffer_arg));
4131             break;
4132         }
4133 
4134         case E_XC_GET_OP1_TESTPATTERN_ENABLED:
4135         {
4136             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_OP1_TESTPATTERN_ENABLED,buffer_arg,sizeof(buffer_arg));
4137             break;
4138         }
4139 
4140         case E_XC_SET_OP1_TESTPATTERN:
4141         {
4142             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OP1_TESTPATTERN,spt_XC_SET_OP1_TESTPATTERN,buffer_arg,sizeof(buffer_arg));
4143             break;
4144         }
4145 
4146         case E_XC_SET_OP2_TESTPATTERN:
4147         {
4148             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OP2_TESTPATTERN,spt_XC_SET_OP2_TESTPATTERN,buffer_arg,sizeof(buffer_arg));
4149             break;
4150         }
4151 
4152         case E_XC_CHECK_WHITEBALANCE_PATTERN_MODE:
4153         {
4154             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_CHECK_WB_TESTPATTERN,spt_XC_CHECK_WB_TESTPATTERN,buffer_arg,sizeof(buffer_arg));
4155             break;
4156         }
4157 
4158         case E_XC_SET_HLINEARSCALING:
4159         {
4160             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_HLINEARSCALING,spt_XC_SET_HLINEARSCALING,buffer_arg,sizeof(buffer_arg));
4161             break;
4162         }
4163 
4164         case E_XC_SET_ENABLE_T3D:
4165         {
4166             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_EnableT3D,spt_XC_EnableT3D,buffer_arg,sizeof(buffer_arg));
4167             break;
4168         }
4169 
4170         case E_XC_SET_FRC_INPUTTIMING:
4171         {
4172             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_Set_FRC_InputTiming,spt_XC_Set_FRC_InputTiming,buffer_arg,sizeof(buffer_arg));
4173             break;
4174         }
4175 
4176         case E_XC_GET_FRC_INPUTTIMING:
4177         {
4178             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_Get_FRC_InputTiming,spt_XC_Get_FRC_InputTiming,buffer_arg,sizeof(buffer_arg));
4179             break;
4180         }
4181 
4182         case E_XC_CMD_GET_OUTPUT_VFREQ:
4183         {
4184             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_OUTPUT_VFREQ,buffer_arg,sizeof(buffer_arg));
4185             break;
4186         }
4187 
4188         case E_XC_CMD_GET_CURRENT_OUTPUTVFREQX100:
4189         {
4190             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_CURRENT_OUTPUTVFREQX100,buffer_arg,sizeof(buffer_arg));
4191             break;
4192         }
4193 
4194         case E_XC_CMD_SET_MEMORY_WRITE_REQUEST:
4195         {
4196             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MEMORY_WRITE_REQUEST,spt_XC_SET_MEMORY_WRITE_REQUEST,buffer_arg,sizeof(buffer_arg));
4197             break;
4198         }
4199 
4200         case E_XC_CMD_SET_MEMORY_FORMAT:
4201         {
4202             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MEMORY_FORMAT,spt_XC_SET_MEMORY_FORMAT,buffer_arg,sizeof(buffer_arg));
4203             break;
4204         }
4205 
4206         case E_XC_CMD_SET_OUTPUT_ADJUST_SETTING:
4207         {
4208             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_OUTPUT_ADJUST_SETTING,spt_XC_SET_OUTPUT_ADJUST_SETTING,buffer_arg,sizeof(buffer_arg));
4209             break;
4210         }
4211 
4212         case E_XC_CMD_SET_FPLL_FSM:
4213         {
4214             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_FPLL_FSM,NULL,buffer_arg,sizeof(buffer_arg));
4215             break;
4216         }
4217 
4218         case E_XC_CMD_SET_MIRROR_MODE_ENABLE:
4219         {
4220             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MIRROR_MODE_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
4221             break;
4222         }
4223 
4224         case E_XC_CMD_SET_MIRROR_MODE2_ENABLE:
4225         {
4226             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_MIRROR_MODE2_ENABLE,NULL,buffer_arg,sizeof(buffer_arg));
4227             break;
4228         }
4229 
4230         case E_XC_CMD_DUMP_SHM:
4231         {
4232             u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
4233             break;
4234         }
4235         case E_XC_CMD_GET_VBOX_INFO:
4236         {
4237             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_Get_VBOX_Info,spt_XC_Get_VBOX_Info,buffer_arg,sizeof(buffer_arg));
4238             break;
4239         }
4240         case E_XC_CMD_GET_SWDSIndex:
4241         {
4242             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_GET_SWDSIndex,spt_XC_GET_SWDSIndex,buffer_arg,sizeof(buffer_arg));
4243             break;
4244         }
4245         case E_XC_CMD_GET_IS_SupportSWDS:
4246         {
4247             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,NULL,spt_XC_GET_Is_SupportSWDS,buffer_arg,sizeof(buffer_arg));
4248             break;
4249         }
4250 #ifdef UFO_XC_AUTO_DOWNLOAD
4251         case E_XC_CMD_AUTODOWNLOAD_CONFIG_CTRL:
4252         {
4253             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_AUTODOWNLOAD_CONFIG_CTRL,spt_XC_AUTODOWNLOAD_CONFIG_CTRL,buffer_arg,sizeof(buffer_arg));
4254             break;
4255         }
4256         case E_XC_CMD_AUTODOWNLOAD_WRITE_CTRL:
4257         {
4258             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_AUTODOWNLOAD_WRITE_CTRL,spt_XC_AUTODOWNLOAD_WRITE_CTRL,buffer_arg,sizeof(buffer_arg));
4259             break;
4260         }
4261         case E_XC_CMD_AUTODOWNLOAD_FIRE_CTRL:
4262         {
4263             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_AUTODOWNLOAD_FIRE_CTRL,spt_XC_AUTODOWNLOAD_FIRE_CTRL,buffer_arg,sizeof(buffer_arg));
4264             break;
4265         }
4266 #endif
4267 
4268 #ifdef UFO_XC_SETBLACKVIDEOBYMODE
4269         case E_XC_CMD_SET_BLACKVIDEO_BYMODE:
4270         {
4271             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_BLACKVIDEO_BYMODE,spt_XC_SET_BLACKVIDEO_BYMODE,buffer_arg,sizeof(buffer_arg));
4272             break;
4273         }
4274 #endif
4275 
4276 #ifdef UFO_XC_VMARK
4277         case E_XC_VMARK_CMD_SET_VMARK_PARAMETERS:
4278         {
4279             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_VMARK_SET_PARAMETERS,spt_XC_VMARK_SET_PARAMETERS,buffer_arg,sizeof(buffer_arg));
4280             break;
4281         }
4282 #endif
4283 #ifdef UFO_XC_SET_DSINFO_V0
4284        case E_XC_CMD_SET_DSINFO:
4285        {
4286            u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SET_DSINFO,NULL,buffer_arg,sizeof(buffer_arg));
4287            break;
4288        }
4289 #endif
4290 
4291 #ifdef UFO_XC_HDR
4292 #if (UFO_XC_HDR_VERSION == 2)
4293         case E_XC_CMD_HDR_CTRL:
4294         {
4295             stXC_HDR_CTRL ptr;
4296             if(copy_from_user(&ptr, (stXC_HDR_CTRL __user *)pArgs, sizeof(stXC_HDR_CTRL)))
4297             {
4298                 return UTOPIA_STATUS_FAIL;
4299             }
4300 
4301             switch(ptr.enCtrlType)
4302             {
4303                 //case E_XC_HDR_CTRL_ENABLE:
4304                 //{
4305                 //    u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_ENABLE_CTRL,spt_XC_HDR_ENABLE_CTRL,buffer_arg,sizeof(buffer_arg));
4306                 //    break;
4307                 //}
4308                 //case E_XC_HDR_CTRL_SET_TYPE:
4309                 //{
4310                 //    u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_SET_TYPE_CTRL,spt_XC_HDR_SET_TYPE_CTRL,buffer_arg,sizeof(buffer_arg));
4311                 //    break;
4312                 //}
4313                 case E_XC_HDR_CTRL_GET_TYPE:
4314                 {
4315                     u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_GET_TYPE_CTRL,spt_XC_HDR_GET_TYPE_CTRL,buffer_arg,sizeof(buffer_arg));
4316                     break;
4317                 }
4318                 case E_XC_HDR_CTRL_SET_3DLUT:
4319                 {
4320                     stXC_HDR_CTRL hdr_ctl_tmp;
4321 #ifdef CONFIG_COMPAT
4322                     if(IS_CMP_TASK())
4323                     {
4324                         _compact_stXC_HDR_CTRL hdr_ctl_tmp_compact;
4325                         _compact_XC_HDR_3DLUT_INFO *hdr_3dlut_info_compact_ptr;
4326                         _compact_XC_HDR_3DLUT_INFO temp_ptr;
4327                         XC_HDR_3DLUT_INFO *hdr_3dlut_info_ptr;
4328                         MS_U32 u32Size = 0;
4329 
4330                         CMP_CPY_FROM_USER(&hdr_ctl_tmp_compact, pArgs, sizeof(_compact_stXC_HDR_CTRL));
4331                         hdr_3dlut_info_compact_ptr = (_compact_XC_HDR_3DLUT_INFO*) hdr_ctl_tmp_compact.pParam;
4332                         hdr_ctl_tmp.pParam = malloc(sizeof(XC_HDR_3DLUT_INFO));
4333                         hdr_ctl_tmp.enCtrlType = hdr_ctl_tmp_compact.enCtrlType;
4334                         hdr_ctl_tmp.eReturnValue = hdr_ctl_tmp_compact.eReturnValue;
4335                         CMP_CPY_FROM_USER(&temp_ptr, hdr_3dlut_info_compact_ptr, sizeof(_compact_XC_HDR_3DLUT_INFO));
4336 
4337                         hdr_3dlut_info_ptr = (XC_HDR_3DLUT_INFO*) hdr_ctl_tmp.pParam;
4338 
4339                         hdr_3dlut_info_ptr->pu8Data = malloc(temp_ptr.u32Size);
4340                         hdr_3dlut_info_ptr->u32Size = temp_ptr.u32Size;
4341                         CMP_CPY_FROM_USER(hdr_3dlut_info_ptr->pu8Data,
4342                                           hdr_3dlut_info_compact_ptr->pu8Data,
4343                                           temp_ptr.u32Size);
4344 
4345                         u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,&hdr_ctl_tmp);
4346                         hdr_ctl_tmp_compact.eReturnValue = hdr_ctl_tmp.eReturnValue;
4347                         CMP_CPY_TO_USER(pArgs,&hdr_ctl_tmp_compact,sizeof(_compact_stXC_HDR_CTRL));
4348 
4349                         free(hdr_3dlut_info_ptr->pu8Data);
4350                         free(hdr_ctl_tmp.pParam);
4351                     }
4352                     else
4353 #endif
4354                     {
4355                         void *temp_ptr;
4356                         XC_HDR_3DLUT_INFO *hdr_3dlut_info_ptr;
4357                         MS_U32 u32Size = 0;
4358 
4359                         CPY_FROM_USER(&hdr_ctl_tmp, pArgs, sizeof(stXC_HDR_CTRL));
4360                         temp_ptr = hdr_ctl_tmp.pParam;
4361                         hdr_ctl_tmp.pParam = malloc(sizeof(XC_HDR_3DLUT_INFO));
4362                         CPY_FROM_USER(hdr_ctl_tmp.pParam, temp_ptr, sizeof(XC_HDR_3DLUT_INFO));
4363                         hdr_3dlut_info_ptr = (XC_HDR_3DLUT_INFO*) hdr_ctl_tmp.pParam;
4364 
4365                         temp_ptr = (void*) hdr_3dlut_info_ptr->pu8Data;
4366                         hdr_3dlut_info_ptr->pu8Data = malloc(hdr_3dlut_info_ptr->u32Size);
4367                         CPY_FROM_USER(hdr_3dlut_info_ptr->pu8Data,
4368                                       temp_ptr,
4369                                       hdr_3dlut_info_ptr->u32Size);
4370 
4371                         u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,&hdr_ctl_tmp);
4372                         CPY_to_USER(pArgs,&hdr_ctl_tmp,sizeof(stXC_HDR_CTRL));
4373 
4374                         free(hdr_3dlut_info_ptr->pu8Data);
4375                         free(hdr_ctl_tmp.pParam);
4376 
4377                     }
4378                     break;
4379                 }
4380                 //case E_XC_HDR_CTRL_CONFIG_DMA:
4381                 //{
4382                 //    u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_CONFIG_DMA_CTRL,spt_XC_HDR_CONFIG_DMA_CTRL,buffer_arg,sizeof(buffer_arg));
4383                 //    break;
4384                 //}
4385                 case E_XC_HDR_CTRL_INIT_DMA:
4386                 {
4387                     u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_INIT_DMA_CTRL,spt_XC_HDR_INIT_DMA_CTRL,buffer_arg,sizeof(buffer_arg));
4388                     break;
4389                 }
4390                 case E_XC_HDR_CTRL_SET_OTT_SHARE_MEMORY:
4391                 {
4392                     u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_SET_OTT_SHARE_MEMORY_CTRL,spt_XC_HDR_SET_OTT_SHARE_MEMORY_CTRL,buffer_arg,sizeof(buffer_arg));
4393                     break;
4394                 }
4395                 //case E_XC_HDR_CTRL_SET_OPEN_METADATA:
4396                 //{
4397                 //    u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_SET_OPEN_METADATA,spt_XC_HDR_SET_OPEN_METADATA,buffer_arg,sizeof(buffer_arg));
4398                 //    break;
4399                 //}
4400                 //case E_XC_HDR_CTRL_SET_COLOR_FORMAT:
4401                 //{
4402                 //    u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_HDR_SET_COLOR_FORMAT_CTRL,spt_XC_HDR_SET_COLOR_FORMAT_CTRL,buffer_arg,sizeof(buffer_arg));
4403                 //    break;
4404                 //}
4405                 case E_XC_HDR_CTRL_CFD_CONTROL:
4406                 {
4407                     stXC_HDR_CTRL hdr_ctl_tmp;
4408 #ifdef CONFIG_COMPAT
4409                     if(IS_CMP_TASK())
4410                     {
4411 
4412                         _compact_stXC_HDR_CTRL hdr_ctl_tmp_compact;
4413                         _compact_XC_CFD_CONTROL_INFO *xc_cfd_control_info_compact_ptr;
4414                         _compact_XC_CFD_CONTROL_INFO temp_ptr;
4415                         XC_CFD_CONTROL_INFO *xc_cfdt_control_ptr;
4416                         MS_U32 u32Size = 0;
4417 
4418                         CMP_CPY_FROM_USER(&hdr_ctl_tmp_compact, pArgs, sizeof(XC_CFD_CONTROL_INFO));
4419                         xc_cfd_control_info_compact_ptr = (_compact_XC_CFD_CONTROL_INFO*) hdr_ctl_tmp_compact.pParam;
4420                         hdr_ctl_tmp.pParam = malloc(sizeof(XC_CFD_CONTROL_INFO));
4421                         hdr_ctl_tmp.enCtrlType = hdr_ctl_tmp_compact.enCtrlType;
4422                         hdr_ctl_tmp.eReturnValue = hdr_ctl_tmp_compact.eReturnValue;
4423                         CMP_CPY_FROM_USER(&temp_ptr, xc_cfd_control_info_compact_ptr, sizeof(_compact_XC_CFD_CONTROL_INFO));
4424 
4425                         xc_cfdt_control_ptr = (XC_CFD_CONTROL_INFO*) hdr_ctl_tmp.pParam;
4426 
4427                         xc_cfdt_control_ptr->pParam = malloc(temp_ptr.u32ParamLen);
4428                         xc_cfdt_control_ptr->enCtrlType = temp_ptr.enCtrlType;
4429                         xc_cfdt_control_ptr->u32ParamLen = temp_ptr.u32ParamLen;
4430                         xc_cfdt_control_ptr->u16ErrCode = temp_ptr.u16ErrCode;
4431                         CMP_CPY_FROM_USER(xc_cfdt_control_ptr->pParam,
4432                                           xc_cfd_control_info_compact_ptr->pParam,
4433                                           temp_ptr.u32ParamLen);
4434 
4435                         u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,&hdr_ctl_tmp);
4436                         hdr_ctl_tmp_compact.eReturnValue = hdr_ctl_tmp.eReturnValue;
4437                         CMP_CPY_TO_USER(pArgs,&hdr_ctl_tmp_compact,sizeof(_compact_stXC_HDR_CTRL));
4438 
4439                         free(xc_cfdt_control_ptr->pParam);
4440                         free(hdr_ctl_tmp.pParam);
4441                     }
4442                     else
4443 #endif
4444                     {
4445                         //XC_CFD_CONTROL_INFO xc_cfdt_control
4446                         void *temp_ptr;
4447                         XC_CFD_CONTROL_INFO *xc_cfdt_control_ptr;
4448                         MS_U32 u32Size = 0;
4449 
4450                         CPY_FROM_USER(&hdr_ctl_tmp, pArgs, sizeof(stXC_HDR_CTRL));
4451                         temp_ptr = hdr_ctl_tmp.pParam;
4452                         hdr_ctl_tmp.pParam = malloc(sizeof(XC_CFD_CONTROL_INFO));
4453                         CPY_FROM_USER(hdr_ctl_tmp.pParam, temp_ptr, sizeof(XC_CFD_CONTROL_INFO));
4454 
4455                         xc_cfdt_control_ptr = (XC_CFD_CONTROL_INFO*) hdr_ctl_tmp.pParam;
4456 
4457                         temp_ptr = (void*) xc_cfdt_control_ptr->pParam;
4458                         xc_cfdt_control_ptr->pParam = malloc(xc_cfdt_control_ptr->u32ParamLen);
4459                         CPY_FROM_USER(xc_cfdt_control_ptr->pParam,
4460                                       temp_ptr,
4461                                       xc_cfdt_control_ptr->u32ParamLen);
4462 
4463                         u32Ret = UtopiaIoctl(pInstanceTmp,u32Cmd,&hdr_ctl_tmp);
4464                         CPY_to_USER(pArgs,&hdr_ctl_tmp,sizeof(stXC_HDR_CTRL));
4465 
4466                         free(xc_cfdt_control_ptr->pParam);
4467                         free(hdr_ctl_tmp.pParam);
4468                     }
4469                     break;
4470 
4471                 }
4472 
4473                 default:
4474                 {
4475                     break;
4476                 }
4477             }
4478             break;
4479         }
4480 #endif
4481 #endif
4482 
4483         case E_XC_CMD_SWDS_FIRE:
4484         {
4485             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_XC_SWDS_Fire, spt_XC_SWDS_Fire,buffer_arg,sizeof(buffer_arg));
4486             break;
4487         }
4488 #ifdef UFO_XC_SUPPORT_DUAL_MIU
4489         case E_XC_CMD_ENABLE_DUAL_MODE:
4490         {
4491             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs, spt_XC_ENABLE_DUAL_MODE, spt_XC_ENABLE_DUAL_MODE, buffer_arg,sizeof(buffer_arg));
4492             break;
4493         }
4494 #endif
4495         case E_XC_CMD_SET_SWDR_INFO:
4496         {
4497             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs, spt_XC_SET_SWDR_INFO, spt_XC_SET_SWDR_INFO, buffer_arg,sizeof(buffer_arg));
4498             break;
4499         }
4500         case E_XC_CMD_GET_SWDR_INFO:
4501         {
4502             u32Ret = UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs, spt_XC_GET_SWDR_INFO, spt_XC_GET_SWDR_INFO, buffer_arg,sizeof(buffer_arg));
4503             break;
4504         }
4505         case E_XC_CMD_NONE:
4506         case E_XC_CMD_MAX:
4507         default:
4508         {
4509             printf("Command %ld is not existed\n",u32Cmd);
4510             u32Ret = UTOPIA_STATUS_ERR_INVALID_HANDLE;
4511             break;
4512         }
4513 
4514 
4515     }
4516 
4517     return u32Ret;
4518     // return UtopiaIoctl(pModuleDDI->pInstant,u32Cmd,arg);
4519 }
4520 
XC_adp_Init(FUtopiaIOctl * pIoctl)4521 MS_U32 XC_adp_Init(FUtopiaIOctl* pIoctl)
4522 {
4523     printk("XC_adp_Init\n");
4524 
4525     _XC_adp_Init();
4526     XC_ADC_adp_Init();
4527     XC_AUTO_adp_Init();
4528 
4529     XC_MODEPARSE_adp_Init();
4530     XC_PCMONITOR_adp_Init();
4531     XC_HDMI_if_adp_Init();
4532     *pIoctl= (FUtopiaIOctl)XC_adp_Ioctl;
4533     return 0;
4534 }
4535 
XC_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)4536 MS_U32 XC_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
4537 {
4538     pu32XC_Kernel_Inst = pInstanceTmp;
4539     E_XC_IOCTL_CMDS eCmds = (E_XC_IOCTL_CMDS) u32Cmd;
4540     MS_U32 u32Ret = UTOPIA_STATUS_FAIL;
4541 
4542     if( eCmds >= E_XC_CMD_NUM )
4543     {
4544         printf(" IOCTL command out of bounds, please check!\n");
4545         return UTOPIA_STATUS_NOT_SUPPORTED;
4546     }
4547 
4548     // APIXC
4549     if ((eCmds >= E_XC_CMD_NONE)
4550         && (eCmds <= E_XC_CMD_MAX))
4551     {
4552         u32Ret = _XC_adp_Ioctl(pInstanceTmp, u32Cmd, pArgs);
4553     }
4554     // APIXC_ADC
4555     else if((eCmds >= E_XC_ADC_CMD_NONE)
4556             && (eCmds <= E_XC_ADC_CMD_MAX))
4557     {
4558         u32Ret = XC_ADC_adp_Ioctl(pInstanceTmp, u32Cmd, pArgs);
4559     }
4560     // APIXC_AUTO
4561     else if((eCmds >= E_XC_AUTO_CMD_NONE)
4562             && (eCmds <= E_XC_AUTO_CMD_MAX))
4563     {
4564         u32Ret = XC_AUTO_adp_Ioctl(pInstanceTmp, u32Cmd, pArgs);
4565     }
4566 
4567     // APIXC_MODEPARSE
4568     else if((eCmds >= E_XC_MODEPARSE_CMD_NONE)
4569             && (eCmds <= E_XC_MODEPARSE_CMD_MAX))
4570     {
4571         u32Ret = XC_MODEPARSE_adp_Ioctl(pInstanceTmp, u32Cmd, pArgs);
4572     }
4573     // APIXC_PCMONITOR
4574     else if((eCmds >= E_XC_PCMONITOR_CMD_NONE)
4575             && (eCmds <= E_XC_PCMONITOR_CMD_MAX))
4576     {
4577         u32Ret = XC_PCMONITOR_adp_Ioctl(pInstanceTmp, u32Cmd, pArgs);
4578     }
4579     // DRVXC_HDMI_IF
4580     else if((eCmds >= E_XC_HDMI_IF_CMD_NONE)
4581             && (eCmds <= E_XC_HDMI_IF_CMD_MAX))
4582     {
4583         u32Ret = XC_HDMI_if_adp_Ioctl(pInstanceTmp, u32Cmd, pArgs);
4584     }
4585     // VMARK
4586     else if((eCmds >= E_XC_VMARK_CMD_NONE)
4587             && (eCmds <= E_XC_VMARK_CMD_MAX))
4588     {
4589         u32Ret = _XC_adp_Ioctl(pInstanceTmp, u32Cmd, pArgs);
4590     }
4591 
4592     return u32Ret;
4593 
4594 }
4595 
4596 #endif
4597 
4598 
4599