Commit e98cef1e authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Linus Torvalds

[PATCH] atyfb: Don't stretch with CRT

The overlay on 3D Rage LT Pro doesn't work correctly if stretching is
enabled when using only a CRT.
Signed-off-by: default avatarVille Syrjälä <syrjala@sci.fi>
Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent a87d7fdd
...@@ -982,7 +982,7 @@ static int aty_var_to_crtc(const struct fb_info *info, ...@@ -982,7 +982,7 @@ static int aty_var_to_crtc(const struct fb_info *info,
crtc->horz_stretching &= crtc->horz_stretching &=
~(HORZ_STRETCH_RATIO | HORZ_STRETCH_LOOP | AUTO_HORZ_RATIO | ~(HORZ_STRETCH_RATIO | HORZ_STRETCH_LOOP | AUTO_HORZ_RATIO |
HORZ_STRETCH_MODE | HORZ_STRETCH_EN); HORZ_STRETCH_MODE | HORZ_STRETCH_EN);
if (xres < par->lcd_width) { if (xres < par->lcd_width && crtc->lcd_gen_cntl & LCD_ON) {
do { do {
/* /*
* The horizontal blender misbehaves when HDisplay is less than a * The horizontal blender misbehaves when HDisplay is less than a
...@@ -1044,7 +1044,7 @@ static int aty_var_to_crtc(const struct fb_info *info, ...@@ -1044,7 +1044,7 @@ static int aty_var_to_crtc(const struct fb_info *info,
} while (0); } while (0);
} }
if (vdisplay < par->lcd_height) { if (vdisplay < par->lcd_height && crtc->lcd_gen_cntl & LCD_ON) {
crtc->vert_stretching = (VERT_STRETCH_USE0 | VERT_STRETCH_EN | crtc->vert_stretching = (VERT_STRETCH_USE0 | VERT_STRETCH_EN |
(((vdisplay * (VERT_STRETCH_RATIO0 + 1)) / par->lcd_height) & VERT_STRETCH_RATIO0)); (((vdisplay * (VERT_STRETCH_RATIO0 + 1)) / par->lcd_height) & VERT_STRETCH_RATIO0));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment