It seems Mike Hoskins wrote:
> and I just installed a Promise Ultra66.  Here's my relevant kernel config
> stuff (following LINT's example):
> 
> pci0: unknown card DBZ4d38 (vendor=0x105a, dev=0x4d38) at 14.0 irq 9

Thats the promise controller, try the ata driver instead an use the
following patch, let me know if it works...


Index: ata-all.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v
retrieving revision 1.15
diff -u -r1.15 ata-all.c
--- ata-all.c   1999/06/25 09:02:56     1.15
+++ ata-all.c   1999/08/05 18:14:11
@@ -184,6 +184,8 @@
            return "Intel PIIX4 IDE controller";
        case 0x4d33105a:
            return "Promise Ultra/33 IDE controller";
+       case 0x4d38105a:
+           return "Promise Ultra/66 IDE controller";
        case 0x522910b9:
            return "AcerLabs Aladdin IDE controller";
 #if 0
@@ -241,7 +243,7 @@
 #endif
 
     /* if this is a Promise controller handle it specially */
-    if (type == 0x4d33105a) { 
+    if (type == 0x4d33105a || type == 0x4d38105a) { 
        iobase_1 = pci_read_config(dev, 0x10, 4) & 0xfffc;
        altiobase_1 = pci_read_config(dev, 0x14, 4) & 0xfffc;
        iobase_2 = pci_read_config(dev, 0x18, 4) & 0xfffc;
@@ -318,7 +320,7 @@
            if (!irq)
                printf("ata_pciattach: Unable to alloc interrupt\n");
 
-           if (type == 0x4d33105a)
+           if (type == 0x4d33105a || type == 0x4d38105a)
                bus_setup_intr(dev, irq, INTR_TYPE_BIO, promise_intr, scp, &ih);
            else
                bus_setup_intr(dev, irq, INTR_TYPE_BIO, ataintr, scp, &ih);
@@ -342,7 +344,7 @@
            int rid = 0;
            void *ih;
 
-           if (type != 0x4d33105a) {
+           if (type != 0x4d33105a && type != 0x4d38105a) {
                irq = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1,
                                         RF_SHAREABLE | RF_ACTIVE);
                if (!irq)
Index: ata-dma.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-dma.c,v
retrieving revision 1.8
diff -u -r1.8 ata-dma.c
--- ata-dma.c   1999/05/26 23:01:57     1.8
+++ ata-dma.c   1999/08/05 18:14:55
@@ -168,6 +168,7 @@
        break;
 
     case 0x4d33105a:   /* Promise Ultra/33 / FastTrack controllers */
+    case 0x4d38105a:   /* Promise Ultra/66 controllers */
        devno = (scp->unit << 1) + (device ? 1 : 0);
        if (udmamode >=2) {
            printf("ata%d: %s: setting up UDMA2 mode on Promise chip ",


-Søren


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to