171d7fec4Smrg/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nsc/nsc.h,v 1.5tsi Exp $ */
271d7fec4Smrg/*
371d7fec4Smrg * $Workfile: nsc.h $
471d7fec4Smrg * $Revision: 1.1.1.1 $
571d7fec4Smrg * $Author: mrg $
671d7fec4Smrg *
771d7fec4Smrg * File Contents: This file contains the data structures Geode driver.
871d7fec4Smrg *
971d7fec4Smrg * Project:       Geode Xfree Frame buffer device driver.
1071d7fec4Smrg *
1171d7fec4Smrg */
1271d7fec4Smrg
1371d7fec4Smrg/*
1471d7fec4Smrg * NSC_LIC_ALTERNATIVE_PREAMBLE
1571d7fec4Smrg *
1671d7fec4Smrg * Revision 1.0
1771d7fec4Smrg *
1871d7fec4Smrg * National Semiconductor Alternative GPL-BSD License
1971d7fec4Smrg *
2071d7fec4Smrg * National Semiconductor Corporation licenses this software
2171d7fec4Smrg * ("Software"):
2271d7fec4Smrg *
2371d7fec4Smrg * National Xfree frame buffer driver
2471d7fec4Smrg *
2571d7fec4Smrg * under one of the two following licenses, depending on how the
2671d7fec4Smrg * Software is received by the Licensee.
2771d7fec4Smrg *
2871d7fec4Smrg * If this Software is received as part of the Linux Framebuffer or
2971d7fec4Smrg * other GPL licensed software, then the GPL license designated
3071d7fec4Smrg * NSC_LIC_GPL applies to this Software; in all other circumstances
3171d7fec4Smrg * then the BSD-style license designated NSC_LIC_BSD shall apply.
3271d7fec4Smrg *
3371d7fec4Smrg * END_NSC_LIC_ALTERNATIVE_PREAMBLE */
3471d7fec4Smrg
3571d7fec4Smrg/* NSC_LIC_BSD
3671d7fec4Smrg *
3771d7fec4Smrg * National Semiconductor Corporation Open Source License for
3871d7fec4Smrg *
3971d7fec4Smrg * National Xfree frame buffer driver
4071d7fec4Smrg *
4171d7fec4Smrg * (BSD License with Export Notice)
4271d7fec4Smrg *
4371d7fec4Smrg * Copyright (c) 1999-2001
4471d7fec4Smrg * National Semiconductor Corporation.
4571d7fec4Smrg * All rights reserved.
4671d7fec4Smrg *
4771d7fec4Smrg * Redistribution and use in source and binary forms, with or without
4871d7fec4Smrg * modification, are permitted provided that the following conditions
4971d7fec4Smrg * are met:
5071d7fec4Smrg *
5171d7fec4Smrg *   * Redistributions of source code must retain the above copyright
5271d7fec4Smrg *     notice, this list of conditions and the following disclaimer.
5371d7fec4Smrg *
5471d7fec4Smrg *   * Redistributions in binary form must reproduce the above
5571d7fec4Smrg *     copyright notice, this list of conditions and the following
5671d7fec4Smrg *     disclaimer in the documentation and/or other materials provided
5771d7fec4Smrg *     with the distribution.
5871d7fec4Smrg *
5971d7fec4Smrg *   * Neither the name of the National Semiconductor Corporation nor
6071d7fec4Smrg *     the names of its contributors may be used to endorse or promote
6171d7fec4Smrg *     products derived from this software without specific prior
6271d7fec4Smrg *     written permission.
6371d7fec4Smrg *
6471d7fec4Smrg * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
6571d7fec4Smrg * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
6671d7fec4Smrg * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
6771d7fec4Smrg * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
6871d7fec4Smrg * NATIONAL SEMICONDUCTOR CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY
6971d7fec4Smrg * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
7071d7fec4Smrg * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
7171d7fec4Smrg * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
7271d7fec4Smrg * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
7371d7fec4Smrg * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE,
7471d7fec4Smrg * INTELLECTUAL PROPERTY INFRINGEMENT, OR OTHERWISE) ARISING IN ANY WAY
7571d7fec4Smrg * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
7671d7fec4Smrg * OF SUCH DAMAGE.
7771d7fec4Smrg *
7871d7fec4Smrg * EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF
7971d7fec4Smrg * YOUR JURISDICTION. It is licensee's responsibility to comply with
8071d7fec4Smrg * any export regulations applicable in licensee's jurisdiction. Under
8171d7fec4Smrg * CURRENT (2001) U.S. export regulations this software
8271d7fec4Smrg * is eligible for export from the U.S. and can be downloaded by or
8371d7fec4Smrg * otherwise exported or reexported worldwide EXCEPT to U.S. embargoed
8471d7fec4Smrg * destinations which include Cuba, Iraq, Libya, North Korea, Iran,
8571d7fec4Smrg * Syria, Sudan, Afghanistan and any other country to which the U.S.
8671d7fec4Smrg * has embargoed goods and services.
8771d7fec4Smrg *
8871d7fec4Smrg * END_NSC_LIC_BSD */
8971d7fec4Smrg
9071d7fec4Smrg/* NSC_LIC_GPL
9171d7fec4Smrg *
9271d7fec4Smrg * National Semiconductor Corporation Gnu General Public License for
9371d7fec4Smrg *
9471d7fec4Smrg * Geode Xfree frame buffer driver
9571d7fec4Smrg *
9671d7fec4Smrg * (GPL License with Export Notice)
9771d7fec4Smrg *
9871d7fec4Smrg * Copyright (c) 1999-2001
9971d7fec4Smrg * National Semiconductor Corporation.
10071d7fec4Smrg * All rights reserved.
10171d7fec4Smrg *
10271d7fec4Smrg * Redistribution and use in source and binary forms, with or without
10371d7fec4Smrg * modification, are permitted under the terms of the GNU General
10471d7fec4Smrg * Public License as published by the Free Software Foundation; either
10571d7fec4Smrg * version 2 of the License, or (at your option) any later version
10671d7fec4Smrg *
10771d7fec4Smrg * In addition to the terms of the GNU General Public License, neither
10871d7fec4Smrg * the name of the National Semiconductor Corporation nor the names of
10971d7fec4Smrg * its contributors may be used to endorse or promote products derived
11071d7fec4Smrg * from this software without specific prior written permission.
11171d7fec4Smrg *
11271d7fec4Smrg * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
11371d7fec4Smrg * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11471d7fec4Smrg * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
11571d7fec4Smrg * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
11671d7fec4Smrg * NATIONAL SEMICONDUCTOR CORPORATION OR CONTRIBUTORS BE LIABLE FOR ANY
11771d7fec4Smrg * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
11871d7fec4Smrg * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
11971d7fec4Smrg * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
12071d7fec4Smrg * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
12171d7fec4Smrg * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE,
12271d7fec4Smrg * INTELLECTUAL PROPERTY INFRINGEMENT, OR OTHERWISE) ARISING IN ANY WAY
12371d7fec4Smrg * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
12471d7fec4Smrg * OF SUCH DAMAGE. See the GNU General Public License for more details.
12571d7fec4Smrg *
12671d7fec4Smrg * EXPORT LAWS: THIS LICENSE ADDS NO RESTRICTIONS TO THE EXPORT LAWS OF
12771d7fec4Smrg * YOUR JURISDICTION. It is licensee's responsibility to comply with
12871d7fec4Smrg * any export regulations applicable in licensee's jurisdiction. Under
12971d7fec4Smrg * CURRENT (2001) U.S. export regulations this software
13071d7fec4Smrg * is eligible for export from the U.S. and can be downloaded by or
13171d7fec4Smrg * otherwise exported or reexported worldwide EXCEPT to U.S. embargoed
13271d7fec4Smrg * destinations which include Cuba, Iraq, Libya, North Korea, Iran,
13371d7fec4Smrg * Syria, Sudan, Afghanistan and any other country to which the U.S.
13471d7fec4Smrg * has embargoed goods and services.
13571d7fec4Smrg *
13671d7fec4Smrg * You should have received a copy of the GNU General Public License
13771d7fec4Smrg * along with this file; if not, write to the Free Software Foundation,
13871d7fec4Smrg * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
13971d7fec4Smrg *
14071d7fec4Smrg * END_NSC_LIC_GPL */
14171d7fec4Smrg
14271d7fec4Smrg#ifndef _NSC_GEODE_H_
14371d7fec4Smrg#define _NSC_GEODE_H_
14471d7fec4Smrg
14571d7fec4Smrg#include <string.h>
14671d7fec4Smrg#include <stdio.h>
14771d7fec4Smrg
14871d7fec4Smrg#include "xaa.h"
14971d7fec4Smrg#include "xf86Cursor.h"
15071d7fec4Smrg#if !defined(STB_X)
15171d7fec4Smrg#include "vgaHW.h"
15271d7fec4Smrg#endif
15371d7fec4Smrg#include "xf86int10.h"
15471d7fec4Smrg#include "xf86xv.h"
15571d7fec4Smrg
15671d7fec4Smrg#if defined(STB_X)
15771d7fec4Smrg#define GFX(func) Gal_##func
15871d7fec4Smrg#define GFX2(func) Gal2_##func
15971d7fec4Smrg#define OPTACCEL(func) func
16071d7fec4Smrg#else /* STB_X */
16171d7fec4Smrg#define GFX(func) gfx_##func
16271d7fec4Smrg#define GFX2(func) gfx2_##func
16371d7fec4Smrg
16471d7fec4Smrg#if defined(OPT_ACCEL)
16571d7fec4Smrg#define OPTACCEL(func) OPT##func
16671d7fec4Smrg#else /* OPT_ACCEL */
16771d7fec4Smrg#define OPTACCEL(func) func
16871d7fec4Smrg#endif /* OPT_ACCEL */
16971d7fec4Smrg
17071d7fec4Smrg#endif /* STB_X */
17171d7fec4Smrg
17271d7fec4Smrg#define GEODEPTR(p) ((GeodePtr)((p)->driverPrivate))
17371d7fec4Smrg
17471d7fec4Smrg#define DebugPort(_Val) gfx_outb(0x84, (_Val));
17571d7fec4Smrg
17671d7fec4Smrg#define DEFAULT_NUM_OF_BUF 20		/* default # of buffers */
17771d7fec4Smrg
17871d7fec4Smrg#if defined(MYDBG)
17971d7fec4Smrg#define DEBUGMSG(cond, drv_msg) if((cond)) xf86DrvMsg drv_msg
18071d7fec4Smrg#else
18171d7fec4Smrg#define DEBUGMSG(cond, drv_msg)
18271d7fec4Smrg#endif
18371d7fec4Smrg
18471d7fec4Smrg/* Overlay Transparency Key */
18571d7fec4Smrg#define TRANSPARENCY_KEY 255
18671d7fec4Smrg
18771d7fec4Smrg#if defined(EXTERN)
18871d7fec4Smrgunsigned char DCount = 0;
18971d7fec4Smrg
19071d7fec4Smrg#if defined(STB_X)
19171d7fec4Smrgvoid
19271d7fec4Smrggfx_outb(unsigned short port, unsigned char data)
19371d7fec4Smrg{
19471d7fec4Smrg   __asm__ volatile ("outb %0,%1"::"a" (data), "d"(port));
19571d7fec4Smrg}
19671d7fec4Smrg#endif
19771d7fec4Smrg#else
19871d7fec4Smrgextern unsigned char DCount;
19971d7fec4Smrg
20071d7fec4Smrg#if defined(STB_X)
20171d7fec4Smrgextern void gfx_outb(unsigned short port, unsigned char data);
20271d7fec4Smrgextern unsigned char gfx_inb(unsigned short port);
20371d7fec4Smrg#endif
20471d7fec4Smrg#endif
20571d7fec4Smrg
20671d7fec4Smrg#if defined(STB_X)
20771d7fec4Smrg#include "nsc_galproto.h"
20871d7fec4Smrg#else
20971d7fec4Smrgextern void gfx_write_reg32(int offset, int data);
21071d7fec4Smrgextern void gfx_write_reg16(int offset, short data);
21171d7fec4Smrgextern void gfx_write_reg8(int offset, char data);
21271d7fec4Smrgextern int gfx_read_reg32(int offset);
21371d7fec4Smrgextern short gfx_read_reg16(int offset);
21471d7fec4Smrgextern void gfx_write_vid32(int offset, int data);
21571d7fec4Smrgextern int gfx_read_vid32(int offset);
21671d7fec4Smrgextern unsigned char gfx_inb(unsigned short port);
21771d7fec4Smrgextern void gfx_outb(unsigned short port, unsigned char data);
21871d7fec4Smrgextern unsigned short gfx_inw(unsigned short port);
21971d7fec4Smrgextern void gfx_outw(unsigned short port, unsigned short data);
22071d7fec4Smrgextern unsigned long gfx_ind(unsigned short port);
22171d7fec4Smrgextern void gfx_outd(unsigned short port, unsigned long data);
22271d7fec4Smrg
22371d7fec4Smrg#include "gfx_rtns.h"
22471d7fec4Smrg#include "gfx_defs.h"
22571d7fec4Smrg#include "gfx_regs.h"
22671d7fec4Smrg#include "panel.h"
22771d7fec4Smrg
22871d7fec4Smrgtypedef struct __TVPARAMS
22971d7fec4Smrg{
23071d7fec4Smrg   unsigned int dwFlags;
23171d7fec4Smrg   unsigned short wWidth;
23271d7fec4Smrg   unsigned short wHeight;
23371d7fec4Smrg   unsigned short wStandard;
23471d7fec4Smrg   unsigned short wType;
23571d7fec4Smrg   unsigned short wOutput;
23671d7fec4Smrg   unsigned short wResolution;
23771d7fec4Smrg   Bool bState;
23871d7fec4Smrg}
23971d7fec4SmrgTVPARAMS, *PTVPARAMS;
24071d7fec4Smrg
24171d7fec4Smrgtypedef struct __DISPLAYTIMING
24271d7fec4Smrg{
24371d7fec4Smrg   unsigned int dwDotClock;
24471d7fec4Smrg   unsigned short wPitch;
24571d7fec4Smrg   unsigned short wBpp;
24671d7fec4Smrg   unsigned short wHTotal;
24771d7fec4Smrg   unsigned short wHActive;
24871d7fec4Smrg   unsigned short wHSyncStart;
24971d7fec4Smrg   unsigned short wHSyncEnd;
25071d7fec4Smrg   unsigned short wHBlankStart;
25171d7fec4Smrg   unsigned short wHBlankEnd;
25271d7fec4Smrg   unsigned short wVTotal;
25371d7fec4Smrg   unsigned short wVActive;
25471d7fec4Smrg   unsigned short wVSyncStart;
25571d7fec4Smrg   unsigned short wVSyncEnd;
25671d7fec4Smrg   unsigned short wVBlankStart;
25771d7fec4Smrg   unsigned short wVBlankEnd;
25871d7fec4Smrg   unsigned short wPolarity;
25971d7fec4Smrg}
26071d7fec4SmrgDISPLAYTIMING, *PDISPLAYTIMING;
26171d7fec4Smrg
26271d7fec4Smrg/* TV Timings */
26371d7fec4Smrgtypedef struct __TVTIMING
26471d7fec4Smrg{
26571d7fec4Smrg   unsigned long HorzTim;
26671d7fec4Smrg   unsigned long HorzSync;
26771d7fec4Smrg   unsigned long VertSync;
26871d7fec4Smrg   unsigned long LineEnd;
26971d7fec4Smrg   unsigned long VertDownscale;
27071d7fec4Smrg   unsigned long HorzScaling;
27171d7fec4Smrg   unsigned long TimCtrl1;
27271d7fec4Smrg   unsigned long TimCtrl2;
27371d7fec4Smrg   unsigned long Subfreq;
27471d7fec4Smrg   unsigned long DispPos;
27571d7fec4Smrg   unsigned long DispSize;
27671d7fec4Smrg   unsigned long Debug;
27771d7fec4Smrg   unsigned long DacCtrl;
27871d7fec4Smrg   unsigned int DotClock;
27971d7fec4Smrg}
28071d7fec4SmrgTVTIMING, *PTVTIMING;
28171d7fec4Smrg
28271d7fec4Smrg#endif /* STB_X */
28371d7fec4Smrg
28471d7fec4Smrgtypedef struct _VESARec
28571d7fec4Smrg{
28671d7fec4Smrg   xf86Int10InfoPtr pInt;
28771d7fec4Smrg}
28871d7fec4SmrgVESARec, *VESAPtr;
28971d7fec4Smrg
29071d7fec4Smrgtypedef struct
29171d7fec4Smrg{
29271d7fec4Smrg   /* Private struct for the server */
29371d7fec4Smrg   unsigned long cpu_version;		/* [7:0] Type:1=GXLV,2=SC1400 */
29471d7fec4Smrg   /* [15:8] Major version */
29571d7fec4Smrg   /* [23:16] Minor version */
29671d7fec4Smrg   unsigned long vid_version;		/* [7:0] Type:1=CS5530,2=SC1400 */
29771d7fec4Smrg
29871d7fec4Smrg   EntityInfoPtr pEnt;
29971d7fec4Smrg   ScreenBlockHandlerProcPtr BlockHandler;	/* needed for video */
30071d7fec4Smrg   int DetectedChipSet;
30171d7fec4Smrg   int Chipset;
30271d7fec4Smrg   unsigned long FBLinearAddr;
30371d7fec4Smrg   unsigned char *FBBase;
30471d7fec4Smrg   unsigned long FBSize;
30571d7fec4Smrg   unsigned int cpu_reg_size;
30671d7fec4Smrg   unsigned int gp_reg_size;
30771d7fec4Smrg   unsigned int vid_reg_size;
30871d7fec4Smrg   int Pitch;
30971d7fec4Smrg   Bool HWCursor;
31071d7fec4Smrg   Bool NoAccel;
31171d7fec4Smrg   unsigned long VideoKey;
31271d7fec4Smrg
31371d7fec4Smrg   Bool TVSupport;
31471d7fec4Smrg#if defined(STB_X)
31571d7fec4Smrg   GAL_TVPARAMS TvParam;
31671d7fec4Smrg#else
31771d7fec4Smrg   TVPARAMS TvParam;
31871d7fec4Smrg#endif					/* STB_X */
31971d7fec4Smrg
32071d7fec4Smrg   int TVOx, TVOy, TVOw, TVOh;
32171d7fec4Smrg   Bool TV_Overscan_On;
32271d7fec4Smrg
32371d7fec4Smrg   Bool Panel;
32471d7fec4Smrg
32571d7fec4Smrg   /* Flatpanel support from Bios */
32671d7fec4Smrg   int FPBX;				/* xres */
32771d7fec4Smrg   int FPBY;				/* yres */
32871d7fec4Smrg   int FPBB;				/* bpp */
32971d7fec4Smrg   int FPBF;				/* freq */
33071d7fec4Smrg
33171d7fec4Smrg   int Rotate;
33271d7fec4Smrg   Bool ShadowFB;
33371d7fec4Smrg   unsigned char *ShadowPtr;
33471d7fec4Smrg   int ShadowPitch;
33571d7fec4Smrg   void (*PointerMoved) (int index, int x, int y);
33671d7fec4Smrg   /* CloseScreen function.        */
33771d7fec4Smrg   CloseScreenProcPtr CloseScreen;
33871d7fec4Smrg
33971d7fec4Smrg   Bool Compression;
34071d7fec4Smrg   unsigned int CBOffset;
34171d7fec4Smrg   unsigned int CBPitch;
34271d7fec4Smrg   unsigned int CBSize;
34371d7fec4Smrg   unsigned long CursorStartOffset;
34471d7fec4Smrg   unsigned int CursorSize;
34571d7fec4Smrg   xf86CursorInfoPtr CursorInfo;
34671d7fec4Smrg   int CursorXHot;
34771d7fec4Smrg   int CursorYHot;
34871d7fec4Smrg   unsigned long OffscreenStartOffset;
34971d7fec4Smrg   unsigned int OffscreenSize;
35071d7fec4Smrg
35171d7fec4Smrg	/***Image Write structures ***/
35271d7fec4Smrg
35371d7fec4Smrg   /* offset in video memory for ImageWrite Buffers */
35471d7fec4Smrg   unsigned char **AccelImageWriteBufferOffsets;
35571d7fec4Smrg   int NoOfImgBuffers;
35671d7fec4Smrg   FBAreaPtr CompressionArea;
35771d7fec4Smrg   FBAreaPtr AccelImgArea;
35871d7fec4Smrg/*****************************************/
35971d7fec4Smrg/* Saved Console State */
36071d7fec4Smrg#if defined(STB_X)
36171d7fec4Smrg   GAL_VGAMODEDATA FBgfxVgaRegs;
36271d7fec4Smrg   GAL_DISPLAYTIMING FBgfxdisplaytiming;
36371d7fec4Smrg   GAL_TVTIMING FBgfxtvtiming;
36471d7fec4Smrg#else
36571d7fec4Smrg   gfx_vga_struct FBgfxVgaRegs;
36671d7fec4Smrg   DISPLAYTIMING FBgfxdisplaytiming;
36771d7fec4Smrg   TVTIMING FBtvtiming;
36871d7fec4Smrg#endif					/* STB_X */
36971d7fec4Smrg   int FBVGAActive;
37071d7fec4Smrg   unsigned int FBTVActive;
37171d7fec4Smrg   unsigned int FBTVEnabled;
37271d7fec4Smrg   unsigned long FBDisplayOffset;
37371d7fec4Smrg
37471d7fec4Smrg   VESAPtr vesa;
37571d7fec4Smrg
37671d7fec4Smrg   /* compression */
37771d7fec4Smrg   int FBCompressionEnable;
37871d7fec4Smrg   unsigned long FBCompressionOffset;
37971d7fec4Smrg   unsigned short FBCompressionPitch;
38071d7fec4Smrg   unsigned short FBCompressionSize;
38171d7fec4Smrg
38271d7fec4Smrg   /* Save the Cursor offset of the FB */
38371d7fec4Smrg   unsigned long FBCursorOffset;
38471d7fec4Smrg/*****************************************/
38571d7fec4Smrg
38671d7fec4Smrg   XAAInfoRecPtr AccelInfoRec;
38771d7fec4Smrg
38871d7fec4Smrg   DGAModePtr DGAModes;
38971d7fec4Smrg   int numDGAModes;
39071d7fec4Smrg   Bool DGAactive;
39171d7fec4Smrg   int DGAViewportStatus;
39271d7fec4Smrg/*****************************************/
39371d7fec4Smrg   int video_x;
39471d7fec4Smrg   int video_y;
39571d7fec4Smrg   short video_w;
39671d7fec4Smrg   short video_h;
39771d7fec4Smrg   short video_srcw;
39871d7fec4Smrg   short video_srch;
39971d7fec4Smrg   short video_dstw;
40071d7fec4Smrg   short video_dsth;
40171d7fec4Smrg   int video_id;
40271d7fec4Smrg   int video_offset;
40371d7fec4Smrg   ScrnInfoPtr video_scrnptr;
40471d7fec4Smrg   BOOL OverlayON;
40571d7fec4Smrg
40671d7fec4Smrg   int videoKey;
40771d7fec4Smrg   XF86VideoAdaptorPtr adaptor;
40871d7fec4Smrg   int OverlaySkewX;
40971d7fec4Smrg   int OverlaySkewY;
41071d7fec4Smrg   int VideoZoomMax;
41171d7fec4Smrg}
41271d7fec4SmrgGeodeRec, *GeodePtr;
41371d7fec4Smrg
41471d7fec4Smrg/* option flags are self-explanatory */
41571d7fec4Smrgtypedef enum
41671d7fec4Smrg{
41771d7fec4Smrg   OPTION_SW_CURSOR,
41871d7fec4Smrg   OPTION_HW_CURSOR,
41971d7fec4Smrg   OPTION_NOCOMPRESSION,
42071d7fec4Smrg   OPTION_NOACCEL,
42171d7fec4Smrg   OPTION_TV_SUPPORT,
42271d7fec4Smrg   OPTION_TV_OUTPUT,
42371d7fec4Smrg   OPTION_TV_OVERSCAN,
42471d7fec4Smrg   OPTION_SHADOW_FB,
42571d7fec4Smrg   OPTION_ROTATE,
42671d7fec4Smrg   OPTION_FLATPANEL,
42771d7fec4Smrg   OPTION_FLATPANEL_INFO,
42871d7fec4Smrg   OPTION_FLATPANEL_IN_BIOS,
42971d7fec4Smrg   OPTION_COLOR_KEY,
43071d7fec4Smrg   OPTION_OSM,
43171d7fec4Smrg   OPTION_OSM_IMG_BUFS,
43271d7fec4Smrg   OPTION_DONT_PROGRAM
43371d7fec4Smrg}
43471d7fec4SmrgGeodeOpts;
43571d7fec4Smrg
43671d7fec4Smrg#endif /* _NSC_GEODE_H_ */
437