s3fb: do not allow incorrect pixclock settings
PATCH 12/15 s3fb: do not allow incorrect pixclock settings
From: Krzysztof Helt <[email protected]>
This patch adds check if selected pixclock
is valid (is in the PLL range).
Previously, if the pixclock could not be set,
the new mode resolution was set but pixclock
was not set which led to incorrect timings sent
to monitor.
[adaplas]
Fixed a few misplaced curly braces.
Signed-off-by Krzysztof Helt <[email protected]>
Signed-off-by Antonino Daplas <[email protected]>
---
drivers/video/s3fb.c | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-)
drivers/video/s3fb.c +11 -4
@@ -400,6 +400,7 @@ static int s3fb_check_var(struct fb_var_ {struct s3fb_info *par = info->par;int rv, mem, step; +u16 m, n, r;/* Find appropriate format */ rv =svga_match_format (s3fb_formats, var,NULL );
@@ -427,20 +428,26 @@ static int s3fb_check_var(struct fb_var_/* Check whether have enough memory */ mem = ((var->bits_per_pixel * var->xres_virtual) >>3 ) * var->yres_virtual; -if (mem > info->screen_size) - { +if (mem > info->screen_size) {printk (KERN_ERR "fb%d: not enough framebuffer memory (%d kB requested , %d kB available)\n" , info->node, mem >>10 , (unsigned int ) (info->screen_size >>10 ));return -EINVAL ; } rv =svga_check_timings (&s3_timing_regs, var, info->node); -if (rv <0 ) - { +if (rv <0 ) {printk (KERN_ERR "fb%d: invalid timings requested\n" , info->node);return rv; } + rv =svga_compute_pll (&s3_pll,PICOS2KHZ (var->pixclock), &m, &n, &r, + info->node); +if (rv <0 ) { +printk (KERN_ERR "fb%d: invalid pixclock value requested\n" , + info->node); +return rv; + } +return 0 ; }
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/