apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 1 | #ifndef _VGATYPES_ |
| 2 | #define _VGATYPES_ |
| 3 | |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 4 | #include <linux/ioctl.h> |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 5 | |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 6 | #ifndef XGI_VB_CHIP_TYPE |
Bill Pemberton | 621a683 | 2010-06-17 13:10:48 -0400 | [diff] [blame] | 7 | enum XGI_VB_CHIP_TYPE { |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 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 |
Bill Pemberton | 621a683 | 2010-06-17 13:10:48 -0400 | [diff] [blame] | 19 | }; |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 20 | #endif |
| 21 | |
| 22 | #ifndef XGI_LCD_TYPE |
Bill Pemberton | 621a683 | 2010-06-17 13:10:48 -0400 | [diff] [blame] | 23 | enum XGI_LCD_TYPE { |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 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 |
Bill Pemberton | 621a683 | 2010-06-17 13:10:48 -0400 | [diff] [blame] | 47 | }; |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 48 | #endif |
| 49 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 50 | struct XGI_DSReg { |
| 51 | unsigned char jIdx; |
| 52 | unsigned char jVal; |
Bill Pemberton | 1d9f9a9 | 2010-06-17 13:10:49 -0400 | [diff] [blame] | 53 | }; |
| 54 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 55 | struct xgi_hw_device_info { |
| 56 | unsigned long ulExternalChip; /* NO VB or other video bridge*/ |
| 57 | /* if ujVBChipID = VB_CHIP_UNKNOWN, */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 58 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 59 | unsigned char *pjVirtualRomBase; /* ROM image */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 60 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 61 | unsigned char *pjVideoMemoryAddress;/* base virtual memory address */ |
| 62 | /* of Linear VGA memory */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 63 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 64 | unsigned long ulVideoMemorySize; /* size, in bytes, of the |
| 65 | memory on the board */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 66 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 67 | unsigned char *pjIOAddress; /* base I/O address of VGA ports (0x3B0) */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 68 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 69 | unsigned char jChipType; /* Used to Identify Graphics Chip */ |
| 70 | /* defined in the data structure type */ |
| 71 | /* "XGI_CHIP_TYPE" */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 72 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 73 | unsigned char jChipRevision; /* Used to Identify Graphics |
| 74 | Chip Revision */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 75 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 76 | unsigned char ujVBChipID; /* the ID of video bridge */ |
| 77 | /* defined in the data structure type */ |
| 78 | /* "XGI_VB_CHIP_TYPE" */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 79 | |
Kenji Toyama | eae5f02 | 2011-04-24 13:46:25 +0800 | [diff] [blame] | 80 | unsigned long ulCRT2LCDType; /* defined in the data structure type */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 81 | |
Bill Pemberton | e4147ab | 2010-06-17 13:10:50 -0400 | [diff] [blame] | 82 | unsigned char(*pQueryVGAConfigSpace)(struct xgi_hw_device_info *, |
| 83 | unsigned long, unsigned long, |
| 84 | unsigned long *); |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 85 | }; |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 86 | |
Lucas De Marchi | 25985ed | 2011-03-30 22:57:33 -0300 | [diff] [blame] | 87 | /* Additional IOCTL for communication xgifb <> X driver */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 88 | /* If changing this, xgifb.h must also be changed (for xgifb) */ |
apatard@mandriva.com | d7636e0 | 2010-05-19 10:44:14 +0200 | [diff] [blame] | 89 | #endif |
| 90 | |