summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/common-t3.c
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2011-03-18 13:38:02 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:42:27 -0800
commit8f151d18b7b225b4be37beb2b166ca8ef093c61e (patch)
tree03b845914f59c34c94570e05ce8d502c719f50f4 /arch/arm/mach-tegra/common-t3.c
parentab25783924370dc7b2cd8ef8f26e3ac5bdc34f04 (diff)
arm: tegra: Enable MC early ACK and scoreboard
Bug 791803 Original-Change-Id: I25be461cccd6e14618d8b43fd0738e9abfbe4432 Reviewed-on: http://git-master/r/23584 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Tested-by: Scott Williams <scwilliams@nvidia.com> Original-Change-Id: I6bb5dcfbf48323919529c6271ea7696ecc413bb2 Rebase-Id: R3308cf0a852ee2bf0e2adb3de17cebc81e48c71c
Diffstat (limited to 'arch/arm/mach-tegra/common-t3.c')
-rw-r--r--arch/arm/mach-tegra/common-t3.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/common-t3.c b/arch/arm/mach-tegra/common-t3.c
index b2b9a0b1d9e7..d5393002b55f 100644
--- a/arch/arm/mach-tegra/common-t3.c
+++ b/arch/arm/mach-tegra/common-t3.c
@@ -28,6 +28,8 @@
#include <mach/iomap.h>
#include <mach/irqs.h>
+#include "tegra3_emc.h"
+
#define MC_INT_STATUS 0x0
#define MC_INT_MASK 0x4
#define MC_INT_DECERR_EMEM (1<<6)
@@ -185,12 +187,21 @@ out:
void __init tegra_mc_init(void)
{
+ void __iomem *mc = IO_ADDRESS(TEGRA_MC_BASE);
+ u32 reg;
+
+ reg = 0x0A7F1010;
+ writel(reg, mc + MC_RESERVED_RSV);
+
+ reg = readl(mc + MC_EMEM_ARB_OVERRIDE);
+ reg |= 3;
+ writel(reg, mc + MC_EMEM_ARB_OVERRIDE);
+
if (request_irq(INT_MC_GENERAL, tegra_mc_error_isr, 0,
"mc_status", NULL)) {
pr_err("%s: unable to register MC error interrupt\n", __func__);
} else {
- void __iomem *mc = IO_ADDRESS(TEGRA_MC_BASE);
- u32 reg = MC_INT_DECERR_EMEM | MC_INT_SECURITY_VIOLATION |
+ reg = MC_INT_DECERR_EMEM | MC_INT_SECURITY_VIOLATION |
MC_INT_INVALID_SMMU_PAGE;
writel(reg, mc + MC_INT_MASK);
}