[PATCH] atyfb: Don't stretch with CRT
authorVille Syrjälä <syrjala@sci.fi>
Tue, 10 Jan 2006 04:53:26 +0000 (20:53 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 10 Jan 2006 16:01:48 +0000 (08:01 -0800)
The overlay on 3D Rage LT Pro doesn't work correctly if stretching is
enabled when using only a CRT.

Signed-off-by: Ville Syrjälä <syrjala@sci.fi>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/video/aty/atyfb_base.c

index 845da14..ea3eebc 100644 (file)
@@ -982,7 +982,7 @@ static int aty_var_to_crtc(const struct fb_info *info,
                crtc->horz_stretching &=
                        ~(HORZ_STRETCH_RATIO | HORZ_STRETCH_LOOP | AUTO_HORZ_RATIO |
                        HORZ_STRETCH_MODE | HORZ_STRETCH_EN);
-               if (xres < par->lcd_width) {
+               if (xres < par->lcd_width && crtc->lcd_gen_cntl & LCD_ON) {
                        do {
                                /*
                                * 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,
                        } 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 |
                                (((vdisplay * (VERT_STRETCH_RATIO0 + 1)) / par->lcd_height) & VERT_STRETCH_RATIO0));