aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-04-24 09:16:41 -0400
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-04-24 09:16:41 -0400
commit567b99f84ea8efe979e020bd382dd735746b526b (patch)
tree6b22672f07fe004f71137abad8308c8e0673a638
parentb4ce6a285b65be4fb858728b3bbe9011242b769f (diff)
parentc5a4e6d725654045e548b1a1f33059a44a06910f (diff)
Merge branch 'viafb-olpc' into viafb-next
-rw-r--r--drivers/video/via/hw.c7
-rw-r--r--drivers/video/via/share.h1
-rw-r--r--drivers/video/via/viamode.c2
3 files changed, 8 insertions, 2 deletions
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c
index 980e263f1875..56ad185b7b22 100644
--- a/drivers/video/via/hw.c
+++ b/drivers/video/via/hw.c
@@ -20,6 +20,7 @@
20 */ 20 */
21 21
22#include <linux/via-core.h> 22#include <linux/via-core.h>
23#include <asm/olpc.h>
23#include "global.h" 24#include "global.h"
24 25
25static struct pll_config cle266_pll_config[] = { 26static struct pll_config cle266_pll_config[] = {
@@ -875,6 +876,10 @@ void viafb_set_iga_path(void)
875 viaparinfo->chip_info-> 876 viaparinfo->chip_info->
876 lvds_chip_info2.output_interface); 877 lvds_chip_info2.output_interface);
877 } 878 }
879
880 /* looks like the OLPC has its display wired to DVP1 and LVDS2 */
881 if (machine_is_olpc())
882 viaparinfo->shared->iga2_devices = VIA_DVP1 | VIA_LVDS2;
878} 883}
879 884
880static void set_color_register(u8 index, u8 red, u8 green, u8 blue) 885static void set_color_register(u8 index, u8 red, u8 green, u8 blue)
@@ -2600,7 +2605,7 @@ int viafb_get_refresh(int hres, int vres, u32 long_refresh)
2600 2605
2601 if (abs(best->refresh_rate - long_refresh) > 3) { 2606 if (abs(best->refresh_rate - long_refresh) > 3) {
2602 if (hres == 1200 && vres == 900) 2607 if (hres == 1200 && vres == 900)
2603 return 50; /* OLPC DCON only supports 50 Hz */ 2608 return 49; /* OLPC DCON only supports 50 Hz */
2604 else 2609 else
2605 return 60; 2610 return 60;
2606 } 2611 }
diff --git a/drivers/video/via/share.h b/drivers/video/via/share.h
index 4b7831f0d012..62bed2b12d6e 100644
--- a/drivers/video/via/share.h
+++ b/drivers/video/via/share.h
@@ -290,6 +290,7 @@
290#define HW_LAYOUT_LCD_EXTERNAL_LCD2 0x10 290#define HW_LAYOUT_LCD_EXTERNAL_LCD2 0x10
291 291
292/* Definition Refresh Rate */ 292/* Definition Refresh Rate */
293#define REFRESH_49 49
293#define REFRESH_50 50 294#define REFRESH_50 50
294#define REFRESH_60 60 295#define REFRESH_60 60
295#define REFRESH_75 75 296#define REFRESH_75 75
diff --git a/drivers/video/via/viamode.c b/drivers/video/via/viamode.c
index 260d339b236c..ccb5eec63248 100644
--- a/drivers/video/via/viamode.c
+++ b/drivers/video/via/viamode.c
@@ -606,7 +606,7 @@ static struct crt_mode_table CRTM1200x720[] = {
606/* 1200x900 (DCON) */ 606/* 1200x900 (DCON) */
607static struct crt_mode_table DCON1200x900[] = { 607static struct crt_mode_table DCON1200x900[] = {
608 /* r_rate, hsp, vsp */ 608 /* r_rate, hsp, vsp */
609 {REFRESH_50, M1200X900_R60_HSP, M1200X900_R60_VSP, 609 {REFRESH_49, M1200X900_R60_HSP, M1200X900_R60_VSP,
610 /* The correct htotal is 1240, but this doesn't raster on VX855. */ 610 /* The correct htotal is 1240, but this doesn't raster on VX855. */
611 /* Via suggested changing to a multiple of 16, hence 1264. */ 611 /* Via suggested changing to a multiple of 16, hence 1264. */
612 /* HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE */ 612 /* HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE */