diff options
author | =?UTF-8?q?Vincent=20Stehl=C3=A9?= <v-stehle@ti.com> | 2012-05-31 16:16:51 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-06-20 12:08:12 +0800 |
commit | 71eb14020a065ecdd98d32ec05cf272939f1b463 (patch) | |
tree | afae896355c6d8c07d0ff711007ce27fe1fdd1e5 | |
parent | bdf1c508201c5e35d50879b39638a09a778e304f (diff) |
Fix Benelli reset hack!
Ugly, ugly busy-wait...
Signed-off-by: Vincent Stehlé <v-stehle@ti.com>
-rw-r--r-- | arch/arm/mach-omap2/iommu2.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/iommu2.c b/arch/arm/mach-omap2/iommu2.c index 9334f43fc7f..95fc288c662 100644 --- a/arch/arm/mach-omap2/iommu2.c +++ b/arch/arm/mach-omap2/iommu2.c @@ -17,6 +17,7 @@ #include <linux/module.h> #include <linux/slab.h> #include <linux/stringify.h> +#include <linux/delay.h> #include <plat/iommu.h> #include <plat/omap_hwmod.h> @@ -89,6 +90,10 @@ static int omap2_iommu_enable(struct omap_iommu *obj) if (cpu_is_omap54xx()) { pr_info("omap2_iommu_enable: doing Benelli reset HACK\n"); __raw_writel(3, OMAP2_L4_IO_ADDRESS(0x4AE06910)); + + /* We need some ugly wait here as reread or mb() are not + * sufficient... */ + mdelay(500); } if (!obj->iopgd || !IS_ALIGNED((u32)obj->iopgd, SZ_16K)) |