summaryrefslogtreecommitdiff
path: root/sys/dev/ep
Commit message (Collapse)AuthorAgeFilesLines
* MFC 1.108: fix spl leak and don't short circuit loop when we read sinceWarner Losh2002-03-061-4/+7
| | | | | | | we acked the other interrupts too. Notes: svn path=/stable/4/; revision=91730
* MFC: Fixed to support 3Com 3C569B for PC-98.Yoshihiro Takahashi2000-12-161-0/+8
| | | | Notes: svn path=/stable/4/; revision=70088
* MFC: fix printf at unloadPeter Wemm2000-08-081-1/+0
| | | | Notes: svn path=/stable/4/; revision=64430
* MFC: make all Ethernet drivers use ether_ifattach() ether_ifdetach()Archie Cobbs2000-07-172-6/+4
| | | | Notes: svn path=/stable/4/; revision=63338
* MFC: Move BPF and bridging code into ether_input()Archie Cobbs2000-05-242-34/+3
| | | | Notes: svn path=/stable/4/; revision=60840
* Fix a bug in the last commit. >> 4 instead of >> 8. *bap*Matthew N. Dodd2000-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. Notes: svn path=/head/; revision=56429
* Add the ID for the 3c509-TPC.Matthew N. Dodd2000-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> Notes: svn path=/head/; revision=56428
* Fix driver to restore function on 3c574 adapters. The panic onMatthew N. Dodd2000-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 Notes: svn path=/head/; revision=56017
* Pre 4.0 tidy up.Peter Wemm2000-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 Notes: svn path=/head/; revision=55953
* Remove a stray splx(s) call. This fixes the compiler warning.Matthew N. Dodd2000-01-121-1/+0
| | | | | | | Submitted by: gibbs Notes: svn path=/head/; revision=55864
* Speedup if_start routine a little. TX threshold logic needs some moreMatthew N. Dodd2000-01-122-10/+26
| | | | | | | kicking but these changes get me around 1000 KB/sec. Notes: svn path=/head/; revision=55834
* Fix the performance problems I caused by setting ifq_maxlen to 8.Matthew N. Dodd2000-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 Notes: svn path=/head/; revision=55833
* Commit kernel part of patches to get the 3Com OfficeConnect 3CXSH572BTWarner Losh2000-01-101-4/+3
| | | | | | | | | | working on -current. Submitted by: Eric D. Futch <efutch@nyct.net> Approved by: mdodd Notes: svn path=/head/; revision=55702
* kill debug printf that says detachWarner Losh1999-12-101-2/+0
| | | | Notes: svn path=/head/; revision=54385
* Add defines for additional EEPROM locations and register definitions.Matthew N. Dodd1999-12-061-2/+28
| | | | Notes: svn path=/head/; revision=54201
* Whitespace cleanups.Matthew N. Dodd1999-12-061-4/+4
| | | | Notes: svn path=/head/; revision=54200
* Add a delay (per the databook) to the get_eeprom_data() loop soMatthew N. Dodd1999-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". Notes: svn path=/head/; revision=54198
* Standardize device descriptions so that there is parity between PnPMatthew N. Dodd1999-12-061-10/+10
| | | | | | | descriptions and non-PnP descriptions. Notes: svn path=/head/; revision=54197
* Correctly implement the non-PnP enumeration of ISA board.Matthew N. Dodd1999-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. Notes: svn path=/head/; revision=54196
* Fix the hang on card eject problem and maybe the hang on suspendWarner Losh1999-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) Notes: svn path=/head/; revision=53978
* Kill unneeded #includes. They were left over from the short period ofWarner Losh1999-11-201-6/+0
| | | | | | | | time when a strcmp against the device name was required. Sio patches sent to peter for review. Notes: svn path=/head/; revision=53448
* Add (untested) support for the 3C562D/3C563D. I have been unable toWarner Losh1999-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... Notes: svn path=/head/; revision=52621
* Fix identify code. This also fixes the eeprom messages.Warner Losh1999-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. Notes: svn path=/head/; revision=52589
* Last change to pccard_nbk now obviates the need to check the name ofWarner Losh1999-10-281-12/+6
| | | | | | | | the device in question. Also fix warnings on if_ep_pccard.c Notes: svn path=/head/; revision=52585
* HEADS UP! All 3c5x9 users!Matthew N. Dodd1999-10-277-784/+695
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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. Notes: svn path=/head/; revision=52549
* Add newbus attachment for pccard driver. Heavily tested by me, andWarner Losh1999-10-254-145/+216
| | | | | | | | | | | | | | 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> Notes: svn path=/head/; revision=52472
* Fix includes. I missed this the first time around.Matthew N. Dodd1999-10-021-1/+3
| | | | Notes: svn path=/head/; revision=51879
* Duplicated '(' removed.Matthew N. Dodd1999-09-261-1/+1
| | | | | | | Noticed by: Mark Murray <mark@grondar.za> Notes: svn path=/head/; revision=51677
* - Split out the ISA and PCCARD specific code.Matthew N. Dodd1999-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. Notes: svn path=/head/; revision=51673
* Remove NBPF conditionality of bpf calls in most of our network drivers.Poul-Henning Kamp1999-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. Notes: svn path=/head/; revision=51646
* Switch the order of a two tests so that the error actually has to occurDavid E. O'Brien1999-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> Notes: svn path=/head/; revision=51630
* This adds support for the 3Com Megahertz 574B ethernet 16-bit PC-Card.David E. O'Brien1999-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> Notes: svn path=/head/; revision=51387
* $Id$ -> $FreeBSD$Peter Wemm1999-08-283-3/+3
| | | | Notes: svn path=/head/; revision=50477
* Set ifp->if_init to the right function.Matthew N. Dodd1999-08-201-4/+6
| | | | | | | | | | | | | | | if_init_f_t is passed void * containing the address of ifp->if_softc not the unit number. Someone tell me if these things don't work as I don't have the hardware needed to test them. (thats a first.) I'll get if_ze and if_zp later. Pointed out by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> Notes: svn path=/head/; revision=50084
* Make these actually compile. I got a little delete happy pruning includesMatthew N. Dodd1999-08-181-3/+6
| | | | | | | | | | and used 'command' instead of 'cmd' in a few cases. Also clear up some unused variables. Pointed out by: phk Notes: svn path=/head/; revision=50026
* SIOCSIFADDR, SIOCGIFADDR, and SIOCSIFMTU are implemented inMatthew N. Dodd1999-08-181-88/+5
| | | | | | | | | | | sys/net/if_ethersubr.c:ether_ioctl(). Drivers need not implement generic behavior. PR: kern/12126 Submitted by: in part by Boris Popov <bp@butya.kz> Notes: svn path=/head/; revision=50002
* Move the specification of EDGE/LEVEL triggered interrupts toMatthew N. Dodd1999-08-011-2/+2
| | | | | | | | | | | | | | | | | | | | eisa_add_intr() which now takes an additional arguement (one of EISA_TRIGGER_LEVEL or EISA_TRIGGER_EDGE). The flag RR_SHAREABLE has no effect when passed to bus_alloc_resource(dev, SYS_RES_IRQ, ...) in an EISA device context as the eisa_alloc_resource() call (bus_alloc_resource method) now deals with this flag directly, depending on the device ivars. This change does nothing more than move all the 'shared = inb(foo + iobsse)' nonesense to the device probe methods rather than the device attach. Also, print out 'edge' or 'level' in the IRQ announcement message. Reviewed by: dfr Notes: svn path=/head/; revision=49360
* 3C574TX 16bit FastEtherlink PC-card support.Tatsumi Hosokawa1999-07-252-6/+40
| | | | | | | | Reviewed by: HAMADA Naoki <nao@tom-yam.or.jp> Submitted by: Osamu MIHARA <mihara@prd.fc.nec.co.jp> Notes: svn path=/head/; revision=49070
* Rename bpfilter to bpf.Dag-Erling Smørgrav1999-07-061-6/+6
| | | | Notes: svn path=/head/; revision=48645
* Move the declaration of the interrupt type from the driver structureDoug Rabson1999-05-081-3/+2
| | | | | | | to the BUS_SETUP_INTR call. Notes: svn path=/head/; revision=46743
* Implement an EISA new-bus framework. The old driver probe mechanismPeter Wemm1999-04-181-115/+126
| | | | | | | | | | | | had a quirk that made a shim rather hard to implement properly and it was just easier to convert the drivers in one go. The changes to the buslogic driver go beyond just this - the whole driver was new-bus'ed including pci and isa. I have only tested the EISA part of this so far. Submitted by: Doug Rabson <dfr@nlsystems.com> Notes: svn path=/head/; revision=45791
* Move the "fetch serial data" delay so that it is an inter-bit delay.Peter Dufault1999-01-311-5/+13
| | | | | | | | | | | | | | Increase the overall length of the delay by 10. Without this a 3C509 card on my MediaGX crash box can't be reliably read. With this it is solid. I've left a delay multiplier in instead of just changing the base delay because I'm surprised I had to increase it so much and expect there may be another problem. Notes: svn path=/head/; revision=43487
* Update the pccard hooks to use a module style declaration instead.Peter Wemm1999-01-191-11/+3
| | | | Notes: svn path=/head/; revision=42820
* Initialize isa_devtab entries for interrupt handlers in individualBruce Evans1998-10-221-2/+4
| | | | | | | | | | device drivers, not in ioconf.c. Use a different hack in isa_device.h so that a new config(8) is not required yet. pc98 parts approved by: kato Notes: svn path=/head/; revision=40565
* Removed unused includes.Bruce Evans1998-06-211-2/+1
| | | | Notes: svn path=/head/; revision=37101
* This commit fixes various 64bit portability problems required forDoug Rabson1998-06-071-3/+3
| | | | | | | | | | | | | FreeBSD/alpha. The most significant item is to change the command argument to ioctl functions from int to u_long. This change brings us inline with various other BSD versions. Driver writers may like to use (__FreeBSD_version == 300003) to detect this change. The prototype FreeBSD/alpha machdep will follow in a couple of days time. Notes: svn path=/head/; revision=36735
* Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108.Dag-Erling Smørgrav1998-04-171-2/+2
| | | | Notes: svn path=/head/; revision=35256
* Removed unused #includes.Bruce Evans1998-03-281-6/+1
| | | | Notes: svn path=/head/; revision=34928
* Fix some style nits and remove an unused header.Mike Smith1998-02-271-2/+1
| | | | | | | Submitted by: bde Notes: svn path=/head/; revision=33860
* Back out DIAGNOSTIC changes.Eivind Eklund1998-02-061-2/+1
| | | | Notes: svn path=/head/; revision=33134