⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 via_driver.h

📁 Mesa is an open-source implementation of the OpenGL specification - a system for rendering interacti
💻 H
字号:
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/via/via_driver.h,v 1.7 2003/11/06 18:38:11 tsi Exp $ *//* * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved. * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sub license, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the * next paragraph) shall be included in all copies or substantial portions * of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */#ifndef _VIA_DRIVER_H#define _VIA_DRIVER_H#if 0 /* DEBUG is use in VIA DRI code as a flag *//* #define DEBUG_PRINT */#ifdef DEBUG_PRINT#define DEBUG(x) x#else#define DEBUG(x)#endif#endif#if 0#include "vgaHW.h"#include "xf86.h"#include "xf86Resources.h"#include "xf86_ansic.h"#include "xf86Pci.h"#include "xf86PciInfo.h"#include "xf86_OSproc.h"#include "compiler.h"#include "xf86Cursor.h"#include "mipointer.h"#include "micmap.h"#define USE_FB#ifdef USE_FB#include "fb.h"#else#include "cfb.h"#include "cfb16.h"#include "cfb32.h"#endif#include "xf86cmap.h"#include "vbe.h"#include "xaa.h"#include "via_regs.h"#include "via_bios.h"#include "via_gpioi2c.h"#include "via_priv.h"#include "ginfo.h"#ifdef XF86DRI#define _XF86DRI_SERVER_#include "sarea.h"#include "dri.h"#include "GL/glxint.h"#include "via_dri.h"#endif#else#include "via_regs.h"#include "GL/internal/dri_interface.h"#include "via_dri.h"#endif/* _SOLO : copied from via_bios.h *//* System Memory CLK */#define		VIA_MEM_SDR66					0x00#define		VIA_MEM_SDR100					0x01#define		VIA_MEM_SDR133					0x02#define		VIA_MEM_DDR200					0x03#define		VIA_MEM_DDR266					0x04#define		VIA_MEM_DDR333					0x05#define		VIA_MEM_DDR400					0x06#define DRIVER_NAME     "via"#define DRIVER_VERSION  "4.1.0"#define VERSION_MAJOR   4#define VERSION_MINOR   1#define PATCHLEVEL      41#define VIA_VERSION     ((VERSION_MAJOR<<24) | (VERSION_MINOR<<16) | PATCHLEVEL)#define VGAIN8(addr)        MMIO_IN8(pVia->MapBase+0x8000, addr)#define VGAIN16(addr)       MMIO_IN16(pVia->MapBase+0x8000, addr)#define VGAIN(addr)         MMIO_IN32(pVia->MapBase+0x8000, addr)#define VGAOUT8(addr, val)  MMIO_OUT8(pVia->MapBase+0x8000, addr, val)#define VGAOUT16(addr, val) MMIO_OUT16(pVia->MapBase+0x8000, addr, val)#define VGAOUT(addr, val)   MMIO_OUT32(pVia->MapBase+0x8000, addr, val)#define INREG(addr)         MMIO_IN32(pVia->MapBase, addr)#define OUTREG(addr, val)   MMIO_OUT32(pVia->MapBase, addr, val)#define INREG16(addr)       MMIO_IN16(pVia->MapBase, addr)#define OUTREG16(addr, val) MMIO_OUT16(pVia->MapBase, addr, val)#define VIA_PIXMAP_CACHE_SIZE   (256 * 1024)#define VIA_CURSOR_SIZE         (4 * 1024)#define VIA_VQ_SIZE             (256 * 1024)typedef struct {    unsigned int    mode, refresh, resMode;    int             countWidthByQWord;    int             offsetWidthByQWord;    unsigned char   SR08, SR0A, SR0F;    /*   extended Sequencer registers */    unsigned char   SR10, SR11, SR12, SR13,SR14,SR15,SR16;    unsigned char   SR17, SR18, SR19, SR1A,SR1B,SR1C,SR1D,SR1E;    unsigned char   SR1F, SR20, SR21, SR22,SR23,SR24,SR25,SR26;    unsigned char   SR27, SR28, SR29, SR2A,SR2B,SR2C,SR2D,SR2E;    unsigned char   SR2F, SR30, SR31, SR32,SR33,SR34,SR40,SR41;    unsigned char   SR42, SR43, SR44, SR45,SR46,SR47;    unsigned char   Clock;    /*   extended CRTC registers */    unsigned char   CR13, CR30, CR31, CR32, CR33, CR34, CR35, CR36;    unsigned char   CR37, CR38, CR39, CR3A, CR40, CR41, CR42, CR43;    unsigned char   CR44, CR45, CR46, CR47, CR48, CR49, CR4A;    unsigned char   CRTCRegs[83];    unsigned char   TVRegs[0xCF];    unsigned char   TVRegs2[0xCF];/*    unsigned char   LCDRegs[0x40];*/} VIARegRec, *VIARegPtr;typedef struct _VIA {    VIARegRec           SavedReg;    VIARegRec           ModeReg;#if 0    xf86CursorInfoPtr   CursorInfoRec;    int                 stateMode;    VIAModeInfoPtr      VIAModeList;#endif    int                 ModeStructInit;    int                 Bpp, Bpl, ScissB;    unsigned            PlaneMask;    unsigned long       videoRambytes;    int                 videoRamKbytes;    int                 FBFreeStart;    int                 FBFreeEnd;    int                 CursorStart;    int                 VQStart;    int                 VQEnd;    /* These are physical addresses. */    unsigned long       FrameBufferBase;    unsigned long       MmioBase;    /* These are linear addresses. */    unsigned char*      MapBase;    unsigned char*      VidMapBase;    unsigned char*      BltBase;    unsigned char*      MapBaseDense;    unsigned char*      FBBase;    unsigned char*      FBStart;    int                 PrimaryVidMapped;    int                 dacSpeedBpp;    int                 minClock, maxClock;    int                 MCLK, REFCLK, LCDclk;    double              refclk_fact;    /* Here are all the Options */    int                 VQEnable;    int                 pci_burst;    int                 NoPCIRetry;    int                 hwcursor;    int                 NoAccel;    int                 shadowFB;    int                 NoDDCValue;    int                 rotate;#if 0    CloseScreenProcPtr  CloseScreen;    pciVideoPtr         PciInfo;    PCITAG              PciTag;#endif    int                 Chipset;    int                 ChipId;    int                 ChipRev;    /*vbeInfoPtr          pVbe;*/    int                 EntityIndex;    /* Support for shadowFB and rotation */    unsigned char*      ShadowPtr;    int                 ShadowPitch;    void                (*PointerMoved)(int index, int x, int y);    /* Support for XAA acceleration */#if 0    XAAInfoRecPtr       AccelInfoRec;    xRectangle          Rect;#endif    u_int32_t            SavedCmd;    u_int32_t            SavedFgColor;    u_int32_t            SavedBgColor;    u_int32_t            SavedPattern0;    u_int32_t            SavedPattern1;    u_int32_t            SavedPatternAddr;#if 0    /* Support for Int10 processing */    xf86Int10InfoPtr    pInt10;    /* BIOS Info Ptr */    VIABIOSInfoPtr      pBIOSInfo;    VGABIOSVERPtr       pBIOSVer;#endif    /* Support for DGA */    int                 numDGAModes;    /*DGAModePtr          DGAModes;*/    int                 DGAactive;    int                 DGAViewportStatus;    /* The various wait handlers. */    int                 (*myWaitIdle)(struct _VIA*);#if 0    /* I2C & DDC */    I2CBusPtr           I2C_Port1;    I2CBusPtr           I2C_Port2;    xf86MonPtr          DDC1;    xf86MonPtr          DDC2;#endif    /* MHS */    int                 IsSecondary;    int                 HasSecondary;#if 0    /* Capture information */    VIACAPINFO     CapInfo[2];      /* 2 capture information */#endif/*    u_int32_t            Cap0_Deinterlace;    u_int32_t            Cap1_Deinterlace;    int                 Cap0_FieldSwap;    int                 NoCap0_HFilter;    int                 Capture_OverScanOff;    int                 NoMPEGHQV_VFilter;*/#ifdef XF86DRI    int 		directRenderingEnabled;    DRIInfoPtr		pDRIInfo;    int 		drmFD;    int 		numVisualConfigs;    __GLXvisualConfig* 	pVisualConfigs;    VIAConfigPrivPtr 	pVisualConfigsPriv;    unsigned long 	agpHandle;    unsigned long 	registerHandle;    u_int32_t            agpAddr;    unsigned char 	*agpBase;    unsigned int 	agpSize;    int  		IsPCI;    int  		drixinerama;#else    int 		drmFD;    unsigned long 	agpHandle;    unsigned long 	registerHandle;    unsigned long 	agpAddr;    unsigned char 	*agpBase;    unsigned int 	agpSize;    int  		IsPCI;#endif    int     V4LEnabled;    u_int16_t    ActiveDevice;	/* if SAMM, non-equal pBIOSInfo->ActiveDevice */    unsigned char       *CursorImage;    u_int32_t    CursorFG;    u_int32_t    CursorBG;    u_int32_t    CursorMC;    unsigned char	MemClk;    int 		EnableExtendedFIFO;    VIADRIPtr		devPrivate;} VIARec, *VIAPtr;/* Shortcuts.  These depend on a local symbol "pVia". */#define WaitIdle()      pVia->myWaitIdle(pVia)#define VIAPTR(p)       ((VIAPtr)((p)->driverPrivate))#endif /* _VIA_DRIVER_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -