The following reply was made to PR kern/127587; it has been noted by GNATS.
From: matthieu <m.matth...@gmail.com> To: bug-follo...@freebsd.org Cc: Subject: Re: kern/127587: [bge] [request] if_bge(4) doesn't support BCM576X family Date: Tue, 15 Sep 2009 17:25:35 +0200 --0016e6d7e06cd8875604739f640b Content-Type: text/plain; charset=ISO-8859-1 --- if_bge.c.back 2009-07-08 20:36:45.000000000 +0200 +++ if_bge.c 2009-09-12 00:12:53.000000000 +0200 @@ -272,6 +272,7 @@ { BGE_CHIPID_BCM5755_A1, "BCM5755 A1" }, { BGE_CHIPID_BCM5755_A2, "BCM5755 A2" }, { BGE_CHIPID_BCM5722_A0, "BCM5722 A0" }, + { BGE_CHIPID_BCM5761, "BCM5761" }, /* 5754 and 5787 share the same ASIC ID */ { BGE_CHIPID_BCM5787_A0, "BCM5754/5787 A0" }, { BGE_CHIPID_BCM5787_A1, "BCM5754/5787 A1" }, @@ -2417,6 +2418,12 @@ sc->bge_asicrev = BGE_ASICREV(sc->bge_chipid); sc->bge_chiprev = BGE_CHIPREV(sc->bge_chipid); + if (sc->bge_asicrev == BGE_ASICREV_PROD_ID_REG) + { + sc->bge_chipid = pci_read_config(dev, BGE_PCI_PRODID_ASICREV, 4); + } + + /* * Don't enable ether...@wirespeed for the 5700, 5906, or the * 5705 A0 and A1 chips. @@ -2424,8 +2431,9 @@ if (sc->bge_asicrev != BGE_ASICREV_BCM5700 && sc->bge_asicrev != BGE_ASICREV_BCM5906 && sc->bge_chipid != BGE_CHIPID_BCM5705_A0 && - sc->bge_chipid != BGE_CHIPID_BCM5705_A1) - sc->bge_flags |= BGE_FLAG_WIRESPEED; + sc->bge_chipid != BGE_CHIPID_BCM5705_A1 && + sc->bge_chipid != BGE_CHIPID_BCM5761) + sc->bge_flags |= BGE_FLAG_WIRESPEED; if (bge_has_eaddr(sc)) sc->bge_flags |= BGE_FLAG_EADDR; @@ -2474,6 +2482,10 @@ sc->bge_flags |= BGE_FLAG_BER_BUG; } + if (sc->bge_chipid == BGE_CHIPID_BCM5761) + { + sc->bge_flags |= BGE_FLAG_5705_PLUS; + } /* * We could possibly check for BCOM_DEVICEID_BCM5788 in bge_probe() --- if_bgereg.h.old 2009-03-23 15:36:50.000000000 +0100 +++ if_bgereg.h 2009-09-14 12:23:38.000000000 +0200 @@ -218,6 +218,7 @@ #define BGE_PCI_UNDI_TX_BD_PRODIDX_LO 0xAC #define BGE_PCI_ISR_MBX_HI 0xB0 #define BGE_PCI_ISR_MBX_LO 0xB4 +#define BGE_PCI_PRODID_ASICREV 0xBC /* PCI Misc. Host control register */ #define BGE_PCIMISCCTL_CLEAR_INTA 0x00000001 @@ -302,6 +303,7 @@ #define BGE_CHIPID_BCM5787_A2 0xb0020000 #define BGE_CHIPID_BCM5906_A1 0xc0010000 #define BGE_CHIPID_BCM5906_A2 0xc0020000 +#define BGE_CHIPID_BCM5761 0x05761100 /* shorthand one */ #define BGE_ASICREV(x) ((x) >> 28) @@ -319,6 +321,9 @@ #define BGE_ASICREV_BCM5754 0x0b #define BGE_ASICREV_BCM5787 0x0b #define BGE_ASICREV_BCM5906 0x0c +#define BGE_ASICREV_PROD_ID_REG 0x0f + +#define BGE_ASICREV_BCM5761 0x5761 /* chip revisions */ #define BGE_CHIPREV(x) ((x) >> 24) @@ -2098,6 +2103,7 @@ --0016e6d7e06cd8875604739f640b Content-Type: text/plain; charset=US-ASCII; name="patch_5761.patch.txt" Content-Disposition: attachment; filename="patch_5761.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 LS0tIGlmX2JnZS5jLmJhY2sJMjAwOS0wNy0wOCAyMDozNjo0NS4wMDAwMDAwMDAgKzAyMDAKKysr IGlmX2JnZS5jCTIwMDktMDktMTIgMDA6MTI6NTMuMDAwMDAwMDAwICswMjAwCkBAIC0yNzIsNiAr MjcyLDcgQEAKIAl7IEJHRV9DSElQSURfQkNNNTc1NV9BMSwJIkJDTTU3NTUgQTEiIH0sCiAJeyBC R0VfQ0hJUElEX0JDTTU3NTVfQTIsCSJCQ001NzU1IEEyIiB9LAogCXsgQkdFX0NISVBJRF9CQ001 NzIyX0EwLAkiQkNNNTcyMiBBMCIgfSwKKwl7IEJHRV9DSElQSURfQkNNNTc2MSwJCSJCQ001NzYx IiB9LCAKIAkvKiA1NzU0IGFuZCA1Nzg3IHNoYXJlIHRoZSBzYW1lIEFTSUMgSUQgKi8KIAl7IEJH RV9DSElQSURfQkNNNTc4N19BMCwJIkJDTTU3NTQvNTc4NyBBMCIgfSwgCiAJeyBCR0VfQ0hJUElE X0JDTTU3ODdfQTEsCSJCQ001NzU0LzU3ODcgQTEiIH0sCkBAIC0yNDE3LDYgKzI0MTgsMTIgQEAK IAlzYy0+YmdlX2FzaWNyZXYgPSBCR0VfQVNJQ1JFVihzYy0+YmdlX2NoaXBpZCk7CiAJc2MtPmJn ZV9jaGlwcmV2ID0gQkdFX0NISVBSRVYoc2MtPmJnZV9jaGlwaWQpOwogCisJaWYgKHNjLT5iZ2Vf YXNpY3JldiA9PSBCR0VfQVNJQ1JFVl9QUk9EX0lEX1JFRykKKwkgIHsKKwkgICAgc2MtPmJnZV9j aGlwaWQgPSBwY2lfcmVhZF9jb25maWcoZGV2LCBCR0VfUENJX1BST0RJRF9BU0lDUkVWLCA0KTsK KwkgIH0KKworCiAJLyoKIAkgKiBEb24ndCBlbmFibGUgRXRoZXJuZXRAV2lyZVNwZWVkIGZvciB0 aGUgNTcwMCwgNTkwNiwgb3IgdGhlCiAJICogNTcwNSBBMCBhbmQgQTEgY2hpcHMuCkBAIC0yNDI0 LDggKzI0MzEsOSBAQAogCWlmIChzYy0+YmdlX2FzaWNyZXYgIT0gQkdFX0FTSUNSRVZfQkNNNTcw MCAmJgogCSAgICBzYy0+YmdlX2FzaWNyZXYgIT0gQkdFX0FTSUNSRVZfQkNNNTkwNiAmJgogCSAg ICBzYy0+YmdlX2NoaXBpZCAhPSBCR0VfQ0hJUElEX0JDTTU3MDVfQTAgJiYKLQkgICAgc2MtPmJn ZV9jaGlwaWQgIT0gQkdFX0NISVBJRF9CQ001NzA1X0ExKQotCQlzYy0+YmdlX2ZsYWdzIHw9IEJH RV9GTEFHX1dJUkVTUEVFRDsKKwkgICAgc2MtPmJnZV9jaGlwaWQgIT0gQkdFX0NISVBJRF9CQ001 NzA1X0ExICYmCisJICAgIHNjLT5iZ2VfY2hpcGlkICE9IEJHRV9DSElQSURfQkNNNTc2MSkKKwkg IHNjLT5iZ2VfZmxhZ3MgfD0gQkdFX0ZMQUdfV0lSRVNQRUVEOwogCiAJaWYgKGJnZV9oYXNfZWFk ZHIoc2MpKQogCQlzYy0+YmdlX2ZsYWdzIHw9IEJHRV9GTEFHX0VBRERSOwpAQCAtMjQ3NCw2ICsy NDgyLDEwIEBACiAJCQlzYy0+YmdlX2ZsYWdzIHw9IEJHRV9GTEFHX0JFUl9CVUc7CiAJfQogCisJ aWYgKHNjLT5iZ2VfY2hpcGlkID09IEJHRV9DSElQSURfQkNNNTc2MSkKKwkgIHsKKwkgICAgc2Mt PmJnZV9mbGFncyB8PSBCR0VfRkxBR181NzA1X1BMVVM7CisJICB9CiAKIAkvKgogCSAqIFdlIGNv dWxkIHBvc3NpYmx5IGNoZWNrIGZvciBCQ09NX0RFVklDRUlEX0JDTTU3ODggaW4gYmdlX3Byb2Jl KCkKLS0tIGlmX2JnZXJlZy5oLm9sZAkyMDA5LTAzLTIzIDE1OjM2OjUwLjAwMDAwMDAwMCArMDEw MAorKysgaWZfYmdlcmVnLmgJMjAwOS0wOS0xNCAxMjoyMzozOC4wMDAwMDAwMDAgKzAyMDAKQEAg LTIxOCw2ICsyMTgsNyBAQAogI2RlZmluZQlCR0VfUENJX1VORElfVFhfQkRfUFJPRElEWF9MTwkw eEFDCiAjZGVmaW5lCUJHRV9QQ0lfSVNSX01CWF9ISQkJMHhCMAogI2RlZmluZQlCR0VfUENJX0lT Ul9NQlhfTE8JCTB4QjQKKyNkZWZpbmUJQkdFX1BDSV9QUk9ESURfQVNJQ1JFVgkJMHhCQwogCiAv KiBQQ0kgTWlzYy4gSG9zdCBjb250cm9sIHJlZ2lzdGVyICovCiAjZGVmaW5lCUJHRV9QQ0lNSVND Q1RMX0NMRUFSX0lOVEEJMHgwMDAwMDAwMQpAQCAtMzAyLDYgKzMwMyw3IEBACiAjZGVmaW5lCUJH RV9DSElQSURfQkNNNTc4N19BMgkJMHhiMDAyMDAwMAogI2RlZmluZQlCR0VfQ0hJUElEX0JDTTU5 MDZfQTEJCTB4YzAwMTAwMDAKICNkZWZpbmUJQkdFX0NISVBJRF9CQ001OTA2X0EyCQkweGMwMDIw MDAwCisjZGVmaW5lCUJHRV9DSElQSURfQkNNNTc2MQkJMHgwNTc2MTEwMAogCiAvKiBzaG9ydGhh bmQgb25lICovCiAjZGVmaW5lCUJHRV9BU0lDUkVWKHgpCQkJKCh4KSA+PiAyOCkKQEAgLTMxOSw2 ICszMjEsOSBAQAogI2RlZmluZQlCR0VfQVNJQ1JFVl9CQ001NzU0CQkweDBiCiAjZGVmaW5lCUJH RV9BU0lDUkVWX0JDTTU3ODcJCTB4MGIKICNkZWZpbmUJQkdFX0FTSUNSRVZfQkNNNTkwNgkJMHgw YworI2RlZmluZQlCR0VfQVNJQ1JFVl9QUk9EX0lEX1JFRwkJMHgwZgorCisjZGVmaW5lCUJHRV9B U0lDUkVWX0JDTTU3NjEJCTB4NTc2MQogCiAvKiBjaGlwIHJldmlzaW9ucyAqLwogI2RlZmluZQlC R0VfQ0hJUFJFVih4KQkJCSgoeCkgPj4gMjQpCkBAIC0yMDk4LDYgKzIxMDMsNyBAQAogI2RlZmlu ZQlCQ09NX0RFVklDRUlEX0JDTTU3MTRTCQkweDE2NjkKICNkZWZpbmUJQkNPTV9ERVZJQ0VJRF9C Q001NzE1CQkweDE2NzgKICNkZWZpbmUJQkNPTV9ERVZJQ0VJRF9CQ001NzE1UwkJMHgxNjc5Cisj ZGVmaW5lCUJDT01fREVWSUNFSURfQkNNNTc2MUUJCTB4MTY4MAogI2RlZmluZQlCQ09NX0RFVklD RUlEX0JDTTU3MjAJCTB4MTY1OAogI2RlZmluZQlCQ09NX0RFVklDRUlEX0JDTTU3MjEJCTB4MTY1 OQogI2RlZmluZQlCQ09NX0RFVklDRUlEX0JDTTU3MjIJCTB4MTY1QQo= --0016e6d7e06cd8875604739f640b-- _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"