* s3c2410fb: fix clockrate calculation
@ 2009-08-20 21:50 Ben Dooks
2009-08-20 22:19 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: Ben Dooks @ 2009-08-20 21:50 UTC (permalink / raw)
To: akpm, linux-fbdev-devel
[-- Attachment #1: s3c2410-fb-fix-rounding.patch --]
[-- Type: text/plain, Size: 1545 bytes --]
In the final part of the calculation for the tft display clockrate we
divide the output pf s3c2410fb_calc_pixclk() by 2 which leaves us with
a rounding error if the result is odd.
Change to using DIV_ROUND_UP() to ensure that we always choose a higher
divisor and thus a lower frequency.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
---
drivers/video/s3c2410fb.c | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
Index: b/drivers/video/s3c2410fb.c
===================================================================
--- a/drivers/video/s3c2410fb.c 2009-08-20 08:45:41.000000000 +0100
+++ b/drivers/video/s3c2410fb.c 2009-08-20 08:45:42.000000000 +0100
@@ -369,7 +369,9 @@ static void s3c2410fb_activate_var(struc
void __iomem *regs = fbi->io;
int type = fbi->regs.lcdcon1 & S3C2410_LCDCON1_TFT;
struct fb_var_screeninfo *var = &info->var;
- int clkdiv = s3c2410fb_calc_pixclk(fbi, var->pixclock) / 2;
+ int clkdiv;
+
+ clkdiv = DIV_ROUND_UP(s3c2410fb_calc_pixclk(fbi, var->pixclock), 2);
printk(KERN_INFO "%s: pixclock=%d, clkdiv=%d\n",
__func__, var->pixclock, clkdiv);
--
Ben (ben@fluff.org, http://www.fluff.org/)
'a smiley only costs 4 bytes'
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: s3c2410fb: fix clockrate calculation
2009-08-20 21:50 s3c2410fb: fix clockrate calculation Ben Dooks
@ 2009-08-20 22:19 ` Andrew Morton
2009-08-27 9:57 ` Ben Dooks
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2009-08-20 22:19 UTC (permalink / raw)
To: Ben Dooks; +Cc: linux-fbdev-devel
On Thu, 20 Aug 2009 22:50:47 +0100
Ben Dooks <ben@simtec.co.uk> wrote:
> In the final part of the calculation for the tft display clockrate we
> divide the output pf s3c2410fb_calc_pixclk() by 2 which leaves us with
> a rounding error if the result is odd.
>
> Change to using DIV_ROUND_UP() to ensure that we always choose a higher
> divisor and thus a lower frequency.
>
> Signed-off-by: Ben Dooks <ben@simtec.co.uk>
>
> ---
> drivers/video/s3c2410fb.c | 4 +++-
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> Index: b/drivers/video/s3c2410fb.c
> ===================================================================
> --- a/drivers/video/s3c2410fb.c 2009-08-20 08:45:41.000000000 +0100
> +++ b/drivers/video/s3c2410fb.c 2009-08-20 08:45:42.000000000 +0100
> @@ -369,7 +369,9 @@ static void s3c2410fb_activate_var(struc
> void __iomem *regs = fbi->io;
> int type = fbi->regs.lcdcon1 & S3C2410_LCDCON1_TFT;
> struct fb_var_screeninfo *var = &info->var;
> - int clkdiv = s3c2410fb_calc_pixclk(fbi, var->pixclock) / 2;
> + int clkdiv;
> +
> + clkdiv = DIV_ROUND_UP(s3c2410fb_calc_pixclk(fbi, var->pixclock), 2);
>
> printk(KERN_INFO "%s: pixclock=%d, clkdiv=%d\n",
> __func__, var->pixclock, clkdiv);
The changelog forgot to tell us what the impact of this bug is, so I
cannot work out whether we need this fix in 2.6.32, 2.6.31, 2.6.30.x, ....
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: s3c2410fb: fix clockrate calculation
2009-08-20 22:19 ` Andrew Morton
@ 2009-08-27 9:57 ` Ben Dooks
0 siblings, 0 replies; 3+ messages in thread
From: Ben Dooks @ 2009-08-27 9:57 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-fbdev-devel
Andrew Morton wrote:
> On Thu, 20 Aug 2009 22:50:47 +0100
> Ben Dooks <ben@simtec.co.uk> wrote:
>
>> In the final part of the calculation for the tft display clockrate we
>> divide the output pf s3c2410fb_calc_pixclk() by 2 which leaves us with
>> a rounding error if the result is odd.
>>
>> Change to using DIV_ROUND_UP() to ensure that we always choose a higher
>> divisor and thus a lower frequency.
>>
>> Signed-off-by: Ben Dooks <ben@simtec.co.uk>
>>
>> ---
>> drivers/video/s3c2410fb.c | 4 +++-
>> 2 files changed, 5 insertions(+), 2 deletions(-)
>>
>> Index: b/drivers/video/s3c2410fb.c
>> ===================================================================
>> --- a/drivers/video/s3c2410fb.c 2009-08-20 08:45:41.000000000 +0100
>> +++ b/drivers/video/s3c2410fb.c 2009-08-20 08:45:42.000000000 +0100
>> @@ -369,7 +369,9 @@ static void s3c2410fb_activate_var(struc
>> void __iomem *regs = fbi->io;
>> int type = fbi->regs.lcdcon1 & S3C2410_LCDCON1_TFT;
>> struct fb_var_screeninfo *var = &info->var;
>> - int clkdiv = s3c2410fb_calc_pixclk(fbi, var->pixclock) / 2;
>> + int clkdiv;
>> +
>> + clkdiv = DIV_ROUND_UP(s3c2410fb_calc_pixclk(fbi, var->pixclock), 2);
>>
>> printk(KERN_INFO "%s: pixclock=%d, clkdiv=%d\n",
>> __func__, var->pixclock, clkdiv);
>
> The changelog forgot to tell us what the impact of this bug is, so I
> cannot work out whether we need this fix in 2.6.32, 2.6.31, 2.6.30.x, ....
Sorry, found this whilst working on a new machine and the pix clock being
too fast for the display. The machine is not yet merged into the mainline
so this not an important fix.
--
Ben Dooks, Software Engineer, Simtec Electronics
http://www.simtec.co.uk/
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-08-27 9:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-20 21:50 s3c2410fb: fix clockrate calculation Ben Dooks
2009-08-20 22:19 ` Andrew Morton
2009-08-27 9:57 ` Ben Dooks
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).