diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-14 15:16:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-14 15:16:07 -0500 |
commit | 12dbf3fc4d06d2c0c4c44dc0612df04248b3cfd3 (patch) | |
tree | 158610ef6c7711afb60d78956ab4b131bf6a08ef /drivers/scsi/aic7xxx/aic7xxx_pci.c | |
parent | 61b7efddc5256225099d13185659e9ad9d8abc8a (diff) | |
parent | fc091e03820bf67e543362bd40959701a71d0c27 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Diffstat (limited to 'drivers/scsi/aic7xxx/aic7xxx_pci.c')
-rw-r--r-- | drivers/scsi/aic7xxx/aic7xxx_pci.c | 24 |
1 files changed, 21 insertions, 3 deletions
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) { |