summaryrefslogtreecommitdiffstats
path: root/sys/dev/fxp
Commit message (Collapse)AuthorAgeFilesLines
* pci_device pd_probe function changed from returning char * to returningdillon1998-12-141-3/+3
| | | | | | const char *. Originally I was going to add casts from const char * to char * in some of the pci device drivers, but the reality is that the pci device probes return constant quoted strings.
* Defer rundown (m_freem) of completed transmit buffers for no longerdg1998-10-221-1/+22
| | | | than 1 second.
* Clear out transmit descriptor memory in fxp_attach when it's malloced.dg1998-10-111-1/+2
| | | | | | | fxp_stop is called as the first thing in fxp_init, and if the tx desc list has junk in it, the system may panic. This bug showed up as a side effect of the changes in rev 1.56, but has been in the code since the beginning.
* Fixed mbuf leak in fxp_stop().dg1998-10-101-5/+9
|
* Implemented a more sophisticated mechanism for handling transmitterdg1998-08-041-45/+103
| | | | | | | | interrupts which now defers them until the transmit queue if filled up with completed buffers. This has two advantages: first, it reduces the number of transmitter interrupts to just 1/120th of the rate that they occured previously, and two, running down many buffers at once has much improved cache effects.
* Added 82555B support for media status.dg1998-08-021-1/+2
|
* Reordered fxp_softc for optimal cacheline behavior.dg1998-08-021-8/+10
|
* Killed unused variable/assignment.dg1998-08-021-2/+1
|
* Fixed pedantic semantics errors (bitfields not of type int, signed intbde1998-06-081-22/+22
| | | | | | | or unsigned int (this doesn't change the struct layout, size or alignment in any of the files changed in this commit, at least for gcc on i386's. Using bitfields of type u_char may affect size and alignment but not packing)).
* This commit fixes various 64bit portability problems required fordfr1998-06-071-2/+2
| | | | | | | | | | 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.
* Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108.des1998-04-171-3/+3
|
* Support compiling with `gcc -ansi'.bde1998-04-151-6/+6
|
* Added support for the 82553 and 'B' 82555 PHY.dg1998-03-032-2/+15
|
* Removed unused #includes.bde1998-02-201-7/+1
|
* Staticize.eivind1998-02-091-8/+8
|
* Make INET a proper option.eivind1998-01-081-2/+5
| | | | | | | | | | | | This will not make any of object files that LINT create change; there might be differences with INET disabled, but hardly anything compiled before without INET anyway. Now the 'obvious' things will give a proper error if compiled without inet - ipx_ip, ipfw, tcp_debug. The only thing that _should_ work (but can't be made to compile reasonably easily) is sppp :-( This commit move struct arpcom from <netinet/if_ether.h> to <net/if_arp.h>.
* Shuffle things a bit for better cacheline behavior.dg1997-11-291-6/+6
|
* Removed unused #includes.bde1997-10-281-2/+1
|
* Rewrote fxp_start() for better clarity and efficiency.dg1997-10-231-101/+101
|
* Fixed a bug where input packets were counted twice - messing up thedg1997-10-171-2/+1
| | | | stats.
* Killed a gratuitous assignment in a NetBSD case.dg1997-09-301-5/+1
|
* Two changes which should make the system less suseptible to receiverdg1997-09-301-29/+29
| | | | | | | overruns (not that it was a problem, but it could be): 1) Doubled the number of receive buffers in the DMA chain to 64. 2) Do packet receive processing before transmit in the interrupt routine.
* Work around a bug in the 82557 NIC where the receiver will lock updg1997-09-293-57/+198
| | | | | | | | | | | | | | | | | | | | | | | if it is in 10Mbps mode and gets certain types of garbage prior to the packet header. The work-around involves reprogramming the multicast filter if nothing is received in some number of seconds (currently set at 15). As a side effect, implemented complete support for multicasting rather than the previous 'receive all multicasts' hack, since we now have the ability to program the filter table. Fixed a serious bug which crept in with the timeout() changes; the cookie was only saved on the first timeout() call in fxp_init() and wasn't updated in the most common place in fxp_stats_update() when the timeout was rescheduled. This bug would have resulted in an eventual panic if fxp_stop() was called (which happens when any interface flags are changed, for example). Fixed a bug in Alpha support that would have caused the TxCB descriptor chain to span a page boundry, causing serious problems if the pages didn't happen to be contiguous. Removed some gratuitous bit masking that was left over from an older implementation. Fixed a bug where too much was copied from the configuration template, spilling over into memory that followed it. Fixed handling of if_timer...it was cleared too early in some cases.
* Update for new callout interface.gibbs1997-09-212-4/+6
|
* Changes to support NetBSD and the new ifmedia extensions.dg1997-09-053-243/+842
| | | | Submitted by: Jason Thorpe <thorpej@netbsd.org>
* Removed unused #includes.bde1997-08-021-13/+1
|
* Added support for the Seeq 80c24 PHY; does nothing except disable thedg1997-07-251-1/+7
| | | | unsupported warning message for it.
* Minor optimization in fxp_intr.dg1997-06-161-5/+4
|
* Added support for the Intel 82555 PHY chip which is being used on newerdg1997-06-132-20/+25
| | | | | Pro/100B cards. Full duplex should work now, although it hasn't been tested.
* Check that the received packet length indicated by the card is at leastdg1997-04-231-1/+5
| | | | | | large enough to contain the ethernet header. There appears to be a condition where the card can return "0" in some failure cases, and this causes bad things to happen (a panic).
* Made a couple of minor optimizations that improve performance of thedg1997-03-251-5/+4
| | | | common case of the interrupt routine by about 20%.
* Don't include <sys/ioctl.h> in the kernel. Stage 2: includebde1997-03-241-2/+2
| | | | <sys/sockio.h> instead of <sys/ioctl.h> in network files.
* Added support for newer cards that have the DP83840A PHY chip.dg1997-03-212-9/+46
| | | | | | | | | | | | | | | | | | Fixed a bug in fxp_mdi_write - a hex number was missing a preceding 0x and this was causing the routine to not wait for a PHY write to complete. Added support for link0, link1, and link2 flags to toggle auto- negotiation, 10/100, and half/full duplex: link0 disable auto-negotiation When set, these flags then have meaning: -link1 10Mbps link1 100Mbps -link2 half duplex link2 full duplex ...needs a manual page.
* Fixed two deficiencies in the driver that have existed since it wasdg1997-03-172-23/+116
| | | | | | | | | | | | written: 1) Full duplex mode is now supported (and works!) 2) The 10Mbps-only PCI Pro/10 should now work (untested, however) Thanks to Justin Gibbs for providing a PCI bus analyzer trace while the Intel Windows driver was configuring the board...this made it possible to figure out the mystery bit that I wasn't setting in the PHY for full duplex to work.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-222-2/+2
| | | | ready for it yet.
* Changed several configuration options:dg1997-02-041-7/+7
| | | | | | | Disabled the DMA byte counters - I had it this way originally and this is the recommended setting. Set crscdt to CRS only (0) since this is what it should be for an MII PHY. Also fixed some comments.
* Do "selective" reset rather than full reset...the manual specificallydg1997-02-042-3/+8
| | | | | | says not to do the full reset because it can lock up the PCI bus if the chip is active. Added various PORT command definitions to facilitate this.
* Don't include the short-frames counter in with the input errors. Thisdg1997-02-041-3/+1
| | | | | counter is incremented on all short frames, including those that are the result of collisions.
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-142-2/+2
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Use the new if_multiaddrs list for multicast addresses rather than thewollman1997-01-131-15/+5
| | | | | | | previous hackery involving struct in_ifaddr and arpcom. Get rid of the abominable multi_kludge. Update all network interfaces to use the new machanism. Distressingly few Ethernet drivers program the multicast filter properly (assuming the hardware has one, which it usually does).
* 1) Implement SIOCSIFMTU in ether_ioctl(), and change ether_ioctl's returndg1996-12-101-92/+15
| | | | | | | | | type to be int so that errors can be returned. 2) Use the new SIOCSIFMTU ether_ioctl support in the few drivers that are using ether_ioctl(). 3) In if_fxp.c: treat if_bpf as a token, not as a pointer. Don't bother testing for FXP_NTXSEG being reached in fxp_start()...just check for non-NULL 'm'. Change fxp_ioctl() to use ether_ioctl().
* Fixed obsolete comment.dg1996-11-181-3/+2
|
* Removed nested include if <sys/socket.h> from <net/if.h> andbde1996-10-121-1/+2
| | | | | | | <net/if_arp.h> and fixed the things that depended on it. The nested include just allowed unportable programs to compile and made my simple #include checking program report that networking code doesn't need to include <sys/socket.h>.
* Backed out one of my "performance optimizations" as it results in sometimesdg1996-09-291-9/+13
| | | | | | | | | not resuming the NIC as required for transmit. Thanks to Alan Cox <alc@cs.rice.edu> for noticing this. Added another performance optimization to compensate. :-) Changed crscdt to 1...strange, but this seems to be needed for some reason despite what the manual says.
* Fixed a bug with the management of the pointer to the first TxCB in thedg1996-09-221-49/+38
| | | | | | | ring that caused wrong things to happen sometimes. Doubled the number of transmit descriptors to 128 so that the internal FIFO in the NIC can be fully filled when dealing with small packets. Several minor performance improvements.
* Fixed a bug in the receive buffer allocation code that resulted in adg1996-09-201-5/+14
| | | | | panic if an mbuf cluster couldn't be allocated. This was caused by a failure to re-initialize m_data when the old mbuf/mbcluster was recycled.
* When the devconf stuff was ripped out of the kernel, the ripper neglecteddg1996-09-201-18/+17
| | | | | | | | to deal with the fact that we relied on devconf to do the shutdown callouts in various drivers. The changes in this commit are to add support for device shutdown in this driver via the new at_shutdown() mechanism. Similar changes need to be made to all of the other drivers that need a shutdown routine called (if_de.c comes to mind immediately).
* Implemented a better, dynamic, mechanism for adjusting the transmitdg1996-09-191-2/+19
| | | | threshold.
* Increased transmit threshold to 1024 bytes to fix a problem with underrunsdg1996-09-181-2/+2
| | | | on machines with poor PCI performance.
* Remove devconf, it never grew up to be of any use.phk1996-09-061-7/+5
|
OpenPOWER on IntegriCloud