diff options
| -rw-r--r-- | arch/unicore32/kernel/clock.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/unicore32/kernel/clock.c b/arch/unicore32/kernel/clock.c index 18d4563e6fa5..b1ca775f6f6e 100644 --- a/arch/unicore32/kernel/clock.c +++ b/arch/unicore32/kernel/clock.c | |||
| @@ -179,7 +179,7 @@ int clk_set_rate(struct clk *clk, unsigned long rate) | |||
| 179 | } | 179 | } |
| 180 | #ifdef CONFIG_CPU_FREQ | 180 | #ifdef CONFIG_CPU_FREQ |
| 181 | if (clk == &clk_mclk_clk) { | 181 | if (clk == &clk_mclk_clk) { |
| 182 | u32 pll_rate, divstatus = PM_DIVSTATUS; | 182 | u32 pll_rate, divstatus = readl(PM_DIVSTATUS); |
| 183 | int ret, i; | 183 | int ret, i; |
| 184 | 184 | ||
| 185 | /* lookup mclk_clk_table */ | 185 | /* lookup mclk_clk_table */ |
| @@ -201,10 +201,10 @@ int clk_set_rate(struct clk *clk, unsigned long rate) | |||
| 201 | / (((divstatus & 0x0000f000) >> 12) + 1); | 201 | / (((divstatus & 0x0000f000) >> 12) + 1); |
| 202 | 202 | ||
| 203 | /* set pll sys cfg reg. */ | 203 | /* set pll sys cfg reg. */ |
| 204 | PM_PLLSYSCFG = pll_rate; | 204 | writel(pll_rate, PM_PLLSYSCFG); |
| 205 | 205 | ||
| 206 | PM_PMCR = PM_PMCR_CFBSYS; | 206 | writel(PM_PMCR_CFBSYS, PM_PMCR); |
| 207 | while ((PM_PLLDFCDONE & PM_PLLDFCDONE_SYSDFC) | 207 | while ((readl(PM_PLLDFCDONE) & PM_PLLDFCDONE_SYSDFC) |
| 208 | != PM_PLLDFCDONE_SYSDFC) | 208 | != PM_PLLDFCDONE_SYSDFC) |
| 209 | udelay(100); | 209 | udelay(100); |
| 210 | /* about 1ms */ | 210 | /* about 1ms */ |
