Commit 5e46631b authored by Hannes Reinecke's avatar Hannes Reinecke Committed by James Bottomley

[SCSI] aic7xxx/aic79xx: New device ids

Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent bcc1e382
...@@ -38,9 +38,7 @@ ...@@ -38,9 +38,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES. * POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#77 $ * $Id: //depot/aic7xxx/aic7xxx/aic79xx_pci.c#89 $
*
* $FreeBSD$
*/ */
#ifdef __linux__ #ifdef __linux__
...@@ -114,6 +112,13 @@ struct ahd_pci_identity ahd_pci_ident_table [] = ...@@ -114,6 +112,13 @@ struct ahd_pci_identity ahd_pci_ident_table [] =
"Adaptec 29320ALP Ultra320 SCSI adapter", "Adaptec 29320ALP Ultra320 SCSI adapter",
ahd_aic7901_setup ahd_aic7901_setup
}, },
/* aic7901A based controllers */
{
ID_AHA_29320LP,
ID_ALL_MASK,
"Adaptec 29320LP Ultra320 SCSI adapter",
ahd_aic7901A_setup
},
/* aic7902 based controllers */ /* aic7902 based controllers */
{ {
ID_AHA_29320, ID_AHA_29320,
...@@ -127,12 +132,6 @@ struct ahd_pci_identity ahd_pci_ident_table [] = ...@@ -127,12 +132,6 @@ struct ahd_pci_identity ahd_pci_ident_table [] =
"Adaptec 29320B Ultra320 SCSI adapter", "Adaptec 29320B Ultra320 SCSI adapter",
ahd_aic7902_setup ahd_aic7902_setup
}, },
{
ID_AHA_29320LP,
ID_ALL_MASK,
"Adaptec 29320LP Ultra320 SCSI adapter",
ahd_aic7901A_setup
},
{ {
ID_AHA_39320, ID_AHA_39320,
ID_ALL_MASK, ID_ALL_MASK,
...@@ -145,6 +144,12 @@ struct ahd_pci_identity ahd_pci_ident_table [] = ...@@ -145,6 +144,12 @@ struct ahd_pci_identity ahd_pci_ident_table [] =
"Adaptec 39320 Ultra320 SCSI adapter", "Adaptec 39320 Ultra320 SCSI adapter",
ahd_aic7902_setup ahd_aic7902_setup
}, },
{
ID_AHA_39320_B_DELL,
ID_ALL_MASK,
"Adaptec (Dell OEM) 39320 Ultra320 SCSI adapter",
ahd_aic7902_setup
},
{ {
ID_AHA_39320A, ID_AHA_39320A,
ID_ALL_MASK, ID_ALL_MASK,
...@@ -668,6 +673,7 @@ ahd_configure_termination(struct ahd_softc *ahd, u_int adapter_control) ...@@ -668,6 +673,7 @@ ahd_configure_termination(struct ahd_softc *ahd, u_int adapter_control)
* Now set the termination based on what we found. * Now set the termination based on what we found.
*/ */
sxfrctl1 = ahd_inb(ahd, SXFRCTL1) & ~STPWEN; sxfrctl1 = ahd_inb(ahd, SXFRCTL1) & ~STPWEN;
ahd->flags &= ~AHD_TERM_ENB_A;
if ((termctl & FLX_TERMCTL_ENPRILOW) != 0) { if ((termctl & FLX_TERMCTL_ENPRILOW) != 0) {
ahd->flags |= AHD_TERM_ENB_A; ahd->flags |= AHD_TERM_ENB_A;
sxfrctl1 |= STPWEN; sxfrctl1 |= STPWEN;
......
...@@ -53,14 +53,15 @@ ...@@ -53,14 +53,15 @@
#define ID_AHA_29320ALP 0x8017900500449005ull #define ID_AHA_29320ALP 0x8017900500449005ull
#define ID_AIC7901A 0x801E9005FFFF9005ull #define ID_AIC7901A 0x801E9005FFFF9005ull
#define ID_AHA_29320 0x8012900500429005ull
#define ID_AHA_29320B 0x8013900500439005ull
#define ID_AHA_29320LP 0x8014900500449005ull #define ID_AHA_29320LP 0x8014900500449005ull
#define ID_AIC7902 0x801F9005FFFF9005ull #define ID_AIC7902 0x801F9005FFFF9005ull
#define ID_AIC7902_B 0x801D9005FFFF9005ull #define ID_AIC7902_B 0x801D9005FFFF9005ull
#define ID_AHA_39320 0x8010900500409005ull #define ID_AHA_39320 0x8010900500409005ull
#define ID_AHA_29320 0x8012900500429005ull
#define ID_AHA_29320B 0x8013900500439005ull
#define ID_AHA_39320_B 0x8015900500409005ull #define ID_AHA_39320_B 0x8015900500409005ull
#define ID_AHA_39320_B_DELL 0x8015900501681028ull
#define ID_AHA_39320A 0x8016900500409005ull #define ID_AHA_39320A 0x8016900500409005ull
#define ID_AHA_39320D 0x8011900500419005ull #define ID_AHA_39320D 0x8011900500419005ull
#define ID_AHA_39320D_B 0x801C900500419005ull #define ID_AHA_39320D_B 0x801C900500419005ull
......
...@@ -39,9 +39,7 @@ ...@@ -39,9 +39,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES. * POSSIBILITY OF SUCH DAMAGES.
* *
* $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#69 $ * $Id: //depot/aic7xxx/aic7xxx/aic7xxx_pci.c#79 $
*
* $FreeBSD$
*/ */
#ifdef __linux__ #ifdef __linux__
...@@ -393,6 +391,12 @@ struct ahc_pci_identity ahc_pci_ident_table [] = ...@@ -393,6 +391,12 @@ struct ahc_pci_identity ahc_pci_ident_table [] =
"Adaptec aic7892 Ultra160 SCSI adapter (ARO)", "Adaptec aic7892 Ultra160 SCSI adapter (ARO)",
ahc_aic7892_setup ahc_aic7892_setup
}, },
{
ID_AHA_2915_30LP,
ID_ALL_MASK,
"Adaptec 2915/30LP Ultra160 SCSI adapter",
ahc_aic7892_setup
},
/* aic7895 based controllers */ /* aic7895 based controllers */
{ {
ID_AHA_2940U_DUAL, ID_AHA_2940U_DUAL,
...@@ -1193,9 +1197,19 @@ ahc_pci_test_register_access(struct ahc_softc *ahc) ...@@ -1193,9 +1197,19 @@ ahc_pci_test_register_access(struct ahc_softc *ahc)
* use for this test. * use for this test.
*/ */
hcntrl = ahc_inb(ahc, HCNTRL); hcntrl = ahc_inb(ahc, HCNTRL);
if (hcntrl == 0xFF) if (hcntrl == 0xFF)
goto fail; goto fail;
if ((hcntrl & CHIPRST) != 0) {
/*
* The chip has not been initialized since
* PCI/EISA/VLB bus reset. Don't trust
* "left over BIOS data".
*/
ahc->flags |= AHC_NO_BIOS_INIT;
}
/* /*
* Next create a situation where write combining * Next create a situation where write combining
* or read prefetching could be initiated by the * or read prefetching could be initiated by the
...@@ -1307,6 +1321,10 @@ check_extport(struct ahc_softc *ahc, u_int *sxfrctl1) ...@@ -1307,6 +1321,10 @@ check_extport(struct ahc_softc *ahc, u_int *sxfrctl1)
sd.sd_chip = C56_66; sd.sd_chip = C56_66;
} }
ahc_release_seeprom(&sd); ahc_release_seeprom(&sd);
/* Remember the SEEPROM type for later */
if (sd.sd_chip == C56_66)
ahc->flags |= AHC_LARGE_SEEPROM;
} }
if (!have_seeprom) { if (!have_seeprom) {
......
...@@ -105,6 +105,7 @@ ...@@ -105,6 +105,7 @@
#define ID_AHA_29160C 0x0080900562209005ull #define ID_AHA_29160C 0x0080900562209005ull
#define ID_AHA_29160B 0x00809005E2209005ull #define ID_AHA_29160B 0x00809005E2209005ull
#define ID_AHA_19160B 0x0081900562A19005ull #define ID_AHA_19160B 0x0081900562A19005ull
#define ID_AHA_2915_30LP 0x0082900502109005ull
#define ID_AIC7896 0x005F9005FFFF9005ull #define ID_AIC7896 0x005F9005FFFF9005ull
#define ID_AIC7896_ARO 0x00539005FFFF9005ull #define ID_AIC7896_ARO 0x00539005FFFF9005ull
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment