summaryrefslogtreecommitdiffstats
path: root/sys/dev/ep
Commit message (Collapse)AuthorAgeFilesLines
* Two fixes from Jonathan Hanna:imp2002-02-121-6/+4
| | | | | | | | | 1) We shouldn't continue when we get a RX complete because we ack it and the TX complete. 2) Fix a couple of spl leaks (why splbio is needed in ISR, I cannot understand). MFC after: 3 days
* More devices. Obtained from NetBSD.imp2001-11-151-2/+4
|
* Migrate to PCMCIA_CARD() macrosimp2001-11-151-15/+5
|
* s/PCCARD_/PCMCIA_/g in NEWCARD device tables to enable easier NetBSD sharingimp2001-11-111-15/+15
|
* Commit part of the patch that I have for card eject problems with theimp2001-06-051-0/+5
| | | | | | | | ep driver. The rest of the patch will wait until I can put the time into it to get it righter than the kludge it is. This protects us against card eject problems at all times,e xecpt when we're in the epintr ISR.
* Use PCCARD_CIS_xxx #defines for the table of oem ids. These usuallyimp2001-01-211-5/+10
| | | | translate to all NULLs (as for all the ones in this commit).
* Add the 3COM ID's that I could find in the pccarddevs file that seemedpeter2001-01-071-0/+22
| | | | | | | | | | | to match the pccard.conf file. There are more ID's that need adding, but these seem to be the common ones. This was committed on an ep0 interface under NEWCARD: ep0: <3Com 3c589 10Mbps Ethernet> at port 0x300-0x30f irq 9 function 0 config 1 on pccard1 ep0: Ethernet address 00:10:4b:df:48:57 Reviewed by: imp
* Fixed to support 3Com 3C569B for PC-98.nyan2000-12-091-0/+8
| | | | Submitted by: "Hirokazu WATANABE" <gwna@geocities.co.jp>
* Remove unneeded #include <machine/clock.h>phk2000-10-154-4/+0
|
* Remove 7 unnecessary includes frmo phk's scriptimp2000-09-204-8/+0
|
* Implement indirection in the pccard probe/attach. This should make itimp2000-09-191-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | possible to have different probe/attach semantics between the two systems and yet still use the same driver for both. Compatibility methods for OLDCARD drivers. We use these routines to make it possible to call the OLDCARD driver's probe routine in the context that it expects. For OLDCARD these are implemented as pass throughs to the device_{probe,attach} routines. For NEWCARD they are implemented such such that probe becomes strictly a matching routine and attach does both the old probe and old attach. compat devices should use the following: /* Device interface */ DEVMETHOD(device_probe), pccard_compat_probe), DEVMETHOD(device_attach), pccard_compat_attach), /* Card interface */ DEVMETHOD(card_compat_match, foo_match), /* newly written */ DEVMETHOD(card_compat_probe, foo_probe), /* old probe */ DEVMETHOD(card_compat_attach, foo_attach), /* old attach */ This will allow a single driver binary image to be used for both OLDCARD and NEWCARD. Drivers wishing to not retain OLDCARD compatibility needn't do this. ep driver minorly updated. sn driver updated more than minorly. Add module dependencies to allow module to load. Also change name to if_sn. Add some debugging code. attempt to fix the cannot allocate memory problem I'd been seeing. Minor formatting nits.
* Add ID for 3C1. It is a etherlink iii in a CompactFlash form factor.imp2000-09-131-1/+4
| | | | | It doesn't seem to work, but at least is identified correctly. Minor tree housekeeping on my part.
* Properly detect ISA cards in EISA mode and skip them in the ISA identifymdodd2000-07-182-2/+12
| | | | | | routine so that they will be picked up by the EISA front end. PR: i386/2598
* Make all Ethernet drivers attach using ether_ifattach() and detach usingarchie2000-07-132-6/+4
| | | | | | | | | ether_ifdetach(). The former consolidates the operations of if_attach(), ng_ether_attach(), and bpfattach(). The latter consolidates the corresponding detach operations. Reviewed by: julian, freebsd-net
* Move code to handle BPF and bridging for incoming Ethernet packets outarchie2000-05-142-34/+3
| | | | | | | | | | | | | | | of the individual drivers and into the common routine ether_input(). Also, remove the (incomplete) hack for matching ethernet headers in the ip_fw code. The good news: net result of 1016 lines removed, and this should make bridging now work with *all* Ethernet drivers. The bad news: it's nearly impossible to test every driver, especially for bridging, and I was unable to get much testing help on the mailing lists. Reviewed by: freebsd-net
* Remove unneeded #include <sys/kernel.h>phk2000-04-291-1/+0
|
* Remove ~25 unneeded #include <sys/conf.h>phk2000-04-191-1/+0
| | | | Remove ~60 unneeded #include <sys/malloc.h>
* Remove unloaded printf. We do this now in the newbus layer.imp2000-04-171-1/+0
|
* Fix a problem that caused TCP fragments to be lost (among other things.)mdodd2000-03-241-1/+1
|
* Copy how everyone else is doing packet transmission. (NetBSD mostly)mdodd2000-03-131-6/+8
| | | | | I've been running this for a month or so and have had no problems with it and if I recall it was my last speed tweak. Holler if this breaks anything.
* Follow the docs a bit more in epstop() with respect to delays.mdodd2000-03-131-0/+5
| | | | Trivial formatting.
* Get rid of table lookup in favor of just subtracting. Everyone elsemdodd2000-03-131-3/+1
| | | | does it like this and I see no point in being different.
* Call epstop() in ep_attach(). While this shouldn't be necessary we'llmdodd2000-03-131-0/+2
| | | | | do it just in case. (Actually, with PCMCIA cards we can get in a state where it may be required.)
* Fix a bug in the last commit. >> 4 instead of >> 8. *bap*mdodd2000-01-231-6/+6
| | | | | | | | | | | Fix a long-standing bug where I used a 'break;' instead of a 'continue;'; you had to have multiple ISA boards in non-PnP mode with an 'unknown' board with a lower MAC address to find this one. Since I have 4 3c5x9 boards in my test box I was somewhat confused when this happened. :) Make the messages printed by ep_isa_identify() a little more consistent; we'll only see them in verbose boot mode but it makes me feel better if they look nice.
* Add the ID for the 3c509-TPC.mdodd2000-01-231-0/+12
| | | | | | | | Also, while I'm here, add a mechanism to catch unknown board IDs that are likely to be 3c509s and allow them to be attached. PR: kern/16304 Submitted by: Kelly Yancey <kbyanc@posi.net>
* Fix driver to restore function on 3c574 adapters. The panic onmdodd2000-01-153-9/+23
| | | | | | | ifconfig and bogus ethernet address (4b:57:4b:57:4b:57) has been hacked around. I'll revisit this when I have a clue whats going on. Reviewed by: obrien
* Pre 4.0 tidy up.peter2000-01-141-1/+1
| | | | | | | | | | | | Collect together the components of several drivers and export eisa from the i386-only area (It's not, it's on some alphas too). The code hasn't been updated to work on the Alpha yet, but that can come later. Repository copies were done a while ago. Moving these now keeps them in consistant place across the 4.x series as the newbusification progresses. Submitted by: mdodd
* Remove a stray splx(s) call. This fixes the compiler warning.mdodd2000-01-121-1/+0
| | | | Submitted by: gibbs
* Speedup if_start routine a little. TX threshold logic needs some moremdodd2000-01-122-10/+26
| | | | kicking but these changes get me around 1000 KB/sec.
* Fix the performance problems I caused by setting ifq_maxlen to 8.mdodd2000-01-121-1/+1
| | | | | | | | | | | | | | | | | | | Use IFQ_MAXLEN instead. This seemed like a good idea at the time since most 3c509s have all of 2k for their TX fifo. My intention was to revisit ifq_maxlen and auto-scale it or something. ttcp-t: 16777216 bytes in 21.53 real seconds = 761.07 KB/sec +++ ttcp-t: 2771 I/O calls, msec/call = 7.96, calls/sec = 128.72 ttcp-t: 0.0user 2.9sys 0:21real 13% 20i+280d 222maxrss 0+2pf 717+0csw ttcp-r: 16777216 bytes in 14.11 real seconds = 1161.48 KB/sec +++ ttcp-r: 2050 I/O calls, msec/call = 7.05, calls/sec = 145.33 ttcp-r: 0.0user 1.4sys 0:14real 10% 87i+1198d 196maxrss 0+1pf 1949+186csw I've got some tweaks that move the TX speed up to the RX speed but I've got to groom them from the mess I've made of my source tree. Yelled at by: wpaul
* Commit kernel part of patches to get the 3Com OfficeConnect 3CXSH572BTimp2000-01-101-4/+3
| | | | | | | working on -current. Submitted by: Eric D. Futch <efutch@nyct.net> Approved by: mdodd
* kill debug printf that says detachimp1999-12-101-2/+0
|
* Add defines for additional EEPROM locations and register definitions.mdodd1999-12-061-2/+28
|
* Whitespace cleanups.mdodd1999-12-061-4/+4
|
* Add a delay (per the databook) to the get_eeprom_data() loop somdodd1999-12-061-9/+12
| | | | | | | that the read EEPROM command has time to execute. I didn't observe any difference in behavior on my test system but this is the documented "correct behavior".
* Standardize device descriptions so that there is parity between PnPmdodd1999-12-061-10/+10
| | | | descriptions and non-PnP descriptions.
* Correctly implement the non-PnP enumeration of ISA board.mdodd1999-12-061-14/+36
| | | | | | | | | | | | | | | We now correctly skip boards that have PnP support enabled, or are in test mode. The 3c509s support a number of combinations of device probing, as per the databook. - ISA only - PnP only - ISA or PnP We will allow cards that can be dealt with by PnP to be attached by the PnP enumerator. This fixes the bogus detection of boards at weird ioports.
* Fix the hang on card eject problem and maybe the hang on suspendimp1999-12-011-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | problem. o Create new timeout routine so we don't detach the card inside a ISR but instead drop back to spl0 via a timeout of 0. o Actually delete the child of the pccard device rather than just faking it badly. o Fix sio, ed and ep to have pccard detach routines that are int rather than void. o Fix ep and ed pccard detach routines to use if_detach rather than just if_down. if_detach destroys the device, while if_down just marks it down. In this incarnation of the pccard things, we map the disable the slot action to detach the driver, which removes the driver from the device tree. When that is done, a panic would soon follow as the ifconfig tried to down the device. Didn't fix: o Should cache the pccard dev child's pointer in struct slot o remove now unused parts of struct slot o Any driver using softc after detach has been called. sio's softc used to be statically allocated, so you could check sc->gone, but that is now gone. o Didn't remove gone from softc of drivers that use the old pccard method. Didn't test: o ed driver changes o sio driver changes on pccards o suspend (no laptop or apm support on my desktop)
* Kill unneeded #includes. They were left over from the short period ofimp1999-11-201-6/+0
| | | | | time when a strcmp against the device name was required. Sio patches sent to peter for review.
* Add (untested) support for the 3C562D/3C563D. I have been unable toimp1999-10-291-0/+3
| | | | | | | test this support since I don't have the dongle for the card in question and the dongle I have for my 3C589D doesn't seem to work on it. I don't know if this is due to the damage I did to the 562 card in transit from freebsdcon, or a mis-matched dongle...
* Fix identify code. This also fixes the eeprom messages.imp1999-10-281-13/+12
| | | | | | | pccard attachments must activate the resources they want to access. ep didn't do this, so of course thee eeprom came back as busy. ed and sio already did this. It was only due to a bug in the logic that the probe succeeded. These problems have been fixed.
* Last change to pccard_nbk now obviates the need to check the name ofimp1999-10-281-12/+6
| | | | | the device in question. Also fix warnings on if_ep_pccard.c
* HEADS UP! All 3c5x9 users!mdodd1999-10-277-796/+707
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rip out all the static softc stuff and do softc allocation the right way. - Rewrite most of the ISA code so that it provides a DEVICE_IDENTIFY method to enumerate all non-PnP ISA devices. This has the following consequences: - No 'ep' devices may be hardwired. - All hardwired devices will probably be detected twice. By hardwired I mean: device ep0 at isa? port 0x300 irq 10 - 'ep' devices are ordered by bus, slot, and then MAC address. - Make 3c509B cards work in PnP mode. Yes, they really work. - Convert over to using ifmedia for media selection. No more of this lame 'linkX' stuff. - Consolidate a lot of duplicated code. - Make a stab at not breaking MII based PCCARD devices. I doubt that the PCCARD stuff works any more than it did before my changes but theres hope. My PCCARD hardware should arrive in a week or so. - Retreive the media settings from the card EEPROM rather than guessing. I've got a 3c509-TPO that thinks its got an AUI port and if others can report similar problems I'll write a bit of clever code that will fix this but right now it works correctly on all but 1 card. - Clean up a few things and make some cosmetic changes. - Add myself as the MAINTAINER since nobody else wants to. I'm in the best position to do this as I've got an example of most of the cards: EISA 3c579 bnc/aui MCA 3c529 tp/aui ISA 3c509 tpo ISA-PnP 3c509B combo If someone wants to send me a any cards I don't have I'd appriciate it. Also welcome are 3c59x boards since I'll be folding if_vx and if_ep at some point.
* Add newbus attachment for pccard driver. Heavily tested by me, andimp1999-10-254-155/+226
| | | | | | | | | | | I'm committing this from a laptop running this driver. Have only one devclass for all ep devices (at least for pccard and eisa) so unit numbering is sane. Might not work with both isa and non-isa devices on the same system until ep is updated (Matt has some patches in the pipeline which should resolve this, he wanted me to commit this so he can resolve any conflicts against cvs rather than my patches). Reviewed by: Matt Dodd <mdodd@freebsd.org>
* Fix includes. I missed this the first time around.mdodd1999-10-021-1/+3
|
* Duplicated '(' removed.mdodd1999-09-261-1/+1
| | | | Noticed by: Mark Murray <mark@grondar.za>
* - Split out the ISA and PCCARD specific code.mdodd1999-09-266-605/+918
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Split out the prototypes, externs and struct decls from if_epreg.h into if_epvar.h. - Add support for MCA based Etherlink III (3c529) devices. None of this code is used right now; the old if_ep driver is still in place and used. I will eventually get around to converting if_ep_isa.c to newbus once I've had a talk with Peter and DFR about the DEVICE_IDENTIFY() method. I have tested this code on my PS/2. It works. I would like EISA and ISA testers since my example hardware hasn't arrived yet. Add: dev/ep/if_ep.c optional ep dev/ep/if_ep_isa.c optional ep isa dev/ep/if_ep_eisa.c optional ep eisa dev/ep/if_ep_mca.c optional ep mca dev/ep/if_ep_pccard.c optional ep card to sys/conf/files Remove: i386/eisa/3c5x9.c optional ep i386/isa/if_ep.c optional ep from sys/i386/conf/files.i386 PCCARD testers wanted! I will switch off and cvs rm the old driver in favor of this copy once I've had positive feedback or have the hardware to verify that it works.
* Remove NBPF conditionality of bpf calls in most of our network drivers.phk1999-09-251-9/+0
| | | | | | | | | | | | This means that we will not have to have a bpf and a non-bpf version of our driver modules. This does not open any security hole, because the bpf core isn't loadable The drivers left unchanged are the "cross platform" drivers where the respective maintainers are urged to DTRT, whatever that may be. Add a couple of missing FreeBSD tags.
* Switch the order of a two tests so that the error actually has to occurobrien1999-09-241-1/+1
| | | | | | | | for you to be told there was an error [during verbose boot]. I poked him for the fix, he poked me to get it committed. Submitted by: Jason Young <doogie@anet-stl.com>
* This adds support for the 3Com Megahertz 574B ethernet 16-bit PC-Card.obrien1999-09-191-19/+54
| | | | | | | | 1) Reworked the probe routine 2) Addition of the 574B's product ID. 3) Added useful info when booting verbosely. Submitted by: Jason Young <doogie@anet-stl.com>
OpenPOWER on IntegriCloud