Subject: Re: UDMA 100 probelm
To: Kazushi Marukawa <jam@pobox.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-i386
Date: 03/19/2001 21:54:47
On Sun, Mar 18, 2001 at 10:12:00PM -0600, Kazushi Marukawa wrote:
> [...]
> 
> So, finally, I changed PDC_IS_265() macro to return false
> whenever.  It works.  So, my Ultra 100 cards work fine as
> 262 (Ultra 66 chipset?) instead of 265.  Like I said, mine
> doesn't work in UDMA 4 mode if it recognized as 265.

Interesting. Could you try to just remove the PDC_IS_265 here:
--- pciide.c.old	Mon Mar 19 21:46:53 2001
+++ pciide.c	Mon Mar 19 21:47:21 2001
@@ -3243,11 +3243,7 @@
 	}
 
 	mode = PDC2xx_SCR_DMA;
-	if (PDC_IS_265(sc)) {
-		/* the BIOS set it up this way */
-		mode = PDC2xx_SCR_SET_GEN(mode, 0x3);
-		mode |= 0x80000000;
-	} else if (PDC_IS_262(sc)) {
+	if (PDC_IS_262(sc)) {
 		mode = PDC2xx_SCR_SET_GEN(mode, PDC262_SCR_GEN_LAT);
 	} else {
 		/* the BIOS set it up this way */

My bios sets PDC2xx_SCR this way but maybe it's not valid everywhere.
Linux cheks it but doesn't change it; FreeBSD doesn't do anything special here.

--
Manuel Bouyer <bouyer@antioche.eu.org>
--