Add all standard modes from the kernel's video mode data base.
Keep a few non-standard modes in the qxl mode list.

Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
---
 drivers/gpu/drm/qxl/qxl_display.c | 27 +++++++--------------------
 1 file changed, 7 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_display.c 
b/drivers/gpu/drm/qxl/qxl_display.c
index 926fcb49b2..df768b0c83 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -262,34 +262,20 @@ static int qxl_add_monitors_config_modes(struct 
drm_connector *connector)
 static struct mode_size {
        int w;
        int h;
-} common_modes[] = {
-       { 640,  480},
+} extra_modes[] = {
        { 720,  480},
-       { 800,  600},
-       { 848,  480},
-       {1024,  768},
        {1152,  768},
-       {1280,  720},
-       {1280,  800},
        {1280,  854},
-       {1280,  960},
-       {1280, 1024},
-       {1440,  900},
-       {1400, 1050},
-       {1680, 1050},
-       {1600, 1200},
-       {1920, 1080},
-       {1920, 1200}
 };
 
-static int qxl_add_common_modes(struct drm_connector *connector)
+static int qxl_add_extra_modes(struct drm_connector *connector)
 {
        int i, ret = 0;
 
-       for (i = 0; i < ARRAY_SIZE(common_modes); i++)
+       for (i = 0; i < ARRAY_SIZE(extra_modes); i++)
                ret += qxl_add_mode(connector,
-                                   common_modes[i].w,
-                                   common_modes[i].h,
+                                   extra_modes[i].w,
+                                   extra_modes[i].h,
                                    false);
        return ret;
 }
@@ -1010,7 +996,8 @@ static int qxl_conn_get_modes(struct drm_connector 
*connector)
                        pheight = head->height;
        }
 
-       ret += qxl_add_common_modes(connector);
+       ret += drm_add_modes_noedid(connector, 8192, 8192);
+       ret += qxl_add_extra_modes(connector);
        ret += qxl_add_monitors_config_modes(connector);
        drm_set_preferred_mode(connector, pwidth, pheight);
        return ret;
-- 
2.9.3

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to