aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ed
Commit message (Collapse)AuthorAgeFilesLines
* MFC r228286:Pyun YongHyeon2012-01-051-6/+13
| | | | | | | | | | | Fix off by one error in mbuf access. Previously it caused panic. While I'm here use NULL to compare mbuf pointer and add additional check for zero length mbuf before accessing the mbuf. PR: kern/162932 Notes: svn path=/stable/7/; revision=229650
* MFC r207554:Maxim Sobolev2010-11-161-2/+2
| | | | | | | | | | | | Add new tunable 'net.link.ifqmaxlen' to set default send interface queue length. The default value for this parameter is 50, which is quite low for many of today's uses and the only way to modify this parameter right now is to edit if_var.h file. Also add read-only sysctl with the same name, so that it's possible to retrieve the current value. Notes: svn path=/stable/7/; revision=215368
* MFC: r213894, r213896, r214913Marius Strobl2010-11-071-10/+14
| | | | | | | | | | Converted the remainder of the NIC drivers to use the mii_attach() introduced in r213878 (MFC'ed to stable/7 in r214685) instead of mii_phy_probe(). Unlike r213893 (MFC'ed to stable/7 in r214910) these are mostly straight forward conversions though. Notes: svn path=/stable/7/; revision=214925
* MFC r211764:Pyun YongHyeon2010-09-241-0/+1
| | | | | | | | | | | | | | | Add PNP id for Compex RL2000. I'm not sure whether adding this logical id is correct or not because Compex RL2000 is in the list of supported hardware list. I guess the Compex RL2000 could be PCI variant while the controller in question is ISA controller. It seems PNP compat id didn't match or it had multiple compat ids so isa_pnp_probe() seemed to return ENOENT. PR: kern/80853 Notes: svn path=/stable/7/; revision=213125
* MFC r211721:Pyun YongHyeon2010-09-241-6/+9
| | | | | | | | | Fix a possible unaligned access to savebyte array. PR: kern/122195 Notes: svn path=/stable/7/; revision=213123
* Merge 190488 from head:Warner Losh2009-04-031-1/+1
| | | | | | | | | Fix shared memory packet movement. Approved by: re@ (kostik) Notes: svn path=/stable/7/; revision=190665
* Add Micro Research PCMCIA LAN Adapter MR10TPC support. Patch slightlyWarner Losh2007-07-111-0/+1
| | | | | | | | | | | reworked by me. Submitted by: Osamu Hasegawa-san PR: 93393 Approved by: re (hrs) Notes: svn path=/head/; revision=171352
* Tell a statistic checker that not checking the return value of the probingAlexander Leidinger2007-04-011-1/+1
| | | | | | | | | | of the mii phy is intended for this chip. Found by: Coverity Prevent (tm) CID: 43 Notes: svn path=/head/; revision=168214
* Don't call bus_deactivate_resource() explicitly before callingYoshihiro Takahashi2007-03-211-6/+0
| | | | | | | | bus_release_resource(). This is needed for pc98 by upcoming nexus related change. Notes: svn path=/head/; revision=167753
* o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati2007-02-234-4/+4
| | | | | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@ Notes: svn path=/head/; revision=166901
* MFp4:Warner Losh2006-06-123-3/+26
| | | | | | | | | | | | | | | o Implement a bunch of sysctl's to report the information that's now always reported. Mvoe reporting of that info to bootverbose, but maybe it can go away entirely. dev.ed.X.type: string name dev.ed.X.TxMem: amount of memory used for tx side of the card dev.ed.X.RxMem: amount of memory used for rx side of the card dev.ed.X.Mem: Total amount of mem on card. o Better comments about where NE-2000 (and clones) gets their MAC address from. Notes: svn path=/head/; revision=159538
* Since DELAY() was moved, most <machine/clock.h> #includes have beenPoul-Henning Kamp2006-05-161-1/+0
| | | | | | | unnecessary. Notes: svn path=/head/; revision=158651
* Add (back) the D-Link DE-650. Not sure why it was deleted.Warner Losh2006-05-081-0/+1
| | | | Notes: svn path=/head/; revision=158369
* Initialize the port_bst and port_bsh variables.Yoshihiro Takahashi2006-02-211-0/+2
| | | | | | | | | | | The ed driver on pc98 was broken by if_edvar.h rev1.31. Reported by: Kaho Toshikazu (kaho at elam kais kyoto-u ac jp) Tested by: Eiji Kato (ekato at a1 mbn or jp) MFC after: 3 days Notes: svn path=/head/; revision=155874
* Have a function pointer to the routine to call for writing an mbufWarner Losh2006-01-279-100/+109
| | | | | | | | | | | | | into the card's memory. # this eliminates a more of the ifdef soup in if_ed and if_edvar # I've fixed the cbus drivers, but can't test them all easily. If I've broken anything, please let me know. Notes: svn path=/head/; revision=154924
* Create mediachg functions for the 3c503 and hpp cards. This is usedWarner Losh2006-01-274-33/+28
| | | | | | | | | | | | | | | to properly configure the right interface to use. Also call the mediachg function when we set flags UP and are already running. If this were a pure ifmedia driver, we'd not need to do this since we'd be ignoring the linkX flags. This reduces the number of ifdefs to support sub-devices a little as a nice side effect. It also reduces the number of hpp interfaces exposed by 33%. Notes: svn path=/head/; revision=154895
* Style(9) issue: return (foo);Warner Losh2006-01-271-7/+7
| | | | Notes: svn path=/head/; revision=154894
* Transition from ALTPHYS to LINK2. We already document in the ed(4)Warner Losh2006-01-272-10/+14
| | | | | | | | | | | | | | | | | | | | man page that the ifconfig option link2 is used to disable the AUI transceiver on the 3com boards (should also say HP PC Lan+). This makes the connection clearer. Add a note about why we set this flag prior to attaching the device. We never set or clear the flag later, only test it. There can be no races here, but this might be asthetically displeasing to some. Also note that we may no longer need to have this knob at all as we may be able to do it with the more sophisticated rc.d scripts we have today I think the only reason it is there is because we didn't used to allow its proper setting when configured to get the IP address via DHCP. I'll note that this would be better handled by using ifmedia for all ed cards, not just those with a miibus... Notes: svn path=/head/; revision=154892
* minor nit in comment about what kind of flags these areWarner Losh2006-01-271-1/+1
| | | | Notes: svn path=/head/; revision=154891
* Add support for the Compaq LTE docking station. It includes a plugWarner Losh2006-01-151-5/+6
| | | | | | | | | | and play device with the ID of PNP8160. Sotr them while I'm here. Submitted by: Sean Shapira sds at jazzie dotty com MFC After: 1 week Notes: svn path=/head/; revision=154391
* - Store pointer to the link-level address right in "struct ifnet"Ruslan Ermilov2005-11-111-1/+1
| | | | | | | | | | | | | rather than in ifindex_table[]; all (except one) accesses are through ifp anyway. IF_LLADDR() works faster, and all (except one) ifaddr_byindex() users were converted to use ifp->if_addr. - Stop storing a (pointer to) Ethernet address in "struct arpcom", and drop the IFP2ENADDR() macro; all users have been converted to use IF_LLADDR() instead. Notes: svn path=/head/; revision=152315
* Add Billionton LNA-100B variation that Alan reported in arch. [1]Warner Losh2005-10-291-1/+3
| | | | | | | | | Also add Global Village lan modem, even though I'm unsure if it works. Reported by: Alan newsletter at acsoftware dot org Notes: svn path=/head/; revision=151840
* Add missing softcWarner Losh2005-10-221-0/+1
| | | | Notes: svn path=/head/; revision=151551
* Turns out that we're asking for the MAC address at a bad time in theWarner Losh2005-10-221-4/+3
| | | | | | | | | | | attach routine. Go ahead and ask for it in the probe routine and be just as wrong as all the other cards that ask for it there... # this gets the RTL8019 on a SBC at work fully functional. 6.0 still treats # the 8019 as a generic NE-2000, so these changes aren't relevant there. Notes: svn path=/head/; revision=151550
* In the ISA case, we call ed_probe_WD80x3 before we callWarner Losh2005-10-221-3/+3
| | | | | | | | | | | | | ed_probe_rtl80x9. In the pci case we call ed_probe_rtl80x9 first. In the PCI case we were using the correct nic_offset by accident because softc is initialized to zero. In the isa case we were using the wrong value by accident, since ed_probe_WD80x3 sets the offset value to 0x10. This lead to the identification routines failing. Fix this problem by always initalizing the nic_offset and asic_offset before making ed_{asic,nic}_{in,out}* calls. Notes: svn path=/head/; revision=151547
* Check against 8019 rather than 8029 for reading in the MAC addr sinceWarner Losh2005-10-171-1/+1
| | | | | | | | | | the former is the ISA part, not the latter. MFC After 6.0 is unfrozen (this bug doesn't exist in 6.0 because I didn't MFC the rtl80x9 changes for ISA due to an error on my part) Notes: svn path=/head/; revision=151404
* If we can't probe the RTL80x9 for some reason, fall back to probing itWarner Losh2005-10-131-2/+9
| | | | | | | | | | | | as a Novell NE-2000. This is necessary for unpatched qemu working correctly. qemu claims to be a RTL8029, but doesn't implement the RTL8029 specific registers at this time. I've created patches for that, but there's no reason we can't use qemu's emulation w/o these patches. This should make life easier for those folks that boot FreeBSD via qemu. Notes: svn path=/head/; revision=151300
* o Fix probing of rtl80x9 parts. We shouldn't be callingWarner Losh2005-10-131-5/+6
| | | | | | | | | | | | | | | ed_probe_generic8390 where we're calling it. It will be done as part of ed_probe_Novel_generic after things are setup in a way that ed_probe_generic8390 will grok. o Fix operator precedence botch that causes a panic when setting the media type for 10baseT connections. o Save the type of device so that it prints with the rest of the probe. # this should make it work with qemu again, but only if it has my patches # to actually implement the RTL8029 specific registers. Notes: svn path=/head/; revision=151299
* Buffalo LPC4/CLX IDWarner Losh2005-10-111-0/+1
| | | | Notes: svn path=/head/; revision=151225
* New OEM generic card. "10/100 Fast Ethernet PC Card". It has aWarner Losh2005-10-111-0/+1
| | | | | | | | | generic sounding CIS "PCMCIA", "FAST ETHERENT CARD" and a bogus MANFID code (0xffff and 0x1090). However, since I'm not aware of 'generic' cards that aren't NE-2000oids, go with that and hope for the best. Notes: svn path=/head/; revision=151224
* Remove debug that crept in..Warner Losh2005-10-051-4/+0
| | | | Notes: svn path=/head/; revision=150959
* MFp4:Warner Losh2005-10-0510-67/+591
| | | | | | | | | | | | | o Add support for Tamarack TC5299J + MII found on SMC 8041TX V.2 and corega PCCCCTXD o Add support for ISA/PCI RTL80[12]9 chips o Improve support for the ax88790 based o minor code movement Submitted by: (#2) David Madole Notes: svn path=/head/; revision=150957
* Emit a warning when a card matches multiple entries in our table. AWarner Losh2005-09-261-2/+35
| | | | | | | | | | | | | | | | number of cards have been discovered to be matching on the strings of the cis rather than manufacturer/product id for cards we already had a prod id for. This is a result of getting the list from the NetBSD driver which also includes the OID for the cards where such a distinction mattered (since it was tested against the MAC address we got from the card). Since we do not try to match OIDs, we do not need the extra entries and they just waste space. I'm guessing that some of the dlink entires (DE-660, DE-660+) and many of the corega cards may fall into this boat and can safely be removed. Notes: svn path=/head/; revision=150581
* Go ahead and detach our children in our detach routine. I'm undecidedWarner Losh2005-09-261-0/+1
| | | | | | | | if we should delete them also or not, but have decided not to do so for the moment. Notes: svn path=/head/; revision=150580
* I have confirmed with my Epson EEN10B that it needs to look at theWarner Losh2005-09-241-2/+1
| | | | | | | | | | attribute memory at 0xff0 to find its MAC address. This is another instance of the IBM ethercard II from all apperances (short of popping the lid). Update the entry to document which cards we support actually need this functionality. Notes: svn path=/head/; revision=150520
* The DLink DE650 has the same ID as Linksys EthernetCard, so we don'tWarner Losh2005-09-241-1/+0
| | | | | | | need a sperate entry for it. Notes: svn path=/head/; revision=150518
* Remove obsolete includeWarner Losh2005-09-231-2/+0
| | | | Notes: svn path=/head/; revision=150493
* Remove duplicate if_free().Warner Losh2005-09-191-1/+0
| | | | | | | Submitted by: ru@ Notes: svn path=/head/; revision=150326
* Make sure that we call if_free(ifp) after bus_teardown_intr. Since weWarner Losh2005-09-191-1/+1
| | | | | | | | | | could get an interrupt after we free the ifp, and the interrupt handler depended on the ifp being still alive, this could, in theory, cause a crash. Eliminate this possibility by moving the if_free to after the bus_teardown_intr() call. Notes: svn path=/head/; revision=150306
* MFp4:Warner Losh2005-09-183-125/+149
| | | | | | | | | | | | | | | | | | | | | o eliminate the ED_NO_MIIBUS option. Now, you need miibus to use ed with pccard. If you have an old ISA or PCI card w/o a miibus, then you'll still be able to use the ed driver w/o miibus in the kernel. If you have pccard you'll need mii now. Most pccards these days have miibus, and many cards have ISSUES if you don't attach miibus. issues I don't want to constantly rediagnose. - Add new media_ioctl, mediachg and tick function pointers. The core driver will call these if they aren't NULL, or return an error if they are. - migrate remaining mii code into if_ed_pccard. o include some notes from my datasheet fishing. this may allow us to get media status from some pccards. o Fix one bug that's common to many drivers. call if_free(ifp) after we tear down the interrupt. ed_intr() depends on ifp being there and freeing it while interrupts can still happen is, ummm, bad. Notes: svn path=/head/; revision=150300
* Fix "struct ifnet" leaks when attach() fails in the middle.Ruslan Ermilov2005-09-161-1/+2
| | | | Notes: svn path=/head/; revision=150215
* When stopping the card, and returning to page 0, it is best if you doWarner Losh2005-09-151-1/+1
| | | | | | | | | that with the NIC set of registers rather than the ASIC registers. I believe this was a harmless oversight, since we set ED_P0_CR to the same value 5ms later, but just to be safe... Notes: svn path=/head/; revision=150145
* Make device_detach methods really work.Ruslan Ermilov2005-09-142-2/+2
| | | | Notes: svn path=/head/; revision=150136
* MFp4: Omnibus ed changesWarner Losh2005-09-134-198/+285
| | | | | | | | | | | | | | | | | | | | | | o Attach AX88x90's MII bus to system, and require its presence. o Reorg the mii code a little, and move more of it into pccard attachment. o Eliminate ed_pccard_{read,write}_attrmem in favor of a more appropriate function in the pccard layer. o Update comments to reflect knowledge gained. o Update how re recognize a NE-2000 ROM. I found a couple of different datasheets that define the structure of the PROM data, so the code's old heuristics have been removed, and comments updated to reflect the structure. o Eliminate work around for EC2T. It is no longer needed, and was wrong headed since the EC2T has a Winbound 82C926C in it, not a AX88x90. o Add copyright to if_ed_pccard.c, since I believe I've re-written more than 3/4 of it. # With these changes, all of my 20-odd ed based cards work, except for the # NetGear FA-410, and I'm pretty sure that's a MII/PHY problem. Notes: svn path=/head/; revision=150108
* MFp4: Minor formatting nits in pccard table.Warner Losh2005-09-131-9/+9
| | | | Notes: svn path=/head/; revision=150104
* Use smaller names. The "NE2000 PCI Ethernet" is largerly redundantWarner Losh2005-09-131-9/+9
| | | | | | | | with edX at pciY. This removes 8*22 bytes from the strings. Not a huge win, but a cheap one. Notes: svn path=/head/; revision=150102
* MFp4:Warner Losh2005-09-101-3/+4
| | | | | | | | | | | | | | | | Reduce the size of ed a little by removing some CIS based entries (others likely can be removed too): o The D-Link DFE-670TXD doesn't need its own entry based on strings. o The Xircom CompactCard appears to be a TDK design, so list it there by ID and remove the strings. Increase the size of ed a little: o Add support for the Addtron AE-660CT and Addtron AE-660. This is a very generic NE-2000 clone (so generic that its CIS tags say NE-2000 generic card!). Notes: svn path=/head/; revision=149922
* The ed driver lock is already held in the mii frobbing routines. RemoveWarner Losh2005-09-081-11/+0
| | | | | | | locking from these routines. Notes: svn path=/head/; revision=149891
* Add note about what ED_DEFAULT_MAC_OFFSET applies toWarner Losh2005-09-081-0/+4
| | | | Notes: svn path=/head/; revision=149890
* Consistancy is the hobgoblin of small minds:Warner Losh2005-09-072-39/+39
| | | | | | | o DLINK -> DL100XX Notes: svn path=/head/; revision=149842