| History log of /src/sys/dev/ic/i82557reg.h |
| Revision | | Date | Author | Comments |
| 1.25 |
| 02-Sep-2011 |
msaitoh | Add support for some fxp devices from FreeBSD and OpenBSD. {Free,Open}BSD say that we have to do some work to make fxp stable.
|
| 1.24 |
| 17-Apr-2009 |
tsutsui | Check revisions and print names of i82551/i82551ER, per Intel manual.
|
| 1.23 |
| 11-Mar-2009 |
tsutsui | u_intNN_t -> uintNN_t
|
| 1.22 |
| 20-Feb-2009 |
mrg | - remove FXPF_IPCB flag. it should always/only be used with the code conditional on FXPF_EXT_TXCB, so, replace all uses with that - for the pci frontend, reestablish some flags lost the the prior changes and simplify one of the cases
this fixes PR 40677 and may fix PR 40431.
|
| 1.21 |
| 03-Dec-2008 |
tsutsui | branches: 1.21.4; Add a workaround for hardware ip4csum-tx bug and enable it. Confirmed on i82550 rev 12 and UDP fragment packets by ttcp(1).
|
| 1.20 |
| 28-Apr-2008 |
martin | branches: 1.20.6; 1.20.8; 1.20.10; Remove clause 3 and 4 from TNF licenses
|
| 1.19 |
| 08-Dec-2007 |
tsutsui | branches: 1.19.12; 1.19.14; 1.19.16; Pull several fixes from OpenBSD's fxp.c:
Rev 1.41: > use a nop with I bit set at the end of the tx chain. This avoids a race > between status update and clearing the suspend bit on machines which can't > write data smaller than 32bits at a time. This should fix PR port-alpha/30560.
Rev 1.50: > Fix nasty bug where driver would not correctly catch and handle an rnr > condition when it was due to the the recieve buffers being exhausted with > no packet transmits during that time. Symptom was that the fxp would > simply stop interrupting for the next 15 seconds until the watchdog kicked > in and reset the chip due to 15 seconds of inactivity, making the fxp very > poorly behaved when hammered on hard.
Rev 1.61: > Defer reinitialisation of the RU until after the interrupt handler has had > a chance to process all pending packets, otherwise the chip may overwrite > their mbuf clusters after we have freed them. > > Eliminates a race that can cause random pool corruption when reconfiguring > an interface under heavy network load.
And one more change for RX sanity: - put RU into suspend when the last RFA is processed.
These RNR/RU changes may fix pool corruption problems on fxp.
Tested on AlphaPC164 and i386 with i82559 and i82550.
|
| 1.18 |
| 11-Dec-2005 |
christos | branches: 1.18.24; 1.18.34; 1.18.38; 1.18.44; 1.18.46; 1.18.56; 1.18.58; merge ktrace-lwp.
|
| 1.17 |
| 29-May-2005 |
christos | branches: 1.17.2; - sprinkle const. - avoid variable shadowing.
|
| 1.16 |
| 27-Feb-2005 |
perry | nuke trailing whitespace
|
| 1.15 |
| 16-May-2004 |
thorpej | branches: 1.15.4; 1.15.6; Patch from HITOSHI Osada: * Add PAUSE-related event counters. * Return flow control bits in fxp_mii_mediastatus().
|
| 1.14 |
| 19-Feb-2004 |
yamt | support h/w assisted vlan tag removal.
|
| 1.13 |
| 02-Nov-2003 |
wiz | deferred, not deffered. Inspired by Tom Cosgrove.
|
| 1.12 |
| 26-May-2003 |
yamt | branches: 1.12.2; ip/tcp/udp checksum offloading support for i82550. largely from FreeBSD.
|
| 1.11 |
| 05-Apr-2002 |
thorpej | Define the command block used for loading microcode into the chip.
|
| 1.10 |
| 02-Jun-2001 |
thorpej | branches: 1.10.2; Define some extra configuration block bits used on the i82550 (a.k.a. PRO 100/S), including the extended RFA format. Don't hard-code the RFA size to allow us to use the extended format in the future.
|
| 1.9 |
| 25-May-2001 |
hannken | Fix two typos in the BYTE_ORDER != LITTLE_ENDIAN case.
|
| 1.8 |
| 22-May-2001 |
thorpej | Some changes from the new FreeBSD `fxp' driver: - Add some additional config block bits for the i82558/i82559. - Change the config block template to only fill in the must-be-one reserved bits, leave fxp_init() to fill in all the important things. - On the i82558/i82559, we can use "Receive Long Frames" rather than "Save Bad Frames" to support the VLAN MTU. - Use 802.3x flow control on the i82558/i82559. This is all handled transparently by the hardware. When in promiscuous mode, allow wire-watchers to see the flow control frames. - Use the Extended TxCB format on the i82558/i82559. This places two Transmit Buffer Descriptors directly in the TxCB, which should cover the vast majority of packets transmitted. This saves PCI transactions that would otherwise be required to fetch the TBD list.
With the tansmit queue length changes from yesterday, this gets us up to 11.5MB/s TCP transmit speed, out of an absolute maximum of 12MB/s possible on a 100Mb/s link.
|
| 1.7 |
| 22-May-2001 |
thorpej | Report 82558, 82559, etc. based on chip revision. Also, remember which revsion we have for feature enables later.
|
| 1.6 |
| 22-May-2001 |
thorpej | A little slight cleanup.
|
| 1.5 |
| 22-May-2001 |
thorpej | Add some additional register definitions, from FreeBSD.
|
| 1.4 |
| 21-May-2001 |
thorpej | Re-arrange the transmit control data somewhat so that we can use the extended TxCB format (that change will happen later).
|
| 1.3 |
| 12-Dec-1999 |
thorpej | branches: 1.3.4; 1.3.6; Take a stab at making this work on big-endian systems.
|
| 1.2 |
| 03-Aug-1999 |
thorpej | branches: 1.2.2; 1.2.8; Completely rewrite the transmit logic, making it look more like the EPIC/100 driver's. Also, fix the "all multicast" logic. Also do some general cleanup.
|
| 1.1 |
| 20-Jun-1999 |
thorpej | branches: 1.1.2; Bus-independent back-end driver for Intel i82557 fast Ethernet chips.
|
| 1.1.2.2 |
| 01-Jul-1999 |
thorpej | Sync w/ -current.
|
| 1.1.2.1 |
| 20-Jun-1999 |
thorpej | file i82557reg.h was added on branch chs-ubc2 on 1999-07-01 23:32:28 +0000
|
| 1.2.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
| 1.2.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
| 1.3.6.2 |
| 17-Apr-2002 |
nathanw | Catch up to -current.
|
| 1.3.6.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
| 1.3.4.1 |
| 06-Jun-2002 |
he | Pull up revisions 1.4-1.10 (requested by mycroft): Work around a bug which can cause some machines to randomly hang. Drag along performance improvements and improved hardware support.
|
| 1.10.2.1 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
| 1.12.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
| 1.12.2.4 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
| 1.12.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
| 1.12.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
| 1.12.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
| 1.15.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
| 1.15.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
| 1.17.2.1 |
| 21-Jan-2008 |
yamt | sync with head
|
| 1.18.58.1 |
| 02-Feb-2008 |
riz | Pull up following revision(s) (requested by tsutsui in ticket #1028): sys/dev/ic/i82557reg.h: revision 1.19 sys/dev/ic/i82557var.h: revision 1.36 sys/dev/ic/i82557.c: revision 1.105 Pull several fixes from OpenBSD's fxp.c: Rev 1.41: use a nop with I bit set at the end of the tx chain. This avoids a race between status update and clearing the suspend bit on machines which can't write data smaller than 32bits at a time. This should fix PR port-alpha/30560. Rev 1.50: Fix nasty bug where driver would not correctly catch and handle an rnr condition when it was due to the the recieve buffers being exhausted with no packet transmits during that time. Symptom was that the fxp would simply stop interrupting for the next 15 seconds until the watchdog kicked in and reset the chip due to 15 seconds of inactivity, making the fxp very poorly behaved when hammered on hard. Rev 1.61: Defer reinitialisation of the RU until after the interrupt handler has had a chance to process all pending packets, otherwise the chip may overwrite their mbuf clusters after we have freed them. Eliminates a race that can cause random pool corruption when reconfiguring an interface under heavy network load. And one more change for RX sanity: - put RU into suspend when the last RFA is processed. These RNR/RU changes may fix pool corruption problems on fxp. Tested on AlphaPC164 and i386 with i82559 and i82550.
|
| 1.18.56.1 |
| 08-Dec-2007 |
ad | Sync with head.
|
| 1.18.46.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
| 1.18.44.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
| 1.18.38.1 |
| 03-Jun-2008 |
skrll | Sync with netbsd-4.
|
| 1.18.34.1 |
| 09-Dec-2007 |
reinoud | Pullup to HEAD
|
| 1.18.24.1 |
| 02-Feb-2008 |
riz | Pull up following revision(s) (requested by tsutsui in ticket #1028): sys/dev/ic/i82557reg.h: revision 1.19 sys/dev/ic/i82557var.h: revision 1.36 sys/dev/ic/i82557.c: revision 1.105 Pull several fixes from OpenBSD's fxp.c: Rev 1.41: use a nop with I bit set at the end of the tx chain. This avoids a race between status update and clearing the suspend bit on machines which can't write data smaller than 32bits at a time. This should fix PR port-alpha/30560. Rev 1.50: Fix nasty bug where driver would not correctly catch and handle an rnr condition when it was due to the the recieve buffers being exhausted with no packet transmits during that time. Symptom was that the fxp would simply stop interrupting for the next 15 seconds until the watchdog kicked in and reset the chip due to 15 seconds of inactivity, making the fxp very poorly behaved when hammered on hard. Rev 1.61: Defer reinitialisation of the RU until after the interrupt handler has had a chance to process all pending packets, otherwise the chip may overwrite their mbuf clusters after we have freed them. Eliminates a race that can cause random pool corruption when reconfiguring an interface under heavy network load. And one more change for RX sanity: - put RU into suspend when the last RFA is processed. These RNR/RU changes may fix pool corruption problems on fxp. Tested on AlphaPC164 and i386 with i82559 and i82550.
|
| 1.19.16.2 |
| 04-May-2009 |
yamt | sync with head.
|
| 1.19.16.1 |
| 16-May-2008 |
yamt | sync with head.
|
| 1.19.14.1 |
| 18-May-2008 |
yamt | sync with head.
|
| 1.19.12.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
| 1.19.12.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
| 1.20.10.1 |
| 14-Dec-2008 |
bouyer | Pull up following revision(s) (requested by tsutsui in ticket #181): sys/dev/ic/i82557.c: revision 1.116-1.120 sys/dev/ic/i82557reg.h: revision 1.21 sys/dev/ic/i82557var.h: revision 1.41 doc/CHANGES: patch Call BUS_DMASYNC_PREREAD more strictly on polling DMA descriptors. Add a workaround for hardware ip4csum-tx bug and enable it. Confirmed on i82550 rev 12 and UDP fragment packets by ttcp(1). Sort Tx/Rx macro in previous. Add a missed htole32() on the previous ip4csum-tx bug workaround. Don't pass uint8_t values to le16toh() in fxp_rx_hwcksum(). fxp(4)'s RX hwcksum results weren't used at all on big endian machines. Checked by i82550 and vmstat -ev on macppc GENERIC kernel with options INET_CSUM_COUNTERS,TCP_CSUM_COUNTERS,UDP_CSUM_COUNTERS.
|
| 1.20.8.3 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
| 1.20.8.2 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
| 1.20.8.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
| 1.20.6.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
| 1.21.4.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|