Matrox hardware only supports modes whose horizontal parameters are
multiples of 8. This rules out a mode like 1366x768 for example.

Signed-off-by: Egbert Eich <eich at suse.com>
---
 drivers/gpu/drm/mgag200/mgag200_mode.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c 
b/drivers/gpu/drm/mgag200/mgag200_mode.c
index 503a414..0bb0e1e 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -1491,6 +1491,10 @@ static int mga_vga_mode_valid(struct drm_connector 
*connector,
        int bpp = 32;
        int i = 0;

+       if (mode->hdisplay % 8 || mode->hsync_start % 8 ||
+           mode->hsync_end % 8 || mode->htotal % 8)
+               return MODE_H_ILLEGAL;
+
        if (IS_G200_SE(mdev)) {
                if (mdev->unique_rev_id == 0x01) {
                        if (mode->hdisplay > 1600)
-- 
1.8.1.4

Reply via email to