Date: Sat, 14 Jul 2001 21:07:04 -0700 (PDT) From: TOGAWA Satoshi <toga@puyo.org> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/28979: Patches fot Promise UltraATA100 TX2 Message-ID: <200107150407.f6F474C30549@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107150407.f6F474C30549>