summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-enterprise-panel.c
diff options
context:
space:
mode:
authorMayuresh Kulkarni <mkulkarni@nvidia.com>2012-03-05 18:36:47 +0530
committerSimone Willett <swillett@nvidia.com>2012-03-06 18:16:13 -0800
commit8311718a6b9375730ee2f1c036005ab1923059cd (patch)
treee8ab099e4edde55cd1151a5a429a0be21cac154a /arch/arm/mach-tegra/board-enterprise-panel.c
parente2b7ea5f961f096b5a2a2791e80835742649552d (diff)
video: tegra: host: register nvhost master device in board-xxx-panel.c
- the suspend order of devices is governed by the order in which devices are registered - this commit ensures that nvhost master is registered before any of the graphics devices - previously this was done in rootfs_init call which is later than arch_init calls of board-xxx-panel.c - this caused tegra-dc device to be registered *before* nvhost master device. as a result it was suspended *later* than nvhost master device. this is a clear violation of dependency rule for nvhost. this caused suspend-resume to fail for L4T - this worked on android as it has CONFIG early suspend enabled while it failed for L4T which doesn't have CONFIG early suspend enabled Bug 947617 Change-Id: I6cd405f3ba23d004e7659140019f5130e6c25159 Signed-off-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-on: http://git-master/r/87756 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-enterprise-panel.c')
-rw-r--r--arch/arm/mach-tegra/board-enterprise-panel.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise-panel.c b/arch/arm/mach-tegra/board-enterprise-panel.c
index 0defe56a7bc7..9be8582e1be6 100644
--- a/arch/arm/mach-tegra/board-enterprise-panel.c
+++ b/arch/arm/mach-tegra/board-enterprise-panel.c
@@ -709,8 +709,6 @@ struct early_suspend enterprise_panel_early_suspender;
static void enterprise_panel_early_suspend(struct early_suspend *h)
{
- unsigned i;
-
/* power down LCD, add use a black screen for HDMI */
if (num_registered_fb > 0)
fb_blank(registered_fb[0], FB_BLANK_POWERDOWN);
@@ -733,6 +731,7 @@ static void enterprise_panel_early_suspend(struct early_suspend *h)
static void enterprise_panel_late_resume(struct early_suspend *h)
{
unsigned i;
+
#ifdef CONFIG_TEGRA_CONVSERVATIVE_GOV_ON_EARLYSUPSEND
cpufreq_restore_default_governor();
#endif
@@ -786,6 +785,12 @@ int __init enterprise_panel_init(void)
register_early_suspend(&enterprise_panel_early_suspender);
#endif
+#ifdef CONFIG_TEGRA_GRHOST
+ err = nvhost_device_register(&tegra_grhost_device);
+ if (err)
+ return err;
+#endif
+
err = platform_add_devices(enterprise_gfx_devices,
ARRAY_SIZE(enterprise_gfx_devices));