aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArve Hjønnevåg <arve@android.com>2011-11-15 19:28:35 -0800
committerArve Hjønnevåg <arve@android.com>2011-11-17 17:54:49 -0800
commite3f798bd86dbd99dda58b0e7ccafaaa7a05337e8 (patch)
tree3df6be0264af7674140ba96044dd4a5089b54394
parentfed448d07b9d2a50a4598f1973bf7d3ec1bfbd21 (diff)
downloadkernel_samsung_crespo-e3f798bd86dbd99dda58b0e7ccafaaa7a05337e8.zip
kernel_samsung_crespo-e3f798bd86dbd99dda58b0e7ccafaaa7a05337e8.tar.gz
kernel_samsung_crespo-e3f798bd86dbd99dda58b0e7ccafaaa7a05337e8.tar.bz2
video: s3cfb_tl2796: Fix fb_var_screeninfo.pixclock
This value should be in pico seconds not Hz. Change-Id: I96e7732d0e9ea4812c9751b5972e001bbe1e3c56 Signed-off-by: Arve Hjønnevåg <arve@android.com>
-rwxr-xr-xdrivers/video/samsung/s3cfb.c3
-rw-r--r--drivers/video/samsung/s3cfb.h1
-rw-r--r--drivers/video/samsung/s3cfb_fimd6x.c2
3 files changed, 4 insertions, 2 deletions
diff --git a/drivers/video/samsung/s3cfb.c b/drivers/video/samsung/s3cfb.c
index 9d814f2..d5f6695 100755
--- a/drivers/video/samsung/s3cfb.c
+++ b/drivers/video/samsung/s3cfb.c
@@ -763,10 +763,11 @@ static void s3cfb_init_fbinfo(struct s3cfb_global *ctrl, int id)
var->upper_margin = timing->v_fp;
var->lower_margin = timing->v_bp;
- var->pixclock = lcd->freq * (var->left_margin + var->right_margin +
+ ctrl->pixclock_hz = lcd->freq * (var->left_margin + var->right_margin +
var->hsync_len + var->xres) *
(var->upper_margin + var->lower_margin +
var->vsync_len + var->yres);
+ var->pixclock = KHZ2PICOS(ctrl->pixclock_hz / 1000);
dev_dbg(ctrl->dev, "pixclock: %d\n", var->pixclock);
diff --git a/drivers/video/samsung/s3cfb.h b/drivers/video/samsung/s3cfb.h
index 2d09b71..190d90a 100644
--- a/drivers/video/samsung/s3cfb.h
+++ b/drivers/video/samsung/s3cfb.h
@@ -240,6 +240,7 @@ struct s3cfb_global {
enum s3cfb_output_t output;
enum s3cfb_rgb_mode_t rgb_mode;
struct s3cfb_lcd *lcd;
+ u32 pixclock_hz;
#ifdef CONFIG_HAS_WAKELOCK
struct early_suspend early_suspend;
diff --git a/drivers/video/samsung/s3cfb_fimd6x.c b/drivers/video/samsung/s3cfb_fimd6x.c
index f6b94ce..360f1f6 100644
--- a/drivers/video/samsung/s3cfb_fimd6x.c
+++ b/drivers/video/samsung/s3cfb_fimd6x.c
@@ -177,7 +177,7 @@ int s3cfb_set_clock(struct s3cfb_global *ctrl)
printk(KERN_INFO "FIMD src hclk = %d\n", src_clk);
}
- vclk = ctrl->fb[pdata->default_win]->var.pixclock;
+ vclk = ctrl->pixclock_hz;
if (vclk > maxclk) {
dev_info(ctrl->dev, "vclk(%d) should be smaller than %d\n",