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