~ubuntu-branches/ubuntu/quantal/linux-lowlatency/quantal-proposed

« back to all changes in this revision

Viewing changes to drivers/staging/xgifb/XGI_main.h

  • Committer: Package Import Robot
  • Author(s): Andy Whitcroft, Andy Whitcroft
  • Date: 2012-06-21 09:16:38 UTC
  • Revision ID: package-import@ubuntu.com-20120621091638-gubhv4nox8xez1ct
Tags: 3.5.0-1.1
[ Andy Whitcroft]

* Rebuild lowlatency against Ubuntu-3.5.0-1.1
* All new configuration system to allow configuration deltas to be
  exposed via debian.lowlatency/config-delta

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
 
8
8
#include "XGIfb.h"
9
9
#include "vb_struct.h"
 
10
#include "../../video/sis/sis.h"
10
11
#include "vb_def.h"
11
12
 
12
13
#define XGIFAIL(x) do { printk(x "\n"); return -EINVAL; } while (0)
13
14
 
14
 
#ifndef PCI_VENDOR_ID_XG
15
 
#define PCI_VENDOR_ID_XG          0x18CA
16
 
#endif
17
 
 
18
 
#ifndef PCI_DEVICE_ID_XG_40
19
 
#define PCI_DEVICE_ID_XG_40      0x040
20
 
#endif
21
 
#ifndef PCI_DEVICE_ID_XG_41
22
 
#define PCI_DEVICE_ID_XG_41      0x041
23
 
#endif
24
 
#ifndef PCI_DEVICE_ID_XG_42
25
 
#define PCI_DEVICE_ID_XG_42      0x042
26
 
#endif
27
 
#ifndef PCI_DEVICE_ID_XG_20
28
 
#define PCI_DEVICE_ID_XG_20      0x020
29
 
#endif
30
 
#ifndef PCI_DEVICE_ID_XG_27
31
 
#define PCI_DEVICE_ID_XG_27      0x027
 
15
#ifndef PCI_DEVICE_ID_XGI_42
 
16
#define PCI_DEVICE_ID_XGI_42      0x042
 
17
#endif
 
18
#ifndef PCI_DEVICE_ID_XGI_27
 
19
#define PCI_DEVICE_ID_XGI_27      0x027
32
20
#endif
33
21
 
34
22
static DEFINE_PCI_DEVICE_TABLE(xgifb_pci_table) = {
35
 
        {PCI_VENDOR_ID_XG, PCI_DEVICE_ID_XG_20, PCI_ANY_ID, PCI_ANY_ID,
36
 
         0, 0, 0},
37
 
        {PCI_VENDOR_ID_XG, PCI_DEVICE_ID_XG_27, PCI_ANY_ID, PCI_ANY_ID,
38
 
         0, 0, 1},
39
 
        {PCI_VENDOR_ID_XG, PCI_DEVICE_ID_XG_40, PCI_ANY_ID, PCI_ANY_ID,
40
 
         0, 0, 2},
41
 
        {PCI_VENDOR_ID_XG, PCI_DEVICE_ID_XG_42, PCI_ANY_ID, PCI_ANY_ID,
42
 
         0, 0, 3},
 
23
        {PCI_DEVICE(PCI_VENDOR_ID_XGI, PCI_DEVICE_ID_XGI_20)},
 
24
        {PCI_DEVICE(PCI_VENDOR_ID_XGI, PCI_DEVICE_ID_XGI_27)},
 
25
        {PCI_DEVICE(PCI_VENDOR_ID_XGI, PCI_DEVICE_ID_XGI_40)},
 
26
        {PCI_DEVICE(PCI_VENDOR_ID_XGI, PCI_DEVICE_ID_XGI_42)},
43
27
        {0}
44
28
};
45
29
 
46
30
MODULE_DEVICE_TABLE(pci, xgifb_pci_table);
47
31
 
48
32
/* To be included in fb.h */
49
 
#ifndef FB_ACCEL_XGI_XABRE
50
 
#define FB_ACCEL_XGI_XABRE      41      /* XGI 330 ("Xabre")            */
51
 
#endif
52
 
 
53
 
#define SEQ_DATA                  0x15
54
 
 
55
33
#define XGISR                     (xgifb_info->dev_info.P3c4)
56
34
#define XGICR                     (xgifb_info->dev_info.P3d4)
57
35
#define XGIDACA                   (xgifb_info->dev_info.P3c8)
64
42
#define XGIDAC2A                  XGIPART5
65
43
#define XGIDAC2D                  (XGIPART5 + 1)
66
44
 
67
 
#define IND_XGI_PASSWORD          0x05  /* SRs */
68
 
#define IND_XGI_RAMDAC_CONTROL    0x07
69
 
#define IND_XGI_DRAM_SIZE         0x14
70
 
#define IND_XGI_MODULE_ENABLE     0x1E
71
 
#define IND_XGI_PCI_ADDRESS_SET   0x20
72
 
 
73
45
#define IND_XGI_SCRATCH_REG_CR30  0x30  /* CRs */
74
46
#define IND_XGI_SCRATCH_REG_CR31  0x31
75
47
#define IND_XGI_SCRATCH_REG_CR32  0x32
77
49
#define IND_XGI_LCD_PANEL         0x36
78
50
#define IND_XGI_SCRATCH_REG_CR37  0x37
79
51
 
80
 
#define IND_XGI_CRT2_WRITE_ENABLE_315 0x2F
81
 
 
82
 
#define XGI_PASSWORD              0x86  /* SR05 */
83
 
 
84
52
#define XGI_DRAM_SIZE_MASK     0xF0  /*SR14 */
85
53
#define XGI_DRAM_SIZE_1MB      0x00
86
54
#define XGI_DRAM_SIZE_2MB      0x01
92
60
#define XGI_DRAM_SIZE_128MB    0x07
93
61
#define XGI_DRAM_SIZE_256MB    0x08
94
62
 
95
 
#define XGI_ENABLE_2D             0x40  /* SR1E */
96
 
 
97
 
#define XGI_MEM_MAP_IO_ENABLE     0x01  /* SR20 */
98
 
#define XGI_PCI_ADDR_ENABLE       0x80
99
 
 
100
 
#define XGI_SIMULTANEOUS_VIEW_ENABLE  0x01  /* CR30 */
101
 
#define XGI_VB_OUTPUT_COMPOSITE   0x04
102
 
#define XGI_VB_OUTPUT_SVIDEO      0x08
103
 
#define XGI_VB_OUTPUT_SCART       0x10
104
 
#define XGI_VB_OUTPUT_LCD         0x20
105
 
#define XGI_VB_OUTPUT_CRT2        0x40
106
 
#define XGI_VB_OUTPUT_HIVISION    0x80
107
 
 
108
 
#define XGI_VB_OUTPUT_DISABLE     0x20  /* CR31 */
109
 
#define XGI_DRIVER_MODE           0x40
110
 
 
111
 
#define XGI_VB_COMPOSITE          0x01  /* CR32 */
112
 
#define XGI_VB_SVIDEO             0x02
113
 
#define XGI_VB_SCART              0x04
114
 
#define XGI_VB_LCD                0x08
115
 
#define XGI_VB_CRT2               0x10
116
 
#define XGI_CRT1                  0x20
117
 
#define XGI_VB_HIVISION           0x40
118
 
#define XGI_VB_YPBPR              0x80
119
 
#define XGI_VB_TV                 (XGI_VB_COMPOSITE | XGI_VB_SVIDEO | \
120
 
                                   XGI_VB_SCART | XGI_VB_HIVISION|XGI_VB_YPBPR)
121
 
 
122
 
#define XGI_EXTERNAL_CHIP_MASK             0x0E  /* CR37 */
123
 
#define XGI310_EXTERNAL_CHIP_LVDS          0x02  /* in CR37 << 1 ! */
124
 
#define XGI310_EXTERNAL_CHIP_LVDS_CHRONTEL 0x03  /* in CR37 << 1 ! */
125
 
 
126
63
/* ------------------- Global Variables ----------------------------- */
127
64
 
128
65
/* display status */
129
66
static int XGIfb_crt1off;
130
67
static int XGIfb_forcecrt1 = -1;
131
 
static int XGIfb_userom ;
132
68
 
133
69
/* global flags */
134
70
static int XGIfb_tvmode;
143
79
/* TW: For ioctl XGIFB_GET_INFO */
144
80
/* XGIfb_info XGIfbinfo; */
145
81
 
146
 
#define MD_XGI300 1
147
 
#define MD_XGI315 2
 
82
#define MD_XGI315 1
148
83
 
149
84
/* mode table */
150
85
static const struct _XGIbios_mode {
151
 
        char name[15];
152
86
        u8 mode_no;
153
87
        u16 vesa_mode_no_1;  /* "XGI defined" VESA mode number */
154
88
        u16 vesa_mode_no_2;  /* Real VESA mode numbers */
155
89
        u16 xres;
156
90
        u16 yres;
157
91
        u16 bpp;
158
 
        u16 rate_idx;
159
 
        u16 cols;
160
 
        u16 rows;
161
92
        u8  chipset;
162
93
} XGIbios_mode[] = {
163
 
        {"320x240x16",   0x56, 0x0000, 0x0000,  320,  240, 16, 1,  40, 15,
164
 
         MD_XGI315},
165
 
        {"320x480x8",    0x5A, 0x0000, 0x0000,  320,  480,  8, 1,  40, 30,
166
 
         MD_XGI315},  /* TW: FSTN */
167
 
        {"320x480x16",   0x5B, 0x0000, 0x0000,  320,  480, 16, 1,  40, 30,
168
 
         MD_XGI315},  /* TW: FSTN */
169
 
        {"640x480x8",    0x2E, 0x0101, 0x0101,  640,  480,  8, 1,  80, 30,
170
 
         MD_XGI300|MD_XGI315},
171
 
        {"640x480x16",   0x44, 0x0111, 0x0111,  640,  480, 16, 1,  80, 30,
172
 
         MD_XGI300|MD_XGI315},
173
 
        {"640x480x24",   0x62, 0x013a, 0x0112,  640,  480, 32, 1,  80, 30,
174
 
         MD_XGI300|MD_XGI315},  /* TW: That's for people who mix up color-
175
 
                                        and fb depth */
176
 
        {"640x480x32",   0x62, 0x013a, 0x0112,  640,  480, 32, 1,  80, 30,
177
 
         MD_XGI300|MD_XGI315},
178
 
        {"720x480x8",    0x31, 0x0000, 0x0000,  720,  480,  8, 1,  90, 30,
179
 
         MD_XGI300|MD_XGI315},
180
 
        {"720x480x16",   0x33, 0x0000, 0x0000,  720,  480, 16, 1,  90, 30,
181
 
         MD_XGI300|MD_XGI315},
182
 
        {"720x480x24",   0x35, 0x0000, 0x0000,  720,  480, 32, 1,  90, 30,
183
 
         MD_XGI300|MD_XGI315},
184
 
        {"720x480x32",   0x35, 0x0000, 0x0000,  720,  480, 32, 1,  90, 30,
185
 
         MD_XGI300|MD_XGI315},
186
 
        {"720x576x8",    0x32, 0x0000, 0x0000,  720,  576,  8, 1,  90, 36,
187
 
         MD_XGI300|MD_XGI315},
188
 
        {"720x576x16",   0x34, 0x0000, 0x0000,  720,  576, 16, 1,  90, 36,
189
 
         MD_XGI300|MD_XGI315},
190
 
        {"720x576x24",   0x36, 0x0000, 0x0000,  720,  576, 32, 1,  90, 36,
191
 
         MD_XGI300|MD_XGI315},
192
 
        {"720x576x32",   0x36, 0x0000, 0x0000,  720,  576, 32, 1,  90, 36,
193
 
         MD_XGI300|MD_XGI315},
194
 
        {"800x480x8",    0x70, 0x0000, 0x0000,  800,  480,  8, 1, 100, 30,
195
 
         MD_XGI300|MD_XGI315},
196
 
        {"800x480x16",   0x7a, 0x0000, 0x0000,  800,  480, 16, 1, 100, 30,
197
 
         MD_XGI300|MD_XGI315},
198
 
        {"800x480x24",   0x76, 0x0000, 0x0000,  800,  480, 32, 1, 100, 30,
199
 
         MD_XGI300|MD_XGI315},
200
 
        {"800x480x32",   0x76, 0x0000, 0x0000,  800,  480, 32, 1, 100, 30,
201
 
         MD_XGI300|MD_XGI315},
202
 
        {"800x600x8",    0x30, 0x0103, 0x0103,  800,  600,  8, 1, 100, 37,
203
 
         MD_XGI300|MD_XGI315},
204
 
#define DEFAULT_MODE              20 /* index for 800x600x16 */
205
 
        {"800x600x16",   0x47, 0x0114, 0x0114,  800,  600, 16, 1, 100, 37,
206
 
         MD_XGI300|MD_XGI315},
207
 
        {"800x600x24",   0x63, 0x013b, 0x0115,  800,  600, 32, 1, 100, 37,
208
 
         MD_XGI300|MD_XGI315},
209
 
        {"800x600x32",   0x63, 0x013b, 0x0115,  800,  600, 32, 1, 100, 37,
210
 
         MD_XGI300|MD_XGI315},
211
 
        {"1024x576x8",   0x71, 0x0000, 0x0000, 1024,  576,  8, 1, 128, 36,
212
 
         MD_XGI300|MD_XGI315},
213
 
        {"1024x576x16",  0x74, 0x0000, 0x0000, 1024,  576, 16, 1, 128, 36,
214
 
         MD_XGI300|MD_XGI315},
215
 
        {"1024x576x24",  0x77, 0x0000, 0x0000, 1024,  576, 32, 1, 128, 36,
216
 
         MD_XGI300|MD_XGI315},
217
 
        {"1024x576x32",  0x77, 0x0000, 0x0000, 1024,  576, 32, 1, 128, 36,
218
 
         MD_XGI300|MD_XGI315},
219
 
        {"1024x600x8",   0x20, 0x0000, 0x0000, 1024,  600,  8, 1, 128, 37,
220
 
         MD_XGI300          },  /* TW: 300 series only */
221
 
        {"1024x600x16",  0x21, 0x0000, 0x0000, 1024,  600, 16, 1, 128, 37,
222
 
         MD_XGI300          },
223
 
        {"1024x600x24",  0x22, 0x0000, 0x0000, 1024,  600, 32, 1, 128, 37,
224
 
         MD_XGI300          },
225
 
        {"1024x600x32",  0x22, 0x0000, 0x0000, 1024,  600, 32, 1, 128, 37,
226
 
         MD_XGI300          },
227
 
        {"1024x768x8",   0x38, 0x0105, 0x0105, 1024,  768,  8, 1, 128, 48,
228
 
         MD_XGI300|MD_XGI315},
229
 
        {"1024x768x16",  0x4A, 0x0117, 0x0117, 1024,  768, 16, 1, 128, 48,
230
 
         MD_XGI300|MD_XGI315},
231
 
        {"1024x768x24",  0x64, 0x013c, 0x0118, 1024,  768, 32, 1, 128, 48,
232
 
         MD_XGI300|MD_XGI315},
233
 
        {"1024x768x32",  0x64, 0x013c, 0x0118, 1024,  768, 32, 1, 128, 48,
234
 
         MD_XGI300|MD_XGI315},
235
 
        {"1152x768x8",   0x23, 0x0000, 0x0000, 1152,  768,  8, 1, 144, 48,
236
 
         MD_XGI300          },  /* TW: 300 series only */
237
 
        {"1152x768x16",  0x24, 0x0000, 0x0000, 1152,  768, 16, 1, 144, 48,
238
 
         MD_XGI300          },
239
 
        {"1152x768x24",  0x25, 0x0000, 0x0000, 1152,  768, 32, 1, 144, 48,
240
 
         MD_XGI300          },
241
 
        {"1152x768x32",  0x25, 0x0000, 0x0000, 1152,  768, 32, 1, 144, 48,
242
 
         MD_XGI300          },
243
 
        {"1280x720x8",   0x79, 0x0000, 0x0000, 1280,  720,  8, 1, 160, 45,
244
 
         MD_XGI300|MD_XGI315},
245
 
        {"1280x720x16",  0x75, 0x0000, 0x0000, 1280,  720, 16, 1, 160, 45,
246
 
         MD_XGI300|MD_XGI315},
247
 
        {"1280x720x24",  0x78, 0x0000, 0x0000, 1280,  720, 32, 1, 160, 45,
248
 
         MD_XGI300|MD_XGI315},
249
 
        {"1280x720x32",  0x78, 0x0000, 0x0000, 1280,  720, 32, 1, 160, 45,
250
 
         MD_XGI300|MD_XGI315},
251
 
        {"1280x768x8",   0x23, 0x0000, 0x0000, 1280,  768,  8, 1, 160, 48,
252
 
         MD_XGI315},  /* TW: 310/325 series only */
253
 
        {"1280x768x16",  0x24, 0x0000, 0x0000, 1280,  768, 16, 1, 160, 48,
254
 
         MD_XGI315},
255
 
        {"1280x768x24",  0x25, 0x0000, 0x0000, 1280,  768, 32, 1, 160, 48,
256
 
         MD_XGI315},
257
 
        {"1280x768x32",  0x25, 0x0000, 0x0000, 1280,  768, 32, 1, 160, 48,
258
 
         MD_XGI315},
259
 
        {"1280x960x8",   0x7C, 0x0000, 0x0000, 1280,  960,  8, 1, 160, 60,
260
 
         MD_XGI300|MD_XGI315},
261
 
        {"1280x960x16",  0x7D, 0x0000, 0x0000, 1280,  960, 16, 1, 160, 60,
262
 
         MD_XGI300|MD_XGI315},
263
 
        {"1280x960x24",  0x7E, 0x0000, 0x0000, 1280,  960, 32, 1, 160, 60,
264
 
         MD_XGI300|MD_XGI315},
265
 
        {"1280x960x32",  0x7E, 0x0000, 0x0000, 1280,  960, 32, 1, 160, 60,
266
 
         MD_XGI300|MD_XGI315},
267
 
        {"1280x1024x8",  0x3A, 0x0107, 0x0107, 1280, 1024,  8, 1, 160, 64,
268
 
         MD_XGI300|MD_XGI315},
269
 
        {"1280x1024x16", 0x4D, 0x011a, 0x011a, 1280, 1024, 16, 1, 160, 64,
270
 
         MD_XGI300|MD_XGI315},
271
 
        {"1280x1024x24", 0x65, 0x013d, 0x011b, 1280, 1024, 32, 1, 160, 64,
272
 
         MD_XGI300|MD_XGI315},
273
 
        {"1280x1024x32", 0x65, 0x013d, 0x011b, 1280, 1024, 32, 1, 160, 64,
274
 
         MD_XGI300|MD_XGI315},
275
 
        {"1400x1050x8",  0x26, 0x0000, 0x0000, 1400, 1050,  8, 1, 175, 65,
276
 
         MD_XGI315},  /* TW: 310/325 series only */
277
 
        {"1400x1050x16", 0x27, 0x0000, 0x0000, 1400, 1050, 16, 1, 175, 65,
278
 
         MD_XGI315},
279
 
        {"1400x1050x24", 0x28, 0x0000, 0x0000, 1400, 1050, 32, 1, 175, 65,
280
 
         MD_XGI315},
281
 
        {"1400x1050x32", 0x28, 0x0000, 0x0000, 1400, 1050, 32, 1, 175, 65,
282
 
         MD_XGI315},
283
 
        {"1600x1200x8",  0x3C, 0x0130, 0x011c, 1600, 1200,  8, 1, 200, 75,
284
 
         MD_XGI300|MD_XGI315},
285
 
        {"1600x1200x16", 0x3D, 0x0131, 0x011e, 1600, 1200, 16, 1, 200, 75,
286
 
         MD_XGI300|MD_XGI315},
287
 
        {"1600x1200x24", 0x66, 0x013e, 0x011f, 1600, 1200, 32, 1, 200, 75,
288
 
         MD_XGI300|MD_XGI315},
289
 
        {"1600x1200x32", 0x66, 0x013e, 0x011f, 1600, 1200, 32, 1, 200, 75,
290
 
         MD_XGI300|MD_XGI315},
291
 
        {"1920x1440x8",  0x68, 0x013f, 0x0000, 1920, 1440,  8, 1, 240, 75,
292
 
         MD_XGI300|MD_XGI315},
293
 
        {"1920x1440x16", 0x69, 0x0140, 0x0000, 1920, 1440, 16, 1, 240, 75,
294
 
         MD_XGI300|MD_XGI315},
295
 
        {"1920x1440x24", 0x6B, 0x0141, 0x0000, 1920, 1440, 32, 1, 240, 75,
296
 
         MD_XGI300|MD_XGI315},
297
 
        {"1920x1440x32", 0x6B, 0x0141, 0x0000, 1920, 1440, 32, 1, 240, 75,
298
 
         MD_XGI300|MD_XGI315},
299
 
        {"2048x1536x8",  0x6c, 0x0000, 0x0000, 2048, 1536,  8, 1, 256, 96,
300
 
         MD_XGI315},  /* TW: 310/325 series only */
301
 
        {"2048x1536x16", 0x6d, 0x0000, 0x0000, 2048, 1536, 16, 1, 256, 96,
302
 
         MD_XGI315},
303
 
        {"2048x1536x24", 0x6e, 0x0000, 0x0000, 2048, 1536, 32, 1, 256, 96,
304
 
         MD_XGI315},
305
 
        {"2048x1536x32", 0x6e, 0x0000, 0x0000, 2048, 1536, 32, 1, 256, 96,
306
 
         MD_XGI315},
307
 
        {"\0", 0x00, 0, 0, 0, 0, 0, 0, 0}
 
94
        { 0x56, 0x0000, 0x0000,  320,  240, 16, MD_XGI315 },
 
95
        { 0x5A, 0x0000, 0x0000,  320,  480,  8, MD_XGI315 },
 
96
        { 0x5B, 0x0000, 0x0000,  320,  480, 16, MD_XGI315 },
 
97
        { 0x2E, 0x0101, 0x0101,  640,  480,  8, MD_XGI315 },
 
98
        { 0x44, 0x0111, 0x0111,  640,  480, 16, MD_XGI315 },
 
99
        { 0x62, 0x013a, 0x0112,  640,  480, 32, MD_XGI315 },
 
100
        { 0x31, 0x0000, 0x0000,  720,  480,  8, MD_XGI315 },
 
101
        { 0x33, 0x0000, 0x0000,  720,  480, 16, MD_XGI315 },
 
102
        { 0x35, 0x0000, 0x0000,  720,  480, 32, MD_XGI315 },
 
103
        { 0x32, 0x0000, 0x0000,  720,  576,  8, MD_XGI315 },
 
104
        { 0x34, 0x0000, 0x0000,  720,  576, 16, MD_XGI315 },
 
105
        { 0x36, 0x0000, 0x0000,  720,  576, 32, MD_XGI315 },
 
106
        { 0x36, 0x0000, 0x0000,  720,  576, 32, MD_XGI315 },
 
107
        { 0x70, 0x0000, 0x0000,  800,  480,  8, MD_XGI315 },
 
108
        { 0x7a, 0x0000, 0x0000,  800,  480, 16, MD_XGI315 },
 
109
        { 0x76, 0x0000, 0x0000,  800,  480, 32, MD_XGI315 },
 
110
        { 0x30, 0x0103, 0x0103,  800,  600,  8, MD_XGI315 },
 
111
#define DEFAULT_MODE              17 /* index for 800x600x16 */
 
112
        { 0x47, 0x0114, 0x0114,  800,  600, 16, MD_XGI315 },
 
113
        { 0x63, 0x013b, 0x0115,  800,  600, 32, MD_XGI315 },
 
114
        { 0x71, 0x0000, 0x0000, 1024,  576,  8, MD_XGI315 },
 
115
        { 0x74, 0x0000, 0x0000, 1024,  576, 16, MD_XGI315 },
 
116
        { 0x77, 0x0000, 0x0000, 1024,  576, 32, MD_XGI315 },
 
117
        { 0x77, 0x0000, 0x0000, 1024,  576, 32, MD_XGI315 },
 
118
        { 0x20, 0x0000, 0x0000, 1024,  600,  8, },
 
119
        { 0x21, 0x0000, 0x0000, 1024,  600, 16, },
 
120
        { 0x22, 0x0000, 0x0000, 1024,  600, 32, },
 
121
        { 0x38, 0x0105, 0x0105, 1024,  768,  8, MD_XGI315 },
 
122
        { 0x4A, 0x0117, 0x0117, 1024,  768, 16, MD_XGI315 },
 
123
        { 0x64, 0x013c, 0x0118, 1024,  768, 32, MD_XGI315 },
 
124
        { 0x64, 0x013c, 0x0118, 1024,  768, 32, MD_XGI315 },
 
125
        { 0x23, 0x0000, 0x0000, 1152,  768,  8, },
 
126
        { 0x24, 0x0000, 0x0000, 1152,  768, 16, },
 
127
        { 0x25, 0x0000, 0x0000, 1152,  768, 32, },
 
128
        { 0x79, 0x0000, 0x0000, 1280,  720,  8, MD_XGI315 },
 
129
        { 0x75, 0x0000, 0x0000, 1280,  720, 16, MD_XGI315 },
 
130
        { 0x78, 0x0000, 0x0000, 1280,  720, 32, MD_XGI315 },
 
131
        { 0x23, 0x0000, 0x0000, 1280,  768,  8, MD_XGI315 },
 
132
        { 0x24, 0x0000, 0x0000, 1280,  768, 16, MD_XGI315 },
 
133
        { 0x25, 0x0000, 0x0000, 1280,  768, 32, MD_XGI315 },
 
134
        { 0x7C, 0x0000, 0x0000, 1280,  960,  8, MD_XGI315 },
 
135
        { 0x7D, 0x0000, 0x0000, 1280,  960, 16, MD_XGI315 },
 
136
        { 0x7E, 0x0000, 0x0000, 1280,  960, 32, MD_XGI315 },
 
137
        { 0x3A, 0x0107, 0x0107, 1280, 1024,  8, MD_XGI315 },
 
138
        { 0x4D, 0x011a, 0x011a, 1280, 1024, 16, MD_XGI315 },
 
139
        { 0x65, 0x013d, 0x011b, 1280, 1024, 32, MD_XGI315 },
 
140
        { 0x26, 0x0000, 0x0000, 1400, 1050,  8, MD_XGI315 },
 
141
        { 0x27, 0x0000, 0x0000, 1400, 1050, 16, MD_XGI315 },
 
142
        { 0x28, 0x0000, 0x0000, 1400, 1050, 32, MD_XGI315 },
 
143
        { 0x3C, 0x0130, 0x011c, 1600, 1200,  8, MD_XGI315 },
 
144
        { 0x3D, 0x0131, 0x011e, 1600, 1200, 16, MD_XGI315 },
 
145
        { 0x66, 0x013e, 0x011f, 1600, 1200, 32, MD_XGI315 },
 
146
        { 0x68, 0x013f, 0x0000, 1920, 1440,  8, MD_XGI315 },
 
147
        { 0x69, 0x0140, 0x0000, 1920, 1440, 16, MD_XGI315 },
 
148
        { 0x6B, 0x0141, 0x0000, 1920, 1440, 32, MD_XGI315 },
 
149
        { 0x6c, 0x0000, 0x0000, 2048, 1536,  8, MD_XGI315 },
 
150
        { 0x6d, 0x0000, 0x0000, 2048, 1536, 16, MD_XGI315 },
 
151
        { 0x6e, 0x0000, 0x0000, 2048, 1536, 32, MD_XGI315 },
 
152
        { 0 },
308
153
};
309
154
 
310
 
/* TW: CR36 evaluation */
311
 
static const unsigned short XGI300paneltype[] = {
312
 
         LCD_UNKNOWN,  LCD_800x600, LCD_1024x768, LCD_1280x1024,
313
 
        LCD_1280x960,  LCD_640x480, LCD_1024x600, LCD_1152x768,
314
 
        LCD_1024x768, LCD_1024x768, LCD_1024x768,
315
 
        LCD_1024x768, LCD_1024x768, LCD_1024x768, LCD_1024x768};
316
 
 
317
155
static const unsigned short XGI310paneltype[] = {
318
156
         LCD_UNKNOWN,   LCD_800x600, LCD_1024x768, LCD_1280x1024,
319
157
         LCD_640x480,  LCD_1024x600, LCD_1152x864, LCD_1280x960,