From edb123178ed447ee9d8297ad8387ff6b3e6f72ec Mon Sep 17 00:00:00 2001 From: gibbs Date: Mon, 16 Aug 1999 22:50:37 +0000 Subject: Differentiate between aic7895C chips and their earlier brethren via the PCI revid register. --- sys/pci/ahc_pci.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'sys/pci') diff --git a/sys/pci/ahc_pci.c b/sys/pci/ahc_pci.c index 38e071f..54f429f 100644 --- a/sys/pci/ahc_pci.c +++ b/sys/pci/ahc_pci.c @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ahc_pci.c,v 1.16 1999/07/03 20:16:59 peter Exp $ + * $Id: ahc_pci.c,v 1.17 1999/08/16 02:33:46 gibbs Exp $ */ #include @@ -1546,7 +1546,11 @@ ahc_aic7895_setup(device_t dev, char *channel, ahc_chip *chip, *channel = pci_get_function(dev) == 1 ? 'B' : 'A'; *chip = AHC_AIC7895; - *features = AHC_AIC7895_FE; + /* The 'C' revision of the aic7895 has a few additional features */ + if (pci_get_revid(dev) >= 4) + *features = AHC_AIC7895C_FE; + else + *features = AHC_AIC7895_FE; *flags |= AHC_NEWEEPROM_FMT; devconfig = pci_read_config(dev, DEVCONFIG, /*bytes*/4); devconfig &= ~SCBSIZE32; -- cgit v1.1