summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJong Kim <jongk@nvidia.com>2012-12-20 17:16:57 -0800
committerWinnie Hsu <whsu@nvidia.com>2012-12-20 17:27:53 -0800
commita7d49070ee698d42f0fffee54d184c6ebb6ce487 (patch)
tree047c0cba509950ad12c13c0f3c39e2f9918a8ad9
parent83009bd159cfc34e30fdf0add82722d09ad92556 (diff)
arm: tegra: dc: corrct order to enable/disable dc irq
When porting change from mainline to balance dc irq, the change of enable/disable order was not ported, thus dc irq is disabled if dc is enabled during probe. This is part of http://git-master/r/146107. Original change is big for many bugs, only port one here. bug 1173177 bug 1173038 bug 1008313 Change-Id: Idd703daca9f980e905b185eeeae19dc6309d76e5 Signed-off-by: Dongfang Shi <dshi@nvidia.com> Reviewed-on: http://git-master/r/162868 (cherry picked from commit 6ddd8b02f7a17d2269290d06159c20860ffb92e9) Signed-off-by: Jong Kim <jongk@nvidia.com> Reviewed-on: http://git-master/r/173249 Reviewed-by: Winnie Hsu <whsu@nvidia.com> Reviewed-by: Jon Mayo <jmayo@nvidia.com>
-rw-r--r--drivers/video/tegra/dc/dc.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index d01df2f..ed54e9e 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -1875,13 +1875,6 @@ static int tegra_dc_probe(struct nvhost_device *ndev,
dc->ext = NULL;
}
- mutex_lock(&dc->lock);
- if (dc->pdata->flags & TEGRA_DC_FLAG_ENABLED) {
- _tegra_dc_set_default_videomode(dc);
- dc->enabled = _tegra_dc_enable(dc);
- }
- mutex_unlock(&dc->lock);
-
/* interrupt handler must be registered before tegra_fb_register() */
if (request_irq(irq, tegra_dc_irq, 0,
dev_name(&ndev->dev), dc)) {
@@ -1889,6 +1882,14 @@ static int tegra_dc_probe(struct nvhost_device *ndev,
ret = -EBUSY;
goto err_put_emc_clk;
}
+ disable_dc_irq(irq);
+
+ mutex_lock(&dc->lock);
+ if (dc->pdata->flags & TEGRA_DC_FLAG_ENABLED) {
+ _tegra_dc_set_default_videomode(dc);
+ dc->enabled = _tegra_dc_enable(dc);
+ }
+ mutex_unlock(&dc->lock);
tegra_dc_create_debugfs(dc);