summaryrefslogtreecommitdiffstats
path: root/sys/dev/fe
Commit message (Collapse)AuthorAgeFilesLines
* - Use bus_foo() rather than bus_space_foo() and retire the bus tag and handlejhb2008-06-235-44/+27
| | | | | | | | | | | | from the softc. - Rework the watchdog timer to match other NIC drivers: - Start a timer in fe_init() that runs once a second and checks a counter in the softc that is identical to the deprecated 'if_timer'. - Just adjust the softc tx timeout value when sending packets instead of scheduling the timer. - Use IFQ_SET_MAXLEN(). Tested by: WATANABE Kazuhiro
* Make fe(4) MPSAFE:jhb2008-06-023-44/+86
| | | | | | | | | - Add a mutex to the softc to protect the softc and device hardware. - Don't leak bus resources if if_alloc() fails during attach. - Setup the interrupt handler after calling ether_ifattach(). - Use a private timer to manage the transmit watchdog. Tested by: WATANABE Kazuhiro CQG00620 of nifty.ne.jp
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-231-1/+1
| | | | | | | | | | | | | 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@
* Commit the results of the typo hunt by Darren Pilgrim.yar2006-08-041-1/+1
| | | | | | | | | | This change affects documentation and comments only, no real code involved. PR: misc/101245 Submitted by: Darren Pilgrim <darren pilgrim bitfreak org> Tested by: md5(1) MFC after: 1 week
* Return 0 if we are a network card and do match. Previously, we'd boguslyimp2005-11-191-0/+1
| | | | | | fail and the card wouldn't be detected. Submitted by: Bryan Blackburn
* - Store pointer to the link-level address right in "struct ifnet"ru2005-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.
* Preliminary support for Xircom Credit Card Adapter. Not to beimp2005-10-251-13/+55
| | | | | | | | | confused with the Credit Card Adapter II and its spawn (which the xe driver supports). These changes get my card probing and attaching. I recently won one of these (and a NEC rebadged version) in an lot auction. The NEC didn't work, so I took it apart and found the MB86960A chip and then modified if_fe_pccard.c to attach. I can't test this card further since I have no dongle for this card.
* PC Card instead of other variantsimp2005-09-222-5/+5
|
* Remove OLDCARD support by removing compat shimsimp2005-09-201-27/+14
|
* Make sure that we call if_free(ifp) after bus_teardown_intr. Since weimp2005-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.
* Fix "struct ifnet" leak if attach() fails in the middle.ru2005-09-161-0/+1
|
* Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE andrwatson2005-08-091-14/+13
| | | | | | | | | | | | | | IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to ifnet.if_drv_flags. Device drivers are now responsible for synchronizing access to these flags, as they are in if_drv_flags. This helps prevent races between the network stack and device driver in maintaining the interface flags field. Many __FreeBSD__ and __FreeBSD_version checks maintained and continued; some less so. Reviewed by: pjd, bz MFC after: 7 days
* Modify device drivers supporting multicast addresses to lock if_addr_mtxrwatson2005-08-031-0/+2
| | | | | | | | over iteration of their multicast address lists when synchronizing the hardware address filter with the network stack-maintained list. Problem reported by: Ed Maste (emaste at phaedrus dot sandvine dot ca> MFC after: 1 week
* Eliminate unused argument in PCMCIA_CARD macro.imp2005-06-241-12/+12
| | | | | | | | Provide a backwards compatible way to have the extra macro by defining PCCARD_API_LEVEL 5 before including pccarddevs for driver writers that want/need to have the same driver on 5 and 6 with pccard attachments. Approved by: re (dwhite)
* s/sc_enaddr/enaddr/ to fix pc98 build.brooks2005-06-111-19/+19
| | | | Approved by: re (blanket)
* Stop embedding struct ifnet at the top of driver softcs. Instead thebrooks2005-06-104-107/+116
| | | | | | | | | | | | | | | | | | | | struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com. This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go. Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr. Reviewed by: sobomax, sam
* Perliminary support for Fujitsu SCSI LAN combo card. At least for theimp2005-02-201-1/+1
| | | | | LAN side of things. It appears that all that's necessary is to relax the check on the DLCR2 register in the probe.
* Back out part of 1.23. This was a work in progress to support theimp2005-02-201-13/+5
| | | | Fujitsu LAN SCSI card's ethernet side.
* Forced commit after moving mb86960.h from i386/isa/ic to dev/fe. Itimp2005-02-204-10/+22
| | | | is only used by the fe driver, and isn't MD.
* we don't need the offset in the attr memory to get the ethernetimp2005-01-211-14/+12
| | | | | | | address, nor do we need the alignment requirements, so eliminate them. This likely means that we can now collapse some of the entries as we have no need of them anymore (they match other entries and were there only to get the right attr memory offset of the enet addr).
* Remove prototype of undefined function so this compiles again.phk2005-01-211-2/+0
|
* Rework pccard attachment a little. Now both of my fe based ethernetimp2005-01-211-26/+22
| | | | | | | | | | | | cards work. These changes depend on the expanded funce parsing that just was committed to pccard_cis.c. In NetBSD the ethernet address was read out of attr memory directly. We rely on the kernel pccard parser to pulll this information out of what appears to be an obsolete funce with the information in it. # I'm still getting the no rx interrupt sometimes with some hub/switches # for reasons unknown... But usually only one and only when dhclient # runs.
* Only attach to network functions. This should be a nop since I'm notimp2005-01-201-0/+10
| | | | | | aware of any fe based cards that do anything except network (well, maybe the fujitsu scsi/lan card, but I've only seen two of those on ebay in the last 3 years).
* Minor nitimp2005-01-201-1/+0
|
* Add a few cards from NetBSD. They don't work yet, since the code toimp2005-01-111-8/+10
| | | | | | read the ethernet address from the attribute space hasn't been implemented. Also add flags for the MBH10302. The flags and maddr fields will be used when reading from the attribute space...
* don't pollute global namespace with valid_Ether_p, instead, prependimp2005-01-105-24/+24
| | | | fe_ to it.
* NE200 -> NE200Timp2005-01-101-1/+1
|
* Add support for:imp2005-01-101-0/+1
| | | | | | | | | | | fe1: <EAGLE Technology NE200 ETHERNET LAN MBH10302 04> As reported by Sean Shapira. This appears to be working. Eagle used Fujitsu's vendor number, with a product number of 4 (which is the same as the vendor number, which is a little suspect). Since there's no apparent conflict, go ahead and use it. Submitted by: Sean Shapira
* /* -> /*- for copyright notices, minor format tweaks as necessaryimp2005-01-061-1/+1
|
* Start each of the license/copyright comments with /*-, minor shuffle of linesimp2005-01-066-6/+6
|
* Style. Use ETHER_IS_MULTICAST() appropriately instead of masking off the bit.bms2004-10-071-1/+1
| | | | Reviewed by: jmallett
* Since if_fe doesn't contain locking or run with INTR_MPSAFE, markrwatson2004-08-131-1/+2
| | | | the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
* Replace handrolled CRC calculation with ether_crc32_[lb]e().naddy2004-06-091-24/+2
|
* Fix disordering of pccarddevs.h noticed by bde. Also remove a fewimp2004-05-271-2/+2
| | | | | | redundant includes and fix some of the include disordering. Submitted by: bde
* Move to generating pccarddevs.h on the fly, both for the kernel andimp2004-05-261-1/+1
| | | | | | | the modules. Also generate usbdevs.h automatically now, but a non-kernel file is stopping that at the moment.
* We don't need to initialize if_output, ether_ifattach() does itmux2004-05-231-1/+0
| | | | for us.
* Remove improper use of if_addrhead in device drivers to checkluigi2004-04-151-8/+0
| | | | | | | | | | | | if the link-level address has been initialized already. The majority of modern drivers never does this and works fine, which makes me think that the check is totally unnecessary and a residue of cut&paste from other drivers. This change is done to simplify locking because now almost none of the drivers uses this field. The exceptions are "ct" "ctau" and "cx" where i am not sure if i can remove that part.
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-2/+1
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* Announce ethernet MAC addresss in ether_ifattach().mdodd2004-03-141-2/+1
|
* Don't use caddr_t in mchash(). Also use C99 spellings over BSD ones.obrien2003-12-081-4/+4
| | | | Requested by: bde,imp
* Try to create some sort of consistency in how the routings to find theobrien2003-11-131-18/+16
| | | | | | | multicast hash are written. There are still two distinct algorithms used, and there actually isn't any reason each driver should have its own copy of this function as they could all share one copy of it (if it grew an additional argument).
* Replace the if_name and if_unit members of struct ifnet with new membersbrooks2003-10-312-30/+30
| | | | | | | | | | | | | if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance. This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics. Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname)
* Use __FBSDID().obrien2003-08-244-4/+12
| | | | Also some minor style cleanups.
* Make sure that pp_name is non-null before setting the deviceimp2003-04-101-1/+2
| | | | | description. This allows us to rely entirely on the CIS entries if necessary...
* Back out M_* changes, per decision of the TRB.imp2003-02-191-2/+2
| | | | Approved by: trb
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-2/+2
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* network interface driver changes:sam2002-11-142-20/+8
| | | | | | | | | | | | | | o don't strip the Ethernet header from inbound packets; pass packets up the stack intact (required significant changes to some drivers) o reference common definitions in net/ethernet.h (e.g. ETHER_ALIGN) o track ether_ifattach/ether_ifdetach API changes o track bpf changes (use BPF_TAP and BPF_MTAP) o track vlan changes (ifnet capabilities, revised processing scheme, etc.) o use if_input to pass packets "up" o call ether_ioctl for default handling of ioctls Reviewed by: many Approved by: re
* Use if_printf(ifp, "blah") instead of printf("fe%d: blah", ifp->if_unit).brooks2002-10-011-7/+7
| | | | | | | A number of functions in this driver still use the unit number in their printouts because they pass the unit directly as a function argument instead of passing a softc or struct ifnet pointer. This should be resolved at a future date.
* Be consistent about "static" functions: if the function is markedphk2002-09-281-1/+1
| | | | | | static in its prototype, mark it static at the definition too. Inspired by: FlexeLint warning #512
* Supported C-NET(98)P2 PnP mode.nyan2002-02-041-15/+27
| | | | | Submitted by: "Hirokazu WATANABE" <gwna@geocities.co.jp> MFC after: 3 days
OpenPOWER on IntegriCloud