From: Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
To: ralf@linux-mips.org, linux-mips@linux-mips.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 16/17] [MIPS] Malta: remaining bits of the board support code cleanup
Date: Thu, 24 Jan 2008 19:52:56 +0300 [thread overview]
Message-ID: <1201193577-4261-17-git-send-email-dmitri.vorobiev@gmail.com> (raw)
In-Reply-To: <1201193577-4261-1-git-send-email-dmitri.vorobiev@gmail.com>
This patch factors out the code, which handles the Bonito system
controller. The case of not supporting the DMA coherency is handled
separately to make the logic obvious. Besides, a couple of empty
lines added to beautify the code even further.
No functional changes introduced.
Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
---
arch/mips/mips-boards/malta/malta_setup.c | 80 +++++++++++++++--------------
1 files changed, 42 insertions(+), 38 deletions(-)
diff --git a/arch/mips/mips-boards/malta/malta_setup.c b/arch/mips/mips-boards/malta/malta_setup.c
index 541f4e7..2cd8f57 100644
--- a/arch/mips/mips-boards/malta/malta_setup.c
+++ b/arch/mips/mips-boards/malta/malta_setup.c
@@ -1,6 +1,7 @@
/*
* Carsten Langgaard, carstenl@mips.com
* Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved.
+ * Copyright (C) Dmitri Vorobiev
*
* This program is free software; you can distribute it and/or modify it
* under the terms of the GNU General Public License (Version 2) as
@@ -145,6 +146,41 @@ static void __init screen_info_setup(void)
}
#endif
+static void __init bonito_quirks_setup(void)
+{
+ char *argptr;
+
+ argptr = prom_getcmdline();
+ if (strstr(argptr, "debug")) {
+ BONITO_BONGENCFG |= BONITO_BONGENCFG_DEBUGMODE;
+ printk(KERN_INFO "Enabled Bonito debug mode\n");
+ } else
+ BONITO_BONGENCFG &= ~BONITO_BONGENCFG_DEBUGMODE;
+
+#ifdef CONFIG_DMA_COHERENT
+ if (BONITO_PCICACHECTRL & BONITO_PCICACHECTRL_CPUCOH_PRES) {
+ BONITO_PCICACHECTRL |= BONITO_PCICACHECTRL_CPUCOH_EN;
+ printk(KERN_INFO "Enabled Bonito CPU coherency\n");
+
+ argptr = prom_getcmdline();
+ if (strstr(argptr, "iobcuncached")) {
+ BONITO_PCICACHECTRL &= ~BONITO_PCICACHECTRL_IOBCCOH_EN;
+ BONITO_PCIMEMBASECFG = BONITO_PCIMEMBASECFG &
+ ~(BONITO_PCIMEMBASECFG_MEMBASE0_CACHED |
+ BONITO_PCIMEMBASECFG_MEMBASE1_CACHED);
+ printk(KERN_INFO "Disabled Bonito IOBC coherency\n");
+ } else {
+ BONITO_PCICACHECTRL |= BONITO_PCICACHECTRL_IOBCCOH_EN;
+ BONITO_PCIMEMBASECFG |=
+ (BONITO_PCIMEMBASECFG_MEMBASE0_CACHED |
+ BONITO_PCIMEMBASECFG_MEMBASE1_CACHED);
+ printk(KERN_INFO "Enabled Bonito IOBC coherency\n");
+ }
+ } else
+ panic("Hardware DMA cache coherency not supported");
+#endif
+}
+
void __init plat_mem_setup(void)
{
unsigned int i;
@@ -164,54 +200,22 @@ void __init plat_mem_setup(void)
kgdb_config();
#endif
- if (mips_revision_sconid == MIPS_REVISION_SCON_BONITO) {
- char *argptr;
-
- argptr = prom_getcmdline();
- if (strstr(argptr, "debug")) {
- BONITO_BONGENCFG |= BONITO_BONGENCFG_DEBUGMODE;
- printk("Enabled Bonito debug mode\n");
- }
- else
- BONITO_BONGENCFG &= ~BONITO_BONGENCFG_DEBUGMODE;
-
#ifdef CONFIG_DMA_COHERENT
- if (BONITO_PCICACHECTRL & BONITO_PCICACHECTRL_CPUCOH_PRES) {
- BONITO_PCICACHECTRL |= BONITO_PCICACHECTRL_CPUCOH_EN;
- printk("Enabled Bonito CPU coherency\n");
-
- argptr = prom_getcmdline();
- if (strstr(argptr, "iobcuncached")) {
- BONITO_PCICACHECTRL &= ~BONITO_PCICACHECTRL_IOBCCOH_EN;
- BONITO_PCIMEMBASECFG = BONITO_PCIMEMBASECFG &
- ~(BONITO_PCIMEMBASECFG_MEMBASE0_CACHED |
- BONITO_PCIMEMBASECFG_MEMBASE1_CACHED);
- printk("Disabled Bonito IOBC coherency\n");
- }
- else {
- BONITO_PCICACHECTRL |= BONITO_PCICACHECTRL_IOBCCOH_EN;
- BONITO_PCIMEMBASECFG |=
- (BONITO_PCIMEMBASECFG_MEMBASE0_CACHED |
- BONITO_PCIMEMBASECFG_MEMBASE1_CACHED);
- printk("Enabled Bonito IOBC coherency\n");
- }
- }
- else
- panic("Hardware DMA cache coherency not supported");
-
-#endif
- }
-#ifdef CONFIG_DMA_COHERENT
- else
+ if (mips_revision_sconid != MIPS_REVISION_SCON_BONITO)
panic("Hardware DMA cache coherency not supported");
#endif
+ if (mips_revision_sconid == MIPS_REVISION_SCON_BONITO)
+ bonito_quirks_setup();
+
#ifdef CONFIG_BLK_DEV_IDE
pci_clock_check();
#endif
+
#ifdef CONFIG_BLK_DEV_FD
fd_activate();
#endif
+
#if defined(CONFIG_VT) && defined(CONFIG_VGA_CONSOLE)
screen_info_setup();
#endif
--
1.5.3
next prev parent reply other threads:[~2008-01-24 16:56 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-24 16:52 [PATCH 00/17] [MIPS] Malta: massive " Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 01/17] [MIPS] Malta: use Linux kernel style for structure initialization Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 02/17] [MIPS] Malta: use the KERN_ facility level in printk() Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 03/17] [MIPS] Malta: check the PCI clock frequency in a separate function Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 04/17] [MIPS] Malta: set up the screen info " Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 05/17] [MIPS] Malta: use tabs not spaces Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 06/17] [MIPS] Malta: remove a dead function declaration Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 07/17] [MIPS] Malta: fix oversized lines in malta_int.c Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 08/17] [MIPS] Malta, Atlas, Sead: remove an extern from .c files Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 09/17] [MIPS] Malta: include <linux/cpu.h> instead of <asm/cpu.h> Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 10/17] [MIPS] Malta: remove a superfluous comment Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 11/17] [MIPS] Malta: else should follow close brace in malta_int.c Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 12/17] [MIPS] Malta: Use C89 style for comments Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 13/17] [MIPS] Malta, Atlas: move an extern function declaration to the header file Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 14/17] [MIPS] Malta: fix braces at single statement blocks Dmitri Vorobiev
2008-01-24 16:52 ` [PATCH 15/17] [MIPS] Malta: make the helper function static Dmitri Vorobiev
2008-01-24 16:52 ` Dmitri Vorobiev [this message]
2008-01-24 16:52 ` [PATCH 17/17] [MIPS] remove Documentation/mips/GT64120.README Dmitri Vorobiev
2008-01-28 14:33 ` [PATCH 00/17] [MIPS] Malta: massive code cleanup Ralf Baechle
2008-01-28 14:36 ` Dmitri Vorobiev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1201193577-4261-17-git-send-email-dmitri.vorobiev@gmail.com \
--to=dmitri.vorobiev@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome