]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
video:tegra:adds ability set arbitrary video modes
authorJong Kim <jongk@nvidia.com>
Fri, 2 Aug 2013 22:32:15 +0000 (15:32 -0700)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 20:40:01 +0000 (13:40 -0700)
display controller no longer has to be programmed
using a list of videomodes, it can now be progrmmed
using arbitrary video modes.

Change-Id: I0bca9d84e2c2417a6095c111ae8f9e9905554a70
Signed-off-by: Samuel Payne <spayne@nvidia.com>
Signed-off-by: Jong Kim <jongk@nvidia.com>
Reviewed-on: http://git-master/r/251496
(cherry picked from commit dae9342bb31fa9f28d6ad9bbb3e0acf6f6995ed2)
Reviewed-on: http://git-master/r/255722
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Jon Mayo <jmayo@nvidia.com>
drivers/video/tegra/fb.c

index 432761a567c802fded482b677ff14ed08e3a226f..5f7e00f68e063ca20c9d9304396751eef39c8a9c 100644 (file)
@@ -62,6 +62,8 @@ struct tegra_fb_info {
        int                     yres;
        int                     curr_xoffset;
        int                     curr_yoffset;
+
+       struct fb_videomode     mode;
 };
 
 /* palette array used by the fbcon */
@@ -147,6 +149,8 @@ static int tegra_fb_set_par(struct fb_info *info)
                unsigned old_len = 0;
                struct fb_videomode m;
                struct fb_videomode *old_mode = NULL;
+               struct tegra_fb_info *tegra_fb = info->par;
+
 
                fb_var_to_videomode(&m, var);
 
@@ -170,8 +174,9 @@ static int tegra_fb_set_par(struct fb_info *info)
                tmp_mode.refresh = m.refresh;
                info->mode = &tmp_mode;
 #else
-               info->mode = (struct fb_videomode *)
-                       fb_find_nearest_mode(&m, &info->modelist);
+               memcpy(&tegra_fb->mode, &m, sizeof(tegra_fb->mode));
+
+               info->mode = (struct fb_videomode *)&tegra_fb->mode;
 #endif
                if (!info->mode) {
                        dev_warn(&tegra_fb->ndev->dev, "can't match video mode\n");