diff options
author | Ville Syrjala <syrjala@sci.fi> | 2008-03-04 17:28:49 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-04 19:35:13 -0500 |
commit | 7e533705bd973267c488f8c3a7c7246ecad3a414 (patch) | |
tree | 09afdadc6955aa10c226962f0d6607fb35c83124 | |
parent | 19d06eff4e0d77fc1a15c92f845f1916e2d10dd0 (diff) |
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 <syrjala@sci.fi>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/video/sm501fb.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/video/sm501fb.c b/drivers/video/sm501fb.c index f49287c88abe..742b5c656d66 100644 --- a/drivers/video/sm501fb.c +++ b/drivers/video/sm501fb.c | |||
@@ -237,12 +237,14 @@ static int sm501fb_check_var(struct fb_var_screeninfo *var, | |||
237 | 237 | ||
238 | /* check we can fit these values into the registers */ | 238 | /* check we can fit these values into the registers */ |
239 | 239 | ||
240 | if (var->hsync_len > 255 || var->vsync_len > 255) | 240 | if (var->hsync_len > 255 || var->vsync_len > 63) |
241 | return -EINVAL; | 241 | return -EINVAL; |
242 | 242 | ||
243 | if ((var->xres + var->right_margin) >= 4096) | 243 | /* hdisplay end and hsync start */ |
244 | if ((var->xres + var->right_margin) > 4096) | ||
244 | return -EINVAL; | 245 | return -EINVAL; |
245 | 246 | ||
247 | /* vdisplay end and vsync start */ | ||
246 | if ((var->yres + var->lower_margin) > 2048) | 248 | if ((var->yres + var->lower_margin) > 2048) |
247 | return -EINVAL; | 249 | return -EINVAL; |
248 | 250 | ||