Re: [PATCH] atmel-lcdc: Fix pixclock upper bound detection

From: Nicolas Ferre
Date: Tue May 12 2009 - 08:18:23 EST


Ben Nizette :
> AFAICT the code which checks that the requested pixclock value is within
> bounds is incorrect. It ensures that the lcdc core clock is at least
> (bytes per pixel) times higher than the pixel clock rather than just
> greater than or equal to.
>
> There are tighter restrictions on the pixclock value as a function of
> bus width for STN panels but even then it isn't a simple relationship as
> currently checked for. IMO either something like the below patch should
> be applied or else more detailed checking logic should be implemented
> which takes in to account the panel type as well.
>
> CMIIW :-)
>
> Signed-off-by: Ben Nizette <bn@xxxxxxxxxxxxxxx>

Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx>

> ---
> diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
> index 9a577a8..5779641 100644
> --- a/drivers/video/atmel_lcdfb.c
> +++ b/drivers/video/atmel_lcdfb.c
> @@ -351,7 +351,7 @@ static int atmel_lcdfb_check_var(struct fb_var_screeninfo *var,
> dev_dbg(dev, " bpp: %u\n", var->bits_per_pixel);
> dev_dbg(dev, " clk: %lu KHz\n", clk_value_khz);
>
> - if ((PICOS2KHZ(var->pixclock) * var->bits_per_pixel / 8) > clk_value_khz) {
> + if (PICOS2KHZ(var->pixclock) > clk_value_khz) {
> dev_err(dev, "%lu KHz pixel clock is too fast\n", PICOS2KHZ(var->pixclock));
> return -EINVAL;
> }
>
>
>


--
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/