Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jul 2000 14:56:02 -0400 (EDT)
From:      mi@aldan.algebra.com
To:        stable@freebsd.org
Subject:   Promise-100 boards support -- too late?
Message-ID:  <200007251856.OAA01180@misha.privatelabs.com>

next in thread | raw e-mail | index | archive | help
The simple-minded patch by Boris Staeblow (quoted again below) did
the job for use -- the adaptors (all three of them) and the disks
are recognized properly.

The disks are newfs-ing right now (at 14Mb/s !).

Perhaps, a note can go into Release Notes? Like:

	* the preliminary support for the Promise ATA100
	  boards exists, but appeared too late to be included
	  into this release and the ATA100 speeds are not yet
	  available. Get a patch from ........ and rebuild your
	  kernel

	-mi

diff -ru ata.orig/ata-all.c ata/ata-all.c
--- ata.orig/ata-all.c	Tue Jun 13 22:03:38 2000
+++ ata/ata-all.c	Wed Jul 12 21:40:25 2000
@@ -294,6 +294,9 @@
     case 0x4d38105a:
 	return "Promise ATA66 controller";
 
+    case 0x4d30105a:
+    	return "Promise ATA100 controller";
+    	
     case 0x00041103:
 	return "HighPoint HPT366 ATA66 controller";
 
@@ -379,7 +382,7 @@
 	    device_printf(dev, "Busmastering DMA not enabled\n");
     }
     else {
-    	if (type == 0x4d33105a || type == 0x4d38105a || type == 0x00041103) {
+    	if (type == 0x4d33105a || type == 0x4d38105a || type == 0x4d30105a || type == 0x00041103) {
 	    /* Promise and HPT366 controllers support busmastering DMA */
 	    rid = 0x20;
 	    sc->bmio = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid,
@@ -397,6 +400,7 @@
 			 (pci_read_config(dev, 0x53, 1) & ~0x01) | 0x02, 1);
 	break;
 
+    case 0x4d30105a:
     case 0x4d38105a: /* Promise 66's need their clock changed */
 	outb(rman_get_start(sc->bmio) + 0x11, 
 	     inb(rman_get_start(sc->bmio) + 0x11) | 0x0a);
@@ -1094,6 +1098,7 @@
 
     case 0x4d33105a:	/* Promise 33's */
     case 0x4d38105a:	/* Promise 66's */
+    case 0x4d30105a:	/* Promise 100īs */
     {
 	struct ata_pci_softc *sc=device_get_softc(device_get_parent(scp->dev));
 
diff -ru ata.orig/ata-dma.c ata/ata-dma.c
--- ata.orig/ata-dma.c	Tue Jun 13 22:03:39 2000
+++ ata/ata-dma.c	Wed Jul 12 22:12:01 2000
@@ -442,6 +442,7 @@
 	/* we could set PIO mode timings, but we assume the BIOS did that */
 	break;
 
+    case 0x4d30105a:	/* Promise Ultra100 / FastTrak100 controllers */
     case 0x4d33105a:	/* Promise Ultra33 / FastTrak33 controllers */
     case 0x4d38105a:	/* Promise Ultra66 / FastTrak66 controllers */
 	/* the Promise can only do DMA on ATA disks not on ATAPI devices */
@@ -449,7 +450,7 @@
 	    (device == ATA_SLAVE && scp->devices & ATA_ATAPI_SLAVE))
 	    break;
 
-	if (udmamode >=4 && scp->chiptype == 0x4d38105a &&
+	if (udmamode >=4 && (scp->chiptype == 0x4d38105a || scp->chiptype == 0x4d30105a) &&
 	    !(pci_read_config(parent, 0x50, 2)&(scp->unit ? 1<<11 : 1<<10))) {
 	    error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0,
 				ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY);
@@ -708,6 +709,7 @@
 	break;
 
     case 0x4d38105a:  /* Promise 66's */
+    case 0x4d30105a:  /* Promise 100īs */
 	switch (mode) {
 	default:
 	case ATA_PIO0:  t->pa = 15; t->pb = 31; t->mb = 7; t->mc = 15; break;






To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007251856.OAA01180>