From owner-FreeBSD-users-jp@jp.freebsd.org  Sun Feb 13 13:59:11 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id NAA04642;
	Sun, 13 Feb 2000 13:59:11 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from shrike.dti.ad.jp (shrike.dti.ad.jp [202.216.228.218])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id NAA04637
	for <FreeBSD-users-jp@jp.freebsd.org>; Sun, 13 Feb 2000 13:59:11 +0900 (JST)
	(envelope-from sakichan@lares.dti.ne.jp)
Received: from localhost.lares.dti.ne.jp (PPP25.kawasaki-ap3.dti.ne.jp [210.170.222.25]) by shrike.dti.ad.jp (8.9.3/3.7W) with ESMTP id NAA27243 for <FreeBSD-users-jp@jp.freebsd.org>; Sun, 13 Feb 2000 13:59:10 +0900 (JST)
Message-Id: <200002130459.NAA27243@shrike.dti.ad.jp>
Received: (from sakichan@localhost) by localhost.lares.dti.ne.jp (8.9.2/3.5Wpl5-ppp) id NAA00541; Sun, 13 Feb 2000 13:59:13 +0900 (JST)
To: FreeBSD-users-jp@jp.freebsd.org
References: <20000212174546W.hiroo@oikumene.gcd.org> <001b01bf754c$d58b3e60$1fdda8c0@ohnoko.co.jp> <86emai9xi1.wl@cheerful.com>
From: SAKIYAMA Nobuo <sakichan@lares.dti.ne.jp>
MIME-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu")
Content-Type: text/plain; charset=ISO-2022-JP
Date: 13 Feb 2000 13:59:13 +0900
In-Reply-To: <86emai9xi1.wl@cheerful.com>
 (FUJISHIMA Satsuki's message of "Sun, 13 Feb 2000 01:49:42 +0900")
Lines: 58
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: FreeBSD-users-jp 49769
Subject: [FreeBSD-users-jp 49769] Intel ICH UltraATA 66 (Re: IM-7500)
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: sakichan@lares.dti.ne.jp

FUJISHIMA Satsuki <k5@cheerful.com> writes:
> $B5U$K!$:#;~$N(BATA$B%G%P%$%9$J$i96$a$?@_Dj$G$b$A$c$s$HF0$-$^$9$+$i!$96$a$J(B
> $B$$$HB;$G$9!%(BLBA$B$,$$$i$J$$$J$i(B flags 0xa0ffa0ff $B$,:GB.$G$9!%(B
> 
> $B<XB-!%:G6a$N(BUltra66$B$KBP1~$7$?%I%i%$%V$@$H!$(BUltra33$B$KMn$H$9$@$1$G$bO"B3(B
> $BE>AwB.EY$,(B3-4MB$BKhICMn$A$^$9!%K\5$$G@-G=$r=P$7$?$$$J$i(B 4.0-CURRENT$B$rF~(B
> $B$l$^$7$g$&!%(B:)

$B8=:_$N(B 4.0-current $B$G$O(B Intel ICH(i8[124]0 $B$N%A%C%W%;%C%H$N(B south bridge)
$BFbB"$N(BIDE$B%3%s%H%m!<%i(B $B$r;H$C$F$$$k>l9g!"(BUltra33 $B$_$?$$$G$9!#$J$N$G<!$N$h$&$J(B
$B%Q%C%A$r$D$/$j$^$7$?$,!"(B

1. $B$3$N%Q%C%A$r$$$l$k$H(BUltra66$B$H$7$F$&$^$/F0$/(B
2. $B$3$N%Q%C%A$r$$$l$J$/$F$b(BUltra66$B$H$7$F$&$^$/F0$/(B
3. $B$3$N%Q%C%A$rF~$l$F$b%Q%U%)!<%^%s%9E*$K(B Ultra33 $B$N@-G=$7$+=P$F$J$$$>(B
4. UltraATA 66 $B$J%G%P%$%9$r(B $BDL>o$N(BIDE$B%1!<%V%k$G$D$J$$$@$H$-$K$*$+$7$$$>(B

$B$H$+$N%A%'%C%/$r$I$J$?$+$7$FD:$1$k$H$$$$$J$!(B(^^;

# $B$F$b$H$N(B i810$B%^%6!<%\!<%I$G@5>o$K;H$($F$k$N$O3NG'$7$F$^$9$,!#(B

--- src/sys/dev/ata/ata-dma.c-orig	Sat Feb  5 01:41:02 2000
+++ src/sys/dev/ata/ata-dma.c	Sun Feb 13 13:21:59 2000
@@ -99,9 +99,31 @@
 
     switch (scp->chiptype) {
 
+    case 0x24118086:    /* Intel ICH */
+	if (udmamode >= 4) {
+	    int32_t mask48, new48;
+
+	    error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0,
+				ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY);
+	    if (bootverbose)
+		ata_printf(scp, device, "%s setting up UDMA4 mode on %s chip\n",
+			   (error) ? "failed" : "success", "ICH");
+	    if (!error) {
+		mask48 = (1 << devno) + (3 << (16 + (devno << 2)));
+		new48 = (1 << devno) + (2 << (16 + (devno << 2)));
+		pci_write_config(scp->dev, 0x48,
+				 (pci_read_config(scp->dev, 0x48, 4) &
+				 ~mask48) | new48, 4);
+		pci_write_config(scp->dev, 0x54,
+				 pci_read_config(scp->dev, 0x54, 2) |
+				 (1 << devno), 2);
+		scp->mode[ATA_DEV(device)] = ATA_UDMA4;
+		return;
+	    }
+	}
+	/* FALLTHROUGH */
     case 0x71118086:	/* Intel PIIX4 */
     case 0x71998086:	/* Intel PIIX4e */
-    case 0x24118086:	/* Intel ICH */
     case 0x24218086:	/* Intel ICH0 */
 	if (udmamode >= 2) {
 	    int32_t mask48, new48;
-- 
SAKIYAMA Nobuo        sakichan@lares.dti.ne.jp
