diff options
author | kevinh <kevinh@nvidia.com> | 2011-03-18 00:12:40 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:45:00 -0800 |
commit | 8e5b4bf943dd301cd6041b80732047ee308b4823 (patch) | |
tree | 14a348387bd0e9e56a5fd31d5fc2a8e8dd8d3292 /drivers/video/tegra/dc/dc.c | |
parent | 683c33d8d6de1c117b99a89a2784ac0e10c88f29 (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.c | 4 |
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); |