diff options
Diffstat (limited to 'drivers/staging/xgifb/vgatypes.h')
-rw-r--r-- | drivers/staging/xgifb/vgatypes.h | 271 |
1 files changed, 42 insertions, 229 deletions
diff --git a/drivers/staging/xgifb/vgatypes.h b/drivers/staging/xgifb/vgatypes.h index 295ea860ae47..df839eeb5efd 100644 --- a/drivers/staging/xgifb/vgatypes.h +++ b/drivers/staging/xgifb/vgatypes.h @@ -2,136 +2,14 @@ #ifndef _VGATYPES_ #define _VGATYPES_ -#include "osdef.h" - -#ifdef LINUX_XF86 -#include "xf86Version.h" -#include "xf86Pci.h" -#endif - -#ifdef LINUX_KERNEL /* We don't want the X driver to depend on kernel source */ #include <linux/ioctl.h> -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef NULL -#define NULL 0 -#endif - -#ifndef CHAR -typedef char CHAR; -#endif - -#ifndef SHORT -typedef short SHORT; -#endif - -#ifndef LONG -typedef long LONG; -#endif - -#ifndef UCHAR -typedef unsigned char UCHAR; -#endif - -#ifndef USHORT -typedef unsigned short USHORT; -#endif - -#ifndef ULONG -typedef unsigned long ULONG; -#endif - -#ifndef PUCHAR -typedef UCHAR *PUCHAR; -#endif - -#ifndef PUSHORT -typedef USHORT *PUSHORT; -#endif - -#ifndef PLONGU -typedef ULONG *PULONG; -#endif - -#ifndef VOID -typedef void VOID; -#endif - -#ifndef PVOID -typedef void *PVOID; -#endif - -#ifndef BOOLEAN -typedef UCHAR BOOLEAN; -#endif -/* -#ifndef bool -typedef UCHAR bool; -#endif -*/ -#ifdef LINUX_KERNEL -typedef unsigned long XGIIOADDRESS; -#endif - -#ifdef LINUX_XF86 -#if XF86_VERSION_CURRENT < XF86_VERSION_NUMERIC(4,2,0,0,0) -typedef unsigned char IOADDRESS; -typedef unsigned char XGIIOADDRESS; -#else -typedef IOADDRESS XGIIOADDRESS; -#endif -#endif #ifndef VBIOS_VER_MAX_LENGTH -#define VBIOS_VER_MAX_LENGTH 4 -#endif - -#ifndef WIN2000 - -#ifndef LINUX_KERNEL /* For the linux kernel, this is defined in xgifb.h */ -#ifndef XGI_CHIP_TYPE -typedef enum _XGI_CHIP_TYPE { - XGI_VGALegacy = 0, -#ifdef LINUX_XF86 - XGI_530, - XGI_OLD, -#endif - XGI_300, - XGI_630, - XGI_640, - XGI_315H, - XGI_315, - XGI_315PRO, - XGI_550, - XGI_650, - XGI_650M, - XGI_740, - XGI_330, - XGI_661, - XGI_660, - XGI_760, - XG40 = 32, - XG41, - XG42, - XG45, - XG20 = 48, - XG21, - XG27, - MAX_XGI_CHIP -} XGI_CHIP_TYPE; -#endif +#define VBIOS_VER_MAX_LENGTH 5 #endif #ifndef XGI_VB_CHIP_TYPE -typedef enum _XGI_VB_CHIP_TYPE { +enum XGI_VB_CHIP_TYPE { VB_CHIP_Legacy = 0, VB_CHIP_301, VB_CHIP_301B, @@ -143,11 +21,11 @@ typedef enum _XGI_VB_CHIP_TYPE { VB_CHIP_302ELV, VB_CHIP_UNKNOWN, /* other video bridge or no video bridge */ MAX_VB_CHIP -} XGI_VB_CHIP_TYPE; +}; #endif #ifndef XGI_LCD_TYPE -typedef enum _XGI_LCD_TYPE { +enum XGI_LCD_TYPE { LCD_INVALID = 0, LCD_320x480, /* FSTN, DSTN */ LCD_640x480, @@ -171,155 +49,90 @@ typedef enum _XGI_LCD_TYPE { LCD_2048x1536, LCD_CUSTOM, LCD_UNKNOWN -} XGI_LCD_TYPE; +}; #endif -#endif /* not WIN2000 */ - -#ifndef PXGI_DSReg -typedef struct _XGI_DSReg +struct XGI_DSReg { - UCHAR jIdx; - UCHAR jVal; -} XGI_DSReg, *PXGI_DSReg; -#endif - -#ifndef XGI_HW_DEVICE_INFO - -typedef struct _XGI_HW_DEVICE_INFO XGI_HW_DEVICE_INFO, *PXGI_HW_DEVICE_INFO; - -typedef BOOLEAN (*PXGI_QUERYSPACE) (PXGI_HW_DEVICE_INFO, ULONG, ULONG, ULONG *); + unsigned char jIdx; + unsigned char jVal; +}; -struct _XGI_HW_DEVICE_INFO +struct xgi_hw_device_info { - ULONG ulExternalChip; /* NO VB or other video bridge*/ + unsigned long ulExternalChip; /* NO VB or other video bridge*/ /* if ujVBChipID = VB_CHIP_UNKNOWN, */ -#ifdef LINUX_XF86 - PCITAG PciTag; /* PCI Tag */ -#endif - PUCHAR pjVirtualRomBase; /* ROM image */ + unsigned char *pjVirtualRomBase; /* ROM image */ - BOOLEAN UseROM; /* Use the ROM image if provided */ + unsigned char UseROM; /* Use the ROM image if provided */ - PVOID pDevice; + void *pDevice; - PUCHAR pjVideoMemoryAddress;/* base virtual memory address */ + unsigned char *pjVideoMemoryAddress;/* base virtual memory address */ /* of Linear VGA memory */ - ULONG ulVideoMemorySize; /* size, in bytes, of the memory on the board */ + unsigned long ulVideoMemorySize; /* size, in bytes, of the memory on the board */ - PUCHAR pjIOAddress; /* base I/O address of VGA ports (0x3B0) */ + unsigned char *pjIOAddress; /* base I/O address of VGA ports (0x3B0) */ - PUCHAR pjCustomizedROMImage; + unsigned char *pjCustomizedROMImage; - PUCHAR pj2ndVideoMemoryAddress; - ULONG ul2ndVideoMemorySize; + unsigned char *pj2ndVideoMemoryAddress; + unsigned long ul2ndVideoMemorySize; - PUCHAR pj2ndIOAddress; -/*#ifndef WIN2000 - XGIIOADDRESS pjIOAddress; // base I/O address of VGA ports (0x3B0) -#endif */ - UCHAR jChipType; /* Used to Identify Graphics Chip */ + unsigned char *pj2ndIOAddress; + unsigned char jChipType; /* Used to Identify Graphics Chip */ /* defined in the data structure type */ /* "XGI_CHIP_TYPE" */ - UCHAR jChipRevision; /* Used to Identify Graphics Chip Revision */ + unsigned char jChipRevision; /* Used to Identify Graphics Chip Revision */ - UCHAR ujVBChipID; /* the ID of video bridge */ + unsigned char ujVBChipID; /* the ID of video bridge */ /* defined in the data structure type */ /* "XGI_VB_CHIP_TYPE" */ - BOOLEAN bNewScratch; + unsigned char bNewScratch; - ULONG ulCRT2LCDType; /* defined in the data structure type */ + unsigned long ulCRT2LCDType; /* defined in the data structure type */ - ULONG usExternalChip; /* NO VB or other video bridge (other than */ + unsigned long usExternalChip; /* NO VB or other video bridge (other than */ /* video bridge) */ - BOOLEAN bIntegratedMMEnabled;/* supporting integration MM enable */ + unsigned char bIntegratedMMEnabled;/* supporting integration MM enable */ - BOOLEAN bSkipDramSizing; /* True: Skip video memory sizing. */ + unsigned char bSkipDramSizing; /* True: Skip video memory sizing. */ - BOOLEAN bSkipSense; + unsigned char bSkipSense; - BOOLEAN bIsPowerSaving; /* True: XGIInit() is invoked by power management, + unsigned char bIsPowerSaving; /* True: XGIInit() is invoked by power management, otherwise by 2nd adapter's initialzation */ - PXGI_DSReg pSR; /* restore SR registers in initial function. */ + struct XGI_DSReg *pSR; /* restore SR registers in initial function. */ /* end data :(idx, val) = (FF, FF). */ /* Note : restore SR registers if */ - /* bSkipDramSizing = TRUE */ + /* bSkipDramSizing = 1 */ - PXGI_DSReg pCR; /* restore CR registers in initial function. */ + struct XGI_DSReg *pCR; /* restore CR registers in initial function. */ /* end data :(idx, val) = (FF, FF) */ /* Note : restore cR registers if */ - /* bSkipDramSizing = TRUE */ -/* -#endif -*/ + /* bSkipDramSizing = 1 */ - PXGI_QUERYSPACE pQueryVGAConfigSpace; + unsigned char(*pQueryVGAConfigSpace)(struct xgi_hw_device_info *, + unsigned long, unsigned long, + unsigned long *); - PXGI_QUERYSPACE pQueryNorthBridgeSpace; + unsigned char(*pQueryNorthBridgeSpace)(struct xgi_hw_device_info *, + unsigned long, unsigned long, + unsigned long *); - UCHAR szVBIOSVer[VBIOS_VER_MAX_LENGTH]; + unsigned char szVBIOSVer[VBIOS_VER_MAX_LENGTH]; }; -#endif /* Addtional IOCTL for communication xgifb <> X driver */ /* If changing this, xgifb.h must also be changed (for xgifb) */ -#ifdef LINUX_XF86 /* We don't want the X driver to depend on the kernel source */ - -/* ioctl for identifying and giving some info (esp. memory heap start) */ -#define XGIFB_GET_INFO 0x80046ef8 /* Wow, what a terrible hack... */ - -/* Structure argument for XGIFB_GET_INFO ioctl */ -typedef struct _XGIFB_INFO xgifb_info, *pxgifb_info; - -struct _XGIFB_INFO { - CARD32 xgifb_id; /* for identifying xgifb */ -#ifndef XGIFB_ID -#define XGIFB_ID 0x53495346 /* Identify myself with 'XGIF' */ -#endif - CARD32 chip_id; /* PCI ID of detected chip */ - CARD32 memory; /* video memory in KB which xgifb manages */ - CARD32 heapstart; /* heap start (= xgifb "mem" argument) in KB */ - CARD8 fbvidmode; /* current xgifb mode */ - - CARD8 xgifb_version; - CARD8 xgifb_revision; - CARD8 xgifb_patchlevel; - - CARD8 xgifb_caps; /* xgifb's capabilities */ - - CARD32 xgifb_tqlen; /* turbo queue length (in KB) */ - - CARD32 xgifb_pcibus; /* The card's PCI ID */ - CARD32 xgifb_pcislot; - CARD32 xgifb_pcifunc; - - CARD8 xgifb_lcdpdc; - - CARD8 xgifb_lcda; - - CARD32 xgifb_vbflags; - CARD32 xgifb_currentvbflags; - - CARD32 xgifb_scalelcd; - CARD32 xgifb_specialtiming; - - CARD8 xgifb_haveemi; - CARD8 xgifb_emi30,xgifb_emi31,xgifb_emi32,xgifb_emi33; - CARD8 xgifb_haveemilcd; - - CARD8 xgifb_lcdpdca; - - CARD8 reserved[212]; /* for future use */ -}; -#endif #endif |