diff options
author | Scott Williams <scwilliams@nvidia.com> | 2011-03-18 13:38:02 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:42:27 -0800 |
commit | 8f151d18b7b225b4be37beb2b166ca8ef093c61e (patch) | |
tree | 03b845914f59c34c94570e05ce8d502c719f50f4 /arch/arm/mach-tegra/common-t3.c | |
parent | ab25783924370dc7b2cd8ef8f26e3ac5bdc34f04 (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.c | 15 |
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); } |