aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/devboards
diff options
context:
space:
mode:
authorManuel Lauss <manuel.lauss@googlemail.com>2011-05-08 10:42:12 +0200
committerRalf Baechle <ralf@linux-mips.org>2011-05-19 09:55:44 +0100
commit0591128066bdfe07e0ef0ab7f877f794d8ba071d (patch)
tree03c251faeb5e696659a79e88f976d4832667910e /arch/mips/alchemy/devboards
parent8b659a393171aed3dafa1d7455ac9eec1f3ed315 (diff)
downloadkernel_samsung_smdk4412-0591128066bdfe07e0ef0ab7f877f794d8ba071d.tar.gz
kernel_samsung_smdk4412-0591128066bdfe07e0ef0ab7f877f794d8ba071d.tar.bz2
kernel_samsung_smdk4412-0591128066bdfe07e0ef0ab7f877f794d8ba071d.zip
MIPS: DB1200: Set Config[OD] for improved stability.
Setting Config[OD] gets rid of a _LOT_ of spurious CPLD interrupts, but also decreases overall performance a bit. Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> To: Linux-MIPS <linux-mips@linux-mips.org> Cc: Florian Fainelli <florian@openwrt.org> Cc: Wolfgang Grandegger <wg@grandegger.com> Patchwork: https://patchwork.linux-mips.org/patch/2347/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/alchemy/devboards')
-rw-r--r--arch/mips/alchemy/devboards/db1200/setup.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/mips/alchemy/devboards/db1200/setup.c b/arch/mips/alchemy/devboards/db1200/setup.c
index 4a8980027ec..1dac4f27d33 100644
--- a/arch/mips/alchemy/devboards/db1200/setup.c
+++ b/arch/mips/alchemy/devboards/db1200/setup.c
@@ -23,6 +23,13 @@ void __init board_setup(void)
unsigned long freq0, clksrc, div, pfc;
unsigned short whoami;
+ /* Set Config[OD] (disable overlapping bus transaction):
+ * This gets rid of a _lot_ of spurious interrupts (especially
+ * wrt. IDE); but incurs ~10% performance hit in some
+ * cpu-bound applications.
+ */
+ set_c0_config(1 << 19);
+
bcsr_init(DB1200_BCSR_PHYS_ADDR,
DB1200_BCSR_PHYS_ADDR + DB1200_BCSR_HEXLED_OFS);