diff options
author | yongari <yongari@FreeBSD.org> | 2008-10-13 01:11:28 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2008-10-13 01:11:28 +0000 |
commit | 2c490bb4c301877af5f33a612f79f6fc0f68c074 (patch) | |
tree | cbb10cfcb0d9aac153fbb89d1a7f89a637fa9bc7 /sys/dev/jme | |
parent | 0284768cd53e91364ed9aed79de3b9b4791f14b9 (diff) | |
download | FreeBSD-src-2c490bb4c301877af5f33a612f79f6fc0f68c074.zip FreeBSD-src-2c490bb4c301877af5f33a612f79f6fc0f68c074.tar.gz |
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
Diffstat (limited to 'sys/dev/jme')
-rw-r--r-- | sys/dev/jme/if_jme.c | 4 | ||||
-rw-r--r-- | sys/dev/jme/if_jmereg.h | 2 |
2 files changed, 4 insertions, 2 deletions
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. */ |