xref: /utopia/UTPA2-700.0.x/modules/xc/utopia_adaption/pnl/PNL_adp.c (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi //<MStar Software>
2*53ee8cc1Swenshuai.xi //******************************************************************************
3*53ee8cc1Swenshuai.xi // MStar Software
4*53ee8cc1Swenshuai.xi // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved.
5*53ee8cc1Swenshuai.xi // All software, firmware and related documentation herein ("MStar Software") are
6*53ee8cc1Swenshuai.xi // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by
7*53ee8cc1Swenshuai.xi // law, including, but not limited to, copyright law and international treaties.
8*53ee8cc1Swenshuai.xi // Any use, modification, reproduction, retransmission, or republication of all
9*53ee8cc1Swenshuai.xi // or part of MStar Software is expressly prohibited, unless prior written
10*53ee8cc1Swenshuai.xi // permission has been granted by MStar.
11*53ee8cc1Swenshuai.xi //
12*53ee8cc1Swenshuai.xi // By accessing, browsing and/or using MStar Software, you acknowledge that you
13*53ee8cc1Swenshuai.xi // have read, understood, and agree, to be bound by below terms ("Terms") and to
14*53ee8cc1Swenshuai.xi // comply with all applicable laws and regulations:
15*53ee8cc1Swenshuai.xi //
16*53ee8cc1Swenshuai.xi // 1. MStar shall retain any and all right, ownership and interest to MStar
17*53ee8cc1Swenshuai.xi //    Software and any modification/derivatives thereof.
18*53ee8cc1Swenshuai.xi //    No right, ownership, or interest to MStar Software and any
19*53ee8cc1Swenshuai.xi //    modification/derivatives thereof is transferred to you under Terms.
20*53ee8cc1Swenshuai.xi //
21*53ee8cc1Swenshuai.xi // 2. You understand that MStar Software might include, incorporate or be
22*53ee8cc1Swenshuai.xi //    supplied together with third party`s software and the use of MStar
23*53ee8cc1Swenshuai.xi //    Software may require additional licenses from third parties.
24*53ee8cc1Swenshuai.xi //    Therefore, you hereby agree it is your sole responsibility to separately
25*53ee8cc1Swenshuai.xi //    obtain any and all third party right and license necessary for your use of
26*53ee8cc1Swenshuai.xi //    such third party`s software.
27*53ee8cc1Swenshuai.xi //
28*53ee8cc1Swenshuai.xi // 3. MStar Software and any modification/derivatives thereof shall be deemed as
29*53ee8cc1Swenshuai.xi //    MStar`s confidential information and you agree to keep MStar`s
30*53ee8cc1Swenshuai.xi //    confidential information in strictest confidence and not disclose to any
31*53ee8cc1Swenshuai.xi //    third party.
32*53ee8cc1Swenshuai.xi //
33*53ee8cc1Swenshuai.xi // 4. MStar Software is provided on an "AS IS" basis without warranties of any
34*53ee8cc1Swenshuai.xi //    kind. Any warranties are hereby expressly disclaimed by MStar, including
35*53ee8cc1Swenshuai.xi //    without limitation, any warranties of merchantability, non-infringement of
36*53ee8cc1Swenshuai.xi //    intellectual property rights, fitness for a particular purpose, error free
37*53ee8cc1Swenshuai.xi //    and in conformity with any international standard.  You agree to waive any
38*53ee8cc1Swenshuai.xi //    claim against MStar for any loss, damage, cost or expense that you may
39*53ee8cc1Swenshuai.xi //    incur related to your use of MStar Software.
40*53ee8cc1Swenshuai.xi //    In no event shall MStar be liable for any direct, indirect, incidental or
41*53ee8cc1Swenshuai.xi //    consequential damages, including without limitation, lost of profit or
42*53ee8cc1Swenshuai.xi //    revenues, lost or damage of data, and unauthorized system use.
43*53ee8cc1Swenshuai.xi //    You agree that this Section 4 shall still apply without being affected
44*53ee8cc1Swenshuai.xi //    even if MStar Software has been modified by MStar in accordance with your
45*53ee8cc1Swenshuai.xi //    request or instruction for your use, except otherwise agreed by both
46*53ee8cc1Swenshuai.xi //    parties in writing.
47*53ee8cc1Swenshuai.xi //
48*53ee8cc1Swenshuai.xi // 5. If requested, MStar may from time to time provide technical supports or
49*53ee8cc1Swenshuai.xi //    services in relation with MStar Software to you for your use of
50*53ee8cc1Swenshuai.xi //    MStar Software in conjunction with your or your customer`s product
51*53ee8cc1Swenshuai.xi //    ("Services").
52*53ee8cc1Swenshuai.xi //    You understand and agree that, except otherwise agreed by both parties in
53*53ee8cc1Swenshuai.xi //    writing, Services are provided on an "AS IS" basis and the warranty
54*53ee8cc1Swenshuai.xi //    disclaimer set forth in Section 4 above shall apply.
55*53ee8cc1Swenshuai.xi //
56*53ee8cc1Swenshuai.xi // 6. Nothing contained herein shall be construed as by implication, estoppels
57*53ee8cc1Swenshuai.xi //    or otherwise:
58*53ee8cc1Swenshuai.xi //    (a) conferring any license or right to use MStar name, trademark, service
59*53ee8cc1Swenshuai.xi //        mark, symbol or any other identification;
60*53ee8cc1Swenshuai.xi //    (b) obligating MStar or any of its affiliates to furnish any person,
61*53ee8cc1Swenshuai.xi //        including without limitation, you and your customers, any assistance
62*53ee8cc1Swenshuai.xi //        of any kind whatsoever, or any information; or
63*53ee8cc1Swenshuai.xi //    (c) conferring any license or right under any intellectual property right.
64*53ee8cc1Swenshuai.xi //
65*53ee8cc1Swenshuai.xi // 7. These terms shall be governed by and construed in accordance with the laws
66*53ee8cc1Swenshuai.xi //    of Taiwan, R.O.C., excluding its conflict of law rules.
67*53ee8cc1Swenshuai.xi //    Any and all dispute arising out hereof or related hereto shall be finally
68*53ee8cc1Swenshuai.xi //    settled by arbitration referred to the Chinese Arbitration Association,
69*53ee8cc1Swenshuai.xi //    Taipei in accordance with the ROC Arbitration Law and the Arbitration
70*53ee8cc1Swenshuai.xi //    Rules of the Association by three (3) arbitrators appointed in accordance
71*53ee8cc1Swenshuai.xi //    with the said Rules.
72*53ee8cc1Swenshuai.xi //    The place of arbitration shall be in Taipei, Taiwan and the language shall
73*53ee8cc1Swenshuai.xi //    be English.
74*53ee8cc1Swenshuai.xi //    The arbitration award shall be final and binding to both parties.
75*53ee8cc1Swenshuai.xi //
76*53ee8cc1Swenshuai.xi //******************************************************************************
77*53ee8cc1Swenshuai.xi 
78*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
79*53ee8cc1Swenshuai.xi /// file    TVENCODER_adp.c
80*53ee8cc1Swenshuai.xi /// @brief  TV encoder.
81*53ee8cc1Swenshuai.xi /// @author MStar Semiconductor Inc.
82*53ee8cc1Swenshuai.xi ////////////////////////////////////////////////////////////////////////////////
83*53ee8cc1Swenshuai.xi 
84*53ee8cc1Swenshuai.xi #ifndef _TVENCODER_ADP_C_
85*53ee8cc1Swenshuai.xi #define _TVENCODER_ADP_C_
86*53ee8cc1Swenshuai.xi 
87*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
88*53ee8cc1Swenshuai.xi //  Include Files
89*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
90*53ee8cc1Swenshuai.xi // Common Definition
91*53ee8cc1Swenshuai.xi #include <linux/slab.h>
92*53ee8cc1Swenshuai.xi #include "MsTypes.h"
93*53ee8cc1Swenshuai.xi #include "utopia.h"
94*53ee8cc1Swenshuai.xi #include "utopia_adp.h"
95*53ee8cc1Swenshuai.xi 
96*53ee8cc1Swenshuai.xi // Internal Definition
97*53ee8cc1Swenshuai.xi #include "apiPNL.h"
98*53ee8cc1Swenshuai.xi #include "apiPNL_v2.h"
99*53ee8cc1Swenshuai.xi #include "PNL_adp.h"
100*53ee8cc1Swenshuai.xi #include "drvPNL.h"
101*53ee8cc1Swenshuai.xi 
102*53ee8cc1Swenshuai.xi extern spt_MS_NULL;
103*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
104*53ee8cc1Swenshuai.xi //  Driver Compiler Options
105*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
106*53ee8cc1Swenshuai.xi 
107*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
108*53ee8cc1Swenshuai.xi //  Local Defines
109*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
110*53ee8cc1Swenshuai.xi 
111*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
112*53ee8cc1Swenshuai.xi //  Local Structurs
113*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
114*53ee8cc1Swenshuai.xi 
115*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
116*53ee8cc1Swenshuai.xi //  Global Variables
117*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
118*53ee8cc1Swenshuai.xi 
119*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
120*53ee8cc1Swenshuai.xi //  Local Variables
121*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
122*53ee8cc1Swenshuai.xi //Top
123*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_GetLibVer[10];
124*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_GetInfo[10];
125*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_GetStatus[10];
126*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_GetStatusEx[10];
127*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetDbgLevel[10];
128*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_IOMapBaseInit[10];
129*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_PreInit[10];
130*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_Init[10];
131*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_Init_Ex[10];
132*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_GetConfig[10];
133*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetOutput[10];
134*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_ChangePanelType[10];
135*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_TCONMAP_DumpTable[10];
136*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_TCONMAP_Power_Sequence[10];
137*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_TCON_Count_Reset[10];
138*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_TCON_Init[10];
139*53ee8cc1Swenshuai.xi //UADP_STRUCT_POINTER_TABLE spt_stPNL_GetDstInfo[10];
140*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(MS_PNL_DST_DispInfo,0);
141*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetDstInfo,1);
142*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_Control_Out_Swing[10];
143*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetOutputPattern[10];
144*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_Mod_Calibration_Setting[10];
145*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_Mod_Do_Calibration[10];
146*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_BD_LVDS_Output_Type[10];
147*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetLPLLTypeExt[10];
148*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_Init_MISC[10];
149*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_Get_MISC_Status,0);
150*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_MOD_OutputConfig_User[10];
151*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_MOD_OutputChannelOrder,0);
152*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_HWLVDSReservedtoLRFlag[10];
153*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_MOD_PVDD_Power_Setting[10];
154*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetSSC_En[10];
155*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetSSC_Fmodulation[10];
156*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetSSC_Rdeviation[10];
157*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_SetOSDSSC_En,0);
158*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_SetOSDSSC_Fmodulation,0);
159*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_SetOSDSSC_Rdeviation,0);
160*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SkipTimingChange[10];
161*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_PreSetModeOn,0);
162*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_OverDriver_Init[10];
163*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_OverDriver_Enable[10];
164*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_Get_LPLL_Type[10];
165*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_Get_TCON_Capability[10];
166*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetPairSwap[10];
167*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetExt_LPLL_Type[10];
168*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_CalExtLPLLSETbyDClk[10];
169*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetDiffSwingLevel[10];
170*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetPowerState[10];
171*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_ForceSetPanelDCLK[10];
172*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_EnableInternalTermination[10];
173*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_OutputDeviceHandshake[10];
174*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_OutputDeviceOCHandshake[10];
175*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_stPNL_SetOutputInterlaceTiming[10];
176*53ee8cc1Swenshuai.xi 
177*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetOutputInterlaceTiming,0);
178*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetPanelData,1);
179*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_SetSSC,0);
180*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetPanelOnTiming,0);
181*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetPanelOffTiming,0);
182*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetPanelDimCtrl,0);
183*53ee8cc1Swenshuai.xi 
184*53ee8cc1Swenshuai.xi //gamma
185*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(GammaTab,0);
186*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_SetGammaTbl,5);
187*53ee8cc1Swenshuai.xi //
188*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_EnablePanel,0);
189*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetLPLLMode,0);
190*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetDefVFreq,0);
191*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_ForceSetPanelHStart,0);
192*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(PNLName,0);
193*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetName,1);
194*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetHstart,0);
195*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetVstart,0);
196*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetWidth,0);
197*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetHeight,0);
198*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetHtotal,0);
199*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetVtotal,0);
200*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetHsyncWidth,0);
201*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetHsyncBackPorch,0);
202*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetVsyncBackPorch,0);
203*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetLPLLType,0);
204*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetARC,0);
205*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetMinSET,0);
206*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetMaxSET,0);
207*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetOutTimingMode,0);
208*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_CheckVBY1HandshakeStatus,0);
209*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_MOD_Video_HWTrainingMode,0);
210*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_MOD_OSD_HWTrainingMode,0);
211*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetVideoHWTraining_status,0);
212*53ee8cc1Swenshuai.xi UADP_SPT_NAMEnNXT_DEF(stPNL_GetOSDHWTraining_status,0);
213*53ee8cc1Swenshuai.xi 
214*53ee8cc1Swenshuai.xi //Bottom
215*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_MSIF_Version[10];
216*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_PNL_ApiInfo[10];
217*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_PNL_ApiStatus[10];
218*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_PNL_ApiExtStatus[10];
219*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_PanelType[10];
220*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_TCONTable[10];
221*53ee8cc1Swenshuai.xi //UADP_STRUCT_POINTER_TABLE spt_MS_PNL_DST_DispInfo[10];
222*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_MS_PNL_ModCaliInfo[10];
223*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_MS_PNL_OD_INITDATA[10];
224*53ee8cc1Swenshuai.xi UADP_STRUCT_POINTER_TABLE spt_PanelChar[10];
225*53ee8cc1Swenshuai.xi 
226*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
227*53ee8cc1Swenshuai.xi //  Debug Functions
228*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
229*53ee8cc1Swenshuai.xi 
230*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
231*53ee8cc1Swenshuai.xi //  Local Functions
232*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
233*53ee8cc1Swenshuai.xi 
234*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
235*53ee8cc1Swenshuai.xi //  Global Functions
236*53ee8cc1Swenshuai.xi //------------------------------------------------------------------------------
PNL_adp_Init(FUtopiaIOctl * pIoctl)237*53ee8cc1Swenshuai.xi MS_U32 PNL_adp_Init(FUtopiaIOctl *pIoctl)
238*53ee8cc1Swenshuai.xi {
239*53ee8cc1Swenshuai.xi 
240*53ee8cc1Swenshuai.xi //set table
241*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_GetLibVer[0], sizeof(stPNL_GetLibVer));
242*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_GetLibVer[1], stPNL_GetLibVer, ppVersion, spt_MSIF_Version);
243*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_GetLibVer[2]);
244*53ee8cc1Swenshuai.xi 
245*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_GetInfo[0], sizeof(stPNL_GetInfo));
246*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_GetInfo[1], stPNL_GetInfo, pApiInfo, spt_PNL_ApiInfo);
247*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_GetInfo[2]);
248*53ee8cc1Swenshuai.xi 
249*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_GetStatus[0], sizeof(stPNL_GetStatus));
250*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_GetStatus[1], stPNL_GetStatus, pPnlStatus, spt_PNL_ApiStatus);
251*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_GetStatus[2]);
252*53ee8cc1Swenshuai.xi 
253*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_GetStatusEx[0], sizeof(stPNL_GetStatusEx));
254*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_GetStatusEx[1], stPNL_GetStatusEx, pPnlExtStatus, spt_PNL_ApiExtStatus);
255*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_GetStatusEx[2]);
256*53ee8cc1Swenshuai.xi 
257*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetDbgLevel[0], sizeof(stPNL_SetDbgLevel));
258*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetDbgLevel[1]);
259*53ee8cc1Swenshuai.xi 
260*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_IOMapBaseInit[0], sizeof(stPNL_IOMapBaseInit));
261*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_IOMapBaseInit[1]);
262*53ee8cc1Swenshuai.xi 
263*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_PreInit[0], sizeof(stPNL_PreInit));
264*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_PreInit[1]);
265*53ee8cc1Swenshuai.xi 
266*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Init[0], sizeof(stPNL_Init));
267*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_Init[1], stPNL_Init, pSelPanelType, spt_PanelType);
268*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Init[2]);
269*53ee8cc1Swenshuai.xi 
270*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Init_Ex[0], sizeof(stPNL_Init_Ex));
271*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_Init_Ex[1], stPNL_Init_Ex, pSelPanelType, spt_PanelType);
272*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Init_Ex[2]);
273*53ee8cc1Swenshuai.xi 
274*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_GetConfig[0], sizeof(stPNL_GetConfig));
275*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_GetConfig[1], stPNL_GetConfig, pSelPanelType, spt_PanelType);
276*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_GetConfig[2]);
277*53ee8cc1Swenshuai.xi 
278*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetOutput[0], sizeof(stPNL_SetOutput));
279*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetOutput[1]);
280*53ee8cc1Swenshuai.xi 
281*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_ChangePanelType[0], sizeof(stPNL_ChangePanelType));
282*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_ChangePanelType[1], stPNL_ChangePanelType, pSelPanelType, spt_PanelType);
283*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_ChangePanelType[2]);
284*53ee8cc1Swenshuai.xi 
285*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_TCONMAP_DumpTable[0], sizeof(stPNL_TCONMAP_DumpTable));
286*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_TCONMAP_DumpTable[1], stPNL_TCONMAP_DumpTable, pTCONTable, spt_TCONTable);
287*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_TCONMAP_DumpTable[2]);
288*53ee8cc1Swenshuai.xi 
289*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_TCONMAP_Power_Sequence[0], sizeof(stPNL_TCONMAP_Power_Sequence));
290*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_TCONMAP_Power_Sequence[1], stPNL_TCONMAP_Power_Sequence, pTCONTable, spt_TCONTable);
291*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_TCONMAP_Power_Sequence[2]);
292*53ee8cc1Swenshuai.xi 
293*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_TCON_Count_Reset[0], sizeof(stPNL_TCON_Count_Reset));
294*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_TCON_Count_Reset[1]);
295*53ee8cc1Swenshuai.xi 
296*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(MS_PNL_DST_DispInfo,MS_PNL_DST_DispInfo);
297*53ee8cc1Swenshuai.xi     UADP_SPT_NAME1NXT(stPNL_GetDstInfo,stPNL_GetDstInfo,pDstInfo,MS_PNL_DST_DispInfo);
298*53ee8cc1Swenshuai.xi     //UADP_SPT_BGN(&spt_stPNL_GetDstInfo[0], sizeof(stPNL_GetDstInfo));
299*53ee8cc1Swenshuai.xi     //UADP_SPT_NXT(&spt_stPNL_GetDstInfo[1], stPNL_GetDstInfo, pDstInfo, spt_MS_PNL_DST_DispInfo);
300*53ee8cc1Swenshuai.xi     //UADP_SPT_FIN(&spt_stPNL_GetDstInfo[2]);
301*53ee8cc1Swenshuai.xi 
302*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Control_Out_Swing[0], sizeof(stPNL_Control_Out_Swing));
303*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Control_Out_Swing[1]);
304*53ee8cc1Swenshuai.xi 
305*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetOutputPattern[0], sizeof(stPNL_SetOutputPattern));
306*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetOutputPattern[1]);
307*53ee8cc1Swenshuai.xi 
308*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Mod_Calibration_Setting[0], sizeof(stPNL_Mod_Calibration_Setting));
309*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_Mod_Calibration_Setting[1], stPNL_Mod_Calibration_Setting, pstModCaliInfo, spt_MS_PNL_ModCaliInfo);
310*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Mod_Calibration_Setting[2]);
311*53ee8cc1Swenshuai.xi 
312*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Mod_Do_Calibration[0], sizeof(stPNL_Mod_Do_Calibration));
313*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Mod_Do_Calibration[1]);
314*53ee8cc1Swenshuai.xi 
315*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_BD_LVDS_Output_Type[0], sizeof(stPNL_BD_LVDS_Output_Type));
316*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_BD_LVDS_Output_Type[1]);
317*53ee8cc1Swenshuai.xi 
318*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetLPLLTypeExt[0], sizeof(stPNL_SetLPLLTypeExt));
319*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetLPLLTypeExt[1]);
320*53ee8cc1Swenshuai.xi 
321*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Init_MISC[0], sizeof(stPNL_Init_MISC));
322*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Init_MISC[1]);
323*53ee8cc1Swenshuai.xi 
324*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_Get_MISC_Status,stPNL_Get_MISC_Status);
325*53ee8cc1Swenshuai.xi 
326*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Control_Out_Swing[0], sizeof(stPNL_Control_Out_Swing));
327*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Control_Out_Swing[1]);
328*53ee8cc1Swenshuai.xi 
329*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_MOD_OutputConfig_User[0], sizeof(stPNL_MOD_OutputConfig_User));
330*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_MOD_OutputConfig_User[1]);
331*53ee8cc1Swenshuai.xi 
332*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_MOD_OutputChannelOrder,stPNL_MOD_OutputChannelOrder);
333*53ee8cc1Swenshuai.xi 
334*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_HWLVDSReservedtoLRFlag[0], sizeof(stPNL_HWLVDSReservedtoLRFlag));
335*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_HWLVDSReservedtoLRFlag[1]);
336*53ee8cc1Swenshuai.xi 
337*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_MOD_PVDD_Power_Setting[0], sizeof(stPNL_MOD_PVDD_Power_Setting));
338*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_MOD_PVDD_Power_Setting[1]);
339*53ee8cc1Swenshuai.xi 
340*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetSSC_En[0], sizeof(stPNL_SetSSC_En));
341*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetSSC_En[1]);
342*53ee8cc1Swenshuai.xi 
343*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Control_Out_Swing[0], sizeof(stPNL_Control_Out_Swing));
344*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Control_Out_Swing[1]);
345*53ee8cc1Swenshuai.xi 
346*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetSSC_Fmodulation[0], sizeof(stPNL_SetSSC_Fmodulation));
347*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetSSC_Fmodulation[1]);
348*53ee8cc1Swenshuai.xi 
349*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetSSC_Rdeviation[0], sizeof(stPNL_SetSSC_Rdeviation));
350*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetSSC_Rdeviation[1]);
351*53ee8cc1Swenshuai.xi 
352*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_SetOSDSSC_En,stPNL_SetOSDSSC_En);
353*53ee8cc1Swenshuai.xi 
354*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_SetOSDSSC_Fmodulation,stPNL_SetOSDSSC_Fmodulation);
355*53ee8cc1Swenshuai.xi 
356*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_SetOSDSSC_Rdeviation,stPNL_SetOSDSSC_Rdeviation);
357*53ee8cc1Swenshuai.xi 
358*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Control_Out_Swing[0], sizeof(stPNL_Control_Out_Swing));
359*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Control_Out_Swing[1]);
360*53ee8cc1Swenshuai.xi 
361*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SkipTimingChange[0], sizeof(stPNL_SkipTimingChange));
362*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SkipTimingChange[1]);
363*53ee8cc1Swenshuai.xi 
364*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_PreSetModeOn,stPNL_PreSetModeOn);
365*53ee8cc1Swenshuai.xi 
366*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_OverDriver_Init[0], sizeof(stPNL_OverDriver_Init));
367*53ee8cc1Swenshuai.xi     UADP_SPT_NXT(&spt_stPNL_OverDriver_Init[1], stPNL_OverDriver_Init, pPNL_ODInitData, spt_MS_PNL_OD_INITDATA);
368*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_OverDriver_Init[2]);
369*53ee8cc1Swenshuai.xi 
370*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_OverDriver_Enable[0], sizeof(stPNL_OverDriver_Enable));
371*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_OverDriver_Enable[1]);
372*53ee8cc1Swenshuai.xi 
373*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Get_LPLL_Type[0], sizeof(stPNL_Get_LPLL_Type));
374*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Get_LPLL_Type[1]);
375*53ee8cc1Swenshuai.xi 
376*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_Get_TCON_Capability[0], sizeof(stPNL_Get_TCON_Capability));
377*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_Get_TCON_Capability[1]);
378*53ee8cc1Swenshuai.xi 
379*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetPairSwap[0], sizeof(stPNL_SetPairSwap));
380*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetPairSwap[1]);
381*53ee8cc1Swenshuai.xi 
382*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetExt_LPLL_Type[0], sizeof(stPNL_SetExt_LPLL_Type));
383*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetExt_LPLL_Type[1]);
384*53ee8cc1Swenshuai.xi 
385*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_CalExtLPLLSETbyDClk[0], sizeof(stPNL_CalExtLPLLSETbyDClk));
386*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_CalExtLPLLSETbyDClk[1]);
387*53ee8cc1Swenshuai.xi 
388*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetDiffSwingLevel[0], sizeof(stPNL_SetDiffSwingLevel));
389*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetDiffSwingLevel[1]);
390*53ee8cc1Swenshuai.xi 
391*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetPowerState[0], sizeof(stPNL_SetPowerState));
392*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetPowerState[1]);
393*53ee8cc1Swenshuai.xi 
394*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_ForceSetPanelDCLK[0], sizeof(stPNL_ForceSetPanelDCLK));
395*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_ForceSetPanelDCLK[1]);
396*53ee8cc1Swenshuai.xi 
397*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_EnableInternalTermination[0], sizeof(stPNL_EnableInternalTermination));
398*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_EnableInternalTermination[1]);
399*53ee8cc1Swenshuai.xi 
400*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_OutputDeviceHandshake[0], sizeof(stPNL_OutputDeviceHandshake));
401*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_OutputDeviceHandshake[1]);
402*53ee8cc1Swenshuai.xi 
403*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_OutputDeviceOCHandshake[0], sizeof(stPNL_OutputDeviceOCHandshake));
404*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_OutputDeviceOCHandshake[1]);
405*53ee8cc1Swenshuai.xi 
406*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_stPNL_SetOutputInterlaceTiming[0], sizeof(stPNL_SetOutputInterlaceTiming));
407*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_stPNL_SetOutputInterlaceTiming[1]);
408*53ee8cc1Swenshuai.xi 
409*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetOutputInterlaceTiming,stPNL_GetOutputInterlaceTiming);
410*53ee8cc1Swenshuai.xi 
411*53ee8cc1Swenshuai.xi     UADP_SPT_NAME1NXT(stPNL_GetPanelData,stPNL_GetPanelData,pstPNLData,PanelType);
412*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_SetSSC,stPNL_SetSSC);
413*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetPanelOnTiming,stPNL_GetPanelOnTiming);
414*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetPanelOffTiming,stPNL_GetPanelOffTiming);
415*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetPanelDimCtrl,stPNL_GetPanelDimCtrl);
416*53ee8cc1Swenshuai.xi 
417*53ee8cc1Swenshuai.xi     //gamma
418*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_GammaTab[0], sizeof(MS_U8)*386);
419*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_GammaTab[1]);
420*53ee8cc1Swenshuai.xi     UADP_SPT_NAME3NXT(stPNL_SetGammaTbl,stPNL_SetGammaTbl,pu8GammaTab[0],GammaTab,pu8GammaTab[1],GammaTab,pu8GammaTab[2],GammaTab);
421*53ee8cc1Swenshuai.xi     //
422*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_EnablePanel,stPNL_EnablePanel);
423*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetLPLLMode,stPNL_GetLPLLMode);
424*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetDefVFreq,stPNL_GetDefVFreq);
425*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_ForceSetPanelHStart,stPNL_ForceSetPanelHStart);
426*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_PNLName[0], sizeof(char)*20);
427*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_PNLName[1]);
428*53ee8cc1Swenshuai.xi     UADP_SPT_NAME1NXT(stPNL_GetName,stPNL_GetName,pPNLName,PNLName);
429*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetHstart,stPNL_GetHstart);
430*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetVstart,stPNL_GetVstart);
431*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetWidth,stPNL_GetWidth);
432*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetHeight,stPNL_GetHeight);
433*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetHtotal,stPNL_GetHtotal);
434*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetVtotal,stPNL_GetVtotal);
435*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetHsyncWidth,stPNL_GetHsyncWidth);
436*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetHsyncBackPorch,stPNL_GetHsyncBackPorch);
437*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetVsyncBackPorch,stPNL_GetVsyncBackPorch);
438*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetLPLLType,stPNL_GetLPLLType);
439*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetARC,stPNL_GetARC);
440*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetMinSET,stPNL_GetMinSET);
441*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetMaxSET,stPNL_GetMaxSET);
442*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetOutTimingMode,stPNL_GetOutTimingMode);
443*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_CheckVBY1HandshakeStatus,stPNL_CheckVBY1HandshakeStatus);
444*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_MOD_Video_HWTrainingMode,stPNL_MOD_Video_HWTrainingMode);
445*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_MOD_OSD_HWTrainingMode,stPNL_MOD_OSD_HWTrainingMode);
446*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetVideoHWTraining_status,stPNL_GetVideoHWTraining_status);
447*53ee8cc1Swenshuai.xi     UADP_SPT_NAME0NXT(stPNL_GetOSDHWTraining_status,stPNL_GetOSDHWTraining_status);
448*53ee8cc1Swenshuai.xi     //bottom
449*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_MSIF_Version[0], sizeof(MSIF_Version));
450*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_MSIF_Version[1]);
451*53ee8cc1Swenshuai.xi 
452*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_PNL_ApiInfo[0], sizeof(PNL_ApiInfo));
453*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_PNL_ApiInfo[1]);
454*53ee8cc1Swenshuai.xi 
455*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_PNL_ApiStatus[0], sizeof(PNL_ApiStatus));
456*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_PNL_ApiStatus[1]);
457*53ee8cc1Swenshuai.xi 
458*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_PNL_ApiExtStatus[0], sizeof(PNL_ApiExtStatus));
459*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_PNL_ApiExtStatus[1]);
460*53ee8cc1Swenshuai.xi 
461*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_PanelChar[0], sizeof(char));
462*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_PanelChar[1]);
463*53ee8cc1Swenshuai.xi 
464*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_PanelType[0], sizeof(PanelType));
465*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_PanelType[1]);
466*53ee8cc1Swenshuai.xi 
467*53ee8cc1Swenshuai.xi     //UADP_SPT_BGN(&spt_MS_PNL_DST_DispInfo[0], sizeof(MS_PNL_DST_DispInfo));
468*53ee8cc1Swenshuai.xi     //UADP_SPT_FIN(&spt_MS_PNL_DST_DispInfo[1]);
469*53ee8cc1Swenshuai.xi 
470*53ee8cc1Swenshuai.xi     UADP_SPT_BGN(&spt_MS_PNL_ModCaliInfo[0], sizeof(MS_PNL_ModCaliInfo));
471*53ee8cc1Swenshuai.xi     UADP_SPT_FIN(&spt_MS_PNL_ModCaliInfo[1]);
472*53ee8cc1Swenshuai.xi 
473*53ee8cc1Swenshuai.xi     UADP_SDT_NAME2(MS_PNL_OD_INITDATA,MS_PNL_OD_INITDATA,UADP_SDT_AT,u32OD_MSB_Addr,MS_NULL,UADP_SDT_AT,u32OD_LSB_Size,MS_NULL)
474*53ee8cc1Swenshuai.xi 
475*53ee8cc1Swenshuai.xi     *pIoctl= (FUtopiaIOctl)PNL_adp_Ioctl;
476*53ee8cc1Swenshuai.xi     return 0;
477*53ee8cc1Swenshuai.xi 
478*53ee8cc1Swenshuai.xi }
479*53ee8cc1Swenshuai.xi 
PNL_adp_Ioctl(void * pInstanceTmp,MS_U32 u32Cmd,void * const pArgs)480*53ee8cc1Swenshuai.xi MS_U32 PNL_adp_Ioctl(void* pInstanceTmp, MS_U32 u32Cmd, void* const pArgs)
481*53ee8cc1Swenshuai.xi {
482*53ee8cc1Swenshuai.xi     MS_U32 u32Ret = 0;
483*53ee8cc1Swenshuai.xi     char buffer_arg[2048];
484*53ee8cc1Swenshuai.xi     pu32PNLInst_private = pInstanceTmp;
485*53ee8cc1Swenshuai.xi     //printk("\033[1;33m[%s:%d]CMD=%ld\033[m\n",__FUNCTION__,__LINE__,u32Cmd);
486*53ee8cc1Swenshuai.xi     switch(u32Cmd)
487*53ee8cc1Swenshuai.xi     {
488*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETLIBVER:
489*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_GetLibVer, spt_stPNL_GetLibVer, buffer_arg, sizeof(buffer_arg));
490*53ee8cc1Swenshuai.xi             break;
491*53ee8cc1Swenshuai.xi 
492*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETINFO:
493*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, NULL, spt_stPNL_GetInfo, buffer_arg, sizeof(buffer_arg));
494*53ee8cc1Swenshuai.xi             break;
495*53ee8cc1Swenshuai.xi 
496*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETSTATUS:
497*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_GetStatus, spt_stPNL_GetStatus, buffer_arg, sizeof(buffer_arg));
498*53ee8cc1Swenshuai.xi             break;
499*53ee8cc1Swenshuai.xi 
500*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETSTATUSEX:
501*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_GetStatusEx, spt_stPNL_GetStatusEx, buffer_arg, sizeof(buffer_arg));
502*53ee8cc1Swenshuai.xi             break;
503*53ee8cc1Swenshuai.xi 
504*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETDBGLEVEL:
505*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetDbgLevel, spt_stPNL_SetDbgLevel, buffer_arg, sizeof(buffer_arg));
506*53ee8cc1Swenshuai.xi             break;
507*53ee8cc1Swenshuai.xi 
508*53ee8cc1Swenshuai.xi         case E_PNL_CMD_IOMAPBASEINIT:
509*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, NULL, spt_stPNL_IOMapBaseInit, buffer_arg, sizeof(buffer_arg));
510*53ee8cc1Swenshuai.xi             break;
511*53ee8cc1Swenshuai.xi 
512*53ee8cc1Swenshuai.xi         case E_PNL_CMD_PREINIT:
513*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_PreInit, spt_stPNL_PreInit, buffer_arg, sizeof(buffer_arg));
514*53ee8cc1Swenshuai.xi             break;
515*53ee8cc1Swenshuai.xi 
516*53ee8cc1Swenshuai.xi         case E_PNL_CMD_INIT:
517*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_Init, spt_stPNL_Init, buffer_arg, sizeof(buffer_arg));
518*53ee8cc1Swenshuai.xi             break;
519*53ee8cc1Swenshuai.xi 
520*53ee8cc1Swenshuai.xi         case E_PNL_CMD_INIT_EX:
521*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_Init_Ex, spt_stPNL_Init_Ex, buffer_arg, sizeof(buffer_arg));
522*53ee8cc1Swenshuai.xi             break;
523*53ee8cc1Swenshuai.xi 
524*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GET_CONFIG:
525*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_GetConfig, spt_stPNL_GetConfig, buffer_arg, sizeof(buffer_arg));
526*53ee8cc1Swenshuai.xi             break;
527*53ee8cc1Swenshuai.xi 
528*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETOUTPUT:
529*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetOutput, NULL, buffer_arg, sizeof(buffer_arg));
530*53ee8cc1Swenshuai.xi             break;
531*53ee8cc1Swenshuai.xi 
532*53ee8cc1Swenshuai.xi         case E_PNL_CMD_CHANGEPANELTYPE:
533*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_ChangePanelType, spt_stPNL_ChangePanelType, buffer_arg, sizeof(buffer_arg));
534*53ee8cc1Swenshuai.xi             break;
535*53ee8cc1Swenshuai.xi 
536*53ee8cc1Swenshuai.xi         case E_PNL_CMD_TCONMAP_DUMPTABLE:
537*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_TCONMAP_DumpTable, spt_stPNL_TCONMAP_DumpTable, buffer_arg, sizeof(buffer_arg));
538*53ee8cc1Swenshuai.xi             break;
539*53ee8cc1Swenshuai.xi 
540*53ee8cc1Swenshuai.xi         case E_PNL_CMD_TCONMAP_POWER_SEQUENCE:
541*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_TCONMAP_Power_Sequence, spt_stPNL_TCONMAP_Power_Sequence, buffer_arg, sizeof(buffer_arg));
542*53ee8cc1Swenshuai.xi             break;
543*53ee8cc1Swenshuai.xi 
544*53ee8cc1Swenshuai.xi         case E_PNL_CMD_TCON_COUNT_RESET:
545*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_TCON_Count_Reset, NULL, buffer_arg, sizeof(buffer_arg));
546*53ee8cc1Swenshuai.xi             break;
547*53ee8cc1Swenshuai.xi 
548*53ee8cc1Swenshuai.xi         case E_PNL_CMD_TCON_INIT:
549*53ee8cc1Swenshuai.xi             u32Ret = UtopiaIoctl(pInstanceTmp, u32Cmd, pArgs);
550*53ee8cc1Swenshuai.xi             break;
551*53ee8cc1Swenshuai.xi 
552*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETDSTINFO:
553*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_GetDstInfo, spt_stPNL_GetDstInfo, buffer_arg, sizeof(buffer_arg));
554*53ee8cc1Swenshuai.xi             break;
555*53ee8cc1Swenshuai.xi 
556*53ee8cc1Swenshuai.xi         case E_PNL_CMD_CONTROL_OUT_SWING:
557*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_Control_Out_Swing, spt_stPNL_Control_Out_Swing, buffer_arg, sizeof(buffer_arg));
558*53ee8cc1Swenshuai.xi             break;
559*53ee8cc1Swenshuai.xi 
560*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SET_OUTPUT_PATTERN:
561*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetOutputPattern, spt_stPNL_SetOutputPattern, buffer_arg, sizeof(buffer_arg));
562*53ee8cc1Swenshuai.xi             break;
563*53ee8cc1Swenshuai.xi 
564*53ee8cc1Swenshuai.xi         case E_PNL_CMD_MOD_CALIBRATION_SETTING:
565*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_Mod_Calibration_Setting, spt_stPNL_Mod_Calibration_Setting, buffer_arg, sizeof(buffer_arg));
566*53ee8cc1Swenshuai.xi             break;
567*53ee8cc1Swenshuai.xi 
568*53ee8cc1Swenshuai.xi         case E_PNL_CMD_MOD_DO_CALIBRATION:
569*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, NULL, spt_stPNL_Mod_Do_Calibration, buffer_arg, sizeof(buffer_arg));
570*53ee8cc1Swenshuai.xi             break;
571*53ee8cc1Swenshuai.xi 
572*53ee8cc1Swenshuai.xi         case E_PNL_CMD_BD_LVDS_OUTPUT_TYPE:
573*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_BD_LVDS_Output_Type, NULL, buffer_arg, sizeof(buffer_arg));
574*53ee8cc1Swenshuai.xi             break;
575*53ee8cc1Swenshuai.xi 
576*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETLPLLTYPEEXT:
577*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetLPLLTypeExt, NULL, buffer_arg, sizeof(buffer_arg));
578*53ee8cc1Swenshuai.xi             break;
579*53ee8cc1Swenshuai.xi 
580*53ee8cc1Swenshuai.xi         case E_PNL_CMD_INIT_MISC:
581*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_Init_MISC, NULL, buffer_arg, sizeof(buffer_arg));
582*53ee8cc1Swenshuai.xi             break;
583*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GET_MISC_STATUS:
584*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_Get_MISC_Status, NULL, buffer_arg, sizeof(buffer_arg));
585*53ee8cc1Swenshuai.xi             break;
586*53ee8cc1Swenshuai.xi 
587*53ee8cc1Swenshuai.xi         case E_PNL_CMD_MOD_OUTPUTCONFIG_USER:
588*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_MOD_OutputConfig_User, NULL, buffer_arg, sizeof(buffer_arg));
589*53ee8cc1Swenshuai.xi             break;
590*53ee8cc1Swenshuai.xi 
591*53ee8cc1Swenshuai.xi         case E_PNL_CMD_MOD_OUTPUT_CHANNEL_ORDER:
592*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_MOD_OutputChannelOrder, NULL, buffer_arg, sizeof(buffer_arg));
593*53ee8cc1Swenshuai.xi             break;
594*53ee8cc1Swenshuai.xi 
595*53ee8cc1Swenshuai.xi         case E_PNL_CMD_HWLVDSRESERVEDTOLRFLAG:
596*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_HWLVDSReservedtoLRFlag, NULL, buffer_arg, sizeof(buffer_arg));
597*53ee8cc1Swenshuai.xi             break;
598*53ee8cc1Swenshuai.xi 
599*53ee8cc1Swenshuai.xi         case E_PNL_CMD_MOD_PVDD_POWER_SETTING:
600*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_MOD_PVDD_Power_Setting, NULL, buffer_arg, sizeof(buffer_arg));
601*53ee8cc1Swenshuai.xi             break;
602*53ee8cc1Swenshuai.xi 
603*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETSSC_EN:
604*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetSSC_En, spt_stPNL_SetSSC_En, buffer_arg, sizeof(buffer_arg));
605*53ee8cc1Swenshuai.xi             break;
606*53ee8cc1Swenshuai.xi 
607*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETSSC_FMODULATION:
608*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetSSC_Fmodulation, spt_stPNL_SetSSC_Fmodulation, buffer_arg, sizeof(buffer_arg));
609*53ee8cc1Swenshuai.xi             break;
610*53ee8cc1Swenshuai.xi 
611*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETSSC_RDEVIATION:
612*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetSSC_Rdeviation, spt_stPNL_SetSSC_Rdeviation, buffer_arg, sizeof(buffer_arg));
613*53ee8cc1Swenshuai.xi             break;
614*53ee8cc1Swenshuai.xi 
615*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETOSDSSC_EN:
616*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetOSDSSC_En, NULL, buffer_arg, sizeof(buffer_arg));
617*53ee8cc1Swenshuai.xi             break;
618*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETOSDSSC_FMODULATION:
619*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetOSDSSC_Fmodulation, NULL, buffer_arg, sizeof(buffer_arg));
620*53ee8cc1Swenshuai.xi             break;
621*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETOSDSSC_RDEVIATION:
622*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetOSDSSC_Rdeviation, NULL, buffer_arg, sizeof(buffer_arg));
623*53ee8cc1Swenshuai.xi             break;
624*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SKIPTIMINGCHANGE:
625*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SkipTimingChange, spt_stPNL_SkipTimingChange, buffer_arg, sizeof(buffer_arg));
626*53ee8cc1Swenshuai.xi             break;
627*53ee8cc1Swenshuai.xi 
628*53ee8cc1Swenshuai.xi         case E_PNL_CMD_PRE_SET_MODE_ON:
629*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_PreSetModeOn, NULL, buffer_arg, sizeof(buffer_arg));
630*53ee8cc1Swenshuai.xi             break;
631*53ee8cc1Swenshuai.xi         case E_PNL_CMD_OVERDRIVER_INIT:
632*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_OverDriver_Init, spt_stPNL_OverDriver_Init, buffer_arg, sizeof(buffer_arg));
633*53ee8cc1Swenshuai.xi             break;
634*53ee8cc1Swenshuai.xi 
635*53ee8cc1Swenshuai.xi         case E_PNL_CMD_OVERDRIVER_ENABLE:
636*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_OverDriver_Enable, spt_stPNL_OverDriver_Enable, buffer_arg, sizeof(buffer_arg));
637*53ee8cc1Swenshuai.xi             break;
638*53ee8cc1Swenshuai.xi 
639*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GET_LPLL_TYPE:
640*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, NULL, spt_stPNL_Get_LPLL_Type, buffer_arg, sizeof(buffer_arg));
641*53ee8cc1Swenshuai.xi             break;
642*53ee8cc1Swenshuai.xi 
643*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GET_TCON_CAPABILITY:
644*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, NULL, spt_stPNL_Get_TCON_Capability, buffer_arg, sizeof(buffer_arg));
645*53ee8cc1Swenshuai.xi             break;
646*53ee8cc1Swenshuai.xi 
647*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETPAIRSWAP:
648*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetPairSwap, NULL, buffer_arg, sizeof(buffer_arg));
649*53ee8cc1Swenshuai.xi             break;
650*53ee8cc1Swenshuai.xi 
651*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SET_EXT_LPLL_TYPE:
652*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetExt_LPLL_Type, NULL, buffer_arg, sizeof(buffer_arg));
653*53ee8cc1Swenshuai.xi             break;
654*53ee8cc1Swenshuai.xi 
655*53ee8cc1Swenshuai.xi         case E_PNL_CMD_CALEXTLPLLSETBYDCLK:
656*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_CalExtLPLLSETbyDClk, NULL, buffer_arg, sizeof(buffer_arg));
657*53ee8cc1Swenshuai.xi             break;
658*53ee8cc1Swenshuai.xi 
659*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETDIFFSWINGLEVEL:
660*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetDiffSwingLevel, spt_stPNL_SetDiffSwingLevel, buffer_arg, sizeof(buffer_arg));
661*53ee8cc1Swenshuai.xi             break;
662*53ee8cc1Swenshuai.xi 
663*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETPOWERSTATE:
664*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_SetPowerState, spt_stPNL_SetPowerState, buffer_arg, sizeof(buffer_arg));
665*53ee8cc1Swenshuai.xi             break;
666*53ee8cc1Swenshuai.xi 
667*53ee8cc1Swenshuai.xi         case E_PNL_CMD_FORCESETPANELDCLK:
668*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_ForceSetPanelDCLK, spt_stPNL_ForceSetPanelDCLK, buffer_arg, sizeof(buffer_arg));
669*53ee8cc1Swenshuai.xi             break;
670*53ee8cc1Swenshuai.xi 
671*53ee8cc1Swenshuai.xi         case E_PNL_CMD_ENABLEINTERNALTERMINATION:
672*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_EnableInternalTermination, spt_stPNL_EnableInternalTermination, buffer_arg, sizeof(buffer_arg));
673*53ee8cc1Swenshuai.xi             break;
674*53ee8cc1Swenshuai.xi 
675*53ee8cc1Swenshuai.xi         case E_PNL_CMD_OUTPUTDEVICEHANDSHAKE:
676*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, NULL, spt_stPNL_OutputDeviceHandshake, buffer_arg, sizeof(buffer_arg));
677*53ee8cc1Swenshuai.xi             break;
678*53ee8cc1Swenshuai.xi 
679*53ee8cc1Swenshuai.xi         case E_PNL_CMD_OUTPUTDEVICEOCHANDSHAKE:
680*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, NULL, spt_stPNL_OutputDeviceOCHandshake, buffer_arg, sizeof(buffer_arg));
681*53ee8cc1Swenshuai.xi             break;
682*53ee8cc1Swenshuai.xi 
683*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETOUTPUTINTERLACETIMING:
684*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, NULL, spt_stPNL_SetOutputInterlaceTiming, buffer_arg, sizeof(buffer_arg));
685*53ee8cc1Swenshuai.xi             break;
686*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETOUTPUTINTERLACETIMING:
687*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs, spt_stPNL_GetOutputInterlaceTiming, spt_stPNL_SetOutputInterlaceTiming, buffer_arg, sizeof(buffer_arg));
688*53ee8cc1Swenshuai.xi             break;
689*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETPANELDATA:
690*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_GetPanelData, spt_stPNL_GetPanelData, buffer_arg, sizeof(buffer_arg));
691*53ee8cc1Swenshuai.xi             break;
692*53ee8cc1Swenshuai.xi         case E_PNL_CMD_DUMPPANELDATA:
693*53ee8cc1Swenshuai.xi             u32Ret= UtopiaIoctl(pInstanceTmp,u32Cmd,pArgs);
694*53ee8cc1Swenshuai.xi             break;
695*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETSSC:
696*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_SetSSC, NULL, buffer_arg, sizeof(buffer_arg));
697*53ee8cc1Swenshuai.xi             break;
698*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETPANELONTIMING:
699*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_GetPanelOnTiming, spt_stPNL_GetPanelOnTiming, buffer_arg, sizeof(buffer_arg));
700*53ee8cc1Swenshuai.xi             break;
701*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETPANELOFFTIMING:
702*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_GetPanelOffTiming, spt_stPNL_GetPanelOffTiming, buffer_arg, sizeof(buffer_arg));
703*53ee8cc1Swenshuai.xi             break;
704*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETPANELDIMCTRL:
705*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_GetPanelDimCtrl, spt_stPNL_GetPanelDimCtrl, buffer_arg, sizeof(buffer_arg));
706*53ee8cc1Swenshuai.xi             break;
707*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETALLGAMMATBL:
708*53ee8cc1Swenshuai.xi             break;
709*53ee8cc1Swenshuai.xi         case E_PNL_CMD_ENABLEPANEL:
710*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_EnablePanel, spt_stPNL_EnablePanel, buffer_arg, sizeof(buffer_arg));
711*53ee8cc1Swenshuai.xi             break;
712*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETGAMMATBL:
713*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_SetGammaTbl, spt_stPNL_SetGammaTbl, buffer_arg, sizeof(buffer_arg));
714*53ee8cc1Swenshuai.xi             break;
715*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETGAMMATBL:
716*53ee8cc1Swenshuai.xi             break;
717*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SETGAMMAVALUE:
718*53ee8cc1Swenshuai.xi             break;
719*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETLPLLMODE:
720*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetLPLLMode, buffer_arg, sizeof(buffer_arg));
721*53ee8cc1Swenshuai.xi             break;
722*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETDEFVFREQ:
723*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetDefVFreq, buffer_arg, sizeof(buffer_arg));
724*53ee8cc1Swenshuai.xi             break;
725*53ee8cc1Swenshuai.xi         case E_PNL_CMD_FORCESETPANELHSTART:
726*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_ForceSetPanelHStart, spt_stPNL_ForceSetPanelHStart, buffer_arg, sizeof(buffer_arg));
727*53ee8cc1Swenshuai.xi             break;
728*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETPANELNAME:
729*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetName, buffer_arg, sizeof(buffer_arg));
730*53ee8cc1Swenshuai.xi             break;
731*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETHSTART:
732*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetHstart, buffer_arg, sizeof(buffer_arg));
733*53ee8cc1Swenshuai.xi             break;
734*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETVSTART:
735*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetVstart, buffer_arg, sizeof(buffer_arg));
736*53ee8cc1Swenshuai.xi             break;
737*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETWIDTH:
738*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetWidth, buffer_arg, sizeof(buffer_arg));
739*53ee8cc1Swenshuai.xi             break;
740*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETHEIGHT:
741*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetHeight, buffer_arg, sizeof(buffer_arg));
742*53ee8cc1Swenshuai.xi             break;
743*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETHTOTAL:
744*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetHtotal, buffer_arg, sizeof(buffer_arg));
745*53ee8cc1Swenshuai.xi             break;
746*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETVTOTAL:
747*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetVtotal, buffer_arg, sizeof(buffer_arg));
748*53ee8cc1Swenshuai.xi             break;
749*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETHSYNCWIDTH:
750*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetHsyncWidth, buffer_arg, sizeof(buffer_arg));
751*53ee8cc1Swenshuai.xi             break;
752*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETHSYNCBACKPORCH:
753*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetHsyncBackPorch, buffer_arg, sizeof(buffer_arg));
754*53ee8cc1Swenshuai.xi             break;
755*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETVSYNCBACKPORCH:
756*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetVsyncBackPorch, buffer_arg, sizeof(buffer_arg));
757*53ee8cc1Swenshuai.xi             break;
758*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETLPLLTYPE:
759*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetLPLLType, buffer_arg, sizeof(buffer_arg));
760*53ee8cc1Swenshuai.xi             break;
761*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETARC:
762*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetARC, buffer_arg, sizeof(buffer_arg));
763*53ee8cc1Swenshuai.xi             break;
764*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETMINSET:
765*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetMinSET, buffer_arg, sizeof(buffer_arg));
766*53ee8cc1Swenshuai.xi             break;
767*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETMAXSET:
768*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetMaxSET, buffer_arg, sizeof(buffer_arg));
769*53ee8cc1Swenshuai.xi             break;
770*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GETOUTTIMINGMODE:
771*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetOutTimingMode, buffer_arg, sizeof(buffer_arg));
772*53ee8cc1Swenshuai.xi             break;
773*53ee8cc1Swenshuai.xi         case E_PNL_CMD_CHECKVBY1HANDSHAKESTATUS:
774*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_CheckVBY1HandshakeStatus, buffer_arg, sizeof(buffer_arg));
775*53ee8cc1Swenshuai.xi             break;
776*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SET_VIDEOHWTRAINING_MODE:
777*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_MOD_Video_HWTrainingMode, NULL, buffer_arg, sizeof(buffer_arg));
778*53ee8cc1Swenshuai.xi             break;
779*53ee8cc1Swenshuai.xi         case E_PNL_CMD_SET_OSDHWTRAINING_MODE:
780*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,spt_stPNL_MOD_OSD_HWTrainingMode, NULL, buffer_arg, sizeof(buffer_arg));
781*53ee8cc1Swenshuai.xi             break;
782*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GET_VIDEOHWTRAINING_MODE:
783*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetVideoHWTraining_status, buffer_arg, sizeof(buffer_arg));
784*53ee8cc1Swenshuai.xi             break;
785*53ee8cc1Swenshuai.xi         case E_PNL_CMD_GET_OSDHWTRAINING_MODE:
786*53ee8cc1Swenshuai.xi             u32Ret = UADPBypassIoctl(pInstanceTmp, u32Cmd, pArgs,NULL, spt_stPNL_GetOSDHWTraining_status, buffer_arg, sizeof(buffer_arg));
787*53ee8cc1Swenshuai.xi             break;
788*53ee8cc1Swenshuai.xi 
789*53ee8cc1Swenshuai.xi         default:
790*53ee8cc1Swenshuai.xi             break;
791*53ee8cc1Swenshuai.xi 
792*53ee8cc1Swenshuai.xi     }
793*53ee8cc1Swenshuai.xi 
794*53ee8cc1Swenshuai.xi     return u32Ret;
795*53ee8cc1Swenshuai.xi 
796*53ee8cc1Swenshuai.xi }
797*53ee8cc1Swenshuai.xi 
798*53ee8cc1Swenshuai.xi #endif
799