summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngela Stegmaier <angelabaker@ti.com>2011-10-25 10:50:48 +0800
committerAndy Green <andy.green@linaro.org>2011-10-25 10:50:48 +0800
commit7617cc1163350d4e8eeaaae65ae7c31ce6c488e4 (patch)
treed92f60580561e61a45f8e786e7cb7fa41651dc64
parent81eb197fca85b9461822a1fe85c9a7baabe72ed5 (diff)
omap:iommu-disable the MMU interrupts in fault ISR
Instead of disabling the MMU device, just disable the MMU interrupts when the MMU fault occurs. This change is required because the user applications might be releasing the MMU resources after the MMU fault recovery and this requires MMU to be in enabled state. MMU will be disabled after all the open handles to IOMMU are closed. Signed-off-by: Hari Kanigeri <h-kanigeri2@ti.com> Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
-rw-r--r--arch/arm/mach-omap2/iommu2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c
index bf4ca2cbbb1..2eaeaa2c428 100644
--- a/arch/arm/mach-omap2/iommu2.c
+++ b/arch/arm/mach-omap2/iommu2.c
@@ -177,7 +177,9 @@ static u32 omap2_iommu_fault_isr(struct iommu *obj, u32 *ra)
errs |= OMAP_IOMMU_ERR_TBLWALK_FAULT;
if (stat & MMU_IRQ_MULTIHITFAULT)
errs |= OMAP_IOMMU_ERR_MULTIHIT_FAULT;
- iommu_write_reg(obj, stat, MMU_IRQSTATUS);
+
+ /* Disable further interrupts */
+ iommu_write_reg(obj, 0, MMU_IRQENABLE);
return errs;
}