summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-04-23 22:24:52 +0000
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-04-23 22:24:52 +0000
commitc5a4e6d725654045e548b1a1f33059a44a06910f (patch)
tree6b22672f07fe004f71137abad8308c8e0673a638
parent32fab7bcc79ee0b97277627f456c94202858d851 (diff)
viafb: reduce OLPC refresh a bit
When allowing some PLL calculation we get a frequency that seems to be a bit higher than what the OLPC DCON likes resulting in a still readable but not so good image. We don't really know whether this is a problem with the calculation formula or the OLPC but as other displays seem to be happy with the other modes adjusting the OLPC refresh looks like the better thing. This patch prevents a regression when dynamic PLL calculation is allowed. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
-rw-r--r--drivers/video/via/hw.c2
-rw-r--r--drivers/video/via/share.h1
-rw-r--r--drivers/video/via/viamode.c2
3 files changed, 3 insertions, 2 deletions
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c
index b8f01103f5c..56ad185b7b2 100644
--- a/drivers/video/via/hw.c
+++ b/drivers/video/via/hw.c
@@ -2605,7 +2605,7 @@ int viafb_get_refresh(int hres, int vres, u32 long_refresh)
if (abs(best->refresh_rate - long_refresh) > 3) {
if (hres == 1200 && vres == 900)
- return 50; /* OLPC DCON only supports 50 Hz */
+ return 49; /* OLPC DCON only supports 50 Hz */
else
return 60;
}
diff --git a/drivers/video/via/share.h b/drivers/video/via/share.h
index 4b7831f0d01..62bed2b12d6 100644
--- a/drivers/video/via/share.h
+++ b/drivers/video/via/share.h
@@ -290,6 +290,7 @@
#define HW_LAYOUT_LCD_EXTERNAL_LCD2 0x10
/* Definition Refresh Rate */
+#define REFRESH_49 49
#define REFRESH_50 50
#define REFRESH_60 60
#define REFRESH_75 75
diff --git a/drivers/video/via/viamode.c b/drivers/video/via/viamode.c
index 260d339b236..ccb5eec6324 100644
--- a/drivers/video/via/viamode.c
+++ b/drivers/video/via/viamode.c
@@ -606,7 +606,7 @@ static struct crt_mode_table CRTM1200x720[] = {
/* 1200x900 (DCON) */
static struct crt_mode_table DCON1200x900[] = {
/* r_rate, hsp, vsp */
- {REFRESH_50, M1200X900_R60_HSP, M1200X900_R60_VSP,
+ {REFRESH_49, M1200X900_R60_HSP, M1200X900_R60_VSP,
/* The correct htotal is 1240, but this doesn't raster on VX855. */
/* Via suggested changing to a multiple of 16, hence 1264. */
/* HT, HA, HBS, HBE, HSS, HSE, VT, VA, VBS, VBE, VSS, VSE */