diff options
author | Erik Gilling <konkers@android.com> | 2011-02-18 16:24:37 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:36:59 -0800 |
commit | 2d0db4a643c2891dd06798ce4d301f9e8d0d9af0 (patch) | |
tree | 650576250d1f616cf6c1f0cf1ddd4d04d9def9a7 /drivers/video | |
parent | ef35f7ba0dae574b7b424bc999ffb5c355be797c (diff) |
video: tegra: de-assert reset after clocks are turned on
In underflow recovery, if the clocks are not enabled when the dc is brought
out of reset writes to the DC will sometimes hang.
Change-Id: If37de79f755196550018f94080ab2beed84ca326
Signed-off-by: Erik Gilling <konkers@android.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/tegra/dc/dc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c index cee7f2543323..2531233b5ddc 100644 --- a/drivers/video/tegra/dc/dc.c +++ b/drivers/video/tegra/dc/dc.c @@ -1024,6 +1024,9 @@ static bool _tegra_dc_enable(struct tegra_dc *dc) clk_enable(dc->clk); clk_enable(dc->emc_clk); + tegra_periph_reset_deassert(dc->clk); + msleep(10); + enable_irq(dc->irq); tegra_dc_init(dc); @@ -1094,10 +1097,10 @@ static void tegra_dc_reset_worker(struct work_struct *work) msleep(100); tegra_periph_reset_assert(dc->clk); - msleep(100); - tegra_periph_reset_deassert(dc->clk); + /* _tegra_dc_enable deasserts reset */ _tegra_dc_enable(dc); + mutex_unlock(&dc->lock); } |