drm/mgag200: Don't change unrelated registers during modeset
authorChristopher Harvey <charvey@matrox.com>
Fri, 12 Apr 2013 20:42:19 +0000 (20:42 +0000)
committerDave Airlie <airlied@redhat.com>
Mon, 13 May 2013 02:16:36 +0000 (12:16 +1000)
Registers in indices below 0x18 are totally unrelated to modesetting,
so don't write 0's, or anything else into them on modeset. Most of
these registers are hardware cursor related, so this existing code
interferes with hardware cursor development.

Signed-off-by: Christopher Harvey <charvey@matrox.com>
Tested-by: Julia Lemire <jlemire@matrox.com>
Acked-by: Julia Lemire <jlemire@matrox.com>
Acked-by: Mathieu Larouche <mathieu.larouche@matrox.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/mgag200/mgag200_mode.c

index 7337013a4a0e618acd35c68c4d0ea8c961daf976..2affe7af6cbb0f7cadd898611bcee36f47531693 100644 (file)
@@ -832,11 +832,7 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
 
 
        for (i = 0; i < sizeof(dacvalue); i++) {
-               if ((i <= 0x03) ||
-                   (i == 0x07) ||
-                   (i == 0x0b) ||
-                   (i == 0x0f) ||
-                   ((i >= 0x13) && (i <= 0x17)) ||
+               if ((i <= 0x17) ||
                    (i == 0x1b) ||
                    (i == 0x1c) ||
                    ((i >= 0x1f) && (i <= 0x29)) ||