summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorlicheng <licheng@nvidia.com>2011-07-08 13:17:11 -0500
committerVarun Colbert <vcolbert@nvidia.com>2011-07-14 12:28:39 -0700
commit36a6a0192319f0067ee8685fe56cfba5aba06ad8 (patch)
tree0e3c866cb3c6190de1a02c9de5c23393c2ae9c82 /arch
parente96163ffb55116716dfef05dffba637f315d4557 (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) 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>
Diffstat (limited to 'arch')
-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 <<