summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorNitin Kumbhar <nkumbhar@nvidia.com>2011-04-20 11:27:04 +0530
committerNitin Kumbhar <nkumbhar@nvidia.com>2011-04-20 11:27:04 +0530
commit8afdbac208df0b2d6a88faadcd0adcfb085486b4 (patch)
tree7ef53e44be5bcdf7c355429ece2d6c628e42bc85 /drivers
parent2998ead828412c83de86e344f1c1e767bc01d7ca (diff)
parentf249634bf50fbfcd3b8730cb1a343bc3c59635ec (diff)
merging android-tegra-2.6.36 into git-master/linux-2.6/android-tegra-2.6.36
Change-Id: I903db54b76781cdb9231bb25d79635cb8f264087
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/tegra/dc/dc.c8
-rw-r--r--drivers/video/tegra/dc/dc_priv.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index 30d46d4e94e8..fc87efb681a3 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -1277,7 +1277,9 @@ void tegra_dc_disable(struct tegra_dc *dc)
if (dc->enabled) {
dc->enabled = false;
- _tegra_dc_disable(dc);
+
+ if (!dc->suspended)
+ _tegra_dc_disable(dc);
}
switch_set_state(&dc->modeset_switch, 0);
@@ -1582,6 +1584,8 @@ static int tegra_dc_suspend(struct nvhost_device *ndev, pm_message_t state)
if (dc->enabled) {
tegra_fb_suspend(dc->fb);
_tegra_dc_disable(dc);
+
+ dc->suspended = true;
}
mutex_unlock(&dc->lock);
@@ -1595,6 +1599,8 @@ static int tegra_dc_resume(struct nvhost_device *ndev)
dev_info(&ndev->dev, "resume\n");
mutex_lock(&dc->lock);
+ dc->suspended = false;
+
if (dc->enabled)
_tegra_dc_enable(dc);
diff --git a/drivers/video/tegra/dc/dc_priv.h b/drivers/video/tegra/dc/dc_priv.h
index 10a8d50cd80e..d31c4436dcba 100644
--- a/drivers/video/tegra/dc/dc_priv.h
+++ b/drivers/video/tegra/dc/dc_priv.h
@@ -64,6 +64,7 @@ struct tegra_dc {
struct clk *emc_clk;
bool enabled;
+ bool suspended;
struct tegra_dc_out *out;
struct tegra_dc_out_ops *out_ops;