public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* (was Re: [RFC] IDE 80-core cable detect - chipset-specific code to over-ride eighty_ninty_three())
@ 2004-02-12 20:06 Bartlomiej Zolnierkiewicz
  2004-02-12 20:41 ` Miquel van Smoorenburg
  2004-02-13  8:37 ` Willy Tarreau
  0 siblings, 2 replies; 8+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2004-02-12 20:06 UTC (permalink / raw)
  To: Athol Mullen, Willy Tarreau; +Cc: linux-kernel


Hi,

word93 of drive identify is:

0x603b for IC35L120AVV207-0
0x3469 for QUANTUM FIREBALLlct20 30

and eighty_ninty_three() checks for bit 0x4000, so...

Willy, it seems you are hitting some other problem.
Have you already tried booting with "ide0=ata66"?

Athol, does this patch solves your problem?

[PATCH] add 80-wires cable detection quirk for QUANTUM FIREBALLlct20 30

 linux-2.6.3-rc2-root/drivers/ide/ide-iops.c |   30 ++++++++++++++--------------
 1 files changed, 16 insertions(+), 14 deletions(-)

diff -puN drivers/ide/ide-iops.c~ide_quantum_ivb_fix drivers/ide/ide-iops.c
--- linux-2.6.3-rc2/drivers/ide/ide-iops.c~ide_quantum_ivb_fix	2004-02-12 19:53:14.480791880 +0100
+++ linux-2.6.3-rc2-root/drivers/ide/ide-iops.c	2004-02-12 20:00:32.562193384 +0100
@@ -618,10 +618,14 @@ EXPORT_SYMBOL(ide_wait_stat);
  */
 u8 eighty_ninty_three (ide_drive_t *drive)
 {
-#if 0
+	struct hd_driveid *id = drive->id;
+#ifndef CONFIG_IDEDMA_IVB
+	unsigned int ivb = 0;
+#endif
+
 	if (!HWIF(drive)->udma_four)
 		return 0;
-
+#if 0
 	if (drive->id->major_rev_num) {
 		int hssbd = 0;
 		int i;
@@ -641,21 +645,19 @@ u8 eighty_ninty_three (ide_drive_t *driv
 				return 0;
 		}
 	}
-
-	return ((u8) (
+#endif
 #ifndef CONFIG_IDEDMA_IVB
-		(drive->id->hw_config & 0x4000) &&
-#endif /* CONFIG_IDEDMA_IVB */
-		 (drive->id->hw_config & 0x6000)) ? 1 : 0);
-
+	/* We can convert this to ivb_drives list if necessary. */
+	if (!strcmp("QUANTUM FIREBALLlct20 30", id->model) &&
+	    !strcmp("APL.0900", id->fw_rev))
+		ivb = 1;
+	if ((id->hw_config & 0x4000) || (ivb && (id->hw_config & 0x2000)))
+		return 1;
 #else
-
-	return ((u8) ((HWIF(drive)->udma_four) &&
-#ifndef CONFIG_IDEDMA_IVB
-			(drive->id->hw_config & 0x4000) &&
-#endif /* CONFIG_IDEDMA_IVB */
-			(drive->id->hw_config & 0x6000)) ? 1 : 0);
+	if (id->hw_config & 0x6000)
+		return 1;
 #endif
+	return 0;
 }
 
 EXPORT_SYMBOL(eighty_ninty_three);

_


^ permalink raw reply	[flat|nested] 8+ messages in thread
[parent not found: <1ovjW-1Ol-7@gated-at.bofh.it>]

end of thread, other threads:[~2004-02-18  7:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-12 20:06 (was Re: [RFC] IDE 80-core cable detect - chipset-specific code to over-ride eighty_ninty_three()) Bartlomiej Zolnierkiewicz
2004-02-12 20:41 ` Miquel van Smoorenburg
2004-02-13 17:33   ` Bartlomiej Zolnierkiewicz
2004-02-13  8:37 ` Willy Tarreau
2004-02-13 17:23   ` Bartlomiej Zolnierkiewicz
2004-02-13 17:44     ` Erik Mouw
2004-02-13 18:30       ` Bartlomiej Zolnierkiewicz
     [not found] <1ovjW-1Ol-7@gated-at.bofh.it>
2004-02-18  7:26 ` Athol Mullen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox