mirror of https://gitee.com/openkylin/linux.git
drm/qxl: use kernel mode db
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 <kraxel@redhat.com> Acked-by: Noralf Trønnes <noralf@tronnes.org> Link: http://patchwork.freedesktop.org/patch/msgid/20190118122020.27596-23-kraxel@redhat.com
This commit is contained in:
parent
1b043677d4
commit
b5f030b7b4
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue