From 457ab9cb9c036f9e62a00f7582de09b10e7d114c Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Thu, 14 Jul 2011 13:13:53 -0700 Subject: HACK: handle DC IRQ when off gracefully Change-Id: I613ad237bda9845c928b27b96db227e484b95f7d Reviewed-on: http://git-master/r/41077 Tested-by: Daniel Willemsen Reviewed-by: Scott Williams Reviewed-by: Daniel Willemsen Rebase-Id: Rbc20d94729500157b45207bac4ab0d4340297af2 --- drivers/video/tegra/dc/dc.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'drivers/video/tegra/dc/dc.c') 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); -- cgit v1.2.3