aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2010-12-07 10:05:55 -0800
committerH. Peter Anvin <hpa@linux.intel.com>2010-12-14 10:48:41 -0800
commit558eddb4785c4ae239008e58af7cfe7d1e75bb97 (patch)
tree2f487603da76260a5526b86431476570233691c8
parenteb39d917350b68c0546ad344833c8044ef776f05 (diff)
downloadmrst-s0i3-test-558eddb4785c4ae239008e58af7cfe7d1e75bb97.tar.gz
mrst-s0i3-test-558eddb4785c4ae239008e58af7cfe7d1e75bb97.tar.xz
mrst-s0i3-test-558eddb4785c4ae239008e58af7cfe7d1e75bb97.zip
s0i3: set up auto clock gating during initialization
For s0i3 to work, and for power levels to be acceptable, we need to enable auto clock gating during initialization. The code had auto clock gating set up after transition, but not initially.
-rw-r--r--drivers/idle/mrst_s0i3.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/idle/mrst_s0i3.c b/drivers/idle/mrst_s0i3.c
index a5a350e4c11..90030e23dda 100644
--- a/drivers/idle/mrst_s0i3.c
+++ b/drivers/idle/mrst_s0i3.c
@@ -355,6 +355,10 @@ static int s0i3_prepare(void)
pmu_reg = pmu;
+ /* Enable auto clockgating for the south complex (Langwell) */
+ writel(AUTO_CLK_GATE_VALUE, &pmu_reg->pm_ssc[0]);
+ writel(0x201, &pmu_reg->pm_cmd);
+
/* Enable the hardware interrupt */
tmp = readl(&pmu_reg->pm_ics);
tmp |= 0x100; /* Enable interrupts */