5 #include <linux/ioctl.h>
7 #ifndef VBIOS_VER_MAX_LENGTH
8 #define VBIOS_VER_MAX_LENGTH 5
11 #ifndef XGI_VB_CHIP_TYPE
12 enum XGI_VB_CHIP_TYPE {
22 VB_CHIP_UNKNOWN, /* other video bridge or no video bridge */
30 LCD_320x480, /* FSTN, DSTN */
32 LCD_640x480_2, /* FSTN, DSTN */
33 LCD_640x480_3, /* FSTN, DSTN */
61 struct xgi_hw_device_info
63 unsigned long ulExternalChip; /* NO VB or other video bridge*/
64 /* if ujVBChipID = VB_CHIP_UNKNOWN, */
66 unsigned char *pjVirtualRomBase; /* ROM image */
68 unsigned char UseROM; /* Use the ROM image if provided */
72 unsigned char *pjVideoMemoryAddress;/* base virtual memory address */
73 /* of Linear VGA memory */
75 unsigned long ulVideoMemorySize; /* size, in bytes, of the memory on the board */
77 unsigned char *pjIOAddress; /* base I/O address of VGA ports (0x3B0) */
79 unsigned char *pjCustomizedROMImage;
81 unsigned char *pj2ndVideoMemoryAddress;
82 unsigned long ul2ndVideoMemorySize;
84 unsigned char *pj2ndIOAddress;
85 unsigned char jChipType; /* Used to Identify Graphics Chip */
86 /* defined in the data structure type */
89 unsigned char jChipRevision; /* Used to Identify Graphics Chip Revision */
91 unsigned char ujVBChipID; /* the ID of video bridge */
92 /* defined in the data structure type */
93 /* "XGI_VB_CHIP_TYPE" */
95 unsigned char bNewScratch;
97 unsigned long ulCRT2LCDType; /* defined in the data structure type */
99 unsigned long usExternalChip; /* NO VB or other video bridge (other than */
102 unsigned char bIntegratedMMEnabled;/* supporting integration MM enable */
104 unsigned char bSkipDramSizing; /* True: Skip video memory sizing. */
106 unsigned char bSkipSense;
108 unsigned char bIsPowerSaving; /* True: XGIInit() is invoked by power management,
109 otherwise by 2nd adapter's initialzation */
111 struct XGI_DSReg *pSR; /* restore SR registers in initial function. */
112 /* end data :(idx, val) = (FF, FF). */
113 /* Note : restore SR registers if */
114 /* bSkipDramSizing = 1 */
116 struct XGI_DSReg *pCR; /* restore CR registers in initial function. */
117 /* end data :(idx, val) = (FF, FF) */
118 /* Note : restore cR registers if */
119 /* bSkipDramSizing = 1 */
121 unsigned char(*pQueryVGAConfigSpace)(struct xgi_hw_device_info *,
122 unsigned long, unsigned long,
125 unsigned char(*pQueryNorthBridgeSpace)(struct xgi_hw_device_info *,
126 unsigned long, unsigned long,
129 unsigned char szVBIOSVer[VBIOS_VER_MAX_LENGTH];
133 /* Addtional IOCTL for communication xgifb <> X driver */
134 /* If changing this, xgifb.h must also be changed (for xgifb) */