summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/dc.c
diff options
context:
space:
mode:
authorkevinh <kevinh@nvidia.com>2011-03-18 00:12:40 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:45:00 -0800
commit8e5b4bf943dd301cd6041b80732047ee308b4823 (patch)
tree14a348387bd0e9e56a5fd31d5fc2a8e8dd8d3292 /drivers/video/tegra/dc/dc.c
parent683c33d8d6de1c117b99a89a2784ac0e10c88f29 (diff)
video: tegra: dsi: Stop dc stream at the frame end
Fixed tegra_dsi_stop_dc_stream() to flush register immediately. Added tegra_dsi_stop_dc_stream_at_frame_end(). Original-Change-Id: Ie4fe1f6d59e6bf0dab40251f33a0c2f8d816fdd8 Reviewed-on: http://git-master/r/23488 Reviewed-by: Kevin Huang <kevinh@nvidia.com> Tested-by: Kevin Huang <kevinh@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Original-Change-Id: I398cb977146656936c5768c2bc3ec83f7bdc7c66 Rebase-Id: Rda5a11692992edd47c49e0f30446efc0a26e747e
Diffstat (limited to 'drivers/video/tegra/dc/dc.c')
-rw-r--r--drivers/video/tegra/dc/dc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index 201c034392e0..1099b8746093 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -1181,6 +1181,9 @@ static irqreturn_t tegra_dc_irq(int irq, void *ptr)
status = tegra_dc_readl(dc, DC_CMD_INT_STATUS);
tegra_dc_writel(dc, status, DC_CMD_INT_STATUS);
+ if (status & V_BLANK_INT)
+ complete(&dc->v_blank_complete);
+
if (status & FRAME_END_INT) {
int completed = 0;
int dirty = 0;
@@ -1640,6 +1643,7 @@ static int tegra_dc_probe(struct nvhost_device *ndev)
dc->enabled = true;
mutex_init(&dc->lock);
+ init_completion(&dc->v_blank_complete);
init_waitqueue_head(&dc->wq);
INIT_WORK(&dc->reset_work, tegra_dc_reset_worker);