From owner-freebsd-current Thu Aug 5 11:17:11 1999 Delivered-To: freebsd-current@freebsd.org Received: from freebsd.dk (freebsd.dk [212.242.42.178]) by hub.freebsd.org (Postfix) with ESMTP id EAACE15280 for ; Thu, 5 Aug 1999 11:16:59 -0700 (PDT) (envelope-from sos@freebsd.dk) Received: (from sos@localhost) by freebsd.dk (8.9.1/8.9.1) id UAA41276; Thu, 5 Aug 1999 20:16:55 +0200 (CEST) (envelope-from sos) From: Soren Schmidt Message-Id: <199908051816.UAA41276@freebsd.dk> Subject: Re: Promise/IDE In-Reply-To: from Mike Hoskins at "Aug 5, 1999 5:55:30 am" To: mike@snafu.adept.org (Mike Hoskins) Date: Thu, 5 Aug 1999 20:16:55 +0200 (CEST) Cc: freebsd-current@FreeBSD.ORG, mike@snafu.adept.org X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message