From 2c490bb4c301877af5f33a612f79f6fc0f68c074 Mon Sep 17 00:00:00 2001 From: yongari Date: Mon, 13 Oct 2008 01:11:28 +0000 Subject: Read PCI device id instead of PCI revision id. Also checks the read device id is JMC260 family. Previously it just verified the deivce is JMC260 Rev A0. This will make it easy for newer JMC2xx support. Pointed out by: bouyer at NetBSD --- sys/dev/jme/if_jme.c | 4 ++-- sys/dev/jme/if_jmereg.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'sys/dev/jme') diff --git a/sys/dev/jme/if_jme.c b/sys/dev/jme/if_jme.c index 59b1bb7..5f431e8 100644 --- a/sys/dev/jme/if_jme.c +++ b/sys/dev/jme/if_jme.c @@ -624,8 +624,8 @@ jme_attach(device_t dev) goto fail; } - sc->jme_rev = pci_get_revid(dev); - if (sc->jme_rev == DEVICEID_JMC260) { + sc->jme_rev = pci_get_device(dev); + if ((sc->jme_rev & DEVICEID_JMC2XX_MASK) == DEVICEID_JMC260) { sc->jme_flags |= JME_FLAG_FASTETH; sc->jme_flags |= JME_FLAG_NOJUMBO; } diff --git a/sys/dev/jme/if_jmereg.h b/sys/dev/jme/if_jmereg.h index 9808fa5..d89b2f5 100644 --- a/sys/dev/jme/if_jmereg.h +++ b/sys/dev/jme/if_jmereg.h @@ -48,6 +48,8 @@ #define DEVICEID_JMC260 0x0260 #define DEVICEREVID_JMC260_A0 0x00 +#define DEVICEID_JMC2XX_MASK 0x0FF0 + /* JMC250 PCI configuration register. */ #define JME_PCI_BAR0 0x10 /* 16KB memory window. */ -- cgit v1.1