diff options
author | Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 2010-05-23 22:01:52 -0400 |
---|---|---|
committer | Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 2010-06-29 00:55:07 -0400 |
commit | 37b298100f0ff8b954217635504c860cdb040ccf (patch) | |
tree | d661c81739f69802d99e937b2ee3d5244d3f460b | |
parent | ddfa975a8cf66753a7d829bada753c3617628486 (diff) |
omap iommu: move iommu_disable at fault to the above layer
The function prefix "omap2_iommu_" indicates that the prefixed
function belongs to "omap2_iommu_ops" to provide iommu basic
functionalities for the above layers. It's better to avoid the
prefixed function called in the same prefixed ones internally, like
nested here. Now "iommu_disable" is called just after fault_isr() in
the above layer. This is a little bit more sensible to keep the
consistency of module layers.
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
-rw-r--r-- | arch/arm/mach-omap2/iommu2.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/iommu.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c index edf7cd4b6553..14ee686b6492 100644 --- a/arch/arm/mach-omap2/iommu2.c +++ b/arch/arm/mach-omap2/iommu2.c | |||
@@ -172,7 +172,7 @@ static u32 omap2_iommu_fault_isr(struct iommu *obj, u32 *ra) | |||
172 | printk("\n"); | 172 | printk("\n"); |
173 | 173 | ||
174 | iommu_write_reg(obj, stat, MMU_IRQSTATUS); | 174 | iommu_write_reg(obj, stat, MMU_IRQSTATUS); |
175 | omap2_iommu_disable(obj); | 175 | |
176 | return stat; | 176 | return stat; |
177 | } | 177 | } |
178 | 178 | ||
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c index 688ae66bb8fc..a202a2ce6e3d 100644 --- a/arch/arm/plat-omap/iommu.c +++ b/arch/arm/plat-omap/iommu.c | |||
@@ -800,6 +800,8 @@ static irqreturn_t iommu_fault_handler(int irq, void *data) | |||
800 | if (!stat) | 800 | if (!stat) |
801 | return IRQ_HANDLED; | 801 | return IRQ_HANDLED; |
802 | 802 | ||
803 | iommu_disable(obj); | ||
804 | |||
803 | iopgd = iopgd_offset(obj, da); | 805 | iopgd = iopgd_offset(obj, da); |
804 | 806 | ||
805 | if (!iopgd_is_table(*iopgd)) { | 807 | if (!iopgd_is_table(*iopgd)) { |