aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/via/hw.c
diff options
context:
space:
mode:
authorFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-04-15 21:35:25 +0000
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>2011-04-15 21:35:25 +0000
commitb4ce6a285b65be4fb858728b3bbe9011242b769f (patch)
tree70b19d50dc66f20b9d38160e1fceff7948304f79 /drivers/video/via/hw.c
parent3f086fe93f734ba76f2e130777687f81e0cbb318 (diff)
downloadkernel_samsung_smdk4412-b4ce6a285b65be4fb858728b3bbe9011242b769f.zip
kernel_samsung_smdk4412-b4ce6a285b65be4fb858728b3bbe9011242b769f.tar.gz
kernel_samsung_smdk4412-b4ce6a285b65be4fb858728b3bbe9011242b769f.tar.bz2
viafb: fix OLPC DCON refresh rate
This patch fixes a regression introduced by fd3cc69848b7e1873e5f12bbcdd572b20277ecf3a "viafb: remove duplicated clock storage" caused by an incosistent mode which pretended to have a higher refresh rate than it actually had. The wrong refresh rate resulted in a calculated higher pixclock which the OLPC DCON could not handle. By reducing the refresh rate to 50Hz we get close to the old pixclock which makes the OLPC display usable again. Minor other adjustments are needed as 60Hz is assumed to be a safe value which is not true for OLPC DCON. This is no problem as we only support 1200x900 on the OLPC. Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Reported-by: Daniel Drake <dsd@laptop.org>
Diffstat (limited to 'drivers/video/via/hw.c')
-rw-r--r--drivers/video/via/hw.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c
index dc4c778..980e263 100644
--- a/drivers/video/via/hw.c
+++ b/drivers/video/via/hw.c
@@ -2598,8 +2598,12 @@ int viafb_get_refresh(int hres, int vres, u32 long_refresh)
best = &vmode->crtc[i];
}
- if (abs(best->refresh_rate - long_refresh) > 3)
- return 60;
+ if (abs(best->refresh_rate - long_refresh) > 3) {
+ if (hres == 1200 && vres == 900)
+ return 50; /* OLPC DCON only supports 50 Hz */
+ else
+ return 60;
+ }
return best->refresh_rate;
}