sm501fb: fix timing limits

Vertical sync height register can only hold 6 bits.  Fix the hsync start test
to use > instead of >=.  Also add a few clarifying comments.

Signed-off-by: Ville Syrjala <[email protected]>
Acked-by: Ben Dooks <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Ville Syrjala 2008-03-04 14:28:49 -08:00 • committed by Linus Torvalds
commit 7e533705bd

View file

@ -237,12 +237,14 @@ static int sm501fb_check_var(struct fb_var_screeninfo *var,
/* check we can fit these values into the registers */
if (var->hsync_len > 255 || var->vsync_len > 255)
if (var->hsync_len > 255 || var->vsync_len > 63)
return -EINVAL;
if ((var->xres + var->right_margin) >= 4096)
/* hdisplay end and hsync start */
if ((var->xres + var->right_margin) > 4096)
return -EINVAL;
/* vdisplay end and vsync start */
if ((var->yres + var->lower_margin) > 2048)
return -EINVAL;