63 #include <linux/types.h>
69 static const unsigned char SiS_YPbPrTable[3][64] = {
71 0x17,0x1d,0x03,0x09,0x05,0x06,0x0c,0x0c,
72 0x94,0x49,0x01,0x0a,0x06,0x0d,0x04,0x0a,
73 0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x1b,
74 0x0c,0x50,0x00,0x97,0x00,0xda,0x4a,0x17,
75 0x7d,0x05,0x4b,0x00,0x00,0xe2,0x00,0x02,
76 0x03,0x0a,0x65,0x9d ,0x08,0x92,0x8f,0x40,
77 0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x53 ,
78 0x00,0x40,0x44,0x00,0xdb,0x02,0x3b,0x00
81 0x33,0x06,0x06,0x09,0x0b,0x0c,0x0c,0x0c,
82 0x98,0x0a,0x01,0x0d,0x06,0x0d,0x04,0x0a,
83 0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x3f,
84 0x0c,0x50,0xb2,0x9f,0x16,0x59,0x4f,0x13,
85 0xad,0x11,0xad,0x1d,0x40,0x8a,0x3d,0xb8,
86 0x51,0x5e,0x60,0x49,0x7d,0x92,0x0f,0x40,
87 0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x4e,
88 0x43,0x41,0x11,0x00,0xfc,0xff,0x32,0x00
92 0x13,0x1d,0xe8,0x09,0x09,0xed,0x0c,0x0c,
93 0x98,0x0a,0x01,0x0c,0x06,0x0d,0x04,0x0a,
94 0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x3f,
95 0xed,0x50,0x70,0x9f,0x16,0x59,0x21 ,0x13,
96 0x27,0x0b,0x27,0xfc,0x30,0x27,0x1c,0xb0,
97 0x4b,0x4b,0x65 ,0x2f,0x63,0x92,0x0f,0x40,
98 0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x27,
99 0x00,0x40,0x11,0x00,0xfc,0xff,0x32,0x00
102 0x23,0x2d,0xe8,0x09,0x09,0xed,0x0c,0x0c,
103 0x98,0x0a,0x01,0x0c,0x06,0x0d,0x04,0x0a,
104 0x06,0x14,0x0d,0x04,0x0a,0x00,0x85,0x3f,
105 0xed,0x50,0x70,0x9f,0x16,0x59,0x60,0x13,
106 0x27,0x0b,0x27,0xfc,0x30,0x27,0x1c,0xb0,
107 0x4b,0x4b,0x6f,0x2f,0x63,0x92,0x0f,0x40,
108 0x60,0x80,0x14,0x90,0x8c,0x60,0x14,0x73,
109 0x00,0x40,0x11,0x00,0xfc,0xff,0x32,0x00
114 static const unsigned char SiS_TVPhase[] =
136 static const unsigned char SiS_HiTVGroup3_1[] = {
137 0x00, 0x14, 0x15, 0x25, 0x55, 0x15, 0x0b, 0x13,
138 0xb1, 0x41, 0x62, 0x62, 0xff, 0xf4, 0x45, 0xa6,
139 0x25, 0x2f, 0x67, 0xf6, 0xbf, 0xff, 0x8e, 0x20,
140 0xac, 0xda, 0x60, 0xfe, 0x6a, 0x9a, 0x06, 0x10,
141 0xd1, 0x04, 0x18, 0x0a, 0xff, 0x80, 0x00, 0x80,
142 0x3b, 0x77, 0x00, 0xef, 0xe0, 0x10, 0xb0, 0xe0,
143 0x10, 0x4f, 0x0f, 0x0f, 0x05, 0x0f, 0x08, 0x6e,
144 0x1a, 0x1f, 0x25, 0x2a, 0x4c, 0xaa, 0x01
147 static const unsigned char SiS_HiTVGroup3_2[] = {
148 0x00, 0x14, 0x15, 0x25, 0x55, 0x15, 0x0b, 0x7a,
149 0x54, 0x41, 0xe7, 0xe7, 0xff, 0xf4, 0x45, 0xa6,
150 0x25, 0x2f, 0x67, 0xf6, 0xbf, 0xff, 0x8e, 0x20,
151 0xac, 0x6a, 0x60, 0x2b, 0x52, 0xcd, 0x61, 0x10,
152 0x51, 0x04, 0x18, 0x0a, 0x1f, 0x80, 0x00, 0x80,
153 0xff, 0xa4, 0x04, 0x2b, 0x94, 0x21, 0x72, 0x94,
154 0x26, 0x05, 0x01, 0x0f, 0xed, 0x0f, 0x0a, 0x64,
155 0x18, 0x1d, 0x23, 0x28, 0x4c, 0xaa, 0x01
160 static const unsigned char SiS_Part2CLVX_1[] = {
162 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E,
163 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C,
164 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C,
165 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E
168 static const unsigned char SiS_Part2CLVX_2[] = {
170 0x00,0x20,0x00,0x00,0x7F,0x20,0x02,0x7F,0x7D,0x20,0x04,0x7F,0x7D,0x1F,0x06,0x7E,
171 0x7C,0x1D,0x09,0x7E,0x7C,0x1B,0x0B,0x7E,0x7C,0x19,0x0E,0x7D,0x7C,0x17,0x11,0x7C,
172 0x7C,0x14,0x14,0x7C,0x7C,0x11,0x17,0x7C,0x7D,0x0E,0x19,0x7C,0x7E,0x0B,0x1B,0x7C,
173 0x7E,0x09,0x1D,0x7C,0x7F,0x06,0x1F,0x7C,0x7F,0x04,0x20,0x7D,0x00,0x02,0x20,0x7E
176 static const unsigned char SiS_Part2CLVX_3[] = {
178 0x04,0x1A,0x04,0x7E,0x03,0x1A,0x06,0x7D,0x01,0x1A,0x08,0x7D,0x00,0x19,0x0A,0x7D,
179 0x7F,0x19,0x0C,0x7C,0x7E,0x18,0x0E,0x7C,0x7E,0x17,0x10,0x7B,0x7D,0x15,0x12,0x7C,
180 0x7D,0x13,0x13,0x7D,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0E,0x18,0x7E,
181 0x7D,0x0C,0x19,0x7E,0x7D,0x0A,0x19,0x00,0x7D,0x08,0x1A,0x01,0x7E,0x06,0x1A,0x02,
183 0x07,0x14,0x07,0x7E,0x06,0x14,0x09,0x7D,0x05,0x14,0x0A,0x7D,0x04,0x13,0x0B,0x7E,
184 0x03,0x13,0x0C,0x7E,0x02,0x12,0x0D,0x7F,0x01,0x12,0x0E,0x7F,0x01,0x11,0x0F,0x7F,
185 0x00,0x10,0x10,0x00,0x7F,0x0F,0x11,0x01,0x7F,0x0E,0x12,0x01,0x7E,0x0D,0x12,0x03,
186 0x7E,0x0C,0x13,0x03,0x7E,0x0B,0x13,0x04,0x7E,0x0A,0x14,0x04,0x7D,0x09,0x14,0x06,
188 0x09,0x0F,0x09,0x7F,0x08,0x0F,0x09,0x00,0x07,0x0F,0x0A,0x00,0x06,0x0F,0x0A,0x01,
189 0x06,0x0E,0x0B,0x01,0x05,0x0E,0x0B,0x02,0x04,0x0E,0x0C,0x02,0x04,0x0D,0x0C,0x03,
190 0x03,0x0D,0x0D,0x03,0x02,0x0C,0x0D,0x05,0x02,0x0C,0x0E,0x04,0x01,0x0B,0x0E,0x06,
191 0x01,0x0B,0x0E,0x06,0x00,0x0A,0x0F,0x07,0x00,0x0A,0x0F,0x07,0x00,0x09,0x0F,0x08,
195 static const unsigned char SiS_Part2CLVX_4[] = {
197 0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E,0x02,0x19,0x08,0x7D,0x01,0x18,0x0A,0x7D,
198 0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C,0x7E,0x16,0x0F,0x7D,0x7E,0x14,0x11,0x7D,
199 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x16,0x7E,0x7D,0x0E,0x17,0x7E,
200 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x18,0x01,0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04,
202 0x08,0x12,0x08,0x7E,0x07,0x12,0x09,0x7E,0x06,0x12,0x0A,0x7E,0x05,0x11,0x0B,0x7F,
203 0x04,0x11,0x0C,0x7F,0x03,0x11,0x0C,0x00,0x03,0x10,0x0D,0x00,0x02,0x0F,0x0E,0x01,
204 0x01,0x0F,0x0F,0x01,0x01,0x0E,0x0F,0x02,0x00,0x0D,0x10,0x03,0x7F,0x0C,0x11,0x04,
205 0x7F,0x0C,0x11,0x04,0x7F,0x0B,0x11,0x05,0x7E,0x0A,0x12,0x06,0x7E,0x09,0x12,0x07,
207 0x04,0x1A,0x04,0x7E,0x02,0x1B,0x05,0x7E,0x01,0x1A,0x07,0x7E,0x00,0x1A,0x09,0x7D,
208 0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0D,0x7D,0x7D,0x17,0x10,0x7C,0x7D,0x15,0x12,0x7C,
209 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x18,0x7F,
210 0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00,0x7D,0x07,0x1A,0x02,0x7E,0x05,0x1B,0x02,
214 static const unsigned char SiS_Part2CLVX_5[] = {
216 0x05,0x19,0x05,0x7D,0x03,0x19,0x06,0x7E,0x02,0x19,0x08,0x7D,0x01,0x18,0x0A,0x7D,
217 0x00,0x18,0x0C,0x7C,0x7F,0x17,0x0E,0x7C,0x7E,0x16,0x0F,0x7D,0x7E,0x14,0x11,0x7D,
218 0x7D,0x13,0x13,0x7D,0x7D,0x11,0x14,0x7E,0x7D,0x0F,0x16,0x7E,0x7D,0x0E,0x17,0x7E,
219 0x7D,0x0C,0x18,0x7F,0x7D,0x0A,0x18,0x01,0x7D,0x08,0x19,0x02,0x7D,0x06,0x19,0x04,
223 static const unsigned char SiS_Part2CLVX_6[] = {
225 0x04,0x1A,0x04,0x7E,0x02,0x1B,0x05,0x7E,0x01,0x1A,0x07,0x7E,0x00,0x1A,0x09,0x7D,
226 0x7F,0x19,0x0B,0x7D,0x7E,0x18,0x0D,0x7D,0x7D,0x17,0x10,0x7C,0x7D,0x15,0x12,0x7C,
227 0x7C,0x14,0x14,0x7C,0x7C,0x12,0x15,0x7D,0x7C,0x10,0x17,0x7D,0x7C,0x0D,0x18,0x7F,
228 0x7D,0x0B,0x19,0x7F,0x7D,0x09,0x1A,0x00,0x7D,0x07,0x1A,0x02,0x7E,0x05,0x1B,0x02,
232 #ifdef CONFIG_FB_SIS_315
234 static const unsigned char SiS_LCDStruct661[] = {
237 0x02,0xC0,0x00,0x04,0x00,0x03,0x40,0x05,0x26,0x03,0x10,0x00,0x88,
238 0x00,0x02,0x00,0x06,0x00,0x41,0x5A,0x64,0x00,0x00,0x00,0x00,0x04,
242 0x03,0xC0,0x00,0x05,0x00,0x04,0x98,0x06,0x2A,0x04,0x30,0x00,0x70,
243 0x00,0x01,0x00,0x03,0x00,0x6C,0xF8,0x2F,0x00,0x00,0x00,0x00,0x08,
245 0x09,0x20,0x78,0x05,0x1A,0x04,0x98,0x06,0x2A,0x04,0x18,0x00,0x38,
246 0x00,0x01,0x00,0x03,0x00,0x6C,0xF8,0x2F,0x00,0x00,0x00,0x00,0x09,
248 0x0B,0xE0,0x40,0x06,0xB0,0x04,0x70,0x08,0xE2,0x04,0x40,0x00,0xC0,
249 0x00,0x01,0x00,0x03,0x00,0xA2,0x70,0x24,0x00,0x00,0x00,0x00,0x0A,
251 0x0A,0xE0,0x00,0x05,0x00,0x03,0x7C,0x06,0x26,0x03,0x30,0x00,0x70,
252 0x00,0x03,0x00,0x06,0x00,0x4D,0xC8,0x48,0x00,0x00,0x00,0x00,0x06,
254 0x0E,0xE0,0x00,0x05,0xD0,0x02,0x80,0x05,0x26,0x03,0x10,0x00,0x20,
255 0x00,0x01,0x00,0x06,0x00,0x45,0x9C,0x62,0x00,0x00,0x00,0x00,0x05,
257 0x0C,0xE0,0x00,0x05,0x20,0x03,0x10,0x06,0x2C,0x03,0x30,0x00,0x70,
258 0x00,0x04,0x00,0x03,0x00,0x49,0xCE,0x1E,0x00,0x00,0x00,0x00,0x09,
260 0x0D,0xE0,0x90,0x06,0x1A,0x04,0x6C,0x07,0x2A,0x04,0x1A,0x00,0x4C,
261 0x00,0x03,0x00,0x06,0x00,0x79,0xBE,0x44,0x00,0x00,0x00,0x00,0x06,
263 0x0C,0xE0,0x00,0x05,0x20,0x03,0xAA,0x05,0x2E,0x03,0x30,0x00,0x50,
264 0x00,0x04,0x00,0x03,0x00,0x47,0xA9,0x10,0x00,0x00,0x00,0x00,0x07,
266 0x01,0xC0,0x20,0x03,0x58,0x02,0x20,0x04,0x74,0x02,0x2A,0x00,0x80,
267 0x00,0x06,0x00,0x04,0x00,0x28,0x63,0x4B,0x00,0x00,0x00,0x00,0x00,
269 0x08,0xE0,0x00,0x05,0x56,0x03,0x80,0x06,0x5d,0x03,0x10,0x00,0x70,
270 0x00,0x01,0x00,0x03,0x00,0x54,0x75,0x13,0x00,0x00,0x00,0x00,0x08
274 #ifdef CONFIG_FB_SIS_300
275 static unsigned char SiS300_TrumpionData[14][80] = {
276 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x0D,0x00,0x0D,0x10,0x7F,0x00,0x80,0x02,
277 0x20,0x03,0x0B,0x00,0x90,0x01,0xC1,0x01,0x60,0x0C,0x30,0x10,0x00,0x00,0x04,0x23,
278 0x00,0x00,0x03,0x28,0x03,0x10,0x05,0x08,0x40,0x10,0x00,0x10,0x04,0x23,0x00,0x23,
279 0x03,0x11,0x60,0xBC,0x01,0xFF,0x03,0xFF,0x19,0x01,0x00,0x05,0x09,0x04,0x04,0x05,
280 0x04,0x0C,0x09,0x05,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x5A,0x01,0xBE,0x01,0x00 },
281 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x0D,0x00,0x0D,0x10,0x27,0x00,0x80,0x02,
282 0x20,0x03,0x07,0x00,0x5E,0x01,0x0D,0x02,0x60,0x0C,0x30,0x11,0x00,0x00,0x04,0x23,
283 0x00,0x00,0x03,0x80,0x03,0x28,0x06,0x08,0x40,0x11,0x00,0x11,0x04,0x23,0x00,0x23,
284 0x03,0x11,0x60,0x90,0x01,0xFF,0x0F,0xF4,0x19,0x01,0x00,0x05,0x01,0x00,0x04,0x05,
285 0x04,0x0C,0x02,0x01,0x02,0xB0,0x00,0x00,0x02,0xBA,0xEC,0x57,0x01,0xBE,0x01,0x00 },
286 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x0D,0x00,0x0D,0x10,0x8A,0x00,0xD8,0x02,
287 0x84,0x03,0x16,0x00,0x90,0x01,0xC1,0x01,0x60,0x0C,0x30,0x1C,0x00,0x20,0x04,0x23,
288 0x00,0x01,0x03,0x53,0x03,0x28,0x06,0x08,0x40,0x1C,0x00,0x16,0x04,0x23,0x00,0x23,
289 0x03,0x11,0x60,0xD9,0x01,0xFF,0x0F,0xF4,0x18,0x07,0x05,0x05,0x13,0x04,0x04,0x05,
290 0x01,0x0B,0x13,0x0A,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x59,0x01,0xBE,0x01,0x00 },
291 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x0D,0x00,0x0D,0x10,0x72,0x00,0xD8,0x02,
292 0x84,0x03,0x16,0x00,0x90,0x01,0xC1,0x01,0x60,0x0C,0x30,0x1C,0x00,0x20,0x04,0x23,
293 0x00,0x01,0x03,0x53,0x03,0x28,0x06,0x08,0x40,0x1C,0x00,0x16,0x04,0x23,0x00,0x23,
294 0x03,0x11,0x60,0xDA,0x01,0xFF,0x0F,0xF4,0x18,0x07,0x05,0x05,0x13,0x04,0x04,0x05,
295 0x01,0x0B,0x13,0x0A,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x55,0x01,0xBE,0x01,0x00 },
296 { 0x02,0x0A,0x02,0x00,0x04,0x01,0x00,0x03,0x0D,0x00,0x0D,0x10,0x7F,0x00,0x80,0x02,
297 0x20,0x03,0x16,0x00,0xE0,0x01,0x0D,0x02,0x60,0x0C,0x30,0x98,0x00,0x00,0x04,0x23,
298 0x00,0x01,0x03,0x45,0x03,0x48,0x06,0x08,0x40,0x98,0x00,0x98,0x04,0x23,0x00,0x23,
299 0x03,0x11,0x60,0xF4,0x01,0xFF,0x0F,0xF4,0x18,0x01,0x00,0x05,0x01,0x00,0x05,0x05,
300 0x04,0x0C,0x08,0x05,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x5B,0x01,0xBE,0x01,0x00 },
301 { 0x02,0x0A,0x02,0x01,0x04,0x01,0x00,0x03,0x0D,0x00,0x0D,0x10,0xBF,0x00,0x20,0x03,
302 0x20,0x04,0x0D,0x00,0x58,0x02,0x71,0x02,0x80,0x0C,0x30,0x9A,0x00,0xFA,0x03,0x1D,
303 0x00,0x01,0x03,0x22,0x03,0x28,0x06,0x08,0x40,0x98,0x00,0x98,0x04,0x1D,0x00,0x1D,
304 0x03,0x11,0x60,0x39,0x03,0x40,0x05,0xF4,0x18,0x07,0x02,0x06,0x04,0x01,0x06,0x0B,
305 0x02,0x0A,0x20,0x19,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x5B,0x01,0xBE,0x01,0x00 },
306 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x0D,0x00,0x0D,0x10,0xEF,0x00,0x00,0x04,
307 0x40,0x05,0x13,0x00,0x00,0x03,0x26,0x03,0x88,0x0C,0x30,0x90,0x00,0x00,0x04,0x23,
308 0x00,0x01,0x03,0x24,0x03,0x28,0x06,0x08,0x40,0x90,0x00,0x90,0x04,0x23,0x00,0x23,
309 0x03,0x11,0x60,0x40,0x05,0xFF,0x0F,0xF4,0x18,0x01,0x00,0x08,0x01,0x00,0x08,0x01,
310 0x00,0x08,0x01,0x01,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x5B,0x01,0xBE,0x01,0x00 },
312 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x11,0x00,0x0D,0x10,0x7F,0x00,0x80,0x02,
313 0x20,0x03,0x15,0x00,0x90,0x01,0xC1,0x01,0x60,0x0C,0x30,0x18,0x00,0x00,0x04,0x23,
314 0x00,0x01,0x03,0x44,0x03,0x28,0x06,0x08,0x40,0x18,0x00,0x18,0x04,0x23,0x00,0x23,
315 0x03,0x11,0x60,0xA6,0x01,0xFF,0x03,0xFF,0x19,0x01,0x00,0x05,0x13,0x04,0x04,0x05,
316 0x04,0x0C,0x13,0x0A,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x55,0x01,0xBE,0x01,0x00 },
317 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x11,0x00,0x0D,0x10,0x7F,0x00,0x80,0x02,
318 0x20,0x03,0x15,0x00,0x90,0x01,0xC1,0x01,0x60,0x0C,0x30,0x18,0x00,0x00,0x04,0x23,
319 0x00,0x01,0x03,0x44,0x03,0x28,0x06,0x08,0x40,0x18,0x00,0x18,0x04,0x23,0x00,0x23,
320 0x03,0x11,0x60,0xA6,0x01,0xFF,0x03,0xFF,0x19,0x01,0x00,0x05,0x13,0x04,0x04,0x05,
321 0x04,0x0C,0x13,0x0A,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x55,0x01,0xBE,0x01,0x00 },
322 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x11,0x00,0x0D,0x10,0x8A,0x00,0xD8,0x02,
323 0x84,0x03,0x16,0x00,0x90,0x01,0xC1,0x01,0x60,0x0C,0x30,0x1C,0x00,0x20,0x04,0x23,
324 0x00,0x01,0x03,0x53,0x03,0x28,0x06,0x08,0x40,0x1C,0x00,0x16,0x04,0x23,0x00,0x23,
325 0x03,0x11,0x60,0xDA,0x01,0xFF,0x0F,0xF4,0x18,0x07,0x05,0x05,0x13,0x04,0x04,0x05,
326 0x01,0x0B,0x13,0x0A,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x55,0x01,0xBE,0x01,0x00 },
327 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x11,0x00,0x0D,0x10,0x72,0x00,0xD8,0x02,
328 0x84,0x03,0x16,0x00,0x90,0x01,0xC1,0x01,0x60,0x0C,0x30,0x1C,0x00,0x20,0x04,0x23,
329 0x00,0x01,0x03,0x53,0x03,0x28,0x06,0x08,0x40,0x1C,0x00,0x16,0x04,0x23,0x00,0x23,
330 0x03,0x11,0x60,0xDA,0x01,0xFF,0x0F,0xF4,0x18,0x07,0x05,0x05,0x13,0x04,0x04,0x05,
331 0x01,0x0B,0x13,0x0A,0x02,0xB0,0x00,0x00,0x02,0xBA,0xF0,0x55,0x01,0xBE,0x01,0x00 },
332 { 0x02,0x0A,0x02,0x00,0x04,0x01,0x00,0x03,0x11,0x00,0x0D,0x10,0x7F,0x00,0x80,0x02,
333 0x20,0x03,0x16,0x00,0xE0,0x01,0x0D,0x02,0x60,0x0C,0x30,0x98,0x00,0x00,0x04,0x23,
334 0x00,0x01,0x03,0x45,0x03,0x48,0x06,0x08,0x40,0x98,0x00,0x98,0x04,0x23,0x00,0x23,
335 0x03,0x11,0x60,0xF4,0x01,0xFF,0x0F,0xF4,0x18,0x01,0x00,0x05,0x01,0x00,0x05,0x05,
336 0x04,0x0C,0x08,0x05,0x02,0xB0,0x00,0x00,0x02,0xBA,0xEA,0x58,0x01,0xBE,0x01,0x00 },
337 { 0x02,0x0A,0x02,0x01,0x04,0x01,0x00,0x03,0x11,0x00,0x0D,0x10,0xBF,0x00,0x20,0x03,
338 0x20,0x04,0x0D,0x00,0x58,0x02,0x71,0x02,0x80,0x0C,0x30,0x9A,0x00,0xFA,0x03,0x1D,
339 0x00,0x01,0x03,0x22,0x03,0x28,0x06,0x08,0x40,0x98,0x00,0x98,0x04,0x1D,0x00,0x1D,
340 0x03,0x11,0x60,0x39,0x03,0x40,0x05,0xF4,0x18,0x07,0x02,0x06,0x04,0x01,0x06,0x0B,
341 0x02,0x0A,0x20,0x19,0x02,0xB0,0x00,0x00,0x02,0xBA,0xEA,0x58,0x01,0xBE,0x01,0x00 },
342 { 0x02,0x0A,0x0A,0x01,0x04,0x01,0x00,0x03,0x11,0x00,0x0D,0x10,0xEF,0x00,0x00,0x04,
343 0x40,0x05,0x13,0x00,0x00,0x03,0x26,0x03,0x88,0x0C,0x30,0x90,0x00,0x00,0x04,0x23,
344 0x00,0x01,0x03,0x24,0x03,0x28,0x06,0x08,0x40,0x90,0x00,0x90,0x04,0x23,0x00,0x23,
345 0x03,0x11,0x60,0x40,0x05,0xFF,0x0F,0xF4,0x18,0x01,0x00,0x08,0x01,0x00,0x08,0x01,
346 0x00,0x08,0x01,0x01,0x02,0xB0,0x00,0x00,0x02,0xBA,0xEA,0x58,0x01,0xBE,0x01,0x00 }
357 unsigned short ModeIdIndex,
int checkcrt2mode);
360 unsigned short ModeIdIndex);
362 unsigned short ModeIdIndex);
364 unsigned short RefreshRateTableIndex);
376 unsigned char orval,
unsigned short andval);
377 #ifdef CONFIG_FB_SIS_315
378 static void SiS_Chrontel701xOn(
struct SiS_Private *SiS_Pr);
379 static void SiS_Chrontel701xOff(
struct SiS_Private *SiS_Pr);
380 static void SiS_ChrontelInitTVVSync(
struct SiS_Private *SiS_Pr);
381 static void SiS_ChrontelDoSomething1(
struct SiS_Private *SiS_Pr);
382 void SiS_Chrontel701xBLOn(
struct SiS_Private *SiS_Pr);
383 void SiS_Chrontel701xBLOff(
struct SiS_Private *SiS_Pr);
386 #ifdef CONFIG_FB_SIS_300
387 static bool SiS_SetTrumpionBlock(
struct SiS_Private *SiS_Pr,
unsigned char *dataptr);
394 unsigned short adaptnum,
unsigned short DDCdatatype,
395 unsigned char *
buffer,
unsigned int VBFlags2);
397 static unsigned short SiS_InitDDCRegs(
struct SiS_Private *SiS_Pr,
unsigned int VBFlags,
398 int VGAEngine,
unsigned short adaptnum,
unsigned short DDCdatatype,
399 bool checkcr32,
unsigned int VBFlags2);
400 static unsigned short SiS_ProbeDDC(
struct SiS_Private *SiS_Pr);
401 static unsigned short SiS_ReadDDC(
struct SiS_Private *SiS_Pr,
unsigned short DDCdatatype,
403 static void SiS_SetSwitchDDC2(
struct SiS_Private *SiS_Pr);
404 static unsigned short SiS_SetStart(
struct SiS_Private *SiS_Pr);
405 static unsigned short SiS_SetStop(
struct SiS_Private *SiS_Pr);
406 static unsigned short SiS_SetSCLKLow(
struct SiS_Private *SiS_Pr);
407 static unsigned short SiS_SetSCLKHigh(
struct SiS_Private *SiS_Pr);
408 static unsigned short SiS_ReadDDC2Data(
struct SiS_Private *SiS_Pr);
409 static unsigned short SiS_WriteDDC2Data(
struct SiS_Private *SiS_Pr,
unsigned short tempax);
410 static unsigned short SiS_CheckACK(
struct SiS_Private *SiS_Pr);
411 static unsigned short SiS_WriteDABDDC(
struct SiS_Private *SiS_Pr);
412 static unsigned short SiS_PrepareReadDDC(
struct SiS_Private *SiS_Pr);
413 static unsigned short SiS_PrepareDDC(
struct SiS_Private *SiS_Pr);
414 static void SiS_SendACK(
struct SiS_Private *SiS_Pr,
unsigned short yesno);
415 static unsigned short SiS_DoProbeDDC(
struct SiS_Private *SiS_Pr);
417 #ifdef CONFIG_FB_SIS_300
418 static void SiS_OEM300Setting(
struct SiS_Private *SiS_Pr,
419 unsigned short ModeNo,
unsigned short ModeIdIndex,
unsigned short RefTabindex);
420 static void SetOEMLCDData2(
struct SiS_Private *SiS_Pr,
421 unsigned short ModeNo,
unsigned short ModeIdIndex,
unsigned short RefTableIndex);
423 #ifdef CONFIG_FB_SIS_315
424 static void SiS_OEM310Setting(
struct SiS_Private *SiS_Pr,
425 unsigned short ModeNo,
unsigned short ModeIdIndex,
unsigned short RRTI);
426 static void SiS_OEM661Setting(
struct SiS_Private *SiS_Pr,
427 unsigned short ModeNo,
unsigned short ModeIdIndex,
unsigned short RRTI);
428 static void SiS_FinalizeLCD(
struct SiS_Private *,
unsigned short,
unsigned short);
435 unsigned short ModeIdIndex);
439 unsigned short RefreshRateTableIndex);
441 unsigned short ModeIdIndex);
443 unsigned short ModeIdIndex);
447 #ifdef CONFIG_FB_SIS_300
448 extern void SiS_GetFIFOThresholdIndex300(
struct SiS_Private *SiS_Pr,
unsigned short *tempbx,
449 unsigned short *tempcl);
450 extern unsigned short SiS_GetFIFOThresholdB300(
unsigned short tempbx,
unsigned short tempcl);
451 extern unsigned short SiS_GetLatencyFactor630(
struct SiS_Private *SiS_Pr,
unsigned short index);
452 extern unsigned int sisfb_read_nbridge_pci_dword(
struct SiS_Private *SiS_Pr,
int reg);
453 extern unsigned int sisfb_read_lpc_pci_dword(
struct SiS_Private *SiS_Pr,
int reg);