OMAP24xx: CM: fix mask used for checking IDLEST status
authorKevin Hilman <khilman@deeprootsystems.com>
Mon, 26 Jul 2010 22:34:28 +0000 (16:34 -0600)
committerPaul Walmsley <paul@pwsan.com>
Mon, 26 Jul 2010 22:34:28 +0000 (16:34 -0600)
On OMAP24xx, the polarity for the IDLEST bits is opposite of OMAP3.
The mask used to check this was using the bit position instead of the
bit mask.

This patch fixes the problem by using the bit mask instead of the bit
field.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/cm.c

index 2d83565d2be29b8d0be4ea06f4208aaf593378bb..721c3b66740acd1475793c6ee4029c65e8db3815 100644 (file)
@@ -50,15 +50,15 @@ int omap2_cm_wait_module_ready(s16 prcm_mod, u8 idlest_id, u8 idlest_shift)
 
        cm_idlest_reg = cm_idlest_offs[idlest_id - 1];
 
+       mask = 1 << idlest_shift;
+
        if (cpu_is_omap24xx())
-               ena = idlest_shift;
+               ena = mask;
        else if (cpu_is_omap34xx())
                ena = 0;
        else
                BUG();
 
-       mask = 1 << idlest_shift;
-
        /* XXX should be OMAP2 CM */
        omap_test_timeout(((cm_read_mod_reg(prcm_mod, cm_idlest_reg) & mask) == ena),
                          MAX_MODULE_READY_TIME, i);