* [PATCH 2.6] Cobalt IDE fix, again
@ 2006-01-25 0:13 Peter Horton
2006-01-25 0:19 ` Alan Cox
2006-01-26 17:19 ` Martin Michlmayr
0 siblings, 2 replies; 5+ messages in thread
From: Peter Horton @ 2006-01-25 0:13 UTC (permalink / raw)
To: linux-mips; +Cc: ralf
Fix long delay during Cobalt boot whilst scanning non-existent
interfaces. The logic is copied from i386 i.e. we only scan 2 legacy
ports if we have PCI IDE.
P.
Index: linux.git/include/asm-mips/mach-generic/ide.h
===================================================================
--- linux.git.orig/include/asm-mips/mach-generic/ide.h 2006-01-24 22:07:36.000000000 +0000
+++ linux.git/include/asm-mips/mach-generic/ide.h 2006-01-24 22:10:43.000000000 +0000
@@ -20,17 +20,9 @@
#include <linux/stddef.h>
#include <asm/processor.h>
-#ifndef MAX_HWIFS
-# ifdef CONFIG_BLK_DEV_IDEPCI
-#define MAX_HWIFS 10
-# else
-#define MAX_HWIFS 6
-# endif
-#endif
-
#define IDE_ARCH_OBSOLETE_DEFAULTS
-static __inline__ int ide_probe_legacy(void)
+static __inline__ int ide_legacy_ports(void)
{
#ifdef CONFIG_PCI
struct pci_dev *dev;
@@ -38,11 +30,11 @@
(dev = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, NULL)) != NULL) {
pci_dev_put(dev);
- return 1;
+ return 2;
}
return 0;
#elif defined(CONFIG_EISA) || defined(CONFIG_ISA)
- return 1;
+ return 6;
#else
return 0;
#endif
@@ -50,30 +42,26 @@
static __inline__ int ide_default_irq(unsigned long base)
{
- if (ide_probe_legacy())
- switch (base) {
- case 0x1f0:
- return 14;
- case 0x170:
- return 15;
- case 0x1e8:
- return 11;
- case 0x168:
- return 10;
- case 0x1e0:
- return 8;
- case 0x160:
- return 12;
- default:
- return 0;
- }
- else
- return 0;
+ switch (base) {
+ case 0x1f0:
+ return 14;
+ case 0x170:
+ return 15;
+ case 0x1e8:
+ return 11;
+ case 0x168:
+ return 10;
+ case 0x1e0:
+ return 8;
+ case 0x160:
+ return 12;
+ }
+ return 0;
}
static __inline__ unsigned long ide_default_io_base(int index)
{
- if (ide_probe_legacy())
+ if (index < ide_legacy_ports())
switch (index) {
case 0:
return 0x1f0;
@@ -87,11 +75,8 @@
return 0x1e0;
case 5:
return 0x160;
- default:
- return 0;
- }
- else
- return 0;
+ }
+ return 0;
}
#define IDE_ARCH_OBSOLETE_INIT
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2.6] Cobalt IDE fix, again
2006-01-25 0:13 [PATCH 2.6] Cobalt IDE fix, again Peter Horton
@ 2006-01-25 0:19 ` Alan Cox
2006-01-26 17:19 ` Martin Michlmayr
1 sibling, 0 replies; 5+ messages in thread
From: Alan Cox @ 2006-01-25 0:19 UTC (permalink / raw)
To: Peter Horton; +Cc: linux-mips, ralf
On Mer, 2006-01-25 at 00:13 +0000, Peter Horton wrote:
> Fix long delay during Cobalt boot whilst scanning non-existent
> interfaces. The logic is copied from i386 i.e. we only scan 2 legacy
> ports if we have PCI IDE.
Looks good to me now.
Alan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2.6] Cobalt IDE fix, again
2006-01-25 0:13 [PATCH 2.6] Cobalt IDE fix, again Peter Horton
2006-01-25 0:19 ` Alan Cox
@ 2006-01-26 17:19 ` Martin Michlmayr
2006-01-26 17:57 ` Peter Horton
1 sibling, 1 reply; 5+ messages in thread
From: Martin Michlmayr @ 2006-01-26 17:19 UTC (permalink / raw)
To: Peter Horton; +Cc: linux-mips
now I get:
drivers/ide/mips/swarm.c: In function ‘swarm_ide_probe’:
drivers/ide/mips/swarm.c:78: error: ‘CONFIG_IDE_MAX_HWIFS’ undeclared (first use in this function)
drivers/ide/mips/swarm.c:78: error: (Each undeclared identifier is reported only once
drivers/ide/mips/swarm.c:78: error: for each function it appears in.)
--
Martin Michlmayr
http://www.cyrius.com/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2.6] Cobalt IDE fix, again
2006-01-26 17:19 ` Martin Michlmayr
@ 2006-01-26 17:57 ` Peter Horton
2006-02-17 3:13 ` Martin Michlmayr
0 siblings, 1 reply; 5+ messages in thread
From: Peter Horton @ 2006-01-26 17:57 UTC (permalink / raw)
To: Martin Michlmayr; +Cc: linux-mips, ralf
On Thu, Jan 26, 2006 at 05:19:04PM +0000, Martin Michlmayr wrote:
> now I get:
>
> drivers/ide/mips/swarm.c: In function ???swarm_ide_probe???:
> drivers/ide/mips/swarm.c:78: error: ???CONFIG_IDE_MAX_HWIFS??? undeclared (first use in this function)
> drivers/ide/mips/swarm.c:78: error: (Each undeclared identifier is reported only once
> drivers/ide/mips/swarm.c:78: error: for each function it appears in.)
>
Bum, I munged the patch. Fixed patch below ...
P.
Index: linux.git/include/asm-mips/mach-generic/ide.h
===================================================================
--- linux.git.orig/include/asm-mips/mach-generic/ide.h 2006-01-24 22:07:36.000000000 +0000
+++ linux.git/include/asm-mips/mach-generic/ide.h 2006-01-24 23:41:19.000000000 +0000
@@ -30,7 +30,7 @@
#define IDE_ARCH_OBSOLETE_DEFAULTS
-static __inline__ int ide_probe_legacy(void)
+static __inline__ int ide_legacy_ports(void)
{
#ifdef CONFIG_PCI
struct pci_dev *dev;
@@ -38,11 +38,11 @@
(dev = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, NULL)) != NULL) {
pci_dev_put(dev);
- return 1;
+ return 2;
}
return 0;
#elif defined(CONFIG_EISA) || defined(CONFIG_ISA)
- return 1;
+ return 6;
#else
return 0;
#endif
@@ -50,30 +50,26 @@
static __inline__ int ide_default_irq(unsigned long base)
{
- if (ide_probe_legacy())
- switch (base) {
- case 0x1f0:
- return 14;
- case 0x170:
- return 15;
- case 0x1e8:
- return 11;
- case 0x168:
- return 10;
- case 0x1e0:
- return 8;
- case 0x160:
- return 12;
- default:
- return 0;
- }
- else
- return 0;
+ switch (base) {
+ case 0x1f0:
+ return 14;
+ case 0x170:
+ return 15;
+ case 0x1e8:
+ return 11;
+ case 0x168:
+ return 10;
+ case 0x1e0:
+ return 8;
+ case 0x160:
+ return 12;
+ }
+ return 0;
}
static __inline__ unsigned long ide_default_io_base(int index)
{
- if (ide_probe_legacy())
+ if (index < ide_legacy_ports())
switch (index) {
case 0:
return 0x1f0;
@@ -87,11 +83,8 @@
return 0x1e0;
case 5:
return 0x160;
- default:
- return 0;
- }
- else
- return 0;
+ }
+ return 0;
}
#define IDE_ARCH_OBSOLETE_INIT
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2.6] Cobalt IDE fix, again
2006-01-26 17:57 ` Peter Horton
@ 2006-02-17 3:13 ` Martin Michlmayr
0 siblings, 0 replies; 5+ messages in thread
From: Martin Michlmayr @ 2006-02-17 3:13 UTC (permalink / raw)
To: ralf; +Cc: linux-mips
Resending a patch that still needs to be applied.
From: Peter Horton <pdh@colonel-panic.org>
[MIPS] Fix long IDE detection delay by not scanning non-existent channels.
Fix long delay during Cobalt boot whilst scanning non-existent interfaces.
The logic is copied from i386 i.e. we only scan 2 legacy ports if we have
PCI IDE.
Signed-off-by: Peter Horton <pdh@colonel-panic.org>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
---
ide.h | 49 +++++++++++++++++++++----------------------------
1 file changed, 21 insertions(+), 28 deletions(-)
--- linux.git.orig/include/asm-mips/mach-generic/ide.h 2006-01-24 22:07:36.000000000 +0000
+++ linux.git/include/asm-mips/mach-generic/ide.h 2006-01-24 23:41:19.000000000 +0000
@@ -30,7 +30,7 @@
#define IDE_ARCH_OBSOLETE_DEFAULTS
-static __inline__ int ide_probe_legacy(void)
+static __inline__ int ide_legacy_ports(void)
{
#ifdef CONFIG_PCI
struct pci_dev *dev;
@@ -38,11 +38,11 @@
(dev = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, NULL)) != NULL) {
pci_dev_put(dev);
- return 1;
+ return 2;
}
return 0;
#elif defined(CONFIG_EISA) || defined(CONFIG_ISA)
- return 1;
+ return 6;
#else
return 0;
#endif
@@ -50,30 +50,26 @@
static __inline__ int ide_default_irq(unsigned long base)
{
- if (ide_probe_legacy())
- switch (base) {
- case 0x1f0:
- return 14;
- case 0x170:
- return 15;
- case 0x1e8:
- return 11;
- case 0x168:
- return 10;
- case 0x1e0:
- return 8;
- case 0x160:
- return 12;
- default:
- return 0;
- }
- else
- return 0;
+ switch (base) {
+ case 0x1f0:
+ return 14;
+ case 0x170:
+ return 15;
+ case 0x1e8:
+ return 11;
+ case 0x168:
+ return 10;
+ case 0x1e0:
+ return 8;
+ case 0x160:
+ return 12;
+ }
+ return 0;
}
static __inline__ unsigned long ide_default_io_base(int index)
{
- if (ide_probe_legacy())
+ if (index < ide_legacy_ports())
switch (index) {
case 0:
return 0x1f0;
@@ -87,11 +83,8 @@
return 0x1e0;
case 5:
return 0x160;
- default:
- return 0;
- }
- else
- return 0;
+ }
+ return 0;
}
#define IDE_ARCH_OBSOLETE_INIT
--
Martin Michlmayr
http://www.cyrius.com/
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-02-17 3:07 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-25 0:13 [PATCH 2.6] Cobalt IDE fix, again Peter Horton
2006-01-25 0:19 ` Alan Cox
2006-01-26 17:19 ` Martin Michlmayr
2006-01-26 17:57 ` Peter Horton
2006-02-17 3:13 ` Martin Michlmayr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox