diff options
author | Hannes Reinecke <hare@suse.de> | 2006-01-12 06:04:28 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2006-01-12 12:59:56 -0500 |
commit | 5e46631b04382ef14255467288052f29cb77daeb (patch) | |
tree | ef571b76dd5a56a2b34c6bfd9cbdb8cd141f2f3c /drivers/scsi/aic7xxx | |
parent | bcc1e382bce8de4f26182c6447916f9c82b0fbe5 (diff) |
[SCSI] aic7xxx/aic79xx: New device ids
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic7xxx')
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_pci.c | 24 | ||||
-rw-r--r-- | drivers/scsi/aic7xxx/aic79xx_pci.h | 5 | ||||
-rw-r--r-- | drivers/scsi/aic7xxx/aic7xxx_pci.c | 24 | ||||
-rw-r--r-- | drivers/scsi/aic7xxx/aic7xxx_pci.h | 1 |
4 files changed, 40 insertions, 14 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_pci.c b/drivers/scsi/aic7xxx/aic79xx_pci.c index 2131db60018a..196a6344b037 100644 --- a/drivers/scsi/aic7xxx/aic79xx_pci.c +++ b/drivers/scsi/aic7xxx/aic79xx_pci.c | |||
@@ -38,9 +38,7 @@ | |||
38 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 38 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
39 | * POSSIBILITY OF SUCH DAMAGES. | 39 | * POSSIBILITY OF SUCH DAMAGES. |
40 | * | 40 | * |
41 | * $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#77 $ | 41 | * $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#89 $ |
42 | * | ||
43 | * $FreeBSD$ | ||
44 | */ | 42 | */ |
45 | 43 | ||
46 | #ifdef __linux__ | 44 | #ifdef __linux__ |
@@ -114,6 +112,13 @@ struct ahd_pci_identity ahd_pci_ident_table [] = | |||
114 | "Adaptec 29320ALP Ultra320 SCSI adapter", | 112 | "Adaptec 29320ALP Ultra320 SCSI adapter", |
115 | ahd_aic7901_setup | 113 | ahd_aic7901_setup |
116 | }, | 114 | }, |
115 | /* aic7901A based controllers */ | ||
116 | { | ||
117 | ID_AHA_29320LP, | ||
118 | ID_ALL_MASK, | ||
119 | "Adaptec 29320LP Ultra320 SCSI adapter", | ||
120 | ahd_aic7901A_setup | ||
121 | }, | ||
117 | /* aic7902 based controllers */ | 122 | /* aic7902 based controllers */ |
118 | { | 123 | { |
119 | ID_AHA_29320, | 124 | ID_AHA_29320, |
@@ -128,12 +133,6 @@ struct ahd_pci_identity ahd_pci_ident_table [] = | |||
128 | ahd_aic7902_setup | 133 | ahd_aic7902_setup |
129 | }, | 134 | }, |
130 | { | 135 | { |
131 | ID_AHA_29320LP, | ||
132 | ID_ALL_MASK, | ||
133 | "Adaptec 29320LP Ultra320 SCSI adapter", | ||
134 | ahd_aic7901A_setup | ||
135 | }, | ||
136 | { | ||
137 | ID_AHA_39320, | 136 | ID_AHA_39320, |
138 | ID_ALL_MASK, | 137 | ID_ALL_MASK, |
139 | "Adaptec 39320 Ultra320 SCSI adapter", | 138 | "Adaptec 39320 Ultra320 SCSI adapter", |
@@ -146,6 +145,12 @@ struct ahd_pci_identity ahd_pci_ident_table [] = | |||
146 | ahd_aic7902_setup | 145 | ahd_aic7902_setup |
147 | }, | 146 | }, |
148 | { | 147 | { |
148 | ID_AHA_39320_B_DELL, | ||
149 | ID_ALL_MASK, | ||
150 | "Adaptec (Dell OEM) 39320 Ultra320 SCSI adapter", | ||
151 | ahd_aic7902_setup | ||
152 | }, | ||
153 | { | ||
149 | ID_AHA_39320A, | 154 | ID_AHA_39320A, |
150 | ID_ALL_MASK, | 155 | ID_ALL_MASK, |
151 | "Adaptec 39320A Ultra320 SCSI adapter", | 156 | "Adaptec 39320A Ultra320 SCSI adapter", |
@@ -668,6 +673,7 @@ ahd_configure_termination(struct ahd_softc *ahd, u_int adapter_control) | |||
668 | * Now set the termination based on what we found. | 673 | * Now set the termination based on what we found. |
669 | */ | 674 | */ |
670 | sxfrctl1 = ahd_inb(ahd, SXFRCTL1) & ~STPWEN; | 675 | sxfrctl1 = ahd_inb(ahd, SXFRCTL1) & ~STPWEN; |
676 | ahd->flags &= ~AHD_TERM_ENB_A; | ||
671 | if ((termctl & FLX_TERMCTL_ENPRILOW) != 0) { | 677 | if ((termctl & FLX_TERMCTL_ENPRILOW) != 0) { |
672 | ahd->flags |= AHD_TERM_ENB_A; | 678 | ahd->flags |= AHD_TERM_ENB_A; |
673 | sxfrctl1 |= STPWEN; | 679 | sxfrctl1 |= STPWEN; |
diff --git a/drivers/scsi/aic7xxx/aic79xx_pci.h b/drivers/scsi/aic7xxx/aic79xx_pci.h index b5cfeabdfecf..da45153668c7 100644 --- a/drivers/scsi/aic7xxx/aic79xx_pci.h +++ b/drivers/scsi/aic7xxx/aic79xx_pci.h | |||
@@ -53,14 +53,15 @@ | |||
53 | #define ID_AHA_29320ALP 0x8017900500449005ull | 53 | #define ID_AHA_29320ALP 0x8017900500449005ull |
54 | 54 | ||
55 | #define ID_AIC7901A 0x801E9005FFFF9005ull | 55 | #define ID_AIC7901A 0x801E9005FFFF9005ull |
56 | #define ID_AHA_29320 0x8012900500429005ull | ||
57 | #define ID_AHA_29320B 0x8013900500439005ull | ||
58 | #define ID_AHA_29320LP 0x8014900500449005ull | 56 | #define ID_AHA_29320LP 0x8014900500449005ull |
59 | 57 | ||
60 | #define ID_AIC7902 0x801F9005FFFF9005ull | 58 | #define ID_AIC7902 0x801F9005FFFF9005ull |
61 | #define ID_AIC7902_B 0x801D9005FFFF9005ull | 59 | #define ID_AIC7902_B 0x801D9005FFFF9005ull |
62 | #define ID_AHA_39320 0x8010900500409005ull | 60 | #define ID_AHA_39320 0x8010900500409005ull |
61 | #define ID_AHA_29320 0x8012900500429005ull | ||
62 | #define ID_AHA_29320B 0x8013900500439005ull | ||
63 | #define ID_AHA_39320_B 0x8015900500409005ull | 63 | #define ID_AHA_39320_B 0x8015900500409005ull |
64 | #define ID_AHA_39320_B_DELL 0x8015900501681028ull | ||
64 | #define ID_AHA_39320A 0x8016900500409005ull | 65 | #define ID_AHA_39320A 0x8016900500409005ull |
65 | #define ID_AHA_39320D 0x8011900500419005ull | 66 | #define ID_AHA_39320D 0x8011900500419005ull |
66 | #define ID_AHA_39320D_B 0x801C900500419005ull | 67 | #define ID_AHA_39320D_B 0x801C900500419005ull |
diff --git a/drivers/scsi/aic7xxx/aic7xxx_pci.c b/drivers/scsi/aic7xxx/aic7xxx_pci.c index b3b2e2237eb3..5f586140e057 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_pci.c +++ b/drivers/scsi/aic7xxx/aic7xxx_pci.c | |||
@@ -39,9 +39,7 @@ | |||
39 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 39 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
40 | * POSSIBILITY OF SUCH DAMAGES. | 40 | * POSSIBILITY OF SUCH DAMAGES. |
41 | * | 41 | * |
42 | * $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#69 $ | 42 | * $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#79 $ |
43 | * | ||
44 | * $FreeBSD$ | ||
45 | */ | 43 | */ |
46 | 44 | ||
47 | #ifdef __linux__ | 45 | #ifdef __linux__ |
@@ -393,6 +391,12 @@ struct ahc_pci_identity ahc_pci_ident_table [] = | |||
393 | "Adaptec aic7892 Ultra160 SCSI adapter (ARO)", | 391 | "Adaptec aic7892 Ultra160 SCSI adapter (ARO)", |
394 | ahc_aic7892_setup | 392 | ahc_aic7892_setup |
395 | }, | 393 | }, |
394 | { | ||
395 | ID_AHA_2915_30LP, | ||
396 | ID_ALL_MASK, | ||
397 | "Adaptec 2915/30LP Ultra160 SCSI adapter", | ||
398 | ahc_aic7892_setup | ||
399 | }, | ||
396 | /* aic7895 based controllers */ | 400 | /* aic7895 based controllers */ |
397 | { | 401 | { |
398 | ID_AHA_2940U_DUAL, | 402 | ID_AHA_2940U_DUAL, |
@@ -1193,9 +1197,19 @@ ahc_pci_test_register_access(struct ahc_softc *ahc) | |||
1193 | * use for this test. | 1197 | * use for this test. |
1194 | */ | 1198 | */ |
1195 | hcntrl = ahc_inb(ahc, HCNTRL); | 1199 | hcntrl = ahc_inb(ahc, HCNTRL); |
1200 | |||
1196 | if (hcntrl == 0xFF) | 1201 | if (hcntrl == 0xFF) |
1197 | goto fail; | 1202 | goto fail; |
1198 | 1203 | ||
1204 | if ((hcntrl & CHIPRST) != 0) { | ||
1205 | /* | ||
1206 | * The chip has not been initialized since | ||
1207 | * PCI/EISA/VLB bus reset. Don't trust | ||
1208 | * "left over BIOS data". | ||
1209 | */ | ||
1210 | ahc->flags |= AHC_NO_BIOS_INIT; | ||
1211 | } | ||
1212 | |||
1199 | /* | 1213 | /* |
1200 | * Next create a situation where write combining | 1214 | * Next create a situation where write combining |
1201 | * or read prefetching could be initiated by the | 1215 | * or read prefetching could be initiated by the |
@@ -1307,6 +1321,10 @@ check_extport(struct ahc_softc *ahc, u_int *sxfrctl1) | |||
1307 | sd.sd_chip = C56_66; | 1321 | sd.sd_chip = C56_66; |
1308 | } | 1322 | } |
1309 | ahc_release_seeprom(&sd); | 1323 | ahc_release_seeprom(&sd); |
1324 | |||
1325 | /* Remember the SEEPROM type for later */ | ||
1326 | if (sd.sd_chip == C56_66) | ||
1327 | ahc->flags |= AHC_LARGE_SEEPROM; | ||
1310 | } | 1328 | } |
1311 | 1329 | ||
1312 | if (!have_seeprom) { | 1330 | if (!have_seeprom) { |
diff --git a/drivers/scsi/aic7xxx/aic7xxx_pci.h b/drivers/scsi/aic7xxx/aic7xxx_pci.h index be27fcb20346..263f85da405e 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_pci.h +++ b/drivers/scsi/aic7xxx/aic7xxx_pci.h | |||
@@ -105,6 +105,7 @@ | |||
105 | #define ID_AHA_29160C 0x0080900562209005ull | 105 | #define ID_AHA_29160C 0x0080900562209005ull |
106 | #define ID_AHA_29160B 0x00809005E2209005ull | 106 | #define ID_AHA_29160B 0x00809005E2209005ull |
107 | #define ID_AHA_19160B 0x0081900562A19005ull | 107 | #define ID_AHA_19160B 0x0081900562A19005ull |
108 | #define ID_AHA_2915_30LP 0x0082900502109005ull | ||
108 | 109 | ||
109 | #define ID_AIC7896 0x005F9005FFFF9005ull | 110 | #define ID_AIC7896 0x005F9005FFFF9005ull |
110 | #define ID_AIC7896_ARO 0x00539005FFFF9005ull | 111 | #define ID_AIC7896_ARO 0x00539005FFFF9005ull |