diff options
Diffstat (limited to 'arch/arm/mach-omap2/cm4xxx.c')
| -rw-r--r-- | arch/arm/mach-omap2/cm4xxx.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/cm4xxx.c b/arch/arm/mach-omap2/cm4xxx.c index b101091e95d6..f8a660a1a4a6 100644 --- a/arch/arm/mach-omap2/cm4xxx.c +++ b/arch/arm/mach-omap2/cm4xxx.c | |||
| @@ -43,7 +43,6 @@ | |||
| 43 | * using separate functional clock | 43 | * using separate functional clock |
| 44 | * 0x3 disabled: Module is disabled and cannot be accessed | 44 | * 0x3 disabled: Module is disabled and cannot be accessed |
| 45 | * | 45 | * |
| 46 | * TODO: Need to handle module accessible in idle state | ||
| 47 | */ | 46 | */ |
| 48 | int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg) | 47 | int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg) |
| 49 | { | 48 | { |
| @@ -52,9 +51,11 @@ int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg) | |||
| 52 | if (!clkctrl_reg) | 51 | if (!clkctrl_reg) |
| 53 | return 0; | 52 | return 0; |
| 54 | 53 | ||
| 55 | omap_test_timeout(((__raw_readl(clkctrl_reg) & | 54 | omap_test_timeout(( |
| 56 | OMAP4430_IDLEST_MASK) == 0), | 55 | ((__raw_readl(clkctrl_reg) & OMAP4430_IDLEST_MASK) == 0) || |
| 57 | MAX_MODULE_READY_TIME, i); | 56 | (((__raw_readl(clkctrl_reg) & OMAP4430_IDLEST_MASK) >> |
| 57 | OMAP4430_IDLEST_SHIFT) == 0x2)), | ||
| 58 | MAX_MODULE_READY_TIME, i); | ||
| 58 | 59 | ||
| 59 | return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; | 60 | return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY; |
| 60 | } | 61 | } |
