video: tegra: allow clearing of video modes in fb driver
authorErik Gilling <konkers@android.com>
Tue, 19 Oct 2010 21:49:05 +0000 (14:49 -0700)
committerErik Gilling <konkers@android.com>
Thu, 21 Oct 2010 01:21:34 +0000 (18:21 -0700)
Change-Id: Ibec4fd2ef7136843b68c52b60862b2c5c3e795fc
Signed-off-by: Erik Gilling <konkers@android.com>
drivers/video/tegra/fb.c

index 6d826d03aef903025b2fdccc95f16d018762a0c4..ef4e4c3e370852f2619bf50a192286d922b7b9cd 100644 (file)
@@ -553,11 +553,21 @@ void tegra_fb_update_monspecs(struct tegra_fb_info *fb_info,
        mutex_lock(&fb_info->info->lock);
        fb_destroy_modedb(fb_info->info->monspecs.modedb);
 
+       fb_destroy_modelist(&fb_info->info->modelist);
+
+       if (specs == NULL) {
+               struct tegra_dc_mode mode;
+               memset(&fb_info->info->monspecs, 0x0,
+                      sizeof(fb_info->info->monspecs));
+               memset(&mode, 0x0, sizeof(mode));
+               tegra_dc_set_mode(fb_info->win->dc, &mode);
+               mutex_unlock(&fb_info->info->lock);
+               return;
+       }
+
        memcpy(&fb_info->info->monspecs, specs,
               sizeof(fb_info->info->monspecs));
 
-       fb_destroy_modelist(&fb_info->info->modelist);
-
        for (i = 0; i < specs->modedb_len; i++) {
                if (mode_filter) {
                        if (mode_filter(&specs->modedb[i]))