Date: Sat, 5 Aug 2000 19:50:03 -0500 (CDT) From: mdharnois@home.com To: FreeBSD-gnats-submit@freebsd.org Subject: kern/20437: IDE on Intel 815E looks like Intel ICH (yay!) Message-ID: <200008060050.TAA00947@c1030098-a.wtrlo1.ia.home.com>
next in thread | raw e-mail | index | archive | help
>Number: 20437
>Category: kern
>Synopsis: IDE on Intel 815E looks like Intel ICH (yay!)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Aug 05 18:00:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Michael Harnois
>Release: FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:
ASUS CUSL2 with Intel 815E (Solana), Maxtor 51536U3
>Description:
It appears that the IDE hardware of the Intel 815E, the ICH2, will
work with the same code presently in place for the Intel ICH (as far
as UDMA66, at least; obviously additional code will be required for
the UDMA100 which the chipset is capable of. I ascertained this
amazing fact by replacing all instances of the ID for the ICH
(0x24118086) with the IDE for the ICH2 (0x244b8086) with these results:
ata0-master: success setting up UDMA4 mode on ICH chip
ad0: <Maxtor 51536U3/DA6207V0> ATA-5 disk at ata0 as master
ad0: 14655MB (30015216 sectors), 29777 cyls, 16 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 1 depth queue, UDMA66
ad0: piomode=4 dmamode=2 udmamode=4 cblid=1
Creating DISK ad0
ata1-master: success setting up UDMA2 mode on ICH chip
ad2: <QUANTUM BIGFOOT TS12.7A/A21.0G00> ATA-4 disk at ata1 as master
ad2: 12243MB (25075008 sectors), 24876 cyls, 16 heads, 63 S/T, 512 B/S
ad2: 16 secs/int, 1 depth queue, UDMA33
ad2: piomode=4 dmamode=2 udmamode=2 cblid=0
Creating DISK ad2
ata1-slave: piomode=4 dmamode=2 udmamode=-1 dmaflag=1
ata1-slave: success setting up WDMA2 mode on ICH chip
>How-To-Repeat:
>Fix:
--- ata-dma.c.orig Sat Aug 5 19:43:23 2000
+++ ata-dma.c Sat Aug 5 19:46:40 2000
@@ -101,6 +101,7 @@
switch (scp->chiptype) {
+ case 0x244b8086:
case 0x24118086: /* Intel ICH */
if (udmamode >= 4) {
int32_t mask48, new48;
@@ -139,6 +140,7 @@
if (bootverbose)
ata_printf(scp, device, "%s setting up UDMA2 mode on %s chip\n",
(error) ? "failed" : "success",
+ (scp->chiptype == 0x244b8086) ? "ICH2" :
(scp->chiptype == 0x24118086) ? "ICH" :
(scp->chiptype == 0x24218086) ? "ICH0" :"PIIX4");
if (!error) {
@@ -179,6 +181,7 @@
ata_printf(scp, device, "%s setting up WDMA2 mode on %s chip\n",
(error) ? "failed" : "success",
(scp->chiptype == 0x70108086) ? "PIIX3" :
+ (scp->chiptype == 0x244b8086) ? "ICH2" :
(scp->chiptype == 0x24118086) ? "ICH" :
(scp->chiptype == 0x24218086) ? "ICH0" :"PIIX4");
if (!error) {
--- ata-all.c.orig Sat Aug 5 19:43:07 2000
+++ ata-all.c Sat Aug 5 19:44:22 2000
@@ -254,6 +254,9 @@
case 0x71998086:
return "Intel PIIX4 ATA33 controller";
+ case 0x244b8086:
+ return "Intel ICH2 ATA100 controller";
+
case 0x24118086:
return "Intel ICH ATA66 controller";
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200008060050.TAA00947>
