OMAP: IOMMU: function flush_iotlb_page is not flushing correct entry
authorFernando Guzman Lugo <x0095840@ti.com>
Tue, 23 Jun 2009 10:30:25 +0000 (13:30 +0300)
committerTony Lindgren <tony@atomide.com>
Tue, 23 Jun 2009 10:30:25 +0000 (13:30 +0300)
The function flush_iotlb_page is not loading the CAM register with
the correct entry to be flushed, so it is flushing other entry

Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/plat-omap/iommu.c

index 4cf449f..4a03013 100644 (file)
@@ -298,7 +298,7 @@ void flush_iotlb_page(struct iommu *obj, u32 da)
                if ((start <= da) && (da < start + bytes)) {
                        dev_dbg(obj->dev, "%s: %08x<=%08x(%x)\n",
                                __func__, start, da, bytes);
-
+                       iotlb_load_cr(obj, &cr);
                        iommu_write_reg(obj, 1, MMU_FLUSH_ENTRY);
                }
        }