1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 #ifndef _SISUSB_STRUCT_H_
53 #define _SISUSB_STRUCT_H_
54
55 struct SiS_St {
56 unsigned char St_ModeID;
57 unsigned short St_ModeFlag;
58 unsigned char St_StTableIndex;
59 unsigned char St_CRT2CRTC;
60 unsigned char St_ResInfo;
61 unsigned char VB_StTVFlickerIndex;
62 unsigned char VB_StTVEdgeIndex;
63 unsigned char VB_StTVYFilterIndex;
64 unsigned char St_PDC;
65 };
66
67 struct SiS_StandTable {
68 unsigned char CRT_COLS;
69 unsigned char ROWS;
70 unsigned char CHAR_HEIGHT;
71 unsigned short CRT_LEN;
72 unsigned char SR[4];
73 unsigned char MISC;
74 unsigned char CRTC[0x19];
75 unsigned char ATTR[0x14];
76 unsigned char GRC[9];
77 };
78
79 struct SiS_StResInfo_S {
80 unsigned short HTotal;
81 unsigned short VTotal;
82 };
83
84 struct SiS_Ext {
85 unsigned char Ext_ModeID;
86 unsigned short Ext_ModeFlag;
87 unsigned short Ext_VESAID;
88 unsigned char Ext_RESINFO;
89 unsigned char VB_ExtTVFlickerIndex;
90 unsigned char VB_ExtTVEdgeIndex;
91 unsigned char VB_ExtTVYFilterIndex;
92 unsigned char VB_ExtTVYFilterIndexROM661;
93 unsigned char REFindex;
94 char ROMMODEIDX661;
95 };
96
97 struct SiS_Ext2 {
98 unsigned short Ext_InfoFlag;
99 unsigned char Ext_CRT1CRTC;
100 unsigned char Ext_CRTVCLK;
101 unsigned char Ext_CRT2CRTC;
102 unsigned char Ext_CRT2CRTC_NS;
103 unsigned char ModeID;
104 unsigned short XRes;
105 unsigned short YRes;
106 unsigned char Ext_PDC;
107 unsigned char Ext_FakeCRT2CRTC;
108 unsigned char Ext_FakeCRT2Clk;
109 };
110
111 struct SiS_CRT1Table {
112 unsigned char CR[17];
113 };
114
115 struct SiS_VCLKData {
116 unsigned char SR2B, SR2C;
117 unsigned short CLOCK;
118 };
119
120 struct SiS_ModeResInfo {
121 unsigned short HTotal;
122 unsigned short VTotal;
123 unsigned char XChar;
124 unsigned char YChar;
125 };
126
127 struct SiS_Private {
128 void *sisusb;
129
130 unsigned long IOAddress;
131
132 unsigned long SiS_P3c4;
133 unsigned long SiS_P3d4;
134 unsigned long SiS_P3c0;
135 unsigned long SiS_P3ce;
136 unsigned long SiS_P3c2;
137 unsigned long SiS_P3ca;
138 unsigned long SiS_P3c6;
139 unsigned long SiS_P3c7;
140 unsigned long SiS_P3c8;
141 unsigned long SiS_P3c9;
142 unsigned long SiS_P3cb;
143 unsigned long SiS_P3cc;
144 unsigned long SiS_P3cd;
145 unsigned long SiS_P3da;
146 unsigned long SiS_Part1Port;
147
148 unsigned char SiS_MyCR63;
149 unsigned short SiS_CRT1Mode;
150 unsigned short SiS_ModeType;
151 unsigned short SiS_SetFlag;
152
153 const struct SiS_StandTable *SiS_StandTable;
154 const struct SiS_St *SiS_SModeIDTable;
155 const struct SiS_Ext *SiS_EModeIDTable;
156 const struct SiS_Ext2 *SiS_RefIndex;
157 const struct SiS_CRT1Table *SiS_CRT1Table;
158 const struct SiS_VCLKData *SiS_VCLKData;
159 const struct SiS_ModeResInfo *SiS_ModeResInfo;
160 };
161
162 #endif