From: Egbert Eich <[email protected]>

This code was ported from the xorg mga driver.
The doublescreen_allowed and interlace_allowed flags are set
unconditionally for all models for now.

Signed-off-by: Egbert Eich <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
---
 drivers/gpu/drm/mgag200/mgag200_mode.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c 
b/drivers/gpu/drm/mgag200/mgag200_mode.c
index f4b53588e071..1b2b117a48d1 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -1624,7 +1624,9 @@ static int mga_vga_mode_valid(struct drm_connector 
*connector,
        struct drm_device *dev = connector->dev;
        struct mga_device *mdev = (struct mga_device*)dev->dev_private;
        int bpp = 32;
+       int lace;
 
+       lace = (mode->flags & DRM_MODE_FLAG_INTERLACE) ? 2 : 1;
        if (IS_G200_SE(mdev)) {
                if (mdev->unique_rev_id == 0x01) {
                        if (mode->hdisplay > 1600)
@@ -1676,8 +1678,10 @@ static int mga_vga_mode_valid(struct drm_connector 
*connector,
 
        if (mode->crtc_hdisplay > 2048 || mode->crtc_hsync_start > 4096 ||
            mode->crtc_hsync_end > 4096 || mode->crtc_htotal > 4096 ||
-           mode->crtc_vdisplay > 2048 || mode->crtc_vsync_start > 4096 ||
-           mode->crtc_vsync_end > 4096 || mode->crtc_vtotal > 4096) {
+           mode->crtc_vdisplay > 2048 * lace ||
+           mode->crtc_vsync_start > 4096 * lace ||
+           mode->crtc_vsync_end > 4096 * lace ||
+           mode->crtc_vtotal > 4096 * lace) {
                return MODE_BAD;
        }
 
@@ -1737,6 +1741,9 @@ static struct drm_connector *mga_vga_init(struct 
drm_device *dev)
 
        connector = &mga_connector->base;
 
+       connector->interlace_allowed = true;
+       connector->doublescan_allowed = true;
+
        drm_connector_init(dev, connector,
                           &mga_vga_connector_funcs, DRM_MODE_CONNECTOR_VGA);
 
-- 
2.13.2

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to