diff options
author | Angela Stegmaier <angelabaker@ti.com> | 2011-10-25 10:50:48 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2011-10-25 10:50:48 +0800 |
commit | 7617cc1163350d4e8eeaaae65ae7c31ce6c488e4 (patch) | |
tree | d92f60580561e61a45f8e786e7cb7fa41651dc64 | |
parent | 81eb197fca85b9461822a1fe85c9a7baabe72ed5 (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.c | 4 |
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; } |