1 
2 #ifndef _VGATYPES_
3 #define _VGATYPES_
4 
5 #include <linux/ioctl.h>
6 
7 #ifndef XGI_VB_CHIP_TYPE
8 enum XGI_VB_CHIP_TYPE {
9     VB_CHIP_Legacy = 0,
10     VB_CHIP_301,
11     VB_CHIP_301B,
12     VB_CHIP_301LV,
13     VB_CHIP_302,
14     VB_CHIP_302B,
15     VB_CHIP_302LV,
16     VB_CHIP_301C,
17     VB_CHIP_302ELV,
18     VB_CHIP_UNKNOWN, /* other video bridge or no video bridge */
19     MAX_VB_CHIP
20 };
21 #endif
22 
23 #ifndef XGI_LCD_TYPE
24 enum XGI_LCD_TYPE {
25     LCD_INVALID = 0,
26     LCD_320x480,       /* FSTN, DSTN */
27     LCD_640x480,
28     LCD_640x480_2,     /* FSTN, DSTN */
29     LCD_640x480_3,     /* FSTN, DSTN */
30     LCD_800x600,
31     LCD_848x480,
32     LCD_1024x600,
33     LCD_1024x768,
34     LCD_1152x768,
35     LCD_1152x864,
36     LCD_1280x720,
37     LCD_1280x768,
38     LCD_1280x800,
39     LCD_1280x960,
40     LCD_1280x1024,
41     LCD_1400x1050,
42     LCD_1600x1200,
43     LCD_1680x1050,
44     LCD_1920x1440,
45     LCD_2048x1536,
46     LCD_CUSTOM,
47     LCD_UNKNOWN
48 };
49 #endif
50 
51 struct XGI_DSReg
52 {
53   unsigned char  jIdx;
54   unsigned char  jVal;
55 };
56 
57 struct xgi_hw_device_info
58 {
59     unsigned long  ulExternalChip;       /* NO VB or other video bridge*/
60                                  /* if ujVBChipID = VB_CHIP_UNKNOWN, */
61 
62     unsigned char *pjVirtualRomBase;    /* ROM image */
63 
64     unsigned char *pjVideoMemoryAddress;/* base virtual memory address */
65                                  /* of Linear VGA memory */
66 
67     unsigned long  ulVideoMemorySize;    /* size, in bytes, of the memory on the board */
68 
69     unsigned char *pjIOAddress;          /* base I/O address of VGA ports (0x3B0) */
70 
71     unsigned char  jChipType;            /* Used to Identify Graphics Chip */
72                                  /* defined in the data structure type  */
73                                  /* "XGI_CHIP_TYPE" */
74 
75     unsigned char  jChipRevision;        /* Used to Identify Graphics Chip Revision */
76 
77     unsigned char  ujVBChipID;           /* the ID of video bridge */
78                                  /* defined in the data structure type */
79                                  /* "XGI_VB_CHIP_TYPE" */
80 
81     unsigned long  ulCRT2LCDType;        /* defined in the data structure type */
82 
83 	unsigned char(*pQueryVGAConfigSpace)(struct xgi_hw_device_info *,
84 					    unsigned long, unsigned long,
85 					    unsigned long *);
86 };
87 
88 /* Additional IOCTL for communication xgifb <> X driver        */
89 /* If changing this, xgifb.h must also be changed (for xgifb) */
90 
91 
92 #endif
93 
94