From mboxrd@z Thu Jan 1 00:00:00 1970 From: Darren Etheridge Date: Tue, 25 Jun 2013 14:22:37 +0000 Subject: [PATCH 09/23] video: da8xx-fb: report correct pixclock Message-Id: <1372170171-9561-10-git-send-email-detheridge@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-fbdev@vger.kernel.org From: Afzal Mohammed Update "var" pixclock with the value that is configurable in hardware. This lets user know the actual pixclock. Signed-off-by: Afzal Mohammed Signed-off-by: Darren Etheridge --- drivers/video/da8xx-fb.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index a5341d0..0f73c76 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c @@ -686,6 +686,15 @@ static inline unsigned da8xx_fb_calc_clk_divider(struct da8xx_fb_par *par, return par->lcd_fck_rate / (PICOS2KHZ(pixclock) * 1000); } +static inline unsigned da8xx_fb_round_clk(struct da8xx_fb_par *par, + unsigned pixclock) +{ + unsigned div; + + div = da8xx_fb_calc_clk_divider(par, pixclock); + return KHZ2PICOS(par->lcd_fck_rate / (1000 * div)); +} + static inline void da8xx_fb_config_clk_divider(unsigned div) { /* Configure the LCD clock divisor. */ @@ -962,6 +971,8 @@ static int fb_check_var(struct fb_var_screeninfo *var, if (var->yres + var->yoffset > var->yres_virtual) var->yoffset = var->yres_virtual - var->yres; + var->pixclock = da8xx_fb_round_clk(par, var->pixclock); + return err; } -- 1.7.0.4