Simplify the initialization of adapters by pulling all card specific
initialization to the card specific modules.
Set the Latency timer and Burst len to good values if thery are not
initialized during post or are reset during chip reset.
Properly identify and handle external SCB SRAM. The code was false
id'ing 255 SCBs on aic7880 chips.
Reviewed by: David Greenman <davidg@FreeBSd.org>
incompatible with the type of a PCI interrupt handler. A new entry
point `ahc_pci_intr()' is used for PCI. ISA and PCI interrupts are
penalized equally (:-) by calling a common handler `ahc_intr()'. This
should be reorganized. Some strings now name the wrong function...
If RAMENB is set in devconfig, walk the external SCBs. Some Intel Xpress
motherboards set this bit.
For external SCBs for the 3940. It doesn't set RAMPS or RAMENB, but does
have the ram.
for now since I don't have any documentation on this card yet and it
is software compatible with the earlier cards.
The 2940 *Ultra* is Adaptec's push to take SCSI to 20MHz bus rates. Its
based on the aic7880 chip which is the successor to the aic7870.
to poll succesfully even if we are sharing the interrupt.
Register the interrupt handler before the attach.
This commit makes the 294x PCI shared interrupt compliant. This has
been tested with an aic7870 motherboard controller and a 294x in the
same machine shareing an irq.
a device specific shutdown routine for devconf. Assign the value of this
to the kern_devconf struct. Implement a device shutdown routine for if_de
that disables the device. This will stop the device from corrupting memory
after a reboot.