From 1c7ef350b68445758966f6acf0f4f8a62f4a8e75 Mon Sep 17 00:00:00 2001 From: Erik Gilling Date: Fri, 18 Feb 2011 16:24:37 -0800 Subject: [PATCH] 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 --- drivers/video/tegra/dc/dc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c index 1768efbc6e13..43d31840fd34 100644 --- a/drivers/video/tegra/dc/dc.c +++ b/drivers/video/tegra/dc/dc.c @@ -1047,6 +1047,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); @@ -1118,10 +1121,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); } -- 2.34.1