summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra2_mc.c
diff options
context:
space:
mode:
authorlicheng <licheng@nvidia.com>2011-07-08 13:17:11 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:47:39 -0800
commitb6201f23b3192934a8a4820635b0f71a69ce09ba (patch)
tree808832d2f9f48611a1d5507fdf3f9339c1de95e1 /arch/arm/mach-tegra/tegra2_mc.c
parent798292909126f1ae3e0975279c28e59ac96451e8 (diff)
ARM: tegra2: mc: Fix the issue of counters not being reset
EMC state control register is not programmed correctly as the value is not reset after previous write is done. Bug 829087 Reviewed-on: http://git-master/r/40230 (cherry picked from commit 51a190b49a347968c22c1ed8187568a7ed1fb1f1) Original-Change-Id: Ic2c8d33ad241100939eb1d8fa026a1d5849c0fd8 Reviewed-on: http://git-master/r/40687 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Tested-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Rebase-Id: R6fe4735e67c44d7b3cc26449342de6862aa92b36
Diffstat (limited to 'arch/arm/mach-tegra/tegra2_mc.c')
-rw-r--r--arch/arm/mach-tegra/tegra2_mc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/tegra2_mc.c b/arch/arm/mach-tegra/tegra2_mc.c
index 3b6e87c29028..6df9c232c02f 100644
--- a/arch/arm/mach-tegra/tegra2_mc.c
+++ b/arch/arm/mach-tegra/tegra2_mc.c
@@ -701,6 +701,7 @@ void emc_stat_start(tegra_mc_counter_t *llp_counter,
writel(0xFFFFFFFF, emc.mmio + EMC_STAT_DRAM_CLOCK_LIMIT_LO_0);
writel(0xFF, emc.mmio + EMC_STAT_DRAM_CLOCK_LIMIT_HI_0);
+ llmc_stat = 0;
/* Reset then enable statistics */
llmc_stat |= (EMC_STAT_CONTROL_0_LLMC_GATHER_CLEAR <<
EMC_STAT_CONTROL_0_LLMC_GATHER_SHIFT);
@@ -708,6 +709,7 @@ void emc_stat_start(tegra_mc_counter_t *llp_counter,
EMC_STAT_CONTROL_0_DRAM_GATHER_SHIFT);
writel(llmc_stat, emc.mmio + EMC_STAT_CONTROL_0);
+ llmc_stat = 0;
llmc_stat |= (EMC_STAT_CONTROL_0_LLMC_GATHER_ENABLE <<
EMC_STAT_CONTROL_0_LLMC_GATHER_SHIFT);
llmc_stat |= (EMC_STAT_CONTROL_0_DRAM_GATHER_ENABLE <<