summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/pci/if_mx.c15
-rw-r--r--sys/pci/if_mxreg.h8
2 files changed, 15 insertions, 8 deletions
diff --git a/sys/pci/if_mx.c b/sys/pci/if_mx.c
index a1938f0..6ea96aa 100644
--- a/sys/pci/if_mx.c
+++ b/sys/pci/if_mx.c
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: if_mx.c,v 1.27 1998/12/01 15:55:20 wpaul Exp $
+ * $Id: if_mx.c,v 1.28 1998/12/04 21:34:33 wpaul Exp $
*/
/*
@@ -94,7 +94,7 @@
#ifndef lint
static char rcsid[] =
- "$Id: if_mx.c,v 1.27 1998/12/01 15:55:20 wpaul Exp $";
+ "$Id: if_mx.c,v 1.28 1998/12/04 21:34:33 wpaul Exp $";
#endif
/*
@@ -1240,9 +1240,11 @@ mx_probe(config_id, device_id)
((device_id >> 16) & 0xFFFF) == t->mx_did) {
/* Check the PCI revision */
rev = pci_conf_read(config_id, MX_PCI_REVID) & 0xFF;
- if (rev > MX_REVISION_98713 && rev < MX_REVISION_98715)
+ if (t->mx_did == MX_DEVICEID_98713 &&
+ rev >= MX_REVISION_98713A)
t++;
- if (rev >= MX_REVISION_98725)
+ if (t->mx_did == MX_DEVICEID_987x5 &&
+ rev >= MX_REVISION_98725)
t++;
return(t->mx_name);
}
@@ -1358,9 +1360,12 @@ mx_attach(config_id, unit)
/* Need this info to decide on a chip type. */
revision = pci_conf_read(config_id, MX_PCI_REVID) & 0x000000FF;
pci_id = pci_conf_read(config_id, MX_PCI_VENDOR_ID) & 0x0000FFFF;
+ pci_id = (pci_conf_read(config_id,MX_PCI_VENDOR_ID) >> 16) & 0x0000FFFF;
- if (pci_id == MX_DEVICEID_98713 && revision == MX_REVISION_98713)
+ if (pci_id == MX_DEVICEID_98713 && revision < MX_REVISION_98713A)
sc->mx_type = MX_TYPE_98713;
+ else if (pci_id == MX_DEVICEID_98713 && revision >= MX_REVISION_98713A)
+ sc->mx_type = MX_TYPE_98713A;
else
sc->mx_type = MX_TYPE_987x5;
diff --git a/sys/pci/if_mxreg.h b/sys/pci/if_mxreg.h
index 80e0f19..8a6d0a8 100644
--- a/sys/pci/if_mxreg.h
+++ b/sys/pci/if_mxreg.h
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: if_mxreg.h,v 1.11 1998/12/01 15:55:20 wpaul Exp $
+ * $Id: if_mxreg.h,v 1.12 1998/12/04 21:34:33 wpaul Exp $
*/
/*
@@ -66,7 +66,8 @@
#define MX_MAGIC_98715 0x0B3C0000
#define MX_MAGIC_98725 0x0B3C0000
-#define MX_REVISION_98713 0x10
+#define MX_REVISION_98713 0x00
+#define MX_REVISION_98713A 0x10
#define MX_REVISION_98715 0x20
#define MX_REVISION_98725 0x30
@@ -80,7 +81,8 @@
* numbers we write into CSR16.
*/
#define MX_TYPE_98713 0x1
-#define MX_TYPE_987x5 0x2
+#define MX_TYPE_98713A 0x2
+#define MX_TYPE_987x5 0x3
/*
* Bus control bits.
OpenPOWER on IntegriCloud