diff options
author | gibbs <gibbs@FreeBSD.org> | 1996-10-06 16:38:45 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1996-10-06 16:38:45 +0000 |
commit | 39f7c443bbd76efad82b8db4e30b4e321c972e56 (patch) | |
tree | bb2a2dd6b395ce14a39949957308cc784a27b63a /sys/pci | |
parent | 5afa2e19b158c07804a73b685e7a539a7377f53a (diff) | |
download | FreeBSD-src-39f7c443bbd76efad82b8db4e30b4e321c972e56.zip FreeBSD-src-39f7c443bbd76efad82b8db4e30b4e321c972e56.tar.gz |
Bring aic7xxx driver bug fixes from 'SCSI' into current.
Diffstat (limited to 'sys/pci')
-rw-r--r-- | sys/pci/aic7870.c | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/sys/pci/aic7870.c b/sys/pci/aic7870.c index f2436a6..0705f32 100644 --- a/sys/pci/aic7870.c +++ b/sys/pci/aic7870.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7870.c,v 1.36 1996/05/30 07:20:17 gibbs Exp $ + * $Id: aic7870.c,v 1.37 1996/06/08 06:55:55 gibbs Exp $ */ #if defined(__FreeBSD__) @@ -81,6 +81,7 @@ #define PCI_DEVICE_ID_ADAPTEC_3940U 0x82789004ul #define PCI_DEVICE_ID_ADAPTEC_2944U 0x84789004ul #define PCI_DEVICE_ID_ADAPTEC_2940U 0x81789004ul +#define PCI_DEVICE_ID_ADAPTEC_2940AU 0x61789004ul #define PCI_DEVICE_ID_ADAPTEC_3940 0x72789004ul #define PCI_DEVICE_ID_ADAPTEC_2944 0x74789004ul #define PCI_DEVICE_ID_ADAPTEC_2940 0x71789004ul @@ -216,6 +217,9 @@ aic7870_probe (pcici_t tag, pcidi_t type) case PCI_DEVICE_ID_ADAPTEC_2940: return ("Adaptec 2940 SCSI host adapter"); break; + case PCI_DEVICE_ID_ADAPTEC_2940AU: + return ("Adaptec 2940A Ultra SCSI host adapter"); + break; case PCI_DEVICE_ID_ADAPTEC_AIC7880: return ("Adaptec aic7880 Ultra SCSI host adapter"); break; @@ -258,6 +262,7 @@ ahc_pci_probe(parent, match, aux) case PCI_DEVICE_ID_ADAPTEC_3940U: case PCI_DEVICE_ID_ADAPTEC_2944U: case PCI_DEVICE_ID_ADAPTEC_2940U: + case PCI_DEVICE_ID_ADAPTEC_2940AU: case PCI_DEVICE_ID_ADAPTEC_3940: case PCI_DEVICE_ID_ADAPTEC_2944: case PCI_DEVICE_ID_ADAPTEC_2940: @@ -345,6 +350,9 @@ ahc_pci_attach(parent, self, aux) case PCI_DEVICE_ID_ADAPTEC_2940: ahc_t = AHC_294; break; + case PCI_DEVICE_ID_ADAPTEC_2940AU: + ahc_t = AHC_294AU; + break; case PCI_DEVICE_ID_ADAPTEC_AIC7880: ahc_t = AHC_AIC7880; break; @@ -439,11 +447,12 @@ ahc_pci_attach(parent, self, aux) return; } intrstr = pci_intr_string(pa->pa_pc, ih); - ahc->sc_ih = pci_intr_establish(pa->pa_pc, ih, IPL_BIO, ahc_intr, ahc #ifdef __OpenBSD__ - , ahc->sc_dev.dv_xname + ahc->sc_ih = pci_intr_establish(pa->pa_pc, ih, IPL_BIO, ahc_intr, ahc, + ahc->sc_dev.dv_xname); +#else + ahc->sc_ih = pci_intr_establish(pa->pa_pc, ih, IPL_BIO, ahc_intr, ahc); #endif - ); if (ahc->sc_ih == NULL) { printf("%s: couldn't establish interrupt", ahc->sc_dev.dv_xname); @@ -487,14 +496,11 @@ ahc_pci_attach(parent, self, aux) load_seeprom(ahc); break; } + case AHC_294AU: case AHC_AIC7860: { id_string = "aic7860 "; - /* - * Use defaults, if the chip wasn't initialized by - * a BIOS. - */ - ahc->flags |= AHC_USEDEFAULTS; + load_seeprom(ahc); break; } case AHC_AIC7850: |