diff options
-rw-r--r-- | drivers/video/via/chip.h | 9 | ||||
-rw-r--r-- | drivers/video/via/hw.c | 30 | ||||
-rw-r--r-- | drivers/video/via/lcd.c | 50 | ||||
-rw-r--r-- | drivers/video/via/tblDPASetting.c | 23 | ||||
-rw-r--r-- | drivers/video/via/tblDPASetting.h | 2 | ||||
-rw-r--r-- | drivers/video/via/viamode.c | 85 | ||||
-rw-r--r-- | drivers/video/via/vt1636.c | 43 |
7 files changed, 32 insertions, 210 deletions
diff --git a/drivers/video/via/chip.h b/drivers/video/via/chip.h index 48f1342897b..781f3aa66b4 100644 --- a/drivers/video/via/chip.h +++ b/drivers/video/via/chip.h | |||
@@ -110,16 +110,13 @@ | |||
110 | struct tmds_chip_information { | 110 | struct tmds_chip_information { |
111 | int tmds_chip_name; | 111 | int tmds_chip_name; |
112 | int tmds_chip_slave_addr; | 112 | int tmds_chip_slave_addr; |
113 | int data_mode; | ||
114 | int output_interface; | 113 | int output_interface; |
115 | int i2c_port; | 114 | int i2c_port; |
116 | int device_type; | ||
117 | }; | 115 | }; |
118 | 116 | ||
119 | struct lvds_chip_information { | 117 | struct lvds_chip_information { |
120 | int lvds_chip_name; | 118 | int lvds_chip_name; |
121 | int lvds_chip_slave_addr; | 119 | int lvds_chip_slave_addr; |
122 | int data_mode; | ||
123 | int output_interface; | 120 | int output_interface; |
124 | int i2c_port; | 121 | int i2c_port; |
125 | }; | 122 | }; |
@@ -142,9 +139,6 @@ struct chip_information { | |||
142 | 139 | ||
143 | struct crt_setting_information { | 140 | struct crt_setting_information { |
144 | int iga_path; | 141 | int iga_path; |
145 | int h_active; | ||
146 | int v_active; | ||
147 | int bpp; | ||
148 | int refresh_rate; | 142 | int refresh_rate; |
149 | }; | 143 | }; |
150 | 144 | ||
@@ -162,8 +156,6 @@ struct lvds_setting_information { | |||
162 | int h_active; | 156 | int h_active; |
163 | int v_active; | 157 | int v_active; |
164 | int bpp; | 158 | int bpp; |
165 | int refresh_rate; | ||
166 | int lcd_panel_id; | ||
167 | int lcd_panel_hres; | 159 | int lcd_panel_hres; |
168 | int lcd_panel_vres; | 160 | int lcd_panel_vres; |
169 | int display_method; | 161 | int display_method; |
@@ -188,7 +180,6 @@ struct GFX_DPA_SETTING { | |||
188 | }; | 180 | }; |
189 | 181 | ||
190 | struct VT1636_DPA_SETTING { | 182 | struct VT1636_DPA_SETTING { |
191 | int PanelSizeID; | ||
192 | u8 CLK_SEL_ST1; | 183 | u8 CLK_SEL_ST1; |
193 | u8 CLK_SEL_ST2; | 184 | u8 CLK_SEL_ST2; |
194 | }; | 185 | }; |
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c index b418acf3cd5..5728fd76bc1 100644 --- a/drivers/video/via/hw.c +++ b/drivers/video/via/hw.c | |||
@@ -290,6 +290,24 @@ static struct pll_config vx855_pll_config[] = { | |||
290 | {176, 5, 4} | 290 | {176, 5, 4} |
291 | }; | 291 | }; |
292 | 292 | ||
293 | /* according to VIA Technologies these values are based on experiment */ | ||
294 | static struct io_reg scaling_parameters[] = { | ||
295 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Scaling Parameter 1 */ | ||
296 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Scaling Parameter 2 */ | ||
297 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Scaling Parameter 3 */ | ||
298 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Scaling Parameter 4 */ | ||
299 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Scaling Parameter 5 */ | ||
300 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Scaling Parameter 6 */ | ||
301 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Scaling Parameter 7 */ | ||
302 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Scaling Parameter 8 */ | ||
303 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Scaling Parameter 9 */ | ||
304 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Scaling Parameter 10 */ | ||
305 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Scaling Parameter 11 */ | ||
306 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Scaling Parameter 12 */ | ||
307 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Scaling Parameter 13 */ | ||
308 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Scaling Parameter 14 */ | ||
309 | }; | ||
310 | |||
293 | static struct fifo_depth_select display_fifo_depth_reg = { | 311 | static struct fifo_depth_select display_fifo_depth_reg = { |
294 | /* IGA1 FIFO Depth_Select */ | 312 | /* IGA1 FIFO Depth_Select */ |
295 | {IGA1_FIFO_DEPTH_SELECT_REG_NUM, {{SR17, 0, 7} } }, | 313 | {IGA1_FIFO_DEPTH_SELECT_REG_NUM, {{SR17, 0, 7} } }, |
@@ -2069,9 +2087,6 @@ void viafb_update_device_setting(int hres, int vres, | |||
2069 | int bpp, int vmode_refresh, int flag) | 2087 | int bpp, int vmode_refresh, int flag) |
2070 | { | 2088 | { |
2071 | if (flag == 0) { | 2089 | if (flag == 0) { |
2072 | viaparinfo->crt_setting_info->h_active = hres; | ||
2073 | viaparinfo->crt_setting_info->v_active = vres; | ||
2074 | viaparinfo->crt_setting_info->bpp = bpp; | ||
2075 | viaparinfo->crt_setting_info->refresh_rate = | 2090 | viaparinfo->crt_setting_info->refresh_rate = |
2076 | vmode_refresh; | 2091 | vmode_refresh; |
2077 | 2092 | ||
@@ -2081,13 +2096,9 @@ void viafb_update_device_setting(int hres, int vres, | |||
2081 | viaparinfo->lvds_setting_info->h_active = hres; | 2096 | viaparinfo->lvds_setting_info->h_active = hres; |
2082 | viaparinfo->lvds_setting_info->v_active = vres; | 2097 | viaparinfo->lvds_setting_info->v_active = vres; |
2083 | viaparinfo->lvds_setting_info->bpp = bpp; | 2098 | viaparinfo->lvds_setting_info->bpp = bpp; |
2084 | viaparinfo->lvds_setting_info->refresh_rate = | ||
2085 | vmode_refresh; | ||
2086 | viaparinfo->lvds_setting_info2->h_active = hres; | 2099 | viaparinfo->lvds_setting_info2->h_active = hres; |
2087 | viaparinfo->lvds_setting_info2->v_active = vres; | 2100 | viaparinfo->lvds_setting_info2->v_active = vres; |
2088 | viaparinfo->lvds_setting_info2->bpp = bpp; | 2101 | viaparinfo->lvds_setting_info2->bpp = bpp; |
2089 | viaparinfo->lvds_setting_info2->refresh_rate = | ||
2090 | vmode_refresh; | ||
2091 | } else { | 2102 | } else { |
2092 | 2103 | ||
2093 | if (viaparinfo->tmds_setting_info->iga_path == IGA2) { | 2104 | if (viaparinfo->tmds_setting_info->iga_path == IGA2) { |
@@ -2099,15 +2110,11 @@ void viafb_update_device_setting(int hres, int vres, | |||
2099 | viaparinfo->lvds_setting_info->h_active = hres; | 2110 | viaparinfo->lvds_setting_info->h_active = hres; |
2100 | viaparinfo->lvds_setting_info->v_active = vres; | 2111 | viaparinfo->lvds_setting_info->v_active = vres; |
2101 | viaparinfo->lvds_setting_info->bpp = bpp; | 2112 | viaparinfo->lvds_setting_info->bpp = bpp; |
2102 | viaparinfo->lvds_setting_info->refresh_rate = | ||
2103 | vmode_refresh; | ||
2104 | } | 2113 | } |
2105 | if (IGA2 == viaparinfo->lvds_setting_info2->iga_path) { | 2114 | if (IGA2 == viaparinfo->lvds_setting_info2->iga_path) { |
2106 | viaparinfo->lvds_setting_info2->h_active = hres; | 2115 | viaparinfo->lvds_setting_info2->h_active = hres; |
2107 | viaparinfo->lvds_setting_info2->v_active = vres; | 2116 | viaparinfo->lvds_setting_info2->v_active = vres; |
2108 | viaparinfo->lvds_setting_info2->bpp = bpp; | 2117 | viaparinfo->lvds_setting_info2->bpp = bpp; |
2109 | viaparinfo->lvds_setting_info2->refresh_rate = | ||
2110 | vmode_refresh; | ||
2111 | } | 2118 | } |
2112 | } | 2119 | } |
2113 | } | 2120 | } |
@@ -2382,6 +2389,7 @@ int viafb_setmode(struct VideoModeTable *vmode_tbl, int video_bpp, | |||
2382 | break; | 2389 | break; |
2383 | } | 2390 | } |
2384 | 2391 | ||
2392 | viafb_write_regx(scaling_parameters, ARRAY_SIZE(scaling_parameters)); | ||
2385 | device_off(); | 2393 | device_off(); |
2386 | via_set_state(devices, VIA_STATE_OFF); | 2394 | via_set_state(devices, VIA_STATE_OFF); |
2387 | 2395 | ||
diff --git a/drivers/video/via/lcd.c b/drivers/video/via/lcd.c index fc76b27b113..64bc7e76310 100644 --- a/drivers/video/via/lcd.c +++ b/drivers/video/via/lcd.c | |||
@@ -97,8 +97,6 @@ void __devinit viafb_init_lcd_size(void) | |||
97 | DEBUG_MSG(KERN_INFO "viafb_init_lcd_size()\n"); | 97 | DEBUG_MSG(KERN_INFO "viafb_init_lcd_size()\n"); |
98 | 98 | ||
99 | fp_id_to_vindex(viafb_lcd_panel_id); | 99 | fp_id_to_vindex(viafb_lcd_panel_id); |
100 | viaparinfo->lvds_setting_info2->lcd_panel_id = | ||
101 | viaparinfo->lvds_setting_info->lcd_panel_id; | ||
102 | viaparinfo->lvds_setting_info2->lcd_panel_hres = | 100 | viaparinfo->lvds_setting_info2->lcd_panel_hres = |
103 | viaparinfo->lvds_setting_info->lcd_panel_hres; | 101 | viaparinfo->lvds_setting_info->lcd_panel_hres; |
104 | viaparinfo->lvds_setting_info2->lcd_panel_vres = | 102 | viaparinfo->lvds_setting_info2->lcd_panel_vres = |
@@ -205,176 +203,132 @@ static void __devinit fp_id_to_vindex(int panel_id) | |||
205 | case 0x0: | 203 | case 0x0: |
206 | viaparinfo->lvds_setting_info->lcd_panel_hres = 640; | 204 | viaparinfo->lvds_setting_info->lcd_panel_hres = 640; |
207 | viaparinfo->lvds_setting_info->lcd_panel_vres = 480; | 205 | viaparinfo->lvds_setting_info->lcd_panel_vres = 480; |
208 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
209 | LCD_PANEL_ID0_640X480; | ||
210 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 206 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
211 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 207 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
212 | break; | 208 | break; |
213 | case 0x1: | 209 | case 0x1: |
214 | viaparinfo->lvds_setting_info->lcd_panel_hres = 800; | 210 | viaparinfo->lvds_setting_info->lcd_panel_hres = 800; |
215 | viaparinfo->lvds_setting_info->lcd_panel_vres = 600; | 211 | viaparinfo->lvds_setting_info->lcd_panel_vres = 600; |
216 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
217 | LCD_PANEL_ID1_800X600; | ||
218 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 212 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
219 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 213 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
220 | break; | 214 | break; |
221 | case 0x2: | 215 | case 0x2: |
222 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; | 216 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; |
223 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 217 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
224 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
225 | LCD_PANEL_ID2_1024X768; | ||
226 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 218 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
227 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 219 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
228 | break; | 220 | break; |
229 | case 0x3: | 221 | case 0x3: |
230 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; | 222 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; |
231 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 223 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
232 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
233 | LCD_PANEL_ID3_1280X768; | ||
234 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 224 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
235 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 225 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
236 | break; | 226 | break; |
237 | case 0x4: | 227 | case 0x4: |
238 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; | 228 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; |
239 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1024; | 229 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1024; |
240 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
241 | LCD_PANEL_ID4_1280X1024; | ||
242 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 230 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
243 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 231 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
244 | break; | 232 | break; |
245 | case 0x5: | 233 | case 0x5: |
246 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1400; | 234 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1400; |
247 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1050; | 235 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1050; |
248 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
249 | LCD_PANEL_ID5_1400X1050; | ||
250 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 236 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
251 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 237 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
252 | break; | 238 | break; |
253 | case 0x6: | 239 | case 0x6: |
254 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1600; | 240 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1600; |
255 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1200; | 241 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1200; |
256 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
257 | LCD_PANEL_ID6_1600X1200; | ||
258 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 242 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
259 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 243 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
260 | break; | 244 | break; |
261 | case 0x8: | 245 | case 0x8: |
262 | viaparinfo->lvds_setting_info->lcd_panel_hres = 800; | 246 | viaparinfo->lvds_setting_info->lcd_panel_hres = 800; |
263 | viaparinfo->lvds_setting_info->lcd_panel_vres = 480; | 247 | viaparinfo->lvds_setting_info->lcd_panel_vres = 480; |
264 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
265 | LCD_PANEL_IDA_800X480; | ||
266 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 248 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
267 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 249 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
268 | break; | 250 | break; |
269 | case 0x9: | 251 | case 0x9: |
270 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; | 252 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; |
271 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 253 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
272 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
273 | LCD_PANEL_ID2_1024X768; | ||
274 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 254 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
275 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 255 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
276 | break; | 256 | break; |
277 | case 0xA: | 257 | case 0xA: |
278 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; | 258 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; |
279 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 259 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
280 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
281 | LCD_PANEL_ID2_1024X768; | ||
282 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 260 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
283 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 261 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
284 | break; | 262 | break; |
285 | case 0xB: | 263 | case 0xB: |
286 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; | 264 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; |
287 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 265 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
288 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
289 | LCD_PANEL_ID2_1024X768; | ||
290 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 266 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
291 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 267 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
292 | break; | 268 | break; |
293 | case 0xC: | 269 | case 0xC: |
294 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; | 270 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; |
295 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 271 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
296 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
297 | LCD_PANEL_ID3_1280X768; | ||
298 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 272 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
299 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 273 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
300 | break; | 274 | break; |
301 | case 0xD: | 275 | case 0xD: |
302 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; | 276 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; |
303 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1024; | 277 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1024; |
304 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
305 | LCD_PANEL_ID4_1280X1024; | ||
306 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 278 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
307 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 279 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
308 | break; | 280 | break; |
309 | case 0xE: | 281 | case 0xE: |
310 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1400; | 282 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1400; |
311 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1050; | 283 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1050; |
312 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
313 | LCD_PANEL_ID5_1400X1050; | ||
314 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 284 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
315 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 285 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
316 | break; | 286 | break; |
317 | case 0xF: | 287 | case 0xF: |
318 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1600; | 288 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1600; |
319 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1200; | 289 | viaparinfo->lvds_setting_info->lcd_panel_vres = 1200; |
320 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
321 | LCD_PANEL_ID6_1600X1200; | ||
322 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 290 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
323 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 291 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
324 | break; | 292 | break; |
325 | case 0x10: | 293 | case 0x10: |
326 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1366; | 294 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1366; |
327 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 295 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
328 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
329 | LCD_PANEL_ID7_1366X768; | ||
330 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 296 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
331 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 297 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
332 | break; | 298 | break; |
333 | case 0x11: | 299 | case 0x11: |
334 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; | 300 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1024; |
335 | viaparinfo->lvds_setting_info->lcd_panel_vres = 600; | 301 | viaparinfo->lvds_setting_info->lcd_panel_vres = 600; |
336 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
337 | LCD_PANEL_ID8_1024X600; | ||
338 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 302 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
339 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 303 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
340 | break; | 304 | break; |
341 | case 0x12: | 305 | case 0x12: |
342 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; | 306 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; |
343 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 307 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
344 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
345 | LCD_PANEL_ID3_1280X768; | ||
346 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 308 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
347 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 309 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
348 | break; | 310 | break; |
349 | case 0x13: | 311 | case 0x13: |
350 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; | 312 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; |
351 | viaparinfo->lvds_setting_info->lcd_panel_vres = 800; | 313 | viaparinfo->lvds_setting_info->lcd_panel_vres = 800; |
352 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
353 | LCD_PANEL_ID9_1280X800; | ||
354 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 314 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
355 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 315 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
356 | break; | 316 | break; |
357 | case 0x14: | 317 | case 0x14: |
358 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1360; | 318 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1360; |
359 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 319 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
360 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
361 | LCD_PANEL_IDB_1360X768; | ||
362 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 320 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
363 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 321 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
364 | break; | 322 | break; |
365 | case 0x15: | 323 | case 0x15: |
366 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; | 324 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1280; |
367 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; | 325 | viaparinfo->lvds_setting_info->lcd_panel_vres = 768; |
368 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
369 | LCD_PANEL_ID3_1280X768; | ||
370 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; | 326 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 1; |
371 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 327 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
372 | break; | 328 | break; |
373 | case 0x16: | 329 | case 0x16: |
374 | viaparinfo->lvds_setting_info->lcd_panel_hres = 480; | 330 | viaparinfo->lvds_setting_info->lcd_panel_hres = 480; |
375 | viaparinfo->lvds_setting_info->lcd_panel_vres = 640; | 331 | viaparinfo->lvds_setting_info->lcd_panel_vres = 640; |
376 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
377 | LCD_PANEL_IDC_480X640; | ||
378 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 332 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
379 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 333 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
380 | break; | 334 | break; |
@@ -382,16 +336,12 @@ static void __devinit fp_id_to_vindex(int panel_id) | |||
382 | /* OLPC XO-1.5 panel */ | 336 | /* OLPC XO-1.5 panel */ |
383 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1200; | 337 | viaparinfo->lvds_setting_info->lcd_panel_hres = 1200; |
384 | viaparinfo->lvds_setting_info->lcd_panel_vres = 900; | 338 | viaparinfo->lvds_setting_info->lcd_panel_vres = 900; |
385 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
386 | LCD_PANEL_IDD_1200X900; | ||
387 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 339 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
388 | viaparinfo->lvds_setting_info->LCDDithering = 0; | 340 | viaparinfo->lvds_setting_info->LCDDithering = 0; |
389 | break; | 341 | break; |
390 | default: | 342 | default: |
391 | viaparinfo->lvds_setting_info->lcd_panel_hres = 800; | 343 | viaparinfo->lvds_setting_info->lcd_panel_hres = 800; |
392 | viaparinfo->lvds_setting_info->lcd_panel_vres = 600; | 344 | viaparinfo->lvds_setting_info->lcd_panel_vres = 600; |
393 | viaparinfo->lvds_setting_info->lcd_panel_id = | ||
394 | LCD_PANEL_ID1_800X600; | ||
395 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; | 345 | viaparinfo->lvds_setting_info->device_lcd_dualedge = 0; |
396 | viaparinfo->lvds_setting_info->LCDDithering = 1; | 346 | viaparinfo->lvds_setting_info->LCDDithering = 1; |
397 | } | 347 | } |
diff --git a/drivers/video/via/tblDPASetting.c b/drivers/video/via/tblDPASetting.c index 0c4c8cc712f..73bb554e7c1 100644 --- a/drivers/video/via/tblDPASetting.c +++ b/drivers/video/via/tblDPASetting.c | |||
@@ -20,17 +20,6 @@ | |||
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include "global.h" | 22 | #include "global.h" |
23 | /* For VT3324: */ | ||
24 | struct VT1636_DPA_SETTING VT1636_DPA_SETTING_TBL_VT3324[] = { | ||
25 | /* Panel ID, CLK_SEL_ST1[09], CLK_SEL_ST2[08] */ | ||
26 | {LCD_PANEL_ID0_640X480, 0x00, 0x00}, /* For 640x480 */ | ||
27 | {LCD_PANEL_ID1_800X600, 0x00, 0x00}, /* For 800x600 */ | ||
28 | {LCD_PANEL_ID2_1024X768, 0x00, 0x00}, /* For 1024x768 */ | ||
29 | {LCD_PANEL_ID3_1280X768, 0x00, 0x00}, /* For 1280x768 */ | ||
30 | {LCD_PANEL_ID4_1280X1024, 0x00, 0x00}, /* For 1280x1024 */ | ||
31 | {LCD_PANEL_ID5_1400X1050, 0x00, 0x00}, /* For 1400x1050 */ | ||
32 | {LCD_PANEL_ID6_1600X1200, 0x0B, 0x03} /* For 1600x1200 */ | ||
33 | }; | ||
34 | 23 | ||
35 | struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3324[] = { | 24 | struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3324[] = { |
36 | /* ClkRange, DVP0, DVP0DataDriving, DVP0ClockDriving, DVP1, | 25 | /* ClkRange, DVP0, DVP0DataDriving, DVP0ClockDriving, DVP1, |
@@ -57,18 +46,6 @@ struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3324[] = { | |||
57 | 0x00}, | 46 | 0x00}, |
58 | }; | 47 | }; |
59 | 48 | ||
60 | /* For VT3327: */ | ||
61 | struct VT1636_DPA_SETTING VT1636_DPA_SETTING_TBL_VT3327[] = { | ||
62 | /* Panel ID, CLK_SEL_ST1[09], CLK_SEL_ST2[08] */ | ||
63 | {LCD_PANEL_ID0_640X480, 0x00, 0x00}, /* For 640x480 */ | ||
64 | {LCD_PANEL_ID1_800X600, 0x00, 0x00}, /* For 800x600 */ | ||
65 | {LCD_PANEL_ID2_1024X768, 0x00, 0x00}, /* For 1024x768 */ | ||
66 | {LCD_PANEL_ID3_1280X768, 0x00, 0x00}, /* For 1280x768 */ | ||
67 | {LCD_PANEL_ID4_1280X1024, 0x00, 0x00}, /* For 1280x1024 */ | ||
68 | {LCD_PANEL_ID5_1400X1050, 0x00, 0x00}, /* For 1400x1050 */ | ||
69 | {LCD_PANEL_ID6_1600X1200, 0x00, 0x00} /* For 1600x1200 */ | ||
70 | }; | ||
71 | |||
72 | struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3327[] = { | 49 | struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3327[] = { |
73 | /* ClkRange,DVP0, DVP0DataDriving, DVP0ClockDriving, DVP1, | 50 | /* ClkRange,DVP0, DVP0DataDriving, DVP0ClockDriving, DVP1, |
74 | DVP1Driving, DFPHigh, DFPLow */ | 51 | DVP1Driving, DFPHigh, DFPLow */ |
diff --git a/drivers/video/via/tblDPASetting.h b/drivers/video/via/tblDPASetting.h index b065a83481d..6db61519cb5 100644 --- a/drivers/video/via/tblDPASetting.h +++ b/drivers/video/via/tblDPASetting.h | |||
@@ -38,9 +38,7 @@ enum DPA_RANGE { | |||
38 | DPA_CLK_RANGE_150M | 38 | DPA_CLK_RANGE_150M |
39 | }; | 39 | }; |
40 | 40 | ||
41 | extern struct VT1636_DPA_SETTING VT1636_DPA_SETTING_TBL_VT3324[7]; | ||
42 | extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3324[6]; | 41 | extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3324[6]; |
43 | extern struct VT1636_DPA_SETTING VT1636_DPA_SETTING_TBL_VT3327[7]; | ||
44 | extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3327[]; | 42 | extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3327[]; |
45 | extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3364[6]; | 43 | extern struct GFX_DPA_SETTING GFX_DPA_SETTING_TBL_VT3364[6]; |
46 | 44 | ||
diff --git a/drivers/video/via/viamode.c b/drivers/video/via/viamode.c index 1f24ee963db..8c5bc41ff6a 100644 --- a/drivers/video/via/viamode.c +++ b/drivers/video/via/viamode.c | |||
@@ -42,20 +42,6 @@ struct io_reg CN400_ModeXregs[] = { {VIASR, SR10, 0xFF, 0x01}, | |||
42 | {VIACR, CR6A, 0xFF, 0x40}, | 42 | {VIACR, CR6A, 0xFF, 0x40}, |
43 | {VIACR, CR6B, 0xFF, 0x00}, | 43 | {VIACR, CR6B, 0xFF, 0x00}, |
44 | {VIACR, CR6C, 0xFF, 0x00}, | 44 | {VIACR, CR6C, 0xFF, 0x00}, |
45 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Scaling Parameter 1 */ | ||
46 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Scaling Parameter 2 */ | ||
47 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Scaling Parameter 3 */ | ||
48 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Scaling Parameter 4 */ | ||
49 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Scaling Parameter 5 */ | ||
50 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Scaling Parameter 6 */ | ||
51 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Scaling Parameter 7 */ | ||
52 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Scaling Parameter 8 */ | ||
53 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Scaling Parameter 9 */ | ||
54 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Scaling Parameter 10 */ | ||
55 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Scaling Parameter 11 */ | ||
56 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Scaling Parameter 12 */ | ||
57 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Scaling Parameter 13 */ | ||
58 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Scaling Parameter 14 */ | ||
59 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ | 45 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ |
60 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ | 46 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ |
61 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ | 47 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ |
@@ -106,20 +92,6 @@ struct io_reg CN700_ModeXregs[] = { {VIASR, SR10, 0xFF, 0x01}, | |||
106 | {VIACR, CR78, 0xFF, 0x00}, /* LCD scaling Factor */ | 92 | {VIACR, CR78, 0xFF, 0x00}, /* LCD scaling Factor */ |
107 | {VIACR, CR79, 0xFF, 0x00}, /* LCD scaling Factor */ | 93 | {VIACR, CR79, 0xFF, 0x00}, /* LCD scaling Factor */ |
108 | {VIACR, CR9F, 0x03, 0x00}, /* LCD scaling Factor */ | 94 | {VIACR, CR9F, 0x03, 0x00}, /* LCD scaling Factor */ |
109 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Scaling Parameter 1 */ | ||
110 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Scaling Parameter 2 */ | ||
111 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Scaling Parameter 3 */ | ||
112 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Scaling Parameter 4 */ | ||
113 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Scaling Parameter 5 */ | ||
114 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Scaling Parameter 6 */ | ||
115 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Scaling Parameter 7 */ | ||
116 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Scaling Parameter 8 */ | ||
117 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Scaling Parameter 9 */ | ||
118 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Scaling Parameter 10 */ | ||
119 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Scaling Parameter 11 */ | ||
120 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Scaling Parameter 12 */ | ||
121 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Scaling Parameter 13 */ | ||
122 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Scaling Parameter 14 */ | ||
123 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ | 95 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ |
124 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ | 96 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ |
125 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ | 97 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ |
@@ -163,20 +135,6 @@ struct io_reg KM400_ModeXregs[] = { | |||
163 | {VIACR, CR36, 0xFF, 0x01}, /* Power Mangement 3 */ | 135 | {VIACR, CR36, 0xFF, 0x01}, /* Power Mangement 3 */ |
164 | {VIACR, CR68, 0xFF, 0x67}, /* Default FIFO For IGA2 */ | 136 | {VIACR, CR68, 0xFF, 0x67}, /* Default FIFO For IGA2 */ |
165 | {VIACR, CR6A, 0x20, 0x20}, /* Extended FIFO On */ | 137 | {VIACR, CR6A, 0x20, 0x20}, /* Extended FIFO On */ |
166 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Scaling Parameter 1 */ | ||
167 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Scaling Parameter 2 */ | ||
168 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Scaling Parameter 3 */ | ||
169 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Scaling Parameter 4 */ | ||
170 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Scaling Parameter 5 */ | ||
171 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Scaling Parameter 6 */ | ||
172 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Scaling Parameter 7 */ | ||
173 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Scaling Parameter 8 */ | ||
174 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Scaling Parameter 9 */ | ||
175 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Scaling Parameter 10 */ | ||
176 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Scaling Parameter 11 */ | ||
177 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Scaling Parameter 12 */ | ||
178 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Scaling Parameter 13 */ | ||
179 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Scaling Parameter 14 */ | ||
180 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ | 138 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ |
181 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ | 139 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ |
182 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ | 140 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ |
@@ -217,20 +175,6 @@ struct io_reg CX700_ModeXregs[] = { {VIASR, SR10, 0xFF, 0x01}, | |||
217 | {VIACR, CR6A, 0xFF, 0x40}, | 175 | {VIACR, CR6A, 0xFF, 0x40}, |
218 | {VIACR, CR6B, 0xFF, 0x00}, | 176 | {VIACR, CR6B, 0xFF, 0x00}, |
219 | {VIACR, CR6C, 0xFF, 0x00}, | 177 | {VIACR, CR6C, 0xFF, 0x00}, |
220 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Scaling Parameter 1 */ | ||
221 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Scaling Parameter 2 */ | ||
222 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Scaling Parameter 3 */ | ||
223 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Scaling Parameter 4 */ | ||
224 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Scaling Parameter 5 */ | ||
225 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Scaling Parameter 6 */ | ||
226 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Scaling Parameter 7 */ | ||
227 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Scaling Parameter 8 */ | ||
228 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Scaling Parameter 9 */ | ||
229 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Scaling Parameter 10 */ | ||
230 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Scaling Parameter 11 */ | ||
231 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Scaling Parameter 12 */ | ||
232 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Scaling Parameter 13 */ | ||
233 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Scaling Parameter 14 */ | ||
234 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ | 178 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ |
235 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ | 179 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ |
236 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ | 180 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ |
@@ -276,20 +220,6 @@ struct io_reg VX855_ModeXregs[] = { | |||
276 | {VIACR, CR6A, 0xFD, 0x60}, | 220 | {VIACR, CR6A, 0xFD, 0x60}, |
277 | {VIACR, CR6B, 0xFF, 0x00}, | 221 | {VIACR, CR6B, 0xFF, 0x00}, |
278 | {VIACR, CR6C, 0xFF, 0x00}, | 222 | {VIACR, CR6C, 0xFF, 0x00}, |
279 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Scaling Parameter 1 */ | ||
280 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Scaling Parameter 2 */ | ||
281 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Scaling Parameter 3 */ | ||
282 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Scaling Parameter 4 */ | ||
283 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Scaling Parameter 5 */ | ||
284 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Scaling Parameter 6 */ | ||
285 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Scaling Parameter 7 */ | ||
286 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Scaling Parameter 8 */ | ||
287 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Scaling Parameter 9 */ | ||
288 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Scaling Parameter 10 */ | ||
289 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Scaling Parameter 11 */ | ||
290 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Scaling Parameter 12 */ | ||
291 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Scaling Parameter 13 */ | ||
292 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Scaling Parameter 14 */ | ||
293 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ | 223 | {VIACR, CR88, 0xFF, 0x40}, /* LCD Panel Type */ |
294 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ | 224 | {VIACR, CR89, 0xFF, 0x00}, /* LCD Timing Control 0 */ |
295 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ | 225 | {VIACR, CR8A, 0xFF, 0x88}, /* LCD Timing Control 1 */ |
@@ -324,21 +254,6 @@ struct io_reg CLE266_ModeXregs[] = { {VIASR, SR1E, 0xF0, 0x00}, | |||
324 | {VIAGR, GR20, 0xFF, 0x00}, | 254 | {VIAGR, GR20, 0xFF, 0x00}, |
325 | {VIAGR, GR21, 0xFF, 0x00}, | 255 | {VIAGR, GR21, 0xFF, 0x00}, |
326 | {VIAGR, GR22, 0xFF, 0x00}, | 256 | {VIAGR, GR22, 0xFF, 0x00}, |
327 | /* LCD Parameters */ | ||
328 | {VIACR, CR7A, 0xFF, 0x01}, /* LCD Parameter 1 */ | ||
329 | {VIACR, CR7B, 0xFF, 0x02}, /* LCD Parameter 2 */ | ||
330 | {VIACR, CR7C, 0xFF, 0x03}, /* LCD Parameter 3 */ | ||
331 | {VIACR, CR7D, 0xFF, 0x04}, /* LCD Parameter 4 */ | ||
332 | {VIACR, CR7E, 0xFF, 0x07}, /* LCD Parameter 5 */ | ||
333 | {VIACR, CR7F, 0xFF, 0x0A}, /* LCD Parameter 6 */ | ||
334 | {VIACR, CR80, 0xFF, 0x0D}, /* LCD Parameter 7 */ | ||
335 | {VIACR, CR81, 0xFF, 0x13}, /* LCD Parameter 8 */ | ||
336 | {VIACR, CR82, 0xFF, 0x16}, /* LCD Parameter 9 */ | ||
337 | {VIACR, CR83, 0xFF, 0x19}, /* LCD Parameter 10 */ | ||
338 | {VIACR, CR84, 0xFF, 0x1C}, /* LCD Parameter 11 */ | ||
339 | {VIACR, CR85, 0xFF, 0x1D}, /* LCD Parameter 12 */ | ||
340 | {VIACR, CR86, 0xFF, 0x1E}, /* LCD Parameter 13 */ | ||
341 | {VIACR, CR87, 0xFF, 0x1F}, /* LCD Parameter 14 */ | ||
342 | 257 | ||
343 | }; | 258 | }; |
344 | 259 | ||
diff --git a/drivers/video/via/vt1636.c b/drivers/video/via/vt1636.c index 60e4192c2b3..ee2903b472c 100644 --- a/drivers/video/via/vt1636.c +++ b/drivers/video/via/vt1636.c | |||
@@ -167,22 +167,6 @@ static int get_clk_range_index(u32 Clk) | |||
167 | return DPA_CLK_RANGE_150M; | 167 | return DPA_CLK_RANGE_150M; |
168 | } | 168 | } |
169 | 169 | ||
170 | static int get_lvds_dpa_setting_index(int panel_size_id, | ||
171 | struct VT1636_DPA_SETTING *p_vt1636_dpasetting_tbl, | ||
172 | int tbl_size) | ||
173 | { | ||
174 | int i; | ||
175 | |||
176 | for (i = 0; i < tbl_size; i++) { | ||
177 | if (panel_size_id == p_vt1636_dpasetting_tbl->PanelSizeID) | ||
178 | return i; | ||
179 | |||
180 | p_vt1636_dpasetting_tbl++; | ||
181 | } | ||
182 | |||
183 | return 0; | ||
184 | } | ||
185 | |||
186 | static void set_dpa_vt1636(struct lvds_setting_information | 170 | static void set_dpa_vt1636(struct lvds_setting_information |
187 | *plvds_setting_info, struct lvds_chip_information *plvds_chip_info, | 171 | *plvds_setting_info, struct lvds_chip_information *plvds_chip_info, |
188 | struct VT1636_DPA_SETTING *p_vt1636_dpa_setting) | 172 | struct VT1636_DPA_SETTING *p_vt1636_dpa_setting) |
@@ -206,7 +190,9 @@ void viafb_vt1636_patch_skew_on_vt3324( | |||
206 | struct lvds_setting_information *plvds_setting_info, | 190 | struct lvds_setting_information *plvds_setting_info, |
207 | struct lvds_chip_information *plvds_chip_info) | 191 | struct lvds_chip_information *plvds_chip_info) |
208 | { | 192 | { |
209 | int index, size; | 193 | struct VT1636_DPA_SETTING dpa = {0x00, 0x00}, dpa_16x12 = {0x0B, 0x03}, |
194 | *pdpa; | ||
195 | int index; | ||
210 | 196 | ||
211 | DEBUG_MSG(KERN_INFO "viafb_vt1636_patch_skew_on_vt3324.\n"); | 197 | DEBUG_MSG(KERN_INFO "viafb_vt1636_patch_skew_on_vt3324.\n"); |
212 | 198 | ||
@@ -216,19 +202,21 @@ void viafb_vt1636_patch_skew_on_vt3324( | |||
216 | &GFX_DPA_SETTING_TBL_VT3324[index]); | 202 | &GFX_DPA_SETTING_TBL_VT3324[index]); |
217 | 203 | ||
218 | /* LVDS Transmitter DPA settings: */ | 204 | /* LVDS Transmitter DPA settings: */ |
219 | size = ARRAY_SIZE(VT1636_DPA_SETTING_TBL_VT3324); | 205 | if (plvds_setting_info->lcd_panel_hres == 1600 && |
220 | index = | 206 | plvds_setting_info->lcd_panel_vres == 1200) |
221 | get_lvds_dpa_setting_index(plvds_setting_info->lcd_panel_id, | 207 | pdpa = &dpa_16x12; |
222 | VT1636_DPA_SETTING_TBL_VT3324, size); | 208 | else |
223 | set_dpa_vt1636(plvds_setting_info, plvds_chip_info, | 209 | pdpa = &dpa; |
224 | &VT1636_DPA_SETTING_TBL_VT3324[index]); | 210 | |
211 | set_dpa_vt1636(plvds_setting_info, plvds_chip_info, pdpa); | ||
225 | } | 212 | } |
226 | 213 | ||
227 | void viafb_vt1636_patch_skew_on_vt3327( | 214 | void viafb_vt1636_patch_skew_on_vt3327( |
228 | struct lvds_setting_information *plvds_setting_info, | 215 | struct lvds_setting_information *plvds_setting_info, |
229 | struct lvds_chip_information *plvds_chip_info) | 216 | struct lvds_chip_information *plvds_chip_info) |
230 | { | 217 | { |
231 | int index, size; | 218 | struct VT1636_DPA_SETTING dpa = {0x00, 0x00}; |
219 | int index; | ||
232 | 220 | ||
233 | DEBUG_MSG(KERN_INFO "viafb_vt1636_patch_skew_on_vt3327.\n"); | 221 | DEBUG_MSG(KERN_INFO "viafb_vt1636_patch_skew_on_vt3327.\n"); |
234 | 222 | ||
@@ -238,12 +226,7 @@ void viafb_vt1636_patch_skew_on_vt3327( | |||
238 | &GFX_DPA_SETTING_TBL_VT3327[index]); | 226 | &GFX_DPA_SETTING_TBL_VT3327[index]); |
239 | 227 | ||
240 | /* LVDS Transmitter DPA settings: */ | 228 | /* LVDS Transmitter DPA settings: */ |
241 | size = ARRAY_SIZE(VT1636_DPA_SETTING_TBL_VT3327); | 229 | set_dpa_vt1636(plvds_setting_info, plvds_chip_info, &dpa); |
242 | index = | ||
243 | get_lvds_dpa_setting_index(plvds_setting_info->lcd_panel_id, | ||
244 | VT1636_DPA_SETTING_TBL_VT3327, size); | ||
245 | set_dpa_vt1636(plvds_setting_info, plvds_chip_info, | ||
246 | &VT1636_DPA_SETTING_TBL_VT3327[index]); | ||
247 | } | 230 | } |
248 | 231 | ||
249 | void viafb_vt1636_patch_skew_on_vt3364( | 232 | void viafb_vt1636_patch_skew_on_vt3364( |