diff options
Diffstat (limited to 'arch/arm/mach-davinci/psc.c')
-rw-r--r-- | arch/arm/mach-davinci/psc.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/arm/mach-davinci/psc.c b/arch/arm/mach-davinci/psc.c index 1b15dbd0a77b..a41580400701 100644 --- a/arch/arm/mach-davinci/psc.c +++ b/arch/arm/mach-davinci/psc.c | |||
@@ -83,21 +83,16 @@ void davinci_psc_config(unsigned int domain, unsigned int ctlr, | |||
83 | pdctl1 = __raw_readl(psc_base + PDCTL1); | 83 | pdctl1 = __raw_readl(psc_base + PDCTL1); |
84 | pdctl1 |= 0x100; | 84 | pdctl1 |= 0x100; |
85 | __raw_writel(pdctl1, psc_base + PDCTL1); | 85 | __raw_writel(pdctl1, psc_base + PDCTL1); |
86 | |||
87 | do { | ||
88 | ptstat = __raw_readl(psc_base + | ||
89 | PTSTAT); | ||
90 | } while (!(((ptstat >> domain) & 1) == 0)); | ||
91 | } else { | 86 | } else { |
92 | ptcmd = 1 << domain; | 87 | ptcmd = 1 << domain; |
93 | __raw_writel(ptcmd, psc_base + PTCMD); | 88 | __raw_writel(ptcmd, psc_base + PTCMD); |
94 | |||
95 | do { | ||
96 | ptstat = __raw_readl(psc_base + PTSTAT); | ||
97 | } while (!(((ptstat >> domain) & 1) == 0)); | ||
98 | } | 89 | } |
99 | 90 | ||
100 | do { | 91 | do { |
92 | ptstat = __raw_readl(psc_base + PTSTAT); | ||
93 | } while (!(((ptstat >> domain) & 1) == 0)); | ||
94 | |||
95 | do { | ||
101 | mdstat = __raw_readl(psc_base + MDSTAT + 4 * id); | 96 | mdstat = __raw_readl(psc_base + MDSTAT + 4 * id); |
102 | } while (!((mdstat & MDSTAT_STATE_MASK) == next_state)); | 97 | } while (!((mdstat & MDSTAT_STATE_MASK) == next_state)); |
103 | 98 | ||