At 08:19 AM 1/25/00 +0100, Soren Schmidt wrote:
> > On some older PCI systems, including my Pentium 66, the driver still detects
> > irq 0 for ata-pci0. Hardwiring it to irq 14 in the source as suggested recently
>is the >temporary fix I'm using.
>
>Could you send that patch around me please ?
>
>-Søren
The quick fix I'm using is at the end of this email. The irq was correctly detected
before the following commit:
sos 1999/10/09 12:57:15 PDT
Modified files:
sys/dev/ata ata-all.c ata-all.h ata-disk.c ata-disk.h
ata-dma.c atapi-all.c atapi-all.h
atapi-cd.c atapi-fd.c atapi-fd.h
atapi-tape.c atapi-tape.h
Log:
Add support for the HPT366 chip, this is used on the Abit boards and
their HotRod controller and on SIIG PCI ultra DMA controller. These
changes also made lots of the Promise code go away, its all much more
generic this way.
Get rid of atapi_immed_cmd, instead use the queue to move atapi commands
from interrupt context if nessesary, the entire atapi layer has
gotten an overhaul.
Lots of fixes to utililize the new features in subr_disk.c etc, and
get rid of the last biots of softc arrays in the drivers, the
only one left is atadevices which cannot easily go away (yet).
Use our own malloc names, its a lot easier to track memory usage this way.
General cleanup overall.
Hope this helps!
Greg
--- ata-all.c.orig Sun Jan 16 17:08:59 2000
+++ ata-all.c Sun Jan 16 17:09:30 2000
@@ -291,6 +291,11 @@
iobase_1 = pci_read_config(dev, 0x10, 4) & IOMASK;
altiobase_1 = pci_read_config(dev, 0x14, 4) & IOMASK;
irq1 = pci_read_config(dev, PCI_INTERRUPT_REG, 4) & 0xff;
+ if (irq1 != 14) {
+ printf("Detected irq: %d ", irq1);
+ printf("Changing to 14!!\n");
+ irq1 = 14;
+ }
}
if (pci_get_progif(dev) & PCIP_STORAGE_IDE_MASTERDEV) {
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message