diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2004-05-21 15:18:14 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2004-05-21 15:18:14 +0000 |
commit | 1402d56abf125a8317ce8a6659f6ba2e5bde5eb1 (patch) | |
tree | d55b479e82ba08cfd418203a2ae862ccec115544 /c/src/libchip/network/if_fxp.c | |
parent | 2004-05-21 Till Strauman <strauman@slac.stanford.edu> (diff) | |
download | rtems-1402d56abf125a8317ce8a6659f6ba2e5bde5eb1.tar.bz2 |
2004-05-21 Till Strauman <strauman@slac.stanford.edu>
* PR/625/networking
* libchip/network/dec21140.c, ... : Prevent name clashes by making
'ld_le32()' etc. static inlines. Let dec21140 attach routine return
an error rather than panic if no chip is detected (thus allowing
for probing).
* libchip/network/elnk.c: Let elnk bail out if autoneg never completes
instead of looping forever. Avoid divide by zero (crashed my PC).
* libchip/network/if_fxp.c: Enable more fxp chip variants but warn that
they are UNTESTED.
Diffstat (limited to '')
-rw-r--r-- | c/src/libchip/network/if_fxp.c | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/c/src/libchip/network/if_fxp.c b/c/src/libchip/network/if_fxp.c index 0de7c2a508..45e7cd0f98 100644 --- a/c/src/libchip/network/if_fxp.c +++ b/c/src/libchip/network/if_fxp.c @@ -182,8 +182,11 @@ static u_char fxp_cb_config_template[] = { struct fxp_ident { u_int16_t devid; char *name; + int warn; }; +#define UNTESTED 1 + /* * Claim various Intel PCI device identifiers for this driver. The * sub-vendor and sub-device field are extensively used to identify @@ -191,28 +194,19 @@ struct fxp_ident { * them. */ static struct fxp_ident fxp_ident_table[] = { -#ifdef NOTUSED - /* currently untested */ - { 0x1229, "Intel Pro 10/100B/100+ Ethernet" }, - { 0x2449, "Intel Pro/100 Ethernet" }, -#endif - { 0x1209, "Intel Embedded 10/100 Ethernet" }, -#ifdef NOTUSED - /* currently untested */ - { 0x1029, "Intel Pro/100 Ethernet" }, -#endif - { 0x1030, "Intel Pro/100 Ethernet" }, -#ifdef NOTUSED - /* currently untested */ - { 0x1031, "Intel Pro/100 Ethernet" }, - { 0x1032, "Intel Pro/100 Ethernet" }, - { 0x1033, "Intel Pro/100 Ethernet" }, - { 0x1034, "Intel Pro/100 Ethernet" }, - { 0x1035, "Intel Pro/100 Ethernet" }, - { 0x1036, "Intel Pro/100 Ethernet" }, - { 0x1037, "Intel Pro/100 Ethernet" }, - { 0x1038, "Intel Pro/100 Ethernet" }, -#endif + { 0x1229, "Intel Pro 10/100B/100+ Ethernet", UNTESTED }, + { 0x2449, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1209, "Intel Embedded 10/100 Ethernet", 0 }, + { 0x1029, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1030, "Intel Pro/100 Ethernet", 0 }, + { 0x1031, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1032, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1033, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1034, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1035, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1036, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1037, "Intel Pro/100 Ethernet", UNTESTED }, + { 0x1038, "Intel Pro/100 Ethernet", UNTESTED }, { 0, NULL }, }; @@ -467,14 +461,21 @@ rtems_fxp_attach(struct rtems_bsdnet_ifconfig *config, int attaching) for (j=0; fxp_ident_table[j].devid; j++ ) { i = pcib_find_by_devid( 0x8086, - fxp_ident_table[j].devid, - unitNumber-1, - &(sc->pci_signature)); + fxp_ident_table[j].devid, + unitNumber-1, + &(sc->pci_signature)); DBGLVL_PRINTK(2,"fxp_attach: find_devid returned %d " "and pci signature 0x%x\n", i,sc->pci_signature); - if (PCIB_ERR_SUCCESS == i) - break; + if (PCIB_ERR_SUCCESS == i) { + if ( UNTESTED == fxp_ident_table[j].warn ) { + device_printf(dev +"WARNING: this chip version has NOT been reported to work under RTEMS yet.\n"); + device_printf(dev, +" If it works OK, report it as tested in 'c/src/libchip/network/if_fxp.c'\n"); + } + break; + } } } |