aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2006-01-12 06:04:28 -0500
committerJames Bottomley <jejb@mulgrave.(none)>2006-01-12 12:59:56 -0500
commit5e46631b04382ef14255467288052f29cb77daeb (patch)
treeef571b76dd5a56a2b34c6bfd9cbdb8cd141f2f3c /drivers/scsi/aic7xxx
parentbcc1e382bce8de4f26182c6447916f9c82b0fbe5 (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.c24
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_pci.h5
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_pci.c24
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_pci.h1
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