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