Date: Thu, 5 Aug 1999 20:16:55 +0200 (CEST) From: Soren Schmidt <sos@freebsd.dk> To: mike@snafu.adept.org (Mike Hoskins) Cc: freebsd-current@FreeBSD.ORG, mike@snafu.adept.org Subject: Re: Promise/IDE Message-ID: <199908051816.UAA41276@freebsd.dk> In-Reply-To: <Pine.BSF.4.10.9908050543410.4055-100000@snafu.adept.org> from Mike Hoskins at "Aug 5, 1999 5:55:30 am"
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199908051816.UAA41276>