1 #include <linux/kernel.h>
2 #include <linux/string.h>
3 #include <linux/slab.h>
4 #include <asm/uaccess.h>
5
6 #include "GOP_adp.h"
7 #include "utopia.h"
8 #include "utopia_adp.h"
9 #include "drvGOP.h"
10 #include "apiGOP.h"
11 #include "apiGOP_v2.h"
12 #include "apiGOP_priv.h"
13 #include <linux/compat.h>
14
15 extern spt_MS_NULL;
16
17 //MAPI_CMD_GOP_INIT:
18 #ifdef BIFROST_32BIT_MODE
19 UADP_SPT_NAMEnNXT_DEF(GOP_INIT_pInfo,2);
20 UADP_SPT_NAMEnNXT_DEF(GOP_INIT,1);
21 #else
22 UADP_SPT_NAMEnNXT_DEF(GOP_INIT_pInfo,0);
23 UADP_SPT_NAMEnNXT_DEF(GOP_INIT,1);
24 #endif
25 //MAPI_CMD_GOP_GET_CHIPCAPS:
26 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_WORD_UNIT_WordUnit,0);
27 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_WORD_UNIT,1);
28
29 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_GWIN_NUM_TotalGwinNum,0);
30 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_GWIN_NUM,1);
31
32 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_VERSION_LibVer,0);
33 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_VERSION,1);
34
35 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_CONSALPHA_VALIDBITS_ConsAlpha_bits,0);
36 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_CONSALPHA_VALIDBITS,1);
37
38 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_PALETTE_Pal,0);
39 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_PALETTE,1);
40
41 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_DWIN_DwinCap,0);
42 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_DWIN,1);
43
44 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_GOP_MUX_MuxCap,0);
45 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_GOP_MUX,1);
46
47 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_PIXELMODE_SUPPORT_Support,0);
48 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_PIXELMODE_SUPPORT,1);
49
50 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_STRETCH_A0,0);
51 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_STRETCH,1);
52
53 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_SUPPORT_AFBC_A0,0);
54 UADP_SPT_NAMEnNXT_DEF(GOP_GETCAPS_SUPPORT_AFBC,1);
55
56 //MAPI_CMD_GOP_SET_CONFIG:
57 //MAPI_CMD_GOP_GET_CONFIG:
58 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_IGNOREINIT_IgnoreInit,0);
59 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_IGNOREINIT,1);
60
61 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_CONSALPHA_BITS_AlphaBits,0);
62 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_CONSALPHA_BITS,1);
63
64 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_TIMING_INFO_A0,0);
65 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_TIMING_INFO,1);
66
67 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_IS_PIXEL_ENABLE_A0,0);
68 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_IS_PIXEL_ENABLE,1);
69
70 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_GET_MAXFBNUM_A0,0);
71 UADP_SPT_NAMEnNXT_DEF(GOP_CONFIG_GET_MAXFBNUM,1);
72
73 //MAPI_CMD_GOP_SET_PROPERTY:
74 //MAPI_CMD_GOP_GET_PROPERTY:
75 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_MIUSEL_miusel,0);
76 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_MIUSEL,1);
77
78 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_CONTRAST_RGB,0);
79 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_CONTRAST,1);
80
81 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_BRIGHTNESS_Bri,0);
82 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_BRIGHTNESS,1);
83
84 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_OUTPUT_COLOR_output,0);
85 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_OUTPUT_COLOR,1);
86
87 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_UV_SWAP_bEn,0);
88 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_UV_SWAP,1);
89
90 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_YC_SWAP_bEn,0);
91 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_YC_SWAP,1);
92
93 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_HSTART_PanelHStr,0);
94 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_HSTART,1);
95
96 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_TRANSCOLOR_trans_clr,0);
97 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_TRANSCOLOR,1);
98
99 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_PROGRESSIVE_bEn,0);
100 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_PROGRESSIVE,1);
101
102 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_ALPHAINVERSE_bEn,0);
103 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_ALPHAINVERSE,1);
104
105 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_PREALPHAMODE_bEn,0);
106 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_PREALPHAMODE,1);
107
108 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_FIELD_INVERSE_bEn,0);
109 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_FIELD_INVERSE,1);
110
111 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_HSCALE_RATIO_Hscale,0);
112 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_HSCALE_RATIO,1);
113
114 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_VSCALE_RATIO_Vscale,0);
115 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_VSCALE_RATIO,1);
116
117 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_OUTPUT_TIMING_stInfo,0);
118 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_OUTPUT_TIMING,1);
119
120 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_PIXELBASE_ENABLE_bEn,0);
121 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_PIXELBASE_ENABLE,1);
122
123 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_CLK_DstType,0);
124 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_CLK,1);
125
126 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_FORCE_WRITE_bEn,0);
127 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_FORCE_WRITE,1);
128
129 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_BANK_FORCE_WRITE_bEn,0);
130 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_BANK_FORCE_WRITE,1);
131
132 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_3D_LR_EXCHANGE_u32,0);
133 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_3D_LR_EXCHANGE,1);
134
135 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_VE_OSD_bEn,0);
136 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_VE_OSD,1);
137
138 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_OUTPUT_LAYER_SWITCH_u32,0);
139 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_OUTPUT_LAYER_SWITCH,1);
140
141 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_SWAP_OVERLAP_WIN_win,0);
142 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_SWAP_OVERLAP_WIN,1);
143
144 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_BW_STRENGTH_eGOPBWStr,0);
145 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_BW_STRENGTH,1);
146
147 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_LB_COUPLE_bEn,0);
148 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_LB_COUPLE,1);
149
150 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_YUV_u32,0);
151 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_YUV,1);
152
153 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_REG_UPDATED_Updated,0);
154 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_REG_UPDATED,1);
155
156 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_RELATIVE_WIN_PRIO_GwinPri,0);
157 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_RELATIVE_WIN_PRIO,1);
158
159 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_RESOURCE_u32,0);
160 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_RESOURCE,1);
161
162 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_MAXFBNUM_u32,0);
163 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_MAXFBNUM,1);
164
165 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_MULTI_ALPHA_ENABLE_A0,0);
166 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_MULTI_ALPHA_ENABLE,1);
167
168 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_AFBC_CORE_RESET_A0,0);
169 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_AFBC_CORE_RESET,1);
170
171 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_AFBC_CORE_EN_A0,0);
172 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_AFBC_CORE_EN,1);
173
174 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_TLB_ENABLE_A0,0);
175 UADP_SPT_NAMEnNXT_DEF(GOP_PROPERTY_TLB_ENABLE,1);
176
177 #ifdef BIFROST_32BIT_MODE
178 UADP_SPT_NAMEnNXT_DEF(GOP_INIT_pInfo_noparameter_init,2);
179 UADP_SPT_NAMEnNXT_DEF(GOP_INIT_pInfo_noparameter,1);
180 #else
181 UADP_SPT_NAMEnNXT_DEF(GOP_INIT_pInfo_noparameter_init,0);
182 UADP_SPT_NAMEnNXT_DEF(GOP_INIT_pInfo_noparameter,1);
183 #endif
184
185 //MAPI_CMD_GOP_SET_DST:
186 UADP_SPT_NAMEnNXT_DEF(GOP_SETDST_u32,0);
187 UADP_SPT_NAMEnNXT_DEF(GOP_SETDST,1);
188 //MAPI_CMD_GOP_GET_DST:
189 UADP_SPT_NAMEnNXT_DEF(GOP_GETDST_dst,0);
190 UADP_SPT_NAMEnNXT_DEF(GOP_GETDST,1);
191 //MAPI_CMD_GOP_SET_MUX:
192 UADP_SPT_NAMEnNXT_DEF(GOP_SETMUX_MuxInfo,0);
193 UADP_SPT_NAMEnNXT_DEF(GOP_SETMUX,1);
194 //MAPI_CMD_GOP_SET_LAYER:
195 //MAPI_CMD_GOP_GET_LAYER:
196 UADP_SPT_NAMEnNXT_DEF(GOP_LAYER_LayerInfo,0);
197 UADP_SPT_NAMEnNXT_DEF(GOP_LAYER,1);
198 //MAPI_CMD_GOP_SET_MIRROR:
199 UADP_SPT_NAMEnNXT_DEF(GOP_MIRROR,0);
200 //MAPI_CMD_GOP_GET_MIRROR:
201 UADP_SPT_NAMEnNXT_DEF(GOP_GETMIRROR_PARAM_A0,0);
202 UADP_SPT_NAMEnNXT_DEF(GOP_GETMIRROR_PARAM,1);
203 //MAPI_CMD_GOP_GET_STATUS:
204 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_INIT_Init,0);
205 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_INIT,1);
206
207 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_GOP_MAXNUM_MaxGopNum,0);
208 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_GOP_MAXNUM,1);
209
210 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_GWIN_MAXNUM_GOP_GWIN_NUM,0);
211 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_GWIN_MAXNUM,1);
212
213 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_GWIN_TOTALNUM_GwinNum,0);
214 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_GWIN_TOTALNUM,1);
215
216 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_VERSION_u32,0);
217 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_VERSION,1);
218
219 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_MUX_u32,0);
220 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_MUX,1);
221
222 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_CURRENT_GOP_CurrentGop,0);
223 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_CURRENT_GOP,1);
224
225 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_CURRENT_GWIN_CurrentGwin,0);
226 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_CURRENT_GWIN,1);
227
228 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_CURRENT_FBID_CurrentFbid,0);
229 UADP_SPT_NAMEnNXT_DEF(GOP_STATUS_CURRENT_FBID,1);
230 //MAPI_CMD_GOP_GWIN_SET_STRETCH:
231 //MAPI_CMD_GOP_GWIN_GET_STRETCH:
232 UADP_SPT_NAMEnNXT_DEF(GOP_STRETCH_Stretch,0);
233 UADP_SPT_NAMEnNXT_DEF(GOP_STRETCH,1);
234 //MAPI_CMD_GOP_GWIN_SET_PROPERTY:
235 //MAPI_CMD_GOP_GWIN_GET_PROPERTY:
236 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_BLENDING_bEn,0);
237 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_BLENDING,1);
238
239 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_NEWAPLHA_bEn,0);
240 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_NEWAPLHA,1);
241
242 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_ENABLE_bEn,0);
243 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_ENABLE,1);
244
245 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_BLINK_Rate,0);
246 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_BLINK,1);
247
248 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_SHARE_bEn,0);
249 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_SHARE,1);
250
251 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_SHARE_CNT_SharedCnt,0);
252 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_SHARE_CNT,1);
253
254 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_SWITCH_2_GWIN_u32,0);
255 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_SWITCH_2_GWIN,1);
256
257 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_3D_MODE_3DMode,0);
258 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_3D_MODE,1);
259
260 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_EXIST_Exist,0);
261 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_EXIST,1);
262
263 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_FREE_ID_FreeId,0);
264 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_FREE_ID,1);
265
266 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_GET_FB_FbId,0);
267 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_GET_FB,1);
268
269 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_GET_GOP_GOP,0);
270 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_GET_GOP,1);
271
272 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_GOPTILE_A0,0);
273 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_PROPERTY_GOPTILE,1);
274
275 //MAPI_CMD_GOP_GWIN_MAPFB2WIN:
276 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_MAPFBINFO_Set,0);
277 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_MAPFBINFO,1);
278 //MAPI_CMD_GOP_GWIN_SET_WININFO:
279 //MAPI_CMD_GOP_GWIN_GET_WININFO:
280 #ifdef BIFROST_32BIT_MODE
281 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_SETWININFO_info,1);
282 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_SETWININFO,1);
283 #else
284 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_SETWININFO_info,0);
285 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_SETWININFO,1);
286 #endif
287 //MAPI_CMD_GOP_GWIN_SETDISPLAY:
288 #ifdef BIFROST_32BIT_MODE
289 UADP_SPT_NAMEnNXT_DEF(GOP_GwinInfo_A0,1);
290 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_DISPLAY_DisplayInfo,1);
291 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_DISPLAY,1);
292 #else
293 UADP_SPT_NAMEnNXT_DEF(GOP_GwinInfo_A0,0);
294 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_DISPLAY_DisplayInfo,1);
295 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_DISPLAY,1);
296 #endif
297 //MAPI_CMD_GOP_GWIN_DESTROY:
298 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_DESTROY_ptr,0);
299 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_DESTROY,1);
300 //MAPI_CMD_GOP_GFLIP_CLEARQUEUE:
301 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_CLEARQUEUE_ClearInfo,0);
302 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_CLEARQUEUE,1);
303 //MAPI_CMD_GOP_GFLIP_SWITCHGWIN:
304 #ifdef BIFROST_32BIT_MODE
305 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo_pQueueCnt,0);
306 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo,3);
307 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_GWIN,1);
308 #else
309 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo_pQueueCnt,0);
310 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo,1);
311 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_GWIN,1);
312 #endif
313 //MAPI_CMD_GOP_GFLIP_SWITCHMULTIGWIN:
314 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_MULTI_Info,3);
315 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN_MultiFlipInfo,1);
316 UADP_SPT_NAMEnNXT_DEF(GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN,1);
317 //MAPI_CMD_GOP_GFLIP_RESTORE_VSYNC_LMT:
318
319 //MAPI_CMD_GOP_SET_PINPON:
320 UADP_SPT_NAMEnNXT_DEF(GOP_SET_PINPON_PINPON_PINPONInfo,0);
321 UADP_SPT_NAMEnNXT_DEF(GOP_SET_PINPON_PINPON,1);
322
323 //MAPI_CMD_GOP_FB_CREATE:
324 #ifdef BIFROST_32BIT_MODE
325 UADP_SPT_NAMEnNXT_DEF(GOP_CREATE_BUFFER_BufInfo,1);
326 UADP_SPT_NAMEnNXT_DEF(GOP_CREATE_BUFFER,1);
327 #else
328 UADP_SPT_NAMEnNXT_DEF(GOP_CREATE_BUFFER_BufInfo,0);
329 UADP_SPT_NAMEnNXT_DEF(GOP_CREATE_BUFFER,1);
330 #endif
331 //MAPI_CMD_GOP_FB_DESTROY:
332 UADP_SPT_NAMEnNXT_DEF(GOP_DELETE_BUFFER_BufId,0);
333 UADP_SPT_NAMEnNXT_DEF(GOP_DELETE_BUFFER,1);
334 //MAPI_CMD_GOP_FB_GETINFO:
335 //MAPI_CMD_GOP_FB_SETINFO:
336 #ifdef BIFROST_32BIT_MODE
337 UADP_SPT_NAMEnNXT_DEF(GOP_FB_INFO_BufInfo,1);
338 UADP_SPT_NAMEnNXT_DEF(GOP_FB_INFO,1);
339 #else
340 UADP_SPT_NAMEnNXT_DEF(GOP_FB_INFO_BufInfo,0);
341 UADP_SPT_NAMEnNXT_DEF(GOP_FB_INFO,1);
342 #endif
343 //MAPI_CMD_GOP_FB_SET_PROPERTY:
344 //MAPI_CMD_GOP_FB_GET_PROPERTY:
345 UADP_SPT_NAMEnNXT_DEF(GOP_FB_PROPERTY_POOLID_Pool,0);
346 UADP_SPT_NAMEnNXT_DEF(GOP_FB_PROPERTY_POOLID,1);
347
348 UADP_SPT_NAMEnNXT_DEF(GOP_FB_PROPERTY_EXIST_Exist,0);
349 UADP_SPT_NAMEnNXT_DEF(GOP_FB_PROPERTY_EXIST,1);
350
351 UADP_SPT_NAMEnNXT_DEF(GOP_FB_PROPERTY_OBTAIN_1,0);
352 UADP_SPT_NAMEnNXT_DEF(GOP_FB_PROPERTY_OBTAIN,1);
353
354 //MAPI_CMD_GOP_PALETTE_SET_CONFIG:
355 UADP_SPT_NAMEnNXT_DEF(GOP_PALETTE_CONFIG_PaletteInfo,0);
356 UADP_SPT_NAMEnNXT_DEF(GOP_PALETTE_CONFIG,1);
357 //MAPI_CMD_GOP_PALETTE_SET_ENTRY:
358 //MAPI_CMD_GOP_PALETTE_GET_ENTRY:
359 UADP_SPT_NAMEnNXT_DEF(GOP_PALETTE_SET_ENTRY_A0B0,0);
360 UADP_SPT_NAMEnNXT_DEF(GOP_PALETTE_SET_ENTRY_A0,1);
361 UADP_SPT_NAMEnNXT_DEF(GOP_PALETTE_SET_ENTRY,1);
362
363 //MAPI_CMD_GOP_SET_SCROLL:
364 UADP_SPT_NAMEnNXT_DEF(GOP_SCROLL_CONFIG_ScrollInfo,0);
365 UADP_SPT_NAMEnNXT_DEF(GOP_SCROLL_CONFIG,1);
366
367 UADP_SPT_NAMEnNXT_DEF(GOP_SCROLL_RATE_rate,0);
368 UADP_SPT_NAMEnNXT_DEF(GOP_SCROLL_RATE,1);
369 //MAPI_CMD_GOP_GWIN_SET_FADE:
370 UADP_SPT_NAMEnNXT_DEF(GOP_SET_FADE_CONFIG_FadeInfo,0);
371 UADP_SPT_NAMEnNXT_DEF(GOP_SET_FADE_CONFIG,1);
372 //MAPI_CMD_GOP_DWIN_INIT:
373
374 //MAPI_CMD_GOP_DWIN_CAPTURE:
375 #ifdef BIFROST_32BIT_MODE
376 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_CAPTURE_Dwin,4);
377 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_CAPTURE,1);
378 #else
379 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_CAPTURE_Dwin,0);
380 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_CAPTURE,1);
381 #endif
382 //MAPI_CMD_GOP_DWIN_INTR:
383 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_INTR_STATUS_CONTROL_IntrCtrl,0);
384 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_INTR_STATUS_CONTROL,1);
385
386 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_INTR_STATUS_GETINFO_Intr,0);
387 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_INTR_STATUS_GETINFO,1);
388
389 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_INTR_STATUS_GETINFO_TIMEOUT_Timeout,0);
390 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_INTR_STATUS_GETINFO_TIMEOUT,1);
391 //MAPI_CMD_GOP_DWIN_SET_PROPERTY:
392 //MAPI_CMD_GOP_DWIN_GET_PROPERTY:
393 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_R2Y_bEn,0);
394 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_R2Y,1);
395
396 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_UV_SWAP_bEn,0);
397 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_UV_SWAP,1);
398
399 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_UV_SAMPLE_enMode,0);
400 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_UV_SAMPLE,1);
401
402 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_SOURCE_SCAN_TYPE_enMode,0);
403 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_SOURCE_SCAN_TYPE,1);
404
405 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_ALPHA_VALUE_Value,0);
406 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_ALPHA_VALUE,1);
407
408 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_ALPHA_SOURCE_enSource,0);
409 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_ALPHA_SOURCE,1);
410
411 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_ALPHA_INVERSE_bEn,0);
412 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_ALPHA_INVERSE,1);
413
414 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_SKIP_FRAME_Count,0);
415 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_SKIP_FRAME,1);
416 #ifdef BIFROST_32BIT_MODE
417 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_PINPON_Pinpon,2);
418 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_PINPON,1);
419 #else
420 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_PINPON_Pinpon,0);
421 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_PINPON,1);
422 #endif
423 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_INTERRUP_INFO_u32,0);
424 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_INTERRUP_INFO,1);
425
426 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_CAPTURE_INFO_u32,0);
427 UADP_SPT_NAMEnNXT_DEF(GOP_DWIN_PROPERTY_CAPTURE_INFO,1);
428 //MAPI_CMD_GOP_MIXER_SET_PROPERTY:
429 //MAPI_CMD_GOP_MIXER_GET_PROPERTY:
430 UADP_SPT_NAMEnNXT_DEF(GOP_MIXER_PROPERTY_OUTPUT_TIMING_MTInfo,0);
431 UADP_SPT_NAMEnNXT_DEF(GOP_MIXER_PROPERTY_OUTPUT_TIMING,1);
432
433 UADP_SPT_NAMEnNXT_DEF(GOP_MIXER_PROPERTY_TO_OP_OUTPUT_TIMING_MT,0);
434 UADP_SPT_NAMEnNXT_DEF(GOP_MIXER_PROPERTY_TO_OP_OUTPUT_TIMING,1);
435
436 UADP_SPT_NAMEnNXT_DEF(GOP_MIXER_PROPERTY_V_FILTER_bEn,0);
437 UADP_SPT_NAMEnNXT_DEF(GOP_MIXER_PROPERTY_V_FILTER,1);
438
439 UADP_SPT_NAMEnNXT_DEF(GOP_MIXER_PROPERTY_OLD_BLENDING_MODE_MOBM,0);
440 UADP_SPT_NAMEnNXT_DEF(GOP_MIXER_PROPERTY_OLD_BLENDING_MODE,1);
441 //MAPI_CMD_GOP_VE_SET_PROPERTY:
442 UADP_SPT_NAMEnNXT_DEF(GOP_VE_PROPERTY_OUTPUT_TIMING_VEInfo,0);
443 UADP_SPT_NAMEnNXT_DEF(GOP_VE_PROPERTY_OUTPUT_TIMING,1);
444 //MAPI_CMD_GOP_UPDATE:
445 UADP_SPT_NAMEnNXT_DEF(GOP_UPDATE_UpdateInfo,0);
446 UADP_SPT_NAMEnNXT_DEF(GOP_UPDATE,1);
447 //MAPI_CMD_GOP_REGISTER_CB:
448 UADP_SPT_NAMEnNXT_DEF(GOP_CB_INTERLACE_A0, 0);
449 UADP_SPT_NAMEnNXT_DEF(GOP_CB_INTERLACE,1);
450
451 UADP_SPT_NAMEnNXT_DEF(GOP_CB_HSTART_A0, 0);
452 UADP_SPT_NAMEnNXT_DEF(GOP_CB_HSTART,1);
453 //MAPI_CMD_GOP_TESTPATTERN:
454 UADP_SPT_NAMEnNXT_DEF(GOP_TESTPATTERN, 0);
455 //MAPI_CMD_GOP_SELECTION:
456 UADP_SPT_NAMEnNXT_DEF(GOP_SELECTION_SELGOP_A0, 0);
457 UADP_SPT_NAMEnNXT_DEF(GOP_SELECTION_SELGOP,1);
458
459 UADP_SPT_NAMEnNXT_DEF(GOP_SELECTION_SELGWIN_A0, 0);
460 UADP_SPT_NAMEnNXT_DEF(GOP_SELECTION_SELGWIN,1);
461
462 #ifdef BIFROST_32BIT_MODE
463 UADP_SPT_NAMEnNXT_DEF(GOP_SELECTION_SELFB_A0, 1);
464 UADP_SPT_NAMEnNXT_DEF(GOP_SELECTION_SELFB,1);
465 #else
466 UADP_SPT_NAMEnNXT_DEF(GOP_SELECTION_SELFB_A0, 0);
467 UADP_SPT_NAMEnNXT_DEF(GOP_SELECTION_SELFB,1);
468 #endif
469 //MAPI_CMD_GOP_MUTEX:
470 UADP_SPT_NAMEnNXT_DEF(GOP_MUTEX_pSet,0);
471 UADP_SPT_NAMEnNXT_DEF(GOP_MUTEX,1);
472 //MAPI_CMD_GOP_MISC:
473 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_ENABLE_T3D_bEn,0);
474 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_ENABLE_T3D,1);
475
476 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_SET_CAPTURE_CLK_u32,0);
477 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_SET_CAPTURE_CLK,1);
478
479 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_POWER_OFF_u32,0);
480 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_POWER_OFF,1);
481
482 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_POWER_ON_u32,0);
483 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_POWER_ON,1);
484
485 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_GET_RT_STATUS_GopApiSts,0);
486 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_GET_RT_STATUS,1);
487
488 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_GET_INFO_GopApiInfo,0);
489 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_GET_INFO,1);
490
491 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_AT_EXIT_u32,0);
492 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_AT_EXIT,1);
493
494 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_OC_FB_INFO_OCFbInfo,0);
495 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_OC_FB_INFO,1);
496
497 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_TESTPATTERN_ALPHA_bEn,0);
498 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_TESTPATTERN_ALPHA,1);
499
500 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_DELETE_GWINSIZE_A0,0);
501 UADP_SPT_NAMEnNXT_DEF(GOP_MISC_DELETE_GWINSIZE,1);
502
503 //MAPI_CMD_GOP_RESETPOOL:
504
505 UADP_SPT_NAMEnNXT_DEF(GOP_POWERSTATE_PARAM_A0,0);
506 UADP_SPT_NAMEnNXT_DEF(GOP_POWERSTATE_PARAM,1);
507
508 #ifdef CONFIG_COMPAT
509 typedef struct GOP_PALETTE_SET_PARAM_32
510 {
511 compat_uint_t type;
512 compat_uptr_t pClut;
513 compat_uint_t u32Size;
514 }GOP_PALETTE_SET_PARAM_32;
515
516
517 typedef struct GOP_PALETTE_ENTRY_32
518 {
519 compat_uint_t gop_idx;
520 compat_uint_t start;
521 compat_uint_t end;
522 compat_uptr_t pClut;
523 compat_uint_t palType;
524 compat_uint_t palSrc;
525 }GOP_PALETTE_ENTRY_32;
526 #endif
527
528
GOP_adp_Init(FUtopiaIOctl * pIoctl)529 MS_U32 GOP_adp_Init(FUtopiaIOctl* pIoctl)
530 {
531 //MAPI_CMD_GOP_INIT
532 #ifdef BIFROST_32BIT_MODE
533 UADP_SDT_NAME2(GOP_INIT_pInfo,GOP_InitInfo,UADP_SDT_AT,u32GOPRBAdr,MS_NULL,UADP_SDT_AT,u32GOPRegdmaAdr,MS_NULL);
534 #else
535 UADP_SDT_NAME0(GOP_INIT_pInfo,GOP_InitInfo);
536 #endif
537 UADP_SPT_NAME1NXT(GOP_INIT,GOP_INIT_PARAM,pInfo,GOP_INIT_pInfo);
538 //MAPI_CMD_GOP_GET_CHIPCAPS:
539 UADP_SPT_NAME0NXT(GOP_GETCAPS_WORD_UNIT_WordUnit,MS_U16);
540 UADP_SPT_NAME1NXT(GOP_GETCAPS_WORD_UNIT,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_WORD_UNIT_WordUnit);
541
542 UADP_SPT_NAME0NXT(GOP_GETCAPS_GWIN_NUM_TotalGwinNum,MS_U16);
543 UADP_SPT_NAME1NXT(GOP_GETCAPS_GWIN_NUM,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_GWIN_NUM_TotalGwinNum);
544
545 UADP_SPT_NAME0NXT(GOP_GETCAPS_VERSION_LibVer,GOP_LIB_VER);
546 UADP_SPT_NAME1NXT(GOP_GETCAPS_VERSION,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_VERSION_LibVer);
547
548 UADP_SPT_NAME0NXT(GOP_GETCAPS_CONSALPHA_VALIDBITS_ConsAlpha_bits,DRV_GOP_CONSALPHA_BITS);
549 UADP_SPT_NAME1NXT(GOP_GETCAPS_CONSALPHA_VALIDBITS,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_CONSALPHA_VALIDBITS_ConsAlpha_bits);
550
551 UADP_SPT_NAME0NXT(GOP_GETCAPS_PALETTE_Pal,GOP_CAP_PAL_TYPE);
552 UADP_SPT_NAME1NXT(GOP_GETCAPS_PALETTE,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_PALETTE_Pal);
553
554 UADP_SPT_NAME0NXT(GOP_GETCAPS_DWIN_DwinCap,GOP_DWIN_CAP);
555 UADP_SPT_NAME1NXT(GOP_GETCAPS_DWIN,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_DWIN_DwinCap);
556
557 UADP_SPT_NAME0NXT(GOP_GETCAPS_GOP_MUX_MuxCap,ST_DRV_GOP_MUX_CAP_EX);
558 UADP_SPT_NAME1NXT(GOP_GETCAPS_GOP_MUX,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_GOP_MUX_MuxCap);
559
560 UADP_SPT_NAME0NXT(GOP_GETCAPS_PIXELMODE_SUPPORT_Support,MS_BOOL);
561 UADP_SPT_NAME1NXT(GOP_GETCAPS_PIXELMODE_SUPPORT,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_PIXELMODE_SUPPORT_Support);
562
563 UADP_SPT_NAME0NXT(GOP_GETCAPS_STRETCH_A0,GOP_CAP_STRETCH_INFO);
564 UADP_SPT_NAME1NXT(GOP_GETCAPS_STRETCH,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_STRETCH_A0);
565
566 UADP_SPT_NAME0NXT(GOP_GETCAPS_SUPPORT_AFBC_A0,GOP_CAP_AFBC_INFO);
567 UADP_SPT_NAME1NXT(GOP_GETCAPS_SUPPORT_AFBC,GOP_GETCAPS_PARAM,pInfo,GOP_GETCAPS_SUPPORT_AFBC_A0);
568
569 //MAPI_CMD_GOP_SET_CONFIG:
570 //MAPI_CMD_GOP_GET_CONFIG:
571 UADP_SPT_NAME0NXT(GOP_CONFIG_IGNOREINIT_IgnoreInit,EN_GOP_IGNOREINIT);
572 UADP_SPT_NAME1NXT(GOP_CONFIG_IGNOREINIT,GOP_SETCONFIG_PARAM,pCfg,GOP_CONFIG_IGNOREINIT_IgnoreInit);
573
574 UADP_SPT_NAME0NXT(GOP_CONFIG_CONSALPHA_BITS_AlphaBits,DRV_GOP_CONSALPHA_BITS);
575 UADP_SPT_NAME1NXT(GOP_CONFIG_CONSALPHA_BITS,GOP_SETCONFIG_PARAM,pCfg,GOP_CONFIG_CONSALPHA_BITS_AlphaBits);
576
577 UADP_SPT_NAME0NXT(GOP_CONFIG_TIMING_INFO_A0,ST_GOP_TIMING_INFO);
578 UADP_SPT_NAME1NXT(GOP_CONFIG_TIMING_INFO,GOP_SETCONFIG_PARAM,pCfg,GOP_CONFIG_TIMING_INFO_A0);
579
580 UADP_SPT_NAME0NXT(GOP_CONFIG_IS_PIXEL_ENABLE_A0,MS_BOOL);
581 UADP_SPT_NAME1NXT(GOP_CONFIG_IS_PIXEL_ENABLE,GOP_SETCONFIG_PARAM,pCfg,GOP_CONFIG_IS_PIXEL_ENABLE_A0);
582
583 UADP_SPT_NAME0NXT(GOP_CONFIG_GET_MAXFBNUM_A0,EN_GOP_DST_TYPE);
584 UADP_SPT_NAME1NXT(GOP_CONFIG_GET_MAXFBNUM,GOP_SETCONFIG_PARAM,pCfg,GOP_CONFIG_GET_MAXFBNUM_A0);
585
586 //MAPI_CMD_GOP_SET_PROPERTY:
587 //MAPI_CMD_GOP_GET_PROPERTY:
588 UADP_SPT_NAME0NXT(GOP_PROPERTY_MIUSEL_miusel,EN_GOP_SEL_TYPE);
589 UADP_SPT_NAME1NXT(GOP_PROPERTY_MIUSEL,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_MIUSEL_miusel);
590
591 UADP_SPT_NAME0NXT(GOP_PROPERTY_CONTRAST_RGB,GOP_CONTRAST);
592 UADP_SPT_NAME1NXT(GOP_PROPERTY_CONTRAST,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_CONTRAST_RGB);
593
594 UADP_SPT_NAME0NXT(GOP_PROPERTY_BRIGHTNESS_Bri,GOP_BRIGHTNESS);
595 UADP_SPT_NAME1NXT(GOP_PROPERTY_BRIGHTNESS,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_BRIGHTNESS_Bri);
596
597 UADP_SPT_NAME0NXT(GOP_PROPERTY_OUTPUT_COLOR_output,EN_GOP_OUTPUT_COLOR);
598 UADP_SPT_NAME1NXT(GOP_PROPERTY_OUTPUT_COLOR,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_OUTPUT_COLOR_output);
599
600 UADP_SPT_NAME0NXT(GOP_PROPERTY_UV_SWAP_bEn,MS_BOOL);
601 UADP_SPT_NAME1NXT(GOP_PROPERTY_UV_SWAP,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_UV_SWAP_bEn);
602
603 UADP_SPT_NAME0NXT(GOP_PROPERTY_YC_SWAP_bEn,MS_BOOL);
604 UADP_SPT_NAME1NXT(GOP_PROPERTY_YC_SWAP,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_YC_SWAP_bEn);
605
606 UADP_SPT_NAME0NXT(GOP_PROPERTY_HSTART_PanelHStr,MS_U16);
607 UADP_SPT_NAME1NXT(GOP_PROPERTY_HSTART,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_HSTART_PanelHStr);
608
609 UADP_SPT_NAME0NXT(GOP_PROPERTY_TRANSCOLOR_trans_clr,GOP_TRANSCOLOR);
610 UADP_SPT_NAME1NXT(GOP_PROPERTY_TRANSCOLOR,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_TRANSCOLOR_trans_clr);
611
612 UADP_SPT_NAME0NXT(GOP_PROPERTY_PROGRESSIVE_bEn,MS_BOOL);
613 UADP_SPT_NAME1NXT(GOP_PROPERTY_PROGRESSIVE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_PROGRESSIVE_bEn);
614
615 UADP_SPT_NAME0NXT(GOP_PROPERTY_ALPHAINVERSE_bEn,MS_BOOL);
616 UADP_SPT_NAME1NXT(GOP_PROPERTY_ALPHAINVERSE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_ALPHAINVERSE_bEn);
617
618 UADP_SPT_NAME0NXT(GOP_PROPERTY_PREALPHAMODE_bEn,MS_BOOL);
619 UADP_SPT_NAME1NXT(GOP_PROPERTY_PREALPHAMODE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_PREALPHAMODE_bEn);
620
621 UADP_SPT_NAME0NXT(GOP_PROPERTY_FIELD_INVERSE_bEn,MS_BOOL);
622 UADP_SPT_NAME1NXT(GOP_PROPERTY_FIELD_INVERSE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_FIELD_INVERSE_bEn);
623
624 UADP_SPT_NAME0NXT(GOP_PROPERTY_HSCALE_RATIO_Hscale,MS_U16);
625 UADP_SPT_NAME1NXT(GOP_PROPERTY_HSCALE_RATIO,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_HSCALE_RATIO_Hscale);
626
627 UADP_SPT_NAME0NXT(GOP_PROPERTY_VSCALE_RATIO_Vscale,MS_U16);
628 UADP_SPT_NAME1NXT(GOP_PROPERTY_VSCALE_RATIO,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_VSCALE_RATIO_Vscale);
629
630 UADP_SPT_NAME0NXT(GOP_PROPERTY_OUTPUT_TIMING_stInfo,ST_GOP_TIMING_INFO);
631 UADP_SPT_NAME1NXT(GOP_PROPERTY_OUTPUT_TIMING,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_OUTPUT_TIMING_stInfo);
632
633 UADP_SPT_NAME0NXT(GOP_PROPERTY_PIXELBASE_ENABLE_bEn,MS_BOOL);
634 UADP_SPT_NAME1NXT(GOP_PROPERTY_PIXELBASE_ENABLE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_PIXELBASE_ENABLE_bEn);
635
636 UADP_SPT_NAME0NXT(GOP_PROPERTY_CLK_DstType,EN_GOP_DST_TYPE);
637 UADP_SPT_NAME1NXT(GOP_PROPERTY_CLK,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_CLK_DstType);
638
639 UADP_SPT_NAME0NXT(GOP_PROPERTY_FORCE_WRITE_bEn,MS_BOOL);
640 UADP_SPT_NAME1NXT(GOP_PROPERTY_FORCE_WRITE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_FORCE_WRITE_bEn);
641
642 UADP_SPT_NAME0NXT(GOP_PROPERTY_BANK_FORCE_WRITE_bEn,MS_BOOL);
643 UADP_SPT_NAME1NXT(GOP_PROPERTY_BANK_FORCE_WRITE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_BANK_FORCE_WRITE_bEn);
644
645 UADP_SPT_NAME0NXT(GOP_PROPERTY_3D_LR_EXCHANGE_u32,MS_U32);
646 UADP_SPT_NAME1NXT(GOP_PROPERTY_3D_LR_EXCHANGE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_3D_LR_EXCHANGE_u32);
647
648 UADP_SPT_NAME0NXT(GOP_PROPERTY_VE_OSD_bEn,MS_BOOL);
649 UADP_SPT_NAME1NXT(GOP_PROPERTY_VE_OSD,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_VE_OSD_bEn);
650
651 UADP_SPT_NAME0NXT(GOP_PROPERTY_OUTPUT_LAYER_SWITCH_u32,MS_U32);
652 UADP_SPT_NAME1NXT(GOP_PROPERTY_OUTPUT_LAYER_SWITCH,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_OUTPUT_LAYER_SWITCH_u32);
653
654 UADP_SPT_NAME0NXT(GOP_PROPERTY_SWAP_OVERLAP_WIN_win,MS_U8);
655 UADP_SPT_NAME1NXT(GOP_PROPERTY_SWAP_OVERLAP_WIN,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_SWAP_OVERLAP_WIN_win);
656
657 UADP_SPT_NAME0NXT(GOP_PROPERTY_BW_STRENGTH_eGOPBWStr,EN_GOP_BW_STRENGTH);
658 UADP_SPT_NAME1NXT(GOP_PROPERTY_BW_STRENGTH,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_BW_STRENGTH_eGOPBWStr);
659
660 UADP_SPT_NAME0NXT(GOP_PROPERTY_LB_COUPLE_bEn,MS_BOOL);
661 UADP_SPT_NAME1NXT(GOP_PROPERTY_LB_COUPLE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_LB_COUPLE_bEn);
662
663 UADP_SPT_NAME0NXT(GOP_PROPERTY_YUV_u32,MS_U32);
664 UADP_SPT_NAME1NXT(GOP_PROPERTY_YUV,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_YUV_u32);
665
666 UADP_SPT_NAME0NXT(GOP_PROPERTY_REG_UPDATED_Updated,MS_BOOL);
667 UADP_SPT_NAME1NXT(GOP_PROPERTY_REG_UPDATED,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_REG_UPDATED_Updated);
668
669 UADP_SPT_NAME0NXT(GOP_PROPERTY_RELATIVE_WIN_PRIO_GwinPri,GOP_GwinPri);
670 UADP_SPT_NAME1NXT(GOP_PROPERTY_RELATIVE_WIN_PRIO,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_RELATIVE_WIN_PRIO_GwinPri);
671
672 UADP_SPT_NAME0NXT(GOP_PROPERTY_RESOURCE_u32,MS_U32);
673 UADP_SPT_NAME1NXT(GOP_PROPERTY_RESOURCE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_RESOURCE_u32);
674
675 UADP_SPT_NAME0NXT(GOP_PROPERTY_MAXFBNUM_u32,MS_U32);
676 UADP_SPT_NAME1NXT(GOP_PROPERTY_MAXFBNUM,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_MAXFBNUM_u32);
677
678 UADP_SPT_NAME0NXT(GOP_PROPERTY_MULTI_ALPHA_ENABLE_A0,MS_BOOL);
679 UADP_SPT_NAME1NXT(GOP_PROPERTY_MULTI_ALPHA_ENABLE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_MULTI_ALPHA_ENABLE_A0);
680
681 UADP_SPT_NAME0NXT(GOP_PROPERTY_AFBC_CORE_RESET_A0,MS_BOOL);
682 UADP_SPT_NAME1NXT(GOP_PROPERTY_AFBC_CORE_RESET,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_AFBC_CORE_RESET_A0);
683
684 UADP_SPT_NAME0NXT(GOP_PROPERTY_AFBC_CORE_EN_A0,MS_BOOL);
685 UADP_SPT_NAME1NXT(GOP_PROPERTY_AFBC_CORE_EN,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_AFBC_CORE_EN_A0);
686
687 UADP_SPT_NAME0NXT(GOP_PROPERTY_TLB_ENABLE_A0,MS_BOOL);
688 UADP_SPT_NAME1NXT(GOP_PROPERTY_TLB_ENABLE,GOP_SET_PROPERTY_PARAM,pSetting,GOP_PROPERTY_TLB_ENABLE_A0);
689
690 #ifdef BIFROST_32BIT_MODE
691 UADP_SDT_NAME2(GOP_INIT_pInfo_noparameter_init,GOP_InitInfo,UADP_SDT_AT,u32GOPRBAdr,MS_NULL,UADP_SDT_AT,u32GOPRegdmaAdr,MS_NULL);
692 #else
693 UADP_SDT_NAME0(GOP_INIT_pInfo_noparameter_init,GOP_InitInfo);
694 #endif
695 UADP_SPT_NAME1NXT(GOP_INIT_pInfo_noparameter,GOP_SET_PROPERTY_PARAM,pSetting,GOP_INIT_pInfo_noparameter_init);
696
697 //MAPI_CMD_GOP_SET_DST:
698 UADP_SPT_NAME0NXT(GOP_SETDST_u32,MS_U32);
699 UADP_SPT_NAME1NXT(GOP_SETDST,GOP_SETDST_PARAM,pDst,GOP_SETDST_u32);
700 //MAPI_CMD_GOP_GET_DST:
701 UADP_SPT_NAME0NXT(GOP_GETDST_dst,DRV_GOPDstType);
702 UADP_SPT_NAME1NXT(GOP_GETDST,GOP_GETDST_PARAM,pDst,GOP_GETDST_dst);
703 //MAPI_CMD_GOP_SET_MUX:
704 UADP_SPT_NAME0NXT(GOP_SETMUX_MuxInfo,GOP_SETMUX);
705 UADP_SPT_NAME1NXT(GOP_SETMUX,GOP_SETMUX_PARAM,pMuxInfo,GOP_SETMUX_MuxInfo);
706 //MAPI_CMD_GOP_SET_LAYER:
707 //MAPI_CMD_GOP_GET_LAYER:
708 UADP_SPT_NAME0NXT(GOP_LAYER_LayerInfo,GOP_SETLayer);
709 UADP_SPT_NAME1NXT(GOP_LAYER,GOP_SETLAYER_PARAM,pLayerInfo,GOP_LAYER_LayerInfo);
710 //MAPI_CMD_GOP_SET_MIRROR:
711 //MAPI_CMD_GOP_GET_MIRROR:
712 UADP_SPT_NAME0NXT(GOP_MIRROR,GOP_SETMIRROR_PARAM);
713 //MAPI_CMD_GOP_GET_STATUS:
714 UADP_SPT_NAME0NXT(GOP_STATUS_INIT_Init,GOP_INIT_STATUS);
715 UADP_SPT_NAME1NXT(GOP_STATUS_INIT,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_INIT_Init);
716
717 UADP_SPT_NAME0NXT(GOP_STATUS_GOP_MAXNUM_MaxGopNum,MS_U8);
718 UADP_SPT_NAME1NXT(GOP_STATUS_GOP_MAXNUM,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_GOP_MAXNUM_MaxGopNum);
719
720 UADP_SPT_NAME0NXT(GOP_STATUS_GWIN_MAXNUM_GOP_GWIN_NUM,GOP_GWIN_NUM);
721 UADP_SPT_NAME1NXT(GOP_STATUS_GWIN_MAXNUM,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_GWIN_MAXNUM_GOP_GWIN_NUM);
722
723 UADP_SPT_NAME0NXT(GOP_STATUS_GWIN_TOTALNUM_GwinNum,MS_U8);
724 UADP_SPT_NAME1NXT(GOP_STATUS_GWIN_TOTALNUM,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_GWIN_TOTALNUM_GwinNum);
725
726 UADP_SPT_NAME0NXT(GOP_STATUS_VERSION_u32,MS_U32);
727 UADP_SPT_NAME1NXT(GOP_STATUS_VERSION,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_VERSION_u32);
728
729 UADP_SPT_NAME0NXT(GOP_STATUS_MUX_u32,MS_U32);
730 UADP_SPT_NAME1NXT(GOP_STATUS_MUX,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_MUX_u32);
731
732 UADP_SPT_NAME0NXT(GOP_STATUS_CURRENT_GOP_CurrentGop, MS_U32);
733 UADP_SPT_NAME1NXT(GOP_STATUS_CURRENT_GOP,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_CURRENT_GOP_CurrentGop);
734
735 UADP_SPT_NAME0NXT(GOP_STATUS_CURRENT_GWIN_CurrentGwin,MS_U32);
736 UADP_SPT_NAME1NXT(GOP_STATUS_CURRENT_GWIN,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_CURRENT_GWIN_CurrentGwin);
737
738 UADP_SPT_NAME0NXT(GOP_STATUS_CURRENT_FBID_CurrentFbid,MS_U32);
739 UADP_SPT_NAME1NXT(GOP_STATUS_CURRENT_FBID,GOP_GET_STATUS_PARAM,pStatus,GOP_STATUS_CURRENT_FBID_CurrentFbid);
740 //MAPI_CMD_GOP_GWIN_SET_STRETCH:
741 //MAPI_CMD_GOP_GWIN_GET_STRETCH:
742 UADP_SPT_NAME0NXT(GOP_STRETCH_Stretch,GOP_STRETCH_INFO);
743 UADP_SPT_NAME1NXT(GOP_STRETCH,GOP_STRETCH_SET_PARAM,pStretch,GOP_STRETCH_Stretch);
744 //MAPI_CMD_GOP_GWIN_SET_PROPERTY:
745 //MAPI_CMD_GOP_GWIN_GET_PROPERTY:
746 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_BLENDING_bEn,GOP_GWIN_BLENDING);
747 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_BLENDING,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_BLENDING_bEn);
748
749 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_NEWAPLHA_bEn,MS_BOOL);
750 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_NEWAPLHA,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_NEWAPLHA_bEn);
751
752 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_ENABLE_bEn,MS_BOOL);
753 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_ENABLE,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_ENABLE_bEn);
754
755 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_BLINK_Rate,GOP_GWIN_BLINK);
756 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_BLINK,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_BLINK_Rate);
757
758 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_SHARE_bEn,MS_BOOL);
759 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_SHARE,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_SHARE_bEn);
760
761 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_SHARE_CNT_SharedCnt,MS_U16);
762 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_SHARE_CNT,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_SHARE_CNT_SharedCnt);
763
764 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_SWITCH_2_GWIN_u32,MS_U32);
765 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_SWITCH_2_GWIN,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_SWITCH_2_GWIN_u32);
766
767 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_3D_MODE_3DMode,GOP_GWIN_3D_MODE);
768 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_3D_MODE,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_3D_MODE_3DMode);
769
770 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_EXIST_Exist,MS_U8);
771 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_EXIST,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_EXIST_Exist);
772
773 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_FREE_ID_FreeId,MS_U8);
774 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_FREE_ID,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_FREE_ID_FreeId);
775
776 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_GET_FB_FbId,MS_U32);
777 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_GET_FB,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_GET_FB_FbId);
778
779 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_GET_GOP_GOP,MS_U32);
780 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_GET_GOP,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_GET_GOP_GOP);
781
782 UADP_SPT_NAME0NXT(GOP_GWIN_PROPERTY_GOPTILE_A0,EN_GOP_GPU_TILE_MODE);
783 UADP_SPT_NAME1NXT(GOP_GWIN_PROPERTY_GOPTILE,GOP_GWIN_PROPERTY_PARAM,pSet,GOP_GWIN_PROPERTY_GOPTILE_A0);
784
785 //MAPI_CMD_GOP_GWIN_MAPFB2WIN:
786 UADP_SPT_NAME0NXT(GOP_GWIN_MAPFBINFO_Set,MS_U32);
787 UADP_SPT_NAME1NXT(GOP_GWIN_MAPFBINFO,GOP_GWIN_MAPFBINFO_PARAM,pinfo,GOP_GWIN_MAPFBINFO_Set);
788 //MAPI_CMD_GOP_GWIN_SET_WININFO:
789 //MAPI_CMD_GOP_GWIN_GET_WININFO:
790 #ifdef BIFROST_32BIT_MODE
791 UADP_SDT_NAME1(GOP_GWIN_SETWININFO_info,GOP_BUFFER_INFO,UADP_SDT_AT,addr,MS_NULL);
792 #else
793 UADP_SDT_NAME0(GOP_GWIN_SETWININFO_info,GOP_BUFFER_INFO);
794 #endif
795 UADP_SPT_NAME1NXT(GOP_GWIN_SETWININFO,GOP_GWIN_SETWININFO_PARAM,pinfo,GOP_GWIN_SETWININFO_info);
796 //MAPI_CMD_GOP_GWIN_SETDISPLAY:
797 #ifdef BIFROST_32BIT_MODE
798 UADP_SDT_NAME1(GOP_GwinInfo_A0,GOP_GwinInfo,UADP_SDT_AT,u32DRAMRBlkStart,MS_NULL);
799 #else
800 UADP_SDT_NAME0(GOP_GwinInfo_A0,GOP_GwinInfo);
801 #endif
802 UADP_SDT_NAME1(GOP_GWIN_DISPLAY_DisplayInfo,GOP_GWINDISPLAY_INFO,UADP_SDT_ES,gwin_info,GOP_GwinInfo_A0);
803 UADP_SPT_NAME1NXT(GOP_GWIN_DISPLAY,GOP_GWIN_DISPLAY_PARAM,pDisplayInfo,GOP_GWIN_DISPLAY_DisplayInfo);
804 //MAPI_CMD_GOP_GWIN_DESTROY:
805 UADP_SPT_NAME0NXT(GOP_GWIN_DESTROY_ptr,MS_U32);
806 UADP_SPT_NAME1NXT(GOP_GWIN_DESTROY,GOP_GWIN_DESTROY_PARAM,ptr,GOP_GWIN_DESTROY_ptr);
807 //MAPI_CMD_GOP_GFLIP_CLEARQUEUE:
808 UADP_SPT_NAME0NXT(GOP_GWIN_CLEARQUEUE_ClearInfo,GOP_GWIN_CLEARQUEUE_INFO);
809 UADP_SPT_NAME1NXT(GOP_GWIN_CLEARQUEUE,GOP_GWIN_CLEARQUEUE_PARAM,pClearInfo,GOP_GWIN_CLEARQUEUE_ClearInfo);
810 //MAPI_CMD_GOP_GFLIP_SWITCHGWIN:
811 UADP_SPT_NAME0NXT(GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo_pQueueCnt,MS_U32);
812 #ifdef BIFROST_32BIT_MODE
813 UADP_SDT_NAME3(GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo,GOP_GWIN_FLIP_WIN_INFO,UADP_SDT_AT,FlipAddr,MS_NULL, UADP_SDT_AT,SubFlipAddr,MS_NULL,UADP_SDT_P2N,pQueueCnt,GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo_pQueueCnt);
814 #else
815 UADP_SDT_NAME1(GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo,GOP_GWIN_FLIP_WIN_INFO,UADP_SDT_P2N,pQueueCnt,GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo_pQueueCnt);
816 #endif
817 UADP_SPT_NAME1NXT(GOP_GWIN_GFLIP_SWITCH_GWIN,GOP_GWIN_GFLIP_SWITCH_GWIN_PARAM,pFlipInfo,GOP_GWIN_GFLIP_SWITCH_GWIN_FlipInfo);
818 //MAPI_CMD_GOP_GFLIP_SWITCHMULTIGWIN:
819 UADP_SDT_NAME3(GOP_GWIN_GFLIP_SWITCH_MULTI_Info,GOP_GWIN_FLIP_WIN_INFO, UADP_SDT_AT,FlipAddr,MS_NULL, UADP_SDT_AT, SubFlipAddr, MS_NULL, UADP_SDT_AT, pQueueCnt,MS_NULL);
820 UADP_SPT_NAME1NXT(GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN_MultiFlipInfo,GOP_GWIN_FLIP_MULTI_WIN_INFO, FlipInfo[0], GOP_GWIN_GFLIP_SWITCH_MULTI_Info);
821 UADP_SPT_NAME1NXT(GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN,GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN_PARAM,pMultiFlipInfo,GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN_MultiFlipInfo);
822 //MAPI_CMD_GOP_GFLIP_RESTORE_VSYNC_LMT:
823 //MAPI_CMD_GOP_SET_PINPON:
824 UADP_SPT_NAME0NXT(GOP_SET_PINPON_PINPON_PINPONInfo,GOP_SET_PINPON_INFO);
825 UADP_SPT_NAME1NXT(GOP_SET_PINPON_PINPON,GOP_SET_PINPON_PARAM,pSetting,GOP_SET_PINPON_PINPON_PINPONInfo);
826 //MAPI_CMD_GOP_FB_CREATE:
827 #ifdef BIFROST_32BIT_MODE
828 UADP_SDT_NAME1(GOP_CREATE_BUFFER_BufInfo,GOP_BUFFER_INFO,UADP_SDT_AT,addr,MS_NULL);
829 #else
830 UADP_SDT_NAME0(GOP_CREATE_BUFFER_BufInfo,GOP_BUFFER_INFO);
831 #endif
832 UADP_SPT_NAME1NXT(GOP_CREATE_BUFFER,GOP_CREATE_BUFFER_PARAM,pBufInfo,GOP_CREATE_BUFFER_BufInfo);
833 //MAPI_CMD_GOP_FB_DESTROY:
834 UADP_SPT_NAME0NXT(GOP_DELETE_BUFFER_BufId,MS_U32);
835 UADP_SPT_NAME1NXT(GOP_DELETE_BUFFER,GOP_DELETE_BUFFER_PARAM,pBufId,GOP_DELETE_BUFFER_BufId);
836 //MAPI_CMD_GOP_FB_GETINFO:
837 //MAPI_CMD_GOP_FB_SETINFO:
838 #ifdef BIFROST_32BIT_MODE
839 UADP_SDT_NAME1(GOP_FB_INFO_BufInfo,GOP_BUFFER_INFO,UADP_SDT_AT,addr,MS_NULL);
840 #else
841 UADP_SDT_NAME0(GOP_FB_INFO_BufInfo,GOP_BUFFER_INFO);
842 #endif
843 UADP_SPT_NAME1NXT(GOP_FB_INFO,GOP_FB_INFO_PARAM,pBufInfo,GOP_FB_INFO_BufInfo);
844 //////////////////////////////////////////////////
845 //MAPI_CMD_GOP_FB_SET_PROPERTY:
846 //MAPI_CMD_GOP_FB_GET_PROPERTY:
847 UADP_SPT_NAME0NXT(GOP_FB_PROPERTY_POOLID_Pool,MS_U32);
848 UADP_SPT_NAME1NXT(GOP_FB_PROPERTY_POOLID,GOP_FB_PROPERTY_PARAM,pSet,GOP_FB_PROPERTY_POOLID_Pool);
849
850 UADP_SPT_NAME0NXT(GOP_FB_PROPERTY_EXIST_Exist,MS_U32);
851 UADP_SPT_NAME1NXT(GOP_FB_PROPERTY_EXIST,GOP_FB_PROPERTY_PARAM,pSet,GOP_FB_PROPERTY_EXIST_Exist);
852
853 UADP_SPT_NAME0NXT(GOP_FB_PROPERTY_OBTAIN_1,MS_U32);
854 UADP_SPT_NAME1NXT(GOP_FB_PROPERTY_OBTAIN,GOP_FB_PROPERTY_PARAM,pSet,GOP_FB_PROPERTY_OBTAIN_1);
855 //MAPI_CMD_GOP_PALETTE_SET_CONFIG:
856 UADP_SPT_NAME0NXT(GOP_PALETTE_CONFIG_PaletteInfo,GOP_PAL_OPT);
857 UADP_SPT_NAME1NXT(GOP_PALETTE_CONFIG,GOP_PALETTE_CONFIG_PARAM,pPaletteInfo,GOP_PALETTE_CONFIG_PaletteInfo);
858 //MAPI_CMD_GOP_PALETTE_SET_ENTRY:
859 //MAPI_CMD_GOP_PALETTE_GET_ENTRY:
860 UADP_SDT_NAME1(GOP_PALETTE_SET_ENTRY_A0,GOP_PALETTE_ENTRY ,UADP_SDT_P2N,pClut,GOP_PALETTE_SET_ENTRY_A0B0);
861 UADP_SDT_NAME1(GOP_PALETTE_SET_ENTRY,GOP_PALETTE_SET_PARAM,UADP_SDT_P2N,pClut,GOP_PALETTE_SET_ENTRY_A0);
862
863 //MAPI_CMD_GOP_SET_SCROLL:
864 UADP_SPT_NAME0NXT(GOP_SCROLL_CONFIG_ScrollInfo,GOP_SCROLL_INFO);
865 UADP_SPT_NAME1NXT(GOP_SCROLL_CONFIG,GOP_SCROLL_PARAM,pCfg,GOP_SCROLL_CONFIG_ScrollInfo);
866
867 UADP_SPT_NAME0NXT(GOP_SCROLL_RATE_rate,MS_U8);
868 UADP_SPT_NAME1NXT(GOP_SCROLL_RATE,GOP_SCROLL_PARAM,pCfg,GOP_SCROLL_RATE_rate);
869 //MAPI_CMD_GOP_GWIN_SET_FADE:
870 UADP_SPT_NAME0NXT(GOP_SET_FADE_CONFIG_FadeInfo,GOP_FADE_INFO);
871 UADP_SPT_NAME1NXT(GOP_SET_FADE_CONFIG,GOP_SET_FADE_PARAM,pSetting,GOP_SET_FADE_CONFIG_FadeInfo);
872 //MAPI_CMD_GOP_DWIN_INIT:
873
874 //MAPI_CMD_GOP_DWIN_CAPTURE:
875 #ifdef BIFROST_32BIT_MODE
876 UADP_SDT_NAME4(GOP_DWIN_CAPTURE_Dwin,GOP_CAPTURE_INFO,UADP_SDT_AT,addr[0],MS_NULL, UADP_SDT_AT,addr[1],MS_NULL,UADP_SDT_AT,addr1[0],MS_NULL, UADP_SDT_AT,addr1[1],MS_NULL);
877 #else
878 UADP_SDT_NAME0(GOP_DWIN_CAPTURE_Dwin,GOP_CAPTURE_INFO);
879 #endif
880 UADP_SPT_NAME1NXT(GOP_DWIN_CAPTURE,GOP_DWIN_CAPTURE_PARAM,pDwin,GOP_DWIN_CAPTURE_Dwin);
881 //MAPI_CMD_GOP_DWIN_INTR:
882 UADP_SPT_NAME0NXT(GOP_DWIN_INTR_STATUS_CONTROL_IntrCtrl,GOP_DWIN_INTR_CTRL);
883 UADP_SPT_NAME1NXT(GOP_DWIN_INTR_STATUS_CONTROL,GOP_DWIN_INTR_STATUS_PARAM,pIntrInfo,GOP_DWIN_INTR_STATUS_CONTROL_IntrCtrl);
884
885 UADP_SPT_NAME0NXT(GOP_DWIN_INTR_STATUS_GETINFO_Intr,MS_U16);
886 UADP_SPT_NAME1NXT(GOP_DWIN_INTR_STATUS_GETINFO,GOP_DWIN_INTR_STATUS_PARAM,pIntrInfo,GOP_DWIN_INTR_STATUS_GETINFO_Intr);
887
888 UADP_SPT_NAME0NXT(GOP_DWIN_INTR_STATUS_GETINFO_TIMEOUT_Timeout,GOP_DWIN_INTR_TIME_OUT);
889 UADP_SPT_NAME1NXT(GOP_DWIN_INTR_STATUS_GETINFO_TIMEOUT,GOP_DWIN_INTR_STATUS_PARAM,pIntrInfo,GOP_DWIN_INTR_STATUS_GETINFO_TIMEOUT_Timeout);
890 //MAPI_CMD_GOP_DWIN_SET_PROPERTY:
891 //MAPI_CMD_GOP_DWIN_GET_PROPERTY:
892 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_R2Y_bEn,MS_BOOL);
893 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_R2Y,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_R2Y_bEn);
894
895 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_UV_SWAP_bEn,MS_BOOL);
896 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_UV_SWAP,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_UV_SWAP_bEn);
897
898 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_UV_SAMPLE_enMode,EN_GOP_DWIN_UVSAMPLE_Mode);
899 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_UV_SAMPLE,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_UV_SAMPLE_enMode);
900
901 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_SOURCE_SCAN_TYPE_enMode,EN_GOP_DWIN_SCAN_MODE);
902 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_SOURCE_SCAN_TYPE,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_SOURCE_SCAN_TYPE_enMode);
903
904 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_ALPHA_VALUE_Value,MS_U8);
905 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_ALPHA_VALUE,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_ALPHA_VALUE_Value);
906
907 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_ALPHA_SOURCE_enSource,EN_GOP_DWIN_ALPHA_SRC);
908 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_ALPHA_SOURCE,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_ALPHA_SOURCE_enSource);
909
910 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_ALPHA_INVERSE_bEn,MS_BOOL);
911 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_ALPHA_INVERSE,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_ALPHA_INVERSE_bEn);
912
913 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_SKIP_FRAME_Count,MS_U32);
914 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_SKIP_FRAME,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_SKIP_FRAME_Count);
915
916 #ifdef BIFROST_32BIT_MODE
917 UADP_SDT_NAME2(GOP_DWIN_PROPERTY_PINPON_Pinpon,GOP_PINPON_INFO,UADP_SDT_AT,u64Addr0,MS_NULL,UADP_SDT_AT,u64Addr1,MS_NULL);
918 #else
919 UADP_SDT_NAME0(GOP_DWIN_PROPERTY_PINPON_Pinpon,GOP_PINPON_INFO);
920 #endif
921 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_PINPON,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_PINPON_Pinpon);
922
923 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_INTERRUP_INFO_u32,MS_U32);
924 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_INTERRUP_INFO,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_INTERRUP_INFO_u32);
925
926 UADP_SPT_NAME0NXT(GOP_DWIN_PROPERTY_CAPTURE_INFO_u32,MS_U32);
927 UADP_SPT_NAME1NXT(GOP_DWIN_PROPERTY_CAPTURE_INFO,GOP_DWIN_PROPERTY_PARAM,pDwinProp,GOP_DWIN_PROPERTY_CAPTURE_INFO_u32);
928 //MAPI_CMD_GOP_MIXER_SET_PROPERTY:
929 //MAPI_CMD_GOP_MIXER_GET_PROPERTY:
930 UADP_SPT_NAME0NXT(GOP_MIXER_PROPERTY_OUTPUT_TIMING_MTInfo,GOP_MIXER_TIMING_INFO);
931 UADP_SPT_NAME1NXT(GOP_MIXER_PROPERTY_OUTPUT_TIMING,GOP_MIXER_PROPERTY_PARAM,pMixerProp,GOP_MIXER_PROPERTY_OUTPUT_TIMING_MTInfo);
932
933 UADP_SPT_NAME0NXT(GOP_MIXER_PROPERTY_TO_OP_OUTPUT_TIMING_MT,GOP_Mixer2OPTiming);
934 UADP_SPT_NAME1NXT(GOP_MIXER_PROPERTY_TO_OP_OUTPUT_TIMING,GOP_MIXER_PROPERTY_PARAM,pMixerProp,GOP_MIXER_PROPERTY_TO_OP_OUTPUT_TIMING_MT);
935
936 UADP_SPT_NAME0NXT(GOP_MIXER_PROPERTY_V_FILTER_bEn,MS_BOOL);
937 UADP_SPT_NAME1NXT(GOP_MIXER_PROPERTY_V_FILTER,GOP_MIXER_PROPERTY_PARAM,pMixerProp,GOP_MIXER_PROPERTY_V_FILTER_bEn);
938
939 UADP_SPT_NAME0NXT(GOP_MIXER_PROPERTY_OLD_BLENDING_MODE_MOBM,GOP_MixerOldBlendingMode);
940 UADP_SPT_NAME1NXT(GOP_MIXER_PROPERTY_OLD_BLENDING_MODE,GOP_MIXER_PROPERTY_PARAM,pMixerProp,GOP_MIXER_PROPERTY_OLD_BLENDING_MODE_MOBM);
941 //MAPI_CMD_GOP_VE_SET_PROPERTY:
942 UADP_SPT_NAME0NXT(GOP_VE_PROPERTY_OUTPUT_TIMING_VEInfo,GOP_VE_TIMING_INFO);
943 UADP_SPT_NAME1NXT(GOP_VE_PROPERTY_OUTPUT_TIMING,GOP_VE_PROPERTY_PARAM,pVEProp,GOP_VE_PROPERTY_OUTPUT_TIMING_VEInfo);
944 //MAPI_CMD_GOP_UPDATE:
945 UADP_SPT_NAME0NXT(GOP_UPDATE_UpdateInfo,GOP_UPDATE_INFO);
946 UADP_SPT_NAME1NXT(GOP_UPDATE,GOP_UPDATE_PARAM,pUpdateInfo,GOP_UPDATE_UpdateInfo);
947 //MAPI_CMD_GOP_REGISTER_CB:
948 UADP_SPT_NAME0NXT(GOP_CB_INTERLACE_A0, MS_BOOL);
949 UADP_SPT_NAME1NXT(GOP_CB_INTERLACE,GOP_REGISTER_CB_PARAM,pCB,GOP_CB_INTERLACE_A0);
950
951 UADP_SPT_NAME0NXT(GOP_CB_HSTART_A0, MS_U32);
952 UADP_SPT_NAME1NXT(GOP_CB_HSTART,GOP_REGISTER_CB_PARAM,pCB,GOP_CB_HSTART_A0);
953 //MAPI_CMD_GOP_TESTPATTERN:
954 UADP_SPT_NAME0NXT(GOP_TESTPATTERN, GOP_TEST_PATTERN_PARAM);
955 //MAPI_CMD_GOP_SELECTION:
956 UADP_SPT_NAME0NXT(GOP_SELECTION_SELGOP_A0, MS_U32);
957 UADP_SPT_NAME1NXT(GOP_SELECTION_SELGOP,GOP_SELECTION_PROPERTY_PARAM,pinfo,GOP_SELECTION_SELGOP_A0);
958
959 UADP_SPT_NAME0NXT(GOP_SELECTION_SELGWIN_A0, MS_U32);
960 UADP_SPT_NAME1NXT(GOP_SELECTION_SELGWIN,GOP_SELECTION_PROPERTY_PARAM,pinfo,GOP_SELECTION_SELGWIN_A0);
961
962 #ifdef BIFROST_32BIT_MODE
963 UADP_SDT_NAME1(GOP_SELECTION_SELFB_A0, GOP_CBFmtInfo,UADP_SDT_AT,u64Addr,MS_NULL);
964 UADP_SPT_NAME1NXT(GOP_SELECTION_SELFB,GOP_SELECTION_PROPERTY_PARAM,pinfo,GOP_SELECTION_SELFB_A0);
965 #else
966 UADP_SPT_NAME0NXT(GOP_SELECTION_SELFB_A0, GOP_CBFmtInfo);
967 UADP_SPT_NAME1NXT(GOP_SELECTION_SELFB,GOP_SELECTION_PROPERTY_PARAM,pinfo,GOP_SELECTION_SELFB_A0);
968 #endif
969 //MAPI_CMD_GOP_MUTEX:
970 UADP_SPT_NAME0NXT(GOP_MUTEX_pSet,MS_U32);
971 UADP_SPT_NAME1NXT(GOP_MUTEX,GOP_MUTEX_PARAM,pSet,GOP_MUTEX_pSet);
972 //MAPI_CMD_GOP_MISC:
973 UADP_SPT_NAME0NXT(GOP_MISC_ENABLE_T3D_bEn,MS_BOOL);
974 UADP_SPT_NAME1NXT(GOP_MISC_ENABLE_T3D,GOP_MISC_PARAM,pMISC,GOP_MISC_ENABLE_T3D_bEn);
975
976 UADP_SPT_NAME0NXT(GOP_MISC_SET_CAPTURE_CLK_u32,MS_U32);
977 UADP_SPT_NAME1NXT(GOP_MISC_SET_CAPTURE_CLK,GOP_MISC_PARAM,pMISC,GOP_MISC_SET_CAPTURE_CLK_u32);
978
979
980 UADP_SPT_NAME0NXT(GOP_MISC_POWER_OFF_u32,MS_U32);
981 UADP_SPT_NAME1NXT(GOP_MISC_POWER_OFF,GOP_MISC_PARAM,pMISC,GOP_MISC_POWER_OFF_u32);
982
983
984 UADP_SPT_NAME0NXT(GOP_MISC_POWER_ON_u32,MS_U32);
985 UADP_SPT_NAME1NXT(GOP_MISC_POWER_ON,GOP_MISC_PARAM,pMISC,GOP_MISC_POWER_ON_u32);
986
987 UADP_SPT_NAME0NXT(GOP_MISC_GET_RT_STATUS_GopApiSts,GOP_ApiStatus);
988 UADP_SPT_NAME1NXT(GOP_MISC_GET_RT_STATUS,GOP_MISC_PARAM,pMISC,GOP_MISC_GET_RT_STATUS_GopApiSts);
989
990 UADP_SPT_NAME0NXT(GOP_MISC_GET_INFO_GopApiInfo,GOP_ApiInfo);
991 UADP_SPT_NAME1NXT(GOP_MISC_GET_INFO,GOP_MISC_PARAM,pMISC,GOP_MISC_GET_INFO_GopApiInfo);
992
993 UADP_SPT_NAME0NXT(GOP_MISC_AT_EXIT_u32,MS_U32);
994 UADP_SPT_NAME1NXT(GOP_MISC_AT_EXIT,GOP_MISC_PARAM,pMISC,GOP_MISC_AT_EXIT_u32);
995
996 UADP_SPT_NAME0NXT(GOP_MISC_OC_FB_INFO_OCFbInfo,GOP_OC_FB_INFO);
997 UADP_SPT_NAME1NXT(GOP_MISC_OC_FB_INFO,GOP_MISC_PARAM,pMISC,GOP_MISC_OC_FB_INFO_OCFbInfo);
998
999 UADP_SPT_NAME0NXT(GOP_MISC_TESTPATTERN_ALPHA_bEn,MS_BOOL);
1000 UADP_SPT_NAME1NXT(GOP_MISC_TESTPATTERN_ALPHA,GOP_MISC_PARAM,pMISC,GOP_MISC_TESTPATTERN_ALPHA_bEn);
1001
1002 UADP_SPT_NAME0NXT(GOP_MISC_DELETE_GWINSIZE_A0, GOP_DeleteWinSize_PARAM);
1003 UADP_SPT_NAME1NXT(GOP_MISC_DELETE_GWINSIZE,GOP_MISC_PARAM,pMISC,GOP_MISC_DELETE_GWINSIZE_A0);
1004 //MAPI_CMD_GOP_RESETPOOL:
1005
1006 UADP_SPT_NAME0NXT(GOP_POWERSTATE_PARAM_A0, MS_U32);
1007 UADP_SPT_NAME1NXT(GOP_POWERSTATE_PARAM,GOP_POWERSTATE_PARAM,pInfo,GOP_POWERSTATE_PARAM_A0);
1008
1009 *pIoctl= (FUtopiaIOctl)GOP_adp_Ioctl;
1010
1011 return 0;
1012 }
1013
GOP_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)1014 MS_U32 GOP_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
1015 {
1016 MS_U32 u32Ret=UTOPIA_STATUS_SUCCESS;
1017 char buffer_arg[2048];
1018 switch(u32Cmd)
1019 {
1020 //gop property
1021 case MAPI_CMD_GOP_INIT:
1022 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_INIT, spt_GOP_INIT,buffer_arg,sizeof(buffer_arg));
1023 break;
1024 case MAPI_CMD_GOP_GET_CHIPCAPS:
1025 {
1026 GOP_GETCAPS_PARAM ptr;
1027 if(copy_from_user(&ptr, (GOP_GETCAPS_PARAM __user *)pArgs, sizeof(GOP_GETCAPS_PARAM)))
1028 {
1029 return UTOPIA_STATUS_FAIL;
1030 }
1031 switch(ptr.caps)
1032 {
1033 case E_GOP_CAP_WORD_UNIT:
1034 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_WORD_UNIT,spt_GOP_GETCAPS_WORD_UNIT,buffer_arg,sizeof(buffer_arg));
1035 break;
1036 case E_GOP_CAP_GWIN_NUM:
1037 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_GWIN_NUM,spt_GOP_GETCAPS_GWIN_NUM,buffer_arg,sizeof(buffer_arg));
1038 break;
1039 case E_GOP_CAP_VERSION:
1040 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_VERSION,spt_GOP_GETCAPS_VERSION,buffer_arg,sizeof(buffer_arg));
1041 break;
1042 case E_GOP_CAP_RESERVED:
1043 printk("E_GOP_IS_PIXELBASE_ENABLE not implement\n");
1044 break;
1045 case E_GOP_CAP_CONSALPHA_VALIDBITS:
1046 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_CONSALPHA_VALIDBITS,spt_GOP_GETCAPS_CONSALPHA_VALIDBITS,buffer_arg,sizeof(buffer_arg));
1047 break;
1048 case E_GOP_CAP_PALETTE:
1049 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_PALETTE,spt_GOP_GETCAPS_PALETTE,buffer_arg,sizeof(buffer_arg));
1050 break;
1051 case E_GOP_CAP_DWIN:
1052 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_DWIN,spt_GOP_GETCAPS_DWIN,buffer_arg,sizeof(buffer_arg));
1053 break;
1054 case E_GOP_CAP_GOP_MUX:
1055 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_GOP_MUX,spt_GOP_GETCAPS_GOP_MUX,buffer_arg,sizeof(buffer_arg));
1056 break;
1057 case E_GOP_CAP_PIXELMODE_SUPPORT:
1058 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_PIXELMODE_SUPPORT,spt_GOP_GETCAPS_PIXELMODE_SUPPORT,buffer_arg,sizeof(buffer_arg));
1059 break;
1060 case E_GOP_CAP_STRETCH:
1061 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_STRETCH,spt_GOP_GETCAPS_STRETCH,buffer_arg,sizeof(buffer_arg));
1062 break;
1063 case E_GOP_CAP_AFBC_SUPPORT:
1064 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETCAPS_SUPPORT_AFBC,spt_GOP_GETCAPS_SUPPORT_AFBC,buffer_arg,sizeof(buffer_arg));
1065 break;
1066 }
1067 break;
1068 }
1069 case MAPI_CMD_GOP_SET_CONFIG:
1070 case MAPI_CMD_GOP_GET_CONFIG:
1071 {
1072 GOP_SETCONFIG_PARAM ptr;
1073 if(copy_from_user(&ptr, (GOP_SETCONFIG_PARAM __user *)pArgs, sizeof(GOP_SETCONFIG_PARAM)))
1074 {
1075 return UTOPIA_STATUS_FAIL;
1076 }
1077 switch(ptr.cfg_type)
1078 {
1079 case E_GOP_IGNOREINIT:
1080 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_CONFIG_IGNOREINIT,spt_GOP_CONFIG_IGNOREINIT,buffer_arg,sizeof(buffer_arg));
1081 break;
1082 case E_GOP_CONSALPHA_BITS:
1083 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_CONFIG_CONSALPHA_BITS,spt_GOP_CONFIG_CONSALPHA_BITS,buffer_arg,sizeof(buffer_arg));
1084 break;
1085 case E_GOP_TIMING_INFO:
1086 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_CONFIG_TIMING_INFO,spt_GOP_CONFIG_TIMING_INFO,buffer_arg,sizeof(buffer_arg));
1087 break;
1088 case E_GOP_IS_PIXELBASE_ENABLE:
1089 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_CONFIG_IS_PIXEL_ENABLE,spt_GOP_CONFIG_IS_PIXEL_ENABLE,buffer_arg,sizeof(buffer_arg));
1090 break;
1091 case E_GOP_GET_MAXFBNUM:
1092 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_CONFIG_GET_MAXFBNUM,spt_GOP_CONFIG_GET_MAXFBNUM,buffer_arg,sizeof(buffer_arg));
1093 break;
1094 }
1095 break;
1096 }
1097 case MAPI_CMD_GOP_SET_PROPERTY:
1098 case MAPI_CMD_GOP_GET_PROPERTY:
1099 {
1100 GOP_SET_PROPERTY_PARAM ptr;
1101 if(copy_from_user(&ptr, (GOP_SET_PROPERTY_PARAM __user *)pArgs, sizeof(GOP_SET_PROPERTY_PARAM)))
1102 {
1103 return UTOPIA_STATUS_FAIL;
1104 }
1105 switch(ptr.en_pro)
1106 {
1107 case E_GOP_MIUSEL:
1108 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_MIUSEL,spt_GOP_PROPERTY_MIUSEL,buffer_arg,sizeof(buffer_arg));
1109 break;
1110 case E_GOP_CONTRAST:
1111 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_CONTRAST,spt_GOP_PROPERTY_CONTRAST,buffer_arg,sizeof(buffer_arg));
1112 break;
1113 case E_GOP_BRIGHTNESS:
1114 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_BRIGHTNESS,spt_GOP_PROPERTY_BRIGHTNESS,buffer_arg,sizeof(buffer_arg));
1115 break;
1116 case E_GOP_OUTPUT_COLOR:
1117 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_OUTPUT_COLOR,spt_GOP_PROPERTY_OUTPUT_COLOR,buffer_arg,sizeof(buffer_arg));
1118 break;
1119 case E_GOP_UV_SWAP:
1120 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_UV_SWAP,spt_GOP_PROPERTY_UV_SWAP,buffer_arg,sizeof(buffer_arg));
1121 break;
1122 case E_GOP_YC_SWAP:
1123 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_YC_SWAP,spt_GOP_PROPERTY_YC_SWAP,buffer_arg,sizeof(buffer_arg));
1124 break;
1125 case E_GOP_HSTART:
1126 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_HSTART,spt_GOP_PROPERTY_HSTART,buffer_arg,sizeof(buffer_arg));
1127 break;
1128 case E_GOP_TRANSCOLOR:
1129 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_TRANSCOLOR,spt_GOP_PROPERTY_TRANSCOLOR,buffer_arg,sizeof(buffer_arg));
1130 break;
1131 case E_GOP_PROGRESSIVE:
1132 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_PROGRESSIVE,spt_GOP_PROPERTY_PROGRESSIVE,buffer_arg,sizeof(buffer_arg));
1133 break;
1134 case E_GOP_ALPHAINVERSE:
1135 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_ALPHAINVERSE,spt_GOP_PROPERTY_ALPHAINVERSE,buffer_arg,sizeof(buffer_arg));
1136 break;
1137 case E_GOP_PREALPHAMODE:
1138 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_PREALPHAMODE,spt_GOP_PROPERTY_PREALPHAMODE,buffer_arg,sizeof(buffer_arg));
1139 break;
1140 case E_GOP_FIELD_INVERSE:
1141 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_FIELD_INVERSE,spt_GOP_PROPERTY_FIELD_INVERSE,buffer_arg,sizeof(buffer_arg));
1142 break;
1143 case E_GOP_HSCALE_RATIO:
1144 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_HSCALE_RATIO,spt_GOP_PROPERTY_HSCALE_RATIO,buffer_arg,sizeof(buffer_arg));
1145 break;
1146 case E_GOP_VSCALE_RATIO:
1147 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_VSCALE_RATIO,spt_GOP_PROPERTY_VSCALE_RATIO,buffer_arg,sizeof(buffer_arg));
1148 break;
1149 case E_GOP_OUTPUT_TIMING:
1150 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_OUTPUT_TIMING,spt_GOP_PROPERTY_OUTPUT_TIMING,buffer_arg,sizeof(buffer_arg));
1151 break;
1152 case E_GOP_PIXELBASE_ENABLE:
1153 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_PIXELBASE_ENABLE,spt_GOP_PROPERTY_PIXELBASE_ENABLE,buffer_arg,sizeof(buffer_arg));
1154 break;
1155 case E_GOP_CLK:
1156 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_CLK,spt_GOP_PROPERTY_CLK,buffer_arg,sizeof(buffer_arg));
1157 break;
1158 case E_GOP_FORCE_WRITE:
1159 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_FORCE_WRITE,spt_GOP_PROPERTY_FORCE_WRITE,buffer_arg,sizeof(buffer_arg));
1160 break;
1161 case E_GOP_BANK_FORCE_WRITE:
1162 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_BANK_FORCE_WRITE,spt_GOP_PROPERTY_BANK_FORCE_WRITE,buffer_arg,sizeof(buffer_arg));
1163 break;
1164 case E_GOP_3D_LR_EXCHANGE:
1165 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_3D_LR_EXCHANGE,spt_GOP_PROPERTY_3D_LR_EXCHANGE,buffer_arg,sizeof(buffer_arg));
1166 break;
1167 case E_GOP_VE_OSD:
1168 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_VE_OSD,spt_GOP_PROPERTY_VE_OSD,buffer_arg,sizeof(buffer_arg));
1169 break;
1170 case E_GOP_OUTPUT_LAYER_SWITCH:
1171 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_OUTPUT_LAYER_SWITCH,spt_GOP_PROPERTY_OUTPUT_LAYER_SWITCH,buffer_arg,sizeof(buffer_arg));
1172 break;
1173 case E_GOP_SWAP_OVERLAP_WIN:
1174 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_SWAP_OVERLAP_WIN,spt_GOP_PROPERTY_SWAP_OVERLAP_WIN,buffer_arg,sizeof(buffer_arg));
1175 break;
1176 case E_GOP_BW_STRENGTH:
1177 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_BW_STRENGTH,spt_GOP_PROPERTY_BW_STRENGTH,buffer_arg,sizeof(buffer_arg));
1178 break;
1179 case E_GOP_LB_COUPLE:
1180 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_LB_COUPLE,spt_GOP_PROPERTY_LB_COUPLE,buffer_arg,sizeof(buffer_arg));
1181 break;
1182 case E_GOP_YUV:
1183 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_YUV,spt_GOP_PROPERTY_YUV,buffer_arg,sizeof(buffer_arg));
1184 break;
1185 case E_GOP_REG_UPDATED:
1186 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_REG_UPDATED,spt_GOP_PROPERTY_REG_UPDATED,buffer_arg,sizeof(buffer_arg));
1187 break;
1188 case E_GOP_RELATIVE_WIN_PRIO:
1189 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_RELATIVE_WIN_PRIO,spt_GOP_PROPERTY_RELATIVE_WIN_PRIO,buffer_arg,sizeof(buffer_arg));
1190 break;
1191 case E_GOP_RESOURCE:
1192 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_RESOURCE,spt_GOP_PROPERTY_RESOURCE,buffer_arg,sizeof(buffer_arg));
1193 break;
1194 case E_GOP_MAXFBNUM:
1195 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_MAXFBNUM,spt_GOP_PROPERTY_MAXFBNUM,buffer_arg,sizeof(buffer_arg));
1196 break;
1197 case E_GOP_MULTI_ALPHA_ENABLE:
1198 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_MULTI_ALPHA_ENABLE,spt_GOP_PROPERTY_MULTI_ALPHA_ENABLE,buffer_arg,sizeof(buffer_arg));
1199 break;
1200 case E_GOP_GWIN_TLB_ENABLE:
1201 //u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_TLB_ENABLE,spt_GOP_PROPERTY_TLB_ENABLE,buffer_arg,sizeof(buffer_arg));
1202 break;
1203 case E_GOP_AFBC_CORE_RESET:
1204 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_AFBC_CORE_RESET,spt_GOP_PROPERTY_AFBC_CORE_RESET,buffer_arg,sizeof(buffer_arg));
1205 break;
1206 case E_GOP_AFBC_CORE_ENABLE:
1207 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PROPERTY_AFBC_CORE_EN,spt_GOP_PROPERTY_AFBC_CORE_EN,buffer_arg,sizeof(buffer_arg));
1208 break;
1209 case E_GOP_NUM_IS_INIT:
1210 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_INIT_pInfo_noparameter,spt_GOP_INIT_pInfo_noparameter,buffer_arg,sizeof(buffer_arg));
1211 break;
1212 }
1213 break;
1214 }
1215 case MAPI_CMD_GOP_SET_DST:
1216 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SETDST, spt_GOP_SETDST,buffer_arg,sizeof(buffer_arg));
1217 break;
1218 case MAPI_CMD_GOP_GET_DST:
1219 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GETDST, spt_GOP_GETDST,buffer_arg,sizeof(buffer_arg));
1220 break;
1221 case MAPI_CMD_GOP_SET_MUX:
1222 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SETMUX, spt_GOP_SETMUX,buffer_arg,sizeof(buffer_arg));
1223 break;
1224 case MAPI_CMD_GOP_SET_LAYER:
1225 case MAPI_CMD_GOP_GET_LAYER:
1226 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_LAYER, spt_GOP_LAYER,buffer_arg,sizeof(buffer_arg));
1227 break;
1228 case MAPI_CMD_GOP_SET_MIRROR:
1229 case MAPI_CMD_GOP_GET_MIRROR:
1230 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MIRROR, spt_GOP_MIRROR,buffer_arg,sizeof(buffer_arg));
1231 break;
1232 case MAPI_CMD_GOP_GET_STATUS:
1233 {
1234 GOP_GET_STATUS_PARAM ptr;
1235 if(copy_from_user(&ptr, (GOP_GET_STATUS_PARAM __user *)pArgs, sizeof(GOP_GET_STATUS_PARAM)))
1236 {
1237 return UTOPIA_STATUS_FAIL;
1238 }
1239 switch(ptr.en_status)
1240 {
1241 case E_GOP_STATUS_CURRENT_GOP:
1242 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_CURRENT_GOP,spt_GOP_STATUS_CURRENT_GOP,buffer_arg,sizeof(buffer_arg));
1243 break;
1244 case E_GOP_STATUS_CURRENT_GWIN:
1245 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_CURRENT_GWIN,spt_GOP_STATUS_CURRENT_GWIN,buffer_arg,sizeof(buffer_arg));
1246 break;
1247 case E_GOP_STATUS_CURRENT_FBID:
1248 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_CURRENT_FBID,spt_GOP_STATUS_CURRENT_FBID,buffer_arg,sizeof(buffer_arg));
1249 break;
1250 case E_GOP_STATUS_GOP_MAXNUM:
1251 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_GOP_MAXNUM,spt_GOP_STATUS_GOP_MAXNUM,buffer_arg,sizeof(buffer_arg));
1252 break;
1253 case E_GOP_STATUS_GWIN_MAXNUM:
1254 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_GWIN_MAXNUM,spt_GOP_STATUS_GWIN_MAXNUM,buffer_arg,sizeof(buffer_arg));
1255 break;
1256 case E_GOP_STATUS_GWIN_TOTALNUM:
1257 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_GWIN_TOTALNUM,spt_GOP_STATUS_GWIN_TOTALNUM,buffer_arg,sizeof(buffer_arg));
1258 break;
1259 case E_GOP_STATUS_INIT:
1260 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_INIT,spt_GOP_STATUS_INIT,buffer_arg,sizeof(buffer_arg));
1261 break;
1262 case E_GOP_STATUS_VERSION:
1263 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_VERSION,spt_GOP_STATUS_VERSION,buffer_arg,sizeof(buffer_arg));
1264 break;
1265 case E_GOP_STATUS_MUX:
1266 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STATUS_MUX,spt_GOP_STATUS_MUX,buffer_arg,sizeof(buffer_arg));
1267 break;
1268 }
1269 break;
1270 }
1271 //Stretch Win
1272 case MAPI_CMD_GOP_GWIN_SET_STRETCH:
1273 case MAPI_CMD_GOP_GWIN_GET_STRETCH:
1274 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_STRETCH, spt_GOP_STRETCH,buffer_arg,sizeof(buffer_arg));
1275 break;
1276 //GWIN info
1277 case MAPI_CMD_GOP_GWIN_SET_PROPERTY:
1278 case MAPI_CMD_GOP_GWIN_GET_PROPERTY:
1279 {
1280 GOP_GWIN_PROPERTY_PARAM ptr;
1281 if(copy_from_user(&ptr, (GOP_GWIN_PROPERTY_PARAM __user *)pArgs, sizeof(GOP_GWIN_PROPERTY_PARAM)))
1282 {
1283 return UTOPIA_STATUS_FAIL;
1284 }
1285 switch(ptr.en_property)
1286 {
1287 case E_GOP_GWIN_ENABLE:
1288 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_ENABLE,spt_GOP_GWIN_PROPERTY_ENABLE,buffer_arg,sizeof(buffer_arg));
1289 break;
1290 case E_GOP_GWIN_BLENDING:
1291 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_BLENDING,spt_GOP_GWIN_PROPERTY_BLENDING,buffer_arg,sizeof(buffer_arg));
1292 break;
1293 case E_GOP_GWIN_NEWAPLHA:
1294 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_NEWAPLHA,spt_GOP_GWIN_PROPERTY_NEWAPLHA,buffer_arg,sizeof(buffer_arg));
1295 break;
1296 case E_GOP_GWIN_BLINK:
1297 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_BLINK,spt_GOP_GWIN_PROPERTY_BLINK,buffer_arg,sizeof(buffer_arg));
1298 break;
1299 case E_GOP_GWIN_SHARE:
1300 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_SHARE,spt_GOP_GWIN_PROPERTY_SHARE,buffer_arg,sizeof(buffer_arg));
1301 break;
1302 case E_GOP_GWIN_SHARE_CNT:
1303 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_SHARE_CNT,spt_GOP_GWIN_PROPERTY_SHARE_CNT,buffer_arg,sizeof(buffer_arg));
1304 break;
1305 case E_GOP_GWIN_SWITCH_2_GWIN:
1306 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_SWITCH_2_GWIN,spt_GOP_GWIN_PROPERTY_SWITCH_2_GWIN,buffer_arg,sizeof(buffer_arg));
1307 break;
1308 case E_GOP_GWIN_3D_MODE:
1309 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_3D_MODE,spt_GOP_GWIN_PROPERTY_3D_MODE,buffer_arg,sizeof(buffer_arg));
1310 break;
1311 case E_GOP_GWIN_EXIST:
1312 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_EXIST,spt_GOP_GWIN_PROPERTY_EXIST,buffer_arg,sizeof(buffer_arg));
1313 break;
1314 case E_GOP_GWIN_FREE_ID:
1315 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_FREE_ID,spt_GOP_GWIN_PROPERTY_FREE_ID,buffer_arg,sizeof(buffer_arg));
1316 break;
1317 case E_GOP_GWIN_GET_FB:
1318 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_GET_FB,spt_GOP_GWIN_PROPERTY_GET_FB,buffer_arg,sizeof(buffer_arg));
1319 break;
1320 case E_GOP_GWIN_GET_GOP:
1321 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_GET_GOP,spt_GOP_GWIN_PROPERTY_GET_GOP,buffer_arg,sizeof(buffer_arg));
1322 break;
1323 case E_GOP_GWIN_GPUTILE:
1324 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_PROPERTY_GOPTILE,spt_GOP_GWIN_PROPERTY_GOPTILE,buffer_arg,sizeof(buffer_arg));
1325 break;
1326 }
1327 break;
1328 }
1329 case MAPI_CMD_GOP_GWIN_MAPFB2WIN:
1330 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_MAPFBINFO,spt_GOP_GWIN_MAPFBINFO,buffer_arg,sizeof(buffer_arg));
1331 break;
1332 case MAPI_CMD_GOP_GWIN_SET_WININFO:
1333 case MAPI_CMD_GOP_GWIN_GET_WININFO:
1334 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_SETWININFO,spt_GOP_GWIN_SETWININFO,buffer_arg,sizeof(buffer_arg));
1335 break;
1336 case MAPI_CMD_GOP_GWIN_SETDISPLAY:
1337 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_DISPLAY,spt_GOP_GWIN_DISPLAY,buffer_arg,sizeof(buffer_arg));
1338 break;
1339 case MAPI_CMD_GOP_GWIN_DESTROY:
1340 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_DESTROY,spt_GOP_GWIN_DESTROY,buffer_arg,sizeof(buffer_arg));
1341 break;
1342 //GFLIP
1343 case MAPI_CMD_GOP_GFLIP_CLEARQUEUE:
1344 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_CLEARQUEUE,spt_GOP_GWIN_CLEARQUEUE,buffer_arg,sizeof(buffer_arg));
1345 break;
1346 case MAPI_CMD_GOP_GFLIP_SWITCHGWIN:
1347 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_GFLIP_SWITCH_GWIN, spt_GOP_GWIN_GFLIP_SWITCH_GWIN,buffer_arg,sizeof(buffer_arg));
1348 break;
1349 case MAPI_CMD_GOP_GFLIP_SWITCHMULTIGWIN:
1350 #if 1
1351 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN,spt_GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN,buffer_arg,sizeof(buffer_arg));
1352 #else
1353 //u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN,spt_GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN,buffer_arg,sizeof(buffer_arg));
1354 MS_U8 i=0;
1355 GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN_PARAM Str;
1356 GOP_GWIN_FLIP_MULTI_WIN_INFO Str_A0;
1357 GOP_GWIN_FLIP_WIN_INFO Str_A0B0[GOP_MULTIINFO_NUM];
1358 MS_U32 Str_A0B0CO[GOP_MULTIINFO_NUM];
1359
1360 PGOP_GWIN_GFLIP_SWITCH_MULTI_GWIN_PARAM Usr=NULL;
1361 PGOP_GWIN_FLIP_MULTI_WIN_INFO Usr_A0=NULL;
1362 GOP_GWIN_FLIP_WIN_INFO* Usr_A0B0[GOP_MULTIINFO_NUM];
1363 MS_U32* Usr_A0B0CO=NULL;
1364
1365 Usr = (PGOP_GWIN_GFLIP_SWITCH_MULTI_GWIN_PARAM)pArgs;
1366 Usr_A0 = (PGOP_GWIN_FLIP_MULTI_WIN_INFO)Usr->pMultiFlipInfo;
1367 Usr_A0B0[0] = (GOP_GWIN_FLIP_WIN_INFO*)&Usr_A0->FlipInfo;
1368
1369 if(copy_from_user(&Str, Usr, sizeof(GOP_GWIN_GFLIP_SWITCH_MULTI_GWIN_PARAM)))
1370 {
1371 return UTOPIA_STATUS_FAIL;
1372 }
1373 Str.pMultiFlipInfo = (MS_U32*)&Str_A0;
1374 if(copy_from_user(&Str_A0, Usr_A0, sizeof(GOP_GWIN_FLIP_MULTI_WIN_INFO)))
1375 {
1376 return UTOPIA_STATUS_FAIL;
1377 }
1378 if(copy_from_user(&Str_A0B0[0], Usr_A0B0, sizeof(GOP_GWIN_FLIP_WIN_INFO)*Usr_A0->u8InfoCnt))
1379 {
1380 return UTOPIA_STATUS_FAIL;
1381 }
1382
1383 for(i=0; i<Usr_A0->u8InfoCnt; i++)
1384 {
1385 Usr_A0B0CO = (MS_U32*)Usr_A0B0[i]->pQueueCnt;
1386
1387 Str_A0.FlipInfo[i] = Str_A0B0[i];
1388 Str_A0B0[i].pQueueCnt =(MS_U32*)&Str_A0B0CO;
1389 if(copy_from_user(&Str_A0B0CO[i], Usr_A0B0CO, sizeof(MS_U32)))
1390 {
1391 return UTOPIA_STATUS_FAIL;
1392 }
1393 }
1394 u32Ret=UtopiaIoctl(pInstanceTmp, u32Cmd, (void*)&Str);
1395 }
1396 #endif
1397 break;
1398
1399 case MAPI_CMD_GOP_GFLIP_RESTORE_VSYNC_LMT:
1400 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
1401 break;
1402 //PINPON
1403 case MAPI_CMD_GOP_SET_PINPON:
1404 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SET_PINPON_PINPON,spt_GOP_SET_PINPON_PINPON,buffer_arg,sizeof(buffer_arg));
1405 break;
1406 //FB Info
1407 case MAPI_CMD_GOP_FB_CREATE:
1408 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_CREATE_BUFFER,spt_GOP_CREATE_BUFFER,buffer_arg,sizeof(buffer_arg));
1409 break;
1410 case MAPI_CMD_GOP_FB_DESTROY:
1411 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DELETE_BUFFER,spt_GOP_DELETE_BUFFER,buffer_arg,sizeof(buffer_arg));
1412 break;
1413 case MAPI_CMD_GOP_FB_GETINFO:
1414 case MAPI_CMD_GOP_FB_SETINFO:
1415 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_FB_INFO,spt_GOP_FB_INFO,buffer_arg,sizeof(buffer_arg));
1416 break;
1417 case MAPI_CMD_GOP_FB_SET_PROPERTY:
1418 case MAPI_CMD_GOP_FB_GET_PROPERTY:
1419 {
1420 GOP_FB_PROPERTY_PARAM ptr;
1421 if(copy_from_user(&ptr, (GOP_FB_PROPERTY_PARAM __user *)pArgs, sizeof(GOP_FB_PROPERTY_PARAM)))
1422 {
1423 return UTOPIA_STATUS_FAIL;
1424 }
1425 switch(ptr.en_property)
1426 {
1427 case E_GOP_FB_POOLID:
1428 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_FB_PROPERTY_POOLID,spt_GOP_FB_PROPERTY_POOLID,buffer_arg,sizeof(buffer_arg));
1429 break;
1430 case E_GOP_FB_EXIST:
1431 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_FB_PROPERTY_EXIST,spt_GOP_FB_PROPERTY_EXIST,buffer_arg,sizeof(buffer_arg));
1432 break;
1433 case E_GOP_FB_OBTAIN:
1434 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_FB_PROPERTY_OBTAIN,spt_GOP_FB_PROPERTY_OBTAIN,buffer_arg,sizeof(buffer_arg));
1435 break;
1436 }
1437 break;
1438 }
1439 //palette
1440 case MAPI_CMD_GOP_PALETTE_SET_CONFIG:
1441 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PALETTE_CONFIG,spt_GOP_PALETTE_CONFIG,buffer_arg,sizeof(buffer_arg));
1442 break;
1443 case MAPI_CMD_GOP_PALETTE_SET_ENTRY:
1444 {
1445 #ifdef CONFIG_COMPAT
1446 if(is_compat_task()==1)
1447 {
1448 compat_uint_t i;
1449 compat_uptr_t p;
1450 int err= 0;
1451
1452 GOP_PALETTE_SET_PARAM_32 __user *data32;
1453 GOP_PALETTE_SET_PARAM __user *data;
1454 data = compat_alloc_user_space(sizeof(*data));
1455 if (data == NULL)
1456 return -EFAULT;
1457 data32 = compat_ptr(pArgs);
1458 err = get_user(i, &data32->type);
1459 err |= put_user(i, &data->type);
1460 err |= get_user(p, &data32->pClut);
1461 err |= put_user(compat_ptr(p), &data->pClut);
1462 err |= get_user(i, &data32->u32Size);
1463 err |= put_user(i, &data->u32Size);
1464 if (err)
1465 return err;
1466
1467 GOP_PALETTE_ENTRY_32 __user *data32_Pale;
1468 GOP_PALETTE_ENTRY __user *data_Pale;
1469 data_Pale = compat_alloc_user_space(sizeof(*data_Pale));
1470 if (data_Pale == NULL)
1471 return -EFAULT;
1472 data32_Pale = compat_ptr(data32->pClut);
1473 data->pClut= &data_Pale;
1474 err = get_user(i, &data32_Pale->gop_idx);
1475 err |= put_user(i, &data_Pale->gop_idx);
1476 err |= get_user(i, &data32_Pale->start);
1477 err |= put_user(i, &data_Pale->start);
1478 err |= get_user(i, &data32_Pale->end);
1479 err |= put_user(i, &data_Pale->end);
1480 err |= get_user(p, &data32_Pale->pClut);
1481 err |= put_user(compat_ptr(p), &data_Pale->pClut);
1482 err |= get_user(i, &data32_Pale->palType);
1483 err |= put_user(i, &data_Pale->palType);
1484 err |= get_user(i, &data32_Pale->palSrc);
1485 err |= put_user(i, &data_Pale->palSrc);
1486 if (err)
1487 return err;
1488 UADP_SPT_BGN(&spt_GOP_PALETTE_SET_ENTRY_A0B0[0],sizeof(GOP_PaletteEntry)*(data32_Pale->end-data32_Pale->start+1));
1489 UADP_SPT_FIN(&spt_GOP_PALETTE_SET_ENTRY_A0B0[1]);
1490 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PALETTE_SET_ENTRY,spt_GOP_PALETTE_SET_ENTRY,buffer_arg,sizeof(buffer_arg));
1491 }
1492 else
1493 #endif
1494 {
1495 GOP_PALETTE_SET_PARAM Str;
1496 GOP_PALETTE_ENTRY Str_A0;
1497 //MS_U32 Str_A0B0[256]={0};
1498 MS_U32 *Str_A0B0 = NULL;
1499
1500 PGOP_PALETTE_SET_PARAM Usr=NULL;
1501 GOP_PALETTE_ENTRY* Usr_A0=NULL;
1502 MS_U32* Usr_A0B0=NULL;
1503
1504 Usr=(PGOP_PALETTE_SET_PARAM)pArgs;
1505 Usr_A0 = (GOP_PALETTE_ENTRY*)Usr->pClut;
1506 Usr_A0B0 = (MS_U32*)Usr_A0->pClut;
1507
1508 if(copy_from_user(&Str, Usr, sizeof(GOP_PALETTE_SET_PARAM)))
1509 {
1510 return UTOPIA_STATUS_FAIL;
1511 }
1512 Str.pClut = (MS_U32*)&Str_A0;
1513 if(copy_from_user(&Str_A0, Usr_A0, sizeof(GOP_PALETTE_ENTRY)))
1514 {
1515 return UTOPIA_STATUS_FAIL;
1516 }
1517 Str_A0B0 = malloc(sizeof(MS_U32) * 256);
1518 if(Str_A0B0 != NULL)
1519 {
1520 memset(Str_A0B0, 0x0, sizeof(MS_U32) * 256);
1521 }
1522 else
1523 {
1524 printk("MAPI_CMD_GOP_PALETTE_SET_ENTRY, malloc fail\n");
1525 return UTOPIA_STATUS_FAIL;
1526 }
1527 Str_A0.pClut = (MS_U32*)Str_A0B0;
1528 if(copy_from_user(Str_A0B0, Usr_A0B0, sizeof(MS_U32)*(Usr_A0->end-Usr_A0->start+1)))
1529 {
1530 if(Str_A0B0 != NULL)
1531 {
1532 free(Str_A0B0);
1533 Str_A0B0 = NULL;
1534 }
1535 return UTOPIA_STATUS_FAIL;
1536 }
1537 u32Ret=UtopiaIoctl(pInstanceTmp, u32Cmd, (void*)&Str);
1538 if(Str_A0B0 != NULL)
1539 {
1540 free(Str_A0B0);
1541 Str_A0B0 = NULL;
1542 }
1543 }
1544 }
1545 break;
1546 case MAPI_CMD_GOP_PALETTE_GET_ENTRY:
1547 {
1548
1549 #ifdef CONFIG_COMPAT
1550 if(is_compat_task()==1)
1551 {
1552 compat_uint_t i;
1553 compat_uptr_t p;
1554 int err= 0;
1555
1556 GOP_PALETTE_SET_PARAM_32 __user *data32;
1557 GOP_PALETTE_SET_PARAM __user *data;
1558 data = compat_alloc_user_space(sizeof(*data));
1559 if (data == NULL)
1560 return -EFAULT;
1561 data32 = compat_ptr(pArgs);
1562 err = get_user(i, &data32->type);
1563 err |= put_user(i, &data->type);
1564 err |= get_user(p, &data32->pClut);
1565 err |= put_user(compat_ptr(p), &data->pClut);
1566 err |= get_user(i, &data32->u32Size);
1567 err |= put_user(i, &data->u32Size);
1568 if (err)
1569 return err;
1570
1571 GOP_PALETTE_ENTRY_32 __user *data32_Pale;
1572 GOP_PALETTE_ENTRY __user *data_Pale;
1573 data_Pale = compat_alloc_user_space(sizeof(*data_Pale));
1574 if (data_Pale == NULL)
1575 return -EFAULT;
1576 data32_Pale = compat_ptr(data32->pClut);
1577 data->pClut= &data_Pale;
1578 err = get_user(i, &data32_Pale->gop_idx);
1579 err |= put_user(i, &data_Pale->gop_idx);
1580 err |= get_user(i, &data32_Pale->start);
1581 err |= put_user(i, &data_Pale->start);
1582 err |= get_user(i, &data32_Pale->end);
1583 err |= put_user(i, &data_Pale->end);
1584 err |= get_user(p, &data32_Pale->pClut);
1585 err |= put_user(compat_ptr(p), &data_Pale->pClut);
1586 err |= get_user(i, &data32_Pale->palType);
1587 err |= put_user(i, &data_Pale->palType);
1588 err |= get_user(i, &data32_Pale->palSrc);
1589 err |= put_user(i, &data_Pale->palSrc);
1590 if (err)
1591 return err;
1592 UADP_SPT_BGN(&spt_GOP_PALETTE_SET_ENTRY_A0B0[0],sizeof(GOP_PaletteEntry)*(data32_Pale->end-data32_Pale->start+1));
1593 UADP_SPT_FIN(&spt_GOP_PALETTE_SET_ENTRY_A0B0[1]);
1594 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_PALETTE_SET_ENTRY ,spt_GOP_PALETTE_SET_ENTRY,buffer_arg,sizeof(buffer_arg));
1595 }
1596 else
1597 #endif
1598 {
1599 GOP_PALETTE_SET_PARAM Str;
1600 GOP_PALETTE_ENTRY Str_A0;
1601 //MS_U32 Str_A0B0[256]={0};
1602 MS_U32 *Str_A0B0 = NULL;
1603
1604 PGOP_PALETTE_SET_PARAM Usr=NULL;
1605 GOP_PALETTE_ENTRY* Usr_A0=NULL;
1606 MS_U32* Usr_A0B0=NULL;
1607
1608 Usr=(PGOP_PALETTE_SET_PARAM)pArgs;
1609 Usr_A0 = (GOP_PALETTE_ENTRY*)Usr->pClut;
1610 Usr_A0B0 = (MS_U32*)Usr_A0->pClut;
1611
1612 Str.pClut = (MS_U32*)&Str_A0;
1613 //Str_A0.pClut = (MS_U32*)Str_A0B0;
1614
1615 if(copy_from_user(&Str, Usr, sizeof(GOP_PALETTE_SET_PARAM)))
1616 {
1617 return UTOPIA_STATUS_FAIL;
1618 }
1619
1620 Str_A0B0 = malloc(sizeof(MS_U32) * 256);
1621 if(Str_A0B0 != NULL)
1622 {
1623 memset(Str_A0B0, 0x0, sizeof(MS_U32) * 256);
1624 }
1625 else
1626 {
1627 printk("MAPI_CMD_GOP_PALETTE_SET_ENTRY, malloc fail\n");
1628 return UTOPIA_STATUS_FAIL;
1629 }
1630 Str_A0.pClut = (MS_U32*)Str_A0B0;
1631
1632 if(copy_from_user(&Str_A0, Usr_A0, sizeof(GOP_PALETTE_ENTRY)))
1633 {
1634 if(Str_A0B0 != NULL)
1635 {
1636 free(Str_A0B0);
1637 Str_A0B0 = NULL;
1638 }
1639 return UTOPIA_STATUS_FAIL;
1640 }
1641
1642 u32Ret=UtopiaIoctl(pInstanceTmp, u32Cmd, (void*)&Str);
1643 if(copy_to_user(Usr, &Str, sizeof(GOP_PALETTE_SET_PARAM)))
1644 {
1645 return UTOPIA_STATUS_FAIL;
1646 }
1647 if(copy_to_user(Usr_A0, &Str_A0, sizeof(GOP_PALETTE_ENTRY)))
1648 {
1649 return UTOPIA_STATUS_FAIL;
1650 }
1651
1652 if(copy_to_user(Usr_A0B0, Str_A0B0, sizeof(MS_U32)*(Usr_A0->end-Usr_A0->start+1)))
1653 {
1654 return UTOPIA_STATUS_FAIL;
1655 }
1656 if(Str_A0B0 != NULL)
1657 {
1658 free(Str_A0B0);
1659 Str_A0B0 = NULL;
1660 }
1661 break;
1662 }
1663 }
1664 //Scroll
1665 case MAPI_CMD_GOP_SET_SCROLL:
1666 {
1667 GOP_SCROLL_PARAM ptr;
1668 if(copy_from_user(&ptr, (GOP_SCROLL_PARAM __user *)pArgs, sizeof(GOP_SCROLL_PARAM)))
1669 {
1670 return UTOPIA_STATUS_FAIL;
1671 }
1672 switch(ptr.scroll_type)
1673 {
1674 case E_GOP_SCROLL_CONFIG:
1675 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SCROLL_CONFIG, NULL,buffer_arg,sizeof(buffer_arg));
1676 break;
1677 case E_GOP_SCROLL_RATE:
1678 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SCROLL_RATE, NULL,buffer_arg,sizeof(buffer_arg));
1679 break;
1680 }
1681 break;
1682 }
1683 case MAPI_CMD_GOP_GWIN_SET_FADE:
1684 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SET_FADE_CONFIG,spt_GOP_SET_FADE_CONFIG,buffer_arg,sizeof(buffer_arg));
1685 break;
1686 //DWIN
1687 case MAPI_CMD_GOP_DWIN_INIT:
1688 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
1689 break;
1690 case MAPI_CMD_GOP_DWIN_CAPTURE:
1691 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_CAPTURE,spt_GOP_DWIN_CAPTURE,buffer_arg,sizeof(buffer_arg));
1692 break;
1693 case MAPI_CMD_GOP_DWIN_INTR:
1694 {
1695 GOP_DWIN_INTR_STATUS_PARAM ptr;
1696 if(copy_from_user(&ptr, (GOP_DWIN_INTR_STATUS_PARAM __user *)pArgs, sizeof(GOP_DWIN_INTR_STATUS_PARAM)))
1697 {
1698 return UTOPIA_STATUS_FAIL;
1699 }
1700 switch(ptr.intr_type)
1701 {
1702 case E_GOP_DWIN_INTR_CONTROL:
1703 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_INTR_STATUS_CONTROL,spt_GOP_DWIN_INTR_STATUS_CONTROL,buffer_arg,sizeof(buffer_arg));
1704 break;
1705 case E_GOP_DWIN_INTR_GETINFO:
1706 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_INTR_STATUS_GETINFO,spt_GOP_DWIN_INTR_STATUS_GETINFO,buffer_arg,sizeof(buffer_arg));
1707 break;
1708 case E_GOP_DWIN_INTR_GETINFO_TIMEOUT:
1709 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_INTR_STATUS_GETINFO_TIMEOUT,spt_GOP_DWIN_INTR_STATUS_GETINFO_TIMEOUT,buffer_arg,sizeof(buffer_arg));
1710 break;
1711 }
1712 break;
1713 }
1714 case MAPI_CMD_GOP_DWIN_SET_PROPERTY:
1715 case MAPI_CMD_GOP_DWIN_GET_PROPERTY:
1716 {
1717 GOP_DWIN_PROPERTY_PARAM ptr;
1718 if(copy_from_user(&ptr, (GOP_DWIN_PROPERTY_PARAM __user *)pArgs, sizeof(GOP_DWIN_PROPERTY_PARAM)))
1719 {
1720 return UTOPIA_STATUS_FAIL;
1721 }
1722 switch(ptr.en_dwin_property)
1723 {
1724 case E_GOP_DWIN_R2Y:
1725 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_R2Y,spt_GOP_DWIN_PROPERTY_R2Y,buffer_arg,sizeof(buffer_arg));
1726 break;
1727 case E_GOP_DWIN_UV_SWAP:
1728 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_UV_SWAP,spt_GOP_DWIN_PROPERTY_UV_SWAP,buffer_arg,sizeof(buffer_arg));
1729 break;
1730 case E_GOP_DWIN_UV_SAMPLE:
1731 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_UV_SAMPLE,spt_GOP_DWIN_PROPERTY_UV_SAMPLE,buffer_arg,sizeof(buffer_arg));
1732 break;
1733 case E_GOP_DWIN_SOURCE_SCAN_TYPE:
1734 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_SOURCE_SCAN_TYPE,spt_GOP_DWIN_PROPERTY_SOURCE_SCAN_TYPE,buffer_arg,sizeof(buffer_arg));
1735 break;
1736 case E_GOP_DWIN_ALPHA_VALUE:
1737 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_ALPHA_VALUE,spt_GOP_DWIN_PROPERTY_ALPHA_VALUE,buffer_arg,sizeof(buffer_arg));
1738 break;
1739 case E_GOP_DWIN_ALPHA_SOURCE:
1740 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_ALPHA_SOURCE,spt_GOP_DWIN_PROPERTY_ALPHA_SOURCE,buffer_arg,sizeof(buffer_arg));
1741 break;
1742 case E_GOP_DWIN_ALPHA_INVERSE:
1743 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_ALPHA_INVERSE,spt_GOP_DWIN_PROPERTY_ALPHA_INVERSE,buffer_arg,sizeof(buffer_arg));
1744 break;
1745 case E_GOP_DWIN_SKIP_FRAME:
1746 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_SKIP_FRAME,spt_GOP_DWIN_PROPERTY_SKIP_FRAME,buffer_arg,sizeof(buffer_arg));
1747 break;
1748 case E_GOP_DWIN_PINPON:
1749 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_PINPON,spt_GOP_DWIN_PROPERTY_PINPON,buffer_arg,sizeof(buffer_arg));
1750 break;
1751 case E_GOP_DWIN_INTERRUP_INFO:
1752 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_INTERRUP_INFO,spt_GOP_DWIN_PROPERTY_INTERRUP_INFO,buffer_arg,sizeof(buffer_arg));
1753 break;
1754 case E_GOP_DWIN_CAPTURE_INFO:
1755 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_DWIN_PROPERTY_CAPTURE_INFO,spt_GOP_DWIN_PROPERTY_CAPTURE_INFO,buffer_arg,sizeof(buffer_arg));
1756 break;
1757 }
1758 break;
1759 }
1760 //MIXER
1761 case MAPI_CMD_GOP_MIXER_SET_PROPERTY:
1762 case MAPI_CMD_GOP_MIXER_GET_PROPERTY:
1763 {
1764 GOP_MIXER_PROPERTY_PARAM ptr;
1765 if(copy_from_user(&ptr, (GOP_MIXER_PROPERTY_PARAM __user *)pArgs, sizeof(GOP_MIXER_PROPERTY_PARAM)))
1766 {
1767 return UTOPIA_STATUS_FAIL;
1768 }
1769 switch(ptr.en_mixer_property)
1770 {
1771 case E_GOP_MIXER_OUTPUT_TIMING:
1772 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MIXER_PROPERTY_OUTPUT_TIMING,spt_GOP_MIXER_PROPERTY_OUTPUT_TIMING,buffer_arg,sizeof(buffer_arg));
1773 break;
1774 case E_GOP_MIXER_TO_OP_OUTPUT_TIMING:
1775 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MIXER_PROPERTY_TO_OP_OUTPUT_TIMING,spt_GOP_MIXER_PROPERTY_TO_OP_OUTPUT_TIMING,buffer_arg,sizeof(buffer_arg));
1776 break;
1777 case E_GOP_MIXER_V_FILTER:
1778 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MIXER_PROPERTY_V_FILTER,spt_GOP_MIXER_PROPERTY_V_FILTER,buffer_arg,sizeof(buffer_arg));
1779 break;
1780 case E_GOP_MIXER_OLD_BLENDING_MODE:
1781 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MIXER_PROPERTY_OLD_BLENDING_MODE,spt_GOP_MIXER_PROPERTY_OLD_BLENDING_MODE,buffer_arg,sizeof(buffer_arg));
1782 break;
1783 }
1784 break;
1785 }
1786 break;
1787 //VE
1788 case MAPI_CMD_GOP_VE_SET_PROPERTY:
1789 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_VE_PROPERTY_OUTPUT_TIMING,spt_GOP_VE_PROPERTY_OUTPUT_TIMING,buffer_arg,sizeof(buffer_arg));
1790 break;
1791 //MISC
1792 case MAPI_CMD_GOP_UPDATE:
1793 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_UPDATE,spt_GOP_UPDATE,buffer_arg,sizeof(buffer_arg));
1794 break;
1795 case MAPI_CMD_GOP_REGISTER_CB:
1796 {
1797 GOP_REGISTER_CB_PARAM ptr;
1798 if(copy_from_user(&ptr, (GOP_REGISTER_CB_PARAM __user *)pArgs, sizeof(GOP_REGISTER_CB_PARAM)))
1799 {
1800 return UTOPIA_STATUS_FAIL;
1801 }
1802 switch(ptr.cb_type)
1803 {
1804 case GOP_CB_XC_INTERLACE:
1805 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_CB_INTERLACE,NULL,buffer_arg,sizeof(buffer_arg));
1806 break;
1807 case GOP_CB_XC_PANEL_HSTART:
1808 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_CB_HSTART,NULL,buffer_arg,sizeof(buffer_arg));
1809 break;
1810 }
1811 break;
1812 }
1813 case MAPI_CMD_GOP_TESTPATTERN:
1814 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_TESTPATTERN,NULL,buffer_arg,sizeof(buffer_arg));
1815 break;
1816 case MAPI_CMD_GOP_SELECTION:
1817 {
1818 GOP_SELECTION_PROPERTY_PARAM ptr;
1819 if(copy_from_user(&ptr, pArgs, sizeof(GOP_SELECTION_PROPERTY_PARAM)))
1820 {
1821 return UTOPIA_STATUS_FAIL;
1822 }
1823 switch(ptr.sel_type)
1824 {
1825 case EN_GOP_SEL_GOP:
1826 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SELECTION_SELGOP, NULL,buffer_arg,sizeof(buffer_arg));
1827 break;
1828 case EN_GOP_SEL_GWIN:
1829 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SELECTION_SELGWIN, NULL,buffer_arg,sizeof(buffer_arg));
1830 break;
1831 case EN_GOP_SEL_FB:
1832 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_SELECTION_SELFB, spt_GOP_SELECTION_SELFB,buffer_arg,sizeof(buffer_arg));
1833 break;
1834 default:
1835 break;
1836 }
1837 break;
1838 }
1839 case MAPI_CMD_GOP_MUTEX:
1840 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MUTEX,spt_GOP_MUTEX,buffer_arg,sizeof(buffer_arg));
1841 break;
1842 case MAPI_CMD_GOP_MISC:
1843 {
1844 GOP_MISC_PARAM ptr;
1845 if(copy_from_user(&ptr, (GOP_MISC_PARAM __user *)pArgs, sizeof(GOP_MISC_PARAM)))
1846 {
1847 return UTOPIA_STATUS_FAIL;
1848 }
1849 switch(ptr.misc_type)
1850 {
1851 case E_GOP_MISC_ENABLE_T3D:
1852 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_ENABLE_T3D,spt_GOP_MISC_ENABLE_T3D,buffer_arg,sizeof(buffer_arg));
1853 break;
1854 case E_GOP_MISC_SET_CAPTURE_CLK:
1855 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_SET_CAPTURE_CLK,spt_GOP_MISC_SET_CAPTURE_CLK,buffer_arg,sizeof(buffer_arg));
1856 break;
1857 case E_GOP_MISC_POWER_OFF:
1858 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_POWER_OFF,spt_GOP_MISC_POWER_OFF,buffer_arg,sizeof(buffer_arg));
1859 break;
1860 case E_GOP_MISC_POWER_ON:
1861 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_POWER_ON,spt_GOP_MISC_POWER_ON,buffer_arg,sizeof(buffer_arg));
1862 break;
1863 case E_GOP_MISC_GET_RT_STATUS:
1864 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_GET_RT_STATUS,spt_GOP_MISC_GET_RT_STATUS,buffer_arg,sizeof(buffer_arg));
1865 break;
1866 case E_GOP_MISC_GET_INFO:
1867 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_GET_INFO,spt_GOP_MISC_GET_INFO,buffer_arg,sizeof(buffer_arg));
1868 break;
1869 case E_GOP_MISC_AT_EXIT:
1870 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_AT_EXIT,spt_GOP_MISC_AT_EXIT,buffer_arg,sizeof(buffer_arg));
1871 break;
1872 case E_GOP_MISC_OC_FB_INFO:
1873 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_OC_FB_INFO,spt_GOP_MISC_OC_FB_INFO,buffer_arg,sizeof(buffer_arg));
1874 break;
1875 case E_GOP_MISC_TESTPATTERN_ALPHA:
1876 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_TESTPATTERN_ALPHA,spt_GOP_MISC_TESTPATTERN_ALPHA,buffer_arg,sizeof(buffer_arg));
1877 break;
1878 case E_GOP_MISC_DELETE_GWINSIZE:
1879 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_MISC_DELETE_GWINSIZE,NULL ,buffer_arg,sizeof(buffer_arg));
1880 break;
1881 }
1882 break;
1883 }
1884 case MAPI_CMD_GOP_RESETPOOL:
1885 u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
1886 break;
1887 case MAPI_CMD_GOP_POWERSTATE:
1888 u32Ret=UADPBypassIoctl(pInstanceTmp,u32Cmd,pArgs,spt_GOP_POWERSTATE_PARAM,spt_GOP_POWERSTATE_PARAM,buffer_arg,sizeof(buffer_arg));
1889 break;
1890 default:
1891 break;
1892 }
1893 return u32Ret;
1894 }
1895
1896