1dfe64dd3Smacallan/* Copyright (C) 2003-2006 by XGI Technology, Taiwan.
2dfe64dd3Smacallan *
3dfe64dd3Smacallan * All Rights Reserved.
4dfe64dd3Smacallan *
5dfe64dd3Smacallan * Permission is hereby granted, free of charge, to any person obtaining
6dfe64dd3Smacallan * a copy of this software and associated documentation files (the
7dfe64dd3Smacallan * "Software"), to deal in the Software without restriction, including
8dfe64dd3Smacallan * without limitation on the rights to use, copy, modify, merge,
9dfe64dd3Smacallan * publish, distribute, sublicense, and/or sell copies of the Software,
10dfe64dd3Smacallan * and to permit persons to whom the Software is furnished to do so,
11dfe64dd3Smacallan * subject to the following conditions:
12dfe64dd3Smacallan *
13dfe64dd3Smacallan * The above copyright notice and this permission notice (including the
14dfe64dd3Smacallan * next paragraph) shall be included in all copies or substantial
15dfe64dd3Smacallan * portions of the Software.
16dfe64dd3Smacallan *
17dfe64dd3Smacallan * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18dfe64dd3Smacallan * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19dfe64dd3Smacallan * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20dfe64dd3Smacallan * NON-INFRINGEMENT.  IN NO EVENT SHALL XGI AND/OR
21dfe64dd3Smacallan *  ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22dfe64dd3Smacallan * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23dfe64dd3Smacallan * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24dfe64dd3Smacallan * DEALINGS IN THE SOFTWARE.
25dfe64dd3Smacallan */
26dfe64dd3Smacallan
27dfe64dd3Smacallan#ifndef  _VBEXT_
28dfe64dd3Smacallan#define  _VBEXT_
29dfe64dd3Smacallan
30dfe64dd3Smacallan#include "xf86.h" /* Jong@08252009; for ScrnInfoPtr */
31dfe64dd3Smacallan
32dfe64dd3Smacallan/* Jong 10/04/2007; merge code */
33dfe64dd3Smacallanstruct DWORDREGS {
34dfe64dd3Smacallan    ULONG    Eax, Ebx, Ecx, Edx, Esi, Edi, Ebp;
35dfe64dd3Smacallan};
36dfe64dd3Smacallan
37dfe64dd3Smacallan/* Jong 10/04/2007; merge code */
38dfe64dd3Smacallanstruct WORDREGS {
39dfe64dd3Smacallan    USHORT    ax, hi_ax, bx, hi_bx, cx, hi_cx, dx, hi_dx, si, hi_si, di ,hi_di, bp, hi_bp;
40dfe64dd3Smacallan};
41dfe64dd3Smacallan
42dfe64dd3Smacallan/* Jong 10/04/2007; merge code */
43dfe64dd3Smacallanstruct BYTEREGS {
44dfe64dd3Smacallan    UCHAR   al, ah, hi_al, hi_ah, bl, bh, hi_bl, hi_bh, cl, ch, hi_cl, hi_ch, dl, dh, hi_dl, hi_dh;
45dfe64dd3Smacallan};
46dfe64dd3Smacallan
47dfe64dd3Smacallan/* Jong 10/04/2007; merge code */
48dfe64dd3Smacallantypedef union   _X86_REGS    {
49dfe64dd3Smacallan    struct  DWORDREGS e;
50dfe64dd3Smacallan    struct  WORDREGS x;
51dfe64dd3Smacallan    struct  BYTEREGS h;
52dfe64dd3Smacallan} X86_REGS, *PX86_REGS;
53dfe64dd3Smacallan
54dfe64dd3Smacallanextern void XGI_GetSenseStatus(PXGI_HW_DEVICE_INFO HwDeviceExtension,
55dfe64dd3Smacallan    PVB_DEVICE_INFO pVBInfo);
56dfe64dd3Smacallan
57dfe64dd3Smacallan/* Jong 10/04/2007; merge code */
58dfe64dd3Smacallanextern   void     XGIInitMiscVBInfo(PXGI_HW_DEVICE_INFO HwDeviceExtension, PVB_DEVICE_INFO pVBInfo); /* Jong@08212009 */
59dfe64dd3Smacallanextern   void     XGISetDPMS(ScrnInfoPtr pScrn, PVB_DEVICE_INFO pVBInfo, PXGI_HW_DEVICE_INFO pXGIHWDE , ULONG VESA_POWER_STATE ) ; /* Jong@08212009 */
60dfe64dd3Smacallanextern   void     XGINew_SetModeScratch ( PXGI_HW_DEVICE_INFO HwDeviceExtension , PVB_DEVICE_INFO pVBInfo ) ;
61dfe64dd3Smacallanextern   void 	  ReadVBIOSTablData( UCHAR ChipType , PVB_DEVICE_INFO pVBInfo);
62dfe64dd3Smacallanextern   USHORT   XGINew_SenseLCD(PXGI_HW_DEVICE_INFO,PVB_DEVICE_INFO pVBInfo);
63dfe64dd3Smacallan
64dfe64dd3Smacallan#endif
65