summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPankaj Dabade <pdabade@nvidia.com>2014-09-05 16:25:59 +0530
committerWinnie Hsu <whsu@nvidia.com>2014-09-08 11:27:51 -0700
commitad3b5e072755fcc0b7fcefa212079e1be475cd1b (patch)
treec00add407a1c50325565050f2d5c5f42c06506ef /drivers
parent4f13e42a49a8809949e4654c27a2d8d0c109b537 (diff)
tegra: fb: Notify fbcon DC is unavailable
In the absence of hotplug, monitor data and mode database is removed and DC is switched off. However, fbcon is unaware. This patch adds the change to fb_info state to suspend while updating monitor specs. This state will denote that the hardware is unavailable. Info will be restored to state running once modelist is available. Bug 200031817 Change-Id: I0d4a51fdaa383d9201ab299d602fb3cc9ed93f52 Signed-off-by: Pankaj Dabade <pdabade@nvidia.com> Reviewed-on: http://git-master/r/496027 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/tegra/fb.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/tegra/fb.c b/drivers/video/tegra/fb.c
index 77be9a3cd5f3..33e1d7f76a08 100644
--- a/drivers/video/tegra/fb.c
+++ b/drivers/video/tegra/fb.c
@@ -595,6 +595,9 @@ void tegra_fb_update_monspecs(struct tegra_fb_info *fb_info,
fb_destroy_modelist(&fb_info->info->modelist);
+ /* Notify layers above fb.c that the hardware is unavailable */
+ fb_info->info->state = FBINFO_STATE_SUSPENDED;
+
if (specs == NULL) {
struct tegra_dc_mode mode;
memset(&fb_info->info->monspecs, 0x0,
@@ -630,6 +633,8 @@ void tegra_fb_update_monspecs(struct tegra_fb_info *fb_info,
}
event.info = fb_info->info;
+ /* Restoring to state running. */
+ fb_info->info->state = FBINFO_STATE_RUNNING;
#ifdef CONFIG_FRAMEBUFFER_CONSOLE
console_lock();
fb_notifier_call_chain(FB_EVENT_NEW_MODELIST, &event);