summaryrefslogtreecommitdiff
path: root/drivers/video/tegra
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@nvidia.com>2011-07-14 13:13:53 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:52:16 -0800
commit457ab9cb9c036f9e62a00f7582de09b10e7d114c (patch)
tree96c918bb3d5c9b52e89a23ff30972d1f75ffbcb8 /drivers/video/tegra
parent8478c748aec2f4e409ef49dabaa33a84450eafd2 (diff)
HACK: handle DC IRQ when off gracefully
Change-Id: I613ad237bda9845c928b27b96db227e484b95f7d Reviewed-on: http://git-master/r/41077 Tested-by: Daniel Willemsen <dwillemsen@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Daniel Willemsen <dwillemsen@nvidia.com> Rebase-Id: Rbc20d94729500157b45207bac4ab0d4340297af2
Diffstat (limited to 'drivers/video/tegra')
-rw-r--r--drivers/video/tegra/dc/dc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index c7f448e3f3e3..9b3f3a3014cd 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -2110,6 +2110,15 @@ static irqreturn_t tegra_dc_irq(int irq, void *ptr)
unsigned long val;
unsigned long underflow_mask;
+ if (!nvhost_module_powered(&dc->ndev->host->mod)) {
+ WARN(1, "IRQ when DC not powered!\n");
+ tegra_dc_io_start(dc);
+ status = tegra_dc_readl(dc, DC_CMD_INT_STATUS);
+ tegra_dc_writel(dc, status, DC_CMD_INT_STATUS);
+ tegra_dc_io_end(dc);
+ return IRQ_HANDLED;
+ }
+
status = tegra_dc_readl(dc, DC_CMD_INT_STATUS);
tegra_dc_writel(dc, status, DC_CMD_INT_STATUS);