Date: Sun, 21 May 2000 19:50:04 -0700 (PDT) From: kondo hiroshi <kondo@ysyslab.co.jp> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/18526: mx does not receive ethernet broadcast packet Message-ID: <200005220250.TAA26004@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/18526; it has been noted by GNATS. From: kondo hiroshi <kondo@ysyslab.co.jp> To: freebsd-gnats-submit@FreeBSD.org, yab@astem.or.jp Cc: Subject: Re: kern/18526: mx does not receive ethernet broadcast packet Date: Mon, 22 May 2000 11:38:38 +0900 I check "http://www.macronix.com/" MX98715 Data sheet. MX98715 512-bit hash + 1 perfect filtering MX98715A 512-bit hash + 1 perfect filtering MX98715AL 512-bit hash + 1 perfect filtering MX98715AEC-C 128-bit hash + 1 perfect filtering MX98715AEC-E 128-bit hash + 1 perfect filtering MX98715BEC 512-bit hash + 1 perfect filtering dc driver change MX98715AEC use 128-bit hash. FreeBSD 4.0-RELESE dc_driver DIFF ============================================================================= diff -u pci.old/if_dc.c pci/if_dc.c --- pci.old/if_dc.c Fri May 19 19:46:42 2000 +++ pci/if_dc.c Mon May 22 09:40:40 2000 @@ -184,6 +184,8 @@ { DC_VENDORID_CP, DC_DEVICEID_98713_CP, "Compex RL100-TX 10/100BaseTX" }, { DC_VENDORID_MX, DC_DEVICEID_987x5, + "Macronix 98715AEC 10/100BaseTX" }, + { DC_VENDORID_MX, DC_DEVICEID_987x5, "Macronix 98715/98715A 10/100BaseTX" }, { DC_VENDORID_MX, DC_DEVICEID_987x5, "Macronix 98725 10/100BaseTX" }, @@ -917,7 +919,7 @@ } /* The hash table on the PNIC II is only 128 bits wide. */ - if (DC_IS_PNICII(sc)) + if (DC_IS_MX98715AEC(sc) || DC_IS_PNICII(sc)) return (crc & ((1 << DC_BITS_PNIC_II) - 1)); return (crc & ((1 << DC_BITS) - 1)); @@ -1160,7 +1162,7 @@ struct dc_softc *sc; { if (DC_IS_INTEL(sc) || DC_IS_MACRONIX(sc) || DC_IS_PNIC(sc) || - DC_IS_PNICII(sc) || DC_IS_DAVICOM(sc)) + DC_IS_MX98715AEC(sc) || DC_IS_PNICII(sc) || DC_IS_DAVICOM(sc)) dc_setfilt_21143(sc); if (DC_IS_ASIX(sc)) @@ -1344,6 +1346,9 @@ rev >= DC_REVISION_98713A) t++; if (t->dc_did == DC_DEVICEID_987x5 && + rev != DC_REVISION_98715AEC) + t++; + if (t->dc_did == DC_DEVICEID_987x5 && rev >= DC_REVISION_98725) t++; if (t->dc_did == DC_DEVICEID_AX88140A && @@ -1548,7 +1553,11 @@ sc->dc_flags |= DC_TX_POLL|DC_TX_USE_TX_INTR; break; case DC_DEVICEID_987x5: - sc->dc_type = DC_TYPE_987x5; + if (revision == DC_REVISION_98715AEC) { + sc->dc_type = DC_TYPE_98715AEC; + } else { + sc->dc_type = DC_TYPE_987x5; + } sc->dc_flags |= DC_TX_POLL|DC_TX_USE_TX_INTR; break; case DC_DEVICEID_82C115: @@ -1622,7 +1631,8 @@ */ if (media == 0) sc->dc_pmode = DC_PMODE_MII; - } else if (DC_IS_MACRONIX(sc) || DC_IS_PNICII(sc)) { + } else if (DC_IS_MACRONIX(sc) || DC_IS_MX98715AEC(sc) || + DC_IS_PNICII(sc)) { if (sc->dc_type == DC_TYPE_98713) sc->dc_pmode = DC_PMODE_MII; else @@ -2647,7 +2657,7 @@ DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_NO_RXCRC); DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_TX_BACKOFF); - if (DC_IS_MACRONIX(sc) || DC_IS_PNICII(sc)) { + if (DC_IS_MACRONIX(sc) || DC_IS_MX98715AEC(sc) || DC_IS_PNICII(sc)) { /* * The app notes for the 98713 and 98715A say that * in order to have the chips operate properly, a magic diff -u pci.old/if_dcreg.h pci/if_dcreg.h --- pci.old/if_dcreg.h Sat Mar 11 14:20:56 2000 +++ pci/if_dcreg.h Mon May 22 11:08:50 2000 @@ -75,6 +75,7 @@ #define DC_TYPE_DM9102 0x8 /* Davicom DM9102 */ #define DC_TYPE_PNICII 0x9 /* 82c115 PNIC II */ #define DC_TYPE_PNIC 0xA /* 82c168/82c169 PNIC I */ +#define DC_TYPE_98715AEC 0xB /* MACRONIX MX98715AEC */ #define DC_IS_MACRONIX(x) \ (x->dc_type == DC_TYPE_98713 || \ @@ -92,6 +93,7 @@ #define DC_IS_DAVICOM(x) (x->dc_type == DC_TYPE_DM9102) #define DC_IS_PNICII(x) (x->dc_type == DC_TYPE_PNICII) #define DC_IS_PNIC(x) (x->dc_type == DC_TYPE_PNIC) +#define DC_IS_MX98715AEC(x) (x->dc_type == DC_TYPE_98715AEC) /* MII/symbol mode port types */ #define DC_PMODE_MII 0x1 @@ -713,8 +715,8 @@ #define DC_REVISION_98713 0x00 #define DC_REVISION_98713A 0x10 #define DC_REVISION_98715 0x20 +#define DC_REVISION_98715AEC 0x25 #define DC_REVISION_98725 0x30 - /* * Compex PCI vendor ID. */ ============================================================================= ------------------------------------------------------------ kondo hiroshi Email kondo@ysyslab.co.jp WWW http://www.ysyslab.co.jp/~kondo/ TEL 045-682-4800 FAX 045-682-4801 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005220250.TAA26004>