Skip site navigation (1)Skip section navigation (2)
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>