omap iommu: move iommu_disable at fault to the above layer
authorHiroshi DOYU <Hiroshi.DOYU@nokia.com>
Mon, 24 May 2010 02:01:52 +0000 (02:01 +0000)
committerHiroshi DOYU <Hiroshi.DOYU@nokia.com>
Tue, 29 Jun 2010 04:55:07 +0000 (07:55 +0300)
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>
arch/arm/mach-omap2/iommu2.c
arch/arm/plat-omap/iommu.c

index edf7cd4b6553071c9ba119bec9471f977ed02f38..14ee686b64923c94f89303eb2ed2dfd1a8971838 100644 (file)
@@ -172,7 +172,7 @@ static u32 omap2_iommu_fault_isr(struct iommu *obj, u32 *ra)
        printk("\n");
 
        iommu_write_reg(obj, stat, MMU_IRQSTATUS);
-       omap2_iommu_disable(obj);
+
        return stat;
 }
 
index 688ae66bb8fc552647aab7676496150c1e9a8c27..a202a2ce6e3d0018ee3022ead0ba835527e3a4b0 100644 (file)
@@ -800,6 +800,8 @@ static irqreturn_t iommu_fault_handler(int irq, void *data)
        if (!stat)
                return IRQ_HANDLED;
 
+       iommu_disable(obj);
+
        iopgd = iopgd_offset(obj, da);
 
        if (!iopgd_is_table(*iopgd)) {