From owner-freebsd-bugs Sat Jul 14 21:10:14 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id CA30137B407 for ; Sat, 14 Jul 2001 21:10:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f6F4A1J30678; Sat, 14 Jul 2001 21:10:01 -0700 (PDT) (envelope-from gnats) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 1418437B401 for ; Sat, 14 Jul 2001 21:07:04 -0700 (PDT) (envelope-from nobody@FreeBSD.org) Received: (from nobody@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f6F474C30549; Sat, 14 Jul 2001 21:07:04 -0700 (PDT) (envelope-from nobody) Message-Id: <200107150407.f6F474C30549@freefall.freebsd.org> Date: Sat, 14 Jul 2001 21:07:04 -0700 (PDT) From: TOGAWA Satoshi To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: kern/28979: Patches fot Promise UltraATA100 TX2 Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 28979 >Category: kern >Synopsis: Patches fot Promise UltraATA100 TX2 >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 Jul 14 21:10:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: TOGAWA Satoshi >Release: 4.3-STABLE >Organization: >Environment: FreeBSD cel.sd.puyo.org 4.3-STABLE FreeBSD 4.3-STABLE #12: Fri Jul 6 22:32:21 JST 2001 togawa@cel.sd.puyo.org:/usr/obj/usr/src/sys/CEL i386 >Description: Promise Ultra100 TX2 controller uses a different chipset ID than the other card (vendor=0x105a, dev=0x4d68). The patches below add this ID to the ATA driver. >How-To-Repeat: Using Promise Ultra100 TX2. >Fix: --- ata-all.c.orig Sat Jul 14 23:59:53 2001 +++ ata-all.c Sun Jul 15 00:02:10 2001 @@ -326,6 +326,7 @@ case 0x0d30105a: case 0x4d30105a: + case 0x4d68105a: return "Promise ATA100 controller"; case 0x00041103: @@ -426,6 +427,7 @@ case 0x4d38105a: /* Promise 66 & 100 need their clock changed */ case 0x4d30105a: + case 0x4d68105a: case 0x0d30105a: outb(rman_get_start(sc->bmio) + 0x11, inb(rman_get_start(sc->bmio) + 0x11) | 0x0a); @@ -1119,6 +1121,7 @@ case 0x4d33105a: /* Promise Ultra/Fasttrak 33 */ case 0x4d38105a: /* Promise Ultra/Fasttrak 66 */ case 0x4d30105a: /* Promise Ultra/Fasttrak 100 */ + case 0x4d68105a: /* Promise Ultra100 TX2*/ case 0x0d30105a: /* Promise OEM ATA100 */ if (!(inl(rman_get_start(sc->bmio) + 0x1c) & (scp->channel ? 0x00004000 : 0x00000400))) --- ata-dma.c.orig Sun Jul 15 00:03:08 2001 +++ ata-dma.c Sun Jul 15 00:05:29 2001 @@ -722,6 +722,7 @@ case 0x4d33105a: /* Promise Ultra/FastTrak 33 controllers */ case 0x4d38105a: /* Promise Ultra/FastTrak 66 controllers */ case 0x4d30105a: /* Promise Ultra/FastTrak 100 controllers */ + case 0x4d68105a: /* Promise Ultra100 TX2 */ case 0x0d30105a: /* Promise OEM ATA100 controllers */ /* the Promise can only do DMA on ATA disks not on ATAPI devices */ if ((device == ATA_MASTER && scp->devices & ATA_ATAPI_MASTER) || @@ -729,7 +730,7 @@ break; if (udmamode >= 5 && - (scp->chiptype == 0x4d30105a || scp->chiptype == 0x0d30105a) && + (scp->chiptype == 0x4d30105a || scp->chiptype == 0x4d68105a || scp->chiptype == 0x0d30105a) && !(pci_read_config(parent, 0x50, 2)&(scp->channel ? 1<<11 : 1<<10))){ error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); @@ -744,7 +745,7 @@ } } if (udmamode >= 4 && (scp->chiptype == 0x4d38105a || - scp->chiptype == 0x4d30105a || scp->chiptype == 0x0d30105a) && + scp->chiptype == 0x4d30105a || scp->chiptype == 0x4d68105a || scp->chiptype == 0x0d30105a) && !(pci_read_config(parent, 0x50, 2)&(scp->channel ? 1<<11 : 1<<10))){ error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); @@ -1040,6 +1041,7 @@ case 0x4d38105a: /* Promise Ultra/Fasttrak 66 */ case 0x4d30105a: /* Promise Ultra/Fasttrak 100 */ + case 0x4d68105a: /* Promise Ultra100 TX2*/ case 0x0d30105a: /* Promise OEM ATA 100 */ switch (mode) { default: >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message