CVS log for src/sys/dev/txp/if_txp.c
Up to [FreeBSD] / src / sys / dev / txp
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.61.2.1.2.1: download - view: text, markup, annotated - select for diffs
Fri Nov 11 04:20:22 2011 UTC (3 months ago) by kensmith
Branches: RELENG_9_0
CVS tags: RELENG_9_0_0_RELEASE
Diff to: previous 1.61.2.1: preferred, colored
Changes since revision 1.61.2.1: +0 -0 lines
SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release cycle. Approved by: re (implicit)
Revision 1.61.2.1: download - view: text, markup, annotated - select for diffs
Fri Sep 23 00:51:37 2011 UTC (4 months, 2 weeks ago) by kensmith
Branches: RELENG_9
CVS tags: RELENG_9_0_BP
Branch point for: RELENG_9_0
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +0 -0 lines
SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith Copy head to stable/9 as part of 9.0-RELEASE release cycle. Approved by: re (implicit)
Revision 1.61: download - view: text, markup, annotated - select for diffs
Wed Mar 23 13:10:15 2011 UTC (10 months, 2 weeks ago) by jhb
Branches: MAIN
CVS tags: RELENG_9_BP, HEAD
Branch point for: RELENG_9
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +3 -3 lines
SVN rev 219902 on 2011-03-23 13:10:15Z by jhb Do a sweep of the tree replacing calls to pci_find_extcap() with calls to pci_find_cap() instead.
Revision 1.60: download - view: text, markup, annotated - select for diffs
Wed Jan 12 19:53:56 2011 UTC (12 months, 4 weeks ago) by mdf
Branches: MAIN
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +4 -1 lines
SVN rev 217323 on 2011-01-12 19:53:56Z by mdf sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. Commit the rest of the devices.
Revision 1.46.2.12.4.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:10:29 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_7_4
CVS tags: RELENG_7_4_0_RELEASE
Diff to: previous 1.46.2.12: preferred, colored; next MAIN 1.47: preferred, colored
Changes since revision 1.46.2.12: +0 -0 lines
SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release. Approved by: re (implicit)
Revision 1.58.2.2.6.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 17:09:25 2010 UTC (13 months, 2 weeks ago) by kensmith
Branches: RELENG_8_2
CVS tags: RELENG_8_2_0_RELEASE
Diff to: previous 1.58.2.2: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58.2.2: +0 -0 lines
SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release. Approved by: re (implicit)
Revision 1.58.2.2.4.1: download - view: text, markup, annotated - select for diffs
Mon Jun 14 02:09:06 2010 UTC (19 months, 4 weeks ago) by kensmith
Branches: RELENG_8_1
CVS tags: RELENG_8_1_0_RELEASE
Diff to: previous 1.58.2.2: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58.2.2: +0 -0 lines
SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith Copy stable/8 to releng/8.1 in preparation for 8.1-RC1. Approved by: re (implicit)
Revision 1.46.2.12.2.1: download - view: text, markup, annotated - select for diffs
Wed Feb 10 00:26:20 2010 UTC (2 years ago) by kensmith
Branches: RELENG_7_3
CVS tags: RELENG_7_3_0_RELEASE
Diff to: previous 1.46.2.12: preferred, colored; next MAIN 1.47: preferred, colored
Changes since revision 1.46.2.12: +0 -0 lines
SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process. Approved by: re (implicit)
Revision 1.58.2.2.2.1: download - view: text, markup, annotated - select for diffs
Sun Oct 25 01:10:29 2009 UTC (2 years, 3 months ago) by kensmith
Branches: RELENG_8_0
CVS tags: RELENG_8_0_0_RELEASE
Diff to: previous 1.58.2.2: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58.2.2: +0 -0 lines
SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure. Approved by: re (implicit)
Revision 1.46.2.12: download - view: text, markup, annotated - select for diffs
Fri Sep 11 17:25:24 2009 UTC (2 years, 4 months ago) by yongari
Branches: RELENG_7
CVS tags: RELENG_7_4_BP, RELENG_7_3_BP
Branch point for: RELENG_7_4, RELENG_7_3
Diff to: previous 1.46.2.11: preferred, colored; branchpoint 1.46: preferred, colored; next MAIN 1.47: preferred, colored
Changes since revision 1.46.2.11: +4 -2 lines
SVN rev 197098 on 2009-09-11 17:25:24Z by yongari MFC r196721: Make sure rx descriptor ring align on 16 bytes. I guess the alignment requirement could be multiple of 4 bytes but I think using descriptor size would make intention clearer. Previously the size of rx descriptor was not power of 2 so it caused panic in bus_dmamem_alloc(9). Reported by: Jeff Blank (jb000003 <> mr-happy dot com)
Revision 1.58.2.2: download - view: text, markup, annotated - select for diffs
Fri Sep 4 16:41:17 2009 UTC (2 years, 5 months ago) by yongari
Branches: RELENG_8
CVS tags: RELENG_8_2_BP, RELENG_8_1_BP, RELENG_8_0_BP
Branch point for: RELENG_8_2, RELENG_8_1, RELENG_8_0
Diff to: previous 1.58.2.1: preferred, colored; branchpoint 1.58: preferred, colored; next MAIN 1.59: preferred, colored
Changes since revision 1.58.2.1: +4 -2 lines
SVN rev 196830 on 2009-09-04 16:41:17Z by yongari MFC r196721: Make sure rx descriptor ring align on 16 bytes. I guess the alignment requirement could be multiple of 4 bytes but I think using descriptor size would make intention clearer. Previously the size of rx descriptor was not power of 2 so it caused panic in bus_dmamem_alloc(9). Reported by: Jeff Blank (jb000003 <> mr-happy dot com) Approved by: re (kib)
Revision 1.59: download - view: text, markup, annotated - select for diffs
Mon Aug 31 22:09:48 2009 UTC (2 years, 5 months ago) by yongari
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +4 -2 lines
SVN rev 196721 on 2009-08-31 22:09:48Z by yongari Make sure rx descriptor ring align on 16 bytes. I guess the alignment requirement could be multiple of 4 bytes but I think using descriptor size would make intention clearer. Previously the size of rx descriptor was not power of 2 so it caused panic in bus_dmamem_alloc(9). Reported by: Jeff Blank (jb000003 <> mr-happy dot com) MFC after: 3 days
Revision 1.58.2.1: download - view: text, markup, annotated - select for diffs
Mon Aug 3 08:13:06 2009 UTC (2 years, 6 months ago) by kensmith
Branches: RELENG_8
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +0 -0 lines
SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith Copy head to stable/8 as part of 8.0 Release cycle. Approved by: re (Implicit)
Revision 1.58: download - view: text, markup, annotated - select for diffs
Fri Jun 26 11:45:06 2009 UTC (2 years, 7 months ago) by rwatson
Branches: MAIN
CVS tags: RELENG_8_BP
Branch point for: RELENG_8
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +2 -2 lines
SVN rev 195049 on 2009-06-26 11:45:06Z by rwatson Use if_maddr_rlock()/if_maddr_runlock() rather than IF_ADDR_LOCK()/ IF_ADDR_UNLOCK() across network device drivers when accessing the per-interface multicast address list, if_multiaddrs. This will allow us to change the locking strategy without affecting our driver programming interface or binary interface. For two wireless drivers, remove unnecessary locking, since they don't actually access the multicast address list. Approved by: re (kib) MFC after: 6 weeks
Revision 1.46.2.11.2.1: download - view: text, markup, annotated - select for diffs
Wed Apr 15 03:14:26 2009 UTC (2 years, 9 months ago) by kensmith
Branches: RELENG_7_2
CVS tags: RELENG_7_2_0_RELEASE
Diff to: previous 1.46.2.11: preferred, colored; next MAIN 1.46.2.12: preferred, colored
Changes since revision 1.46.2.11: +0 -0 lines
SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE. Approved by: re (implicit)
Revision 1.46.2.11: download - view: text, markup, annotated - select for diffs
Sun Mar 22 06:26:47 2009 UTC (2 years, 10 months ago) by yongari
Branches: RELENG_7
CVS tags: RELENG_7_2_BP
Branch point for: RELENG_7_2
Diff to: previous 1.46.2.10: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.10: +1929 -780 lines
SVN rev 190247 on 2009-03-22 06:26:47Z by yongari MFC r189714: bus_dma(9) conversion and make txp(4) work on all architectures. o Header file cleanup. o bus_dma(9) conversion. - Removed all consumers of vtophys(9) and converted to use bus_dma(9). - Typhoon2 functional specification says the controller supports 64bit DMA addressing. However all Typhoon controllers are known to lack of DAC support so 64bit DMA support was disabled. - The hardware can't handle more 16 fragmented Tx DMA segments so teach txp(4) to collapse these segments to be less than 16. - Added Rx buffer alignment requirements(4 bytes alignment) and implemented fixup code to align receive frame. Previously txp(4) always copied Rx frame to align it on 2 byte boundary but its copy overhead is much higher than unaligned access on i386/amd64. Alignment fixup code is now applied only for strict-alignment architectures. With this change i386 and amd64 will get instant Rx performance boost. Typhoon2 datasheet mentions a command that pads arbitrary bytes in Rx buffer but that command does not work. - Nuked pointer trick in descriptor ring. This does not work on sparc64 and replaced it with bcopy. Alternatively txp(4) can embed a 32 bits index value into the descriptor and compute real buffer address but it may make code complicated. - Added endianness support code in various Tx/Rx/command/response descriptor access. With this change txp(4) should work on all architectures. o Added comments for known firmware bugs(Tx checksum offloading, TSO, VLAN stripping and Rx buffer padding control). o Prefer faster memory space register access to I/O space access. Added fall-back mechanism to use alternative I/O space access. The hardware supports both memory and I/O mapped access. Users can still force to use old I/O space access by setting hw.txp.prefer_iomap tunable to 1 in /boot/loader.conf. o Added experimental suspend/resume methods. o Nuke error prone Rx buffer handling code and implemented local buffer management with TAILQ. Be definition the controller can't pass the last received frame to host if no Rx free buffers are available to use as head and tail pointer of Rx descriptor ring can't have the same value. In that case the Rx buffer pointer in Rx buffer ring still holds a valid buffer and txp_rxbuf_reclaim() can't fill Rx buffers as the first buffer is still valid. Instead of relying on the value of Rx buffer ring, introduce local buffer management code to handle empty buffer situation. This should fix a long standing bug which completely hangs the controller under high network load. I could easily trigger the issue by sending 64 bytes UDP frames with netperf. I have no idea how this bugs was not fixed for a long time. o Converted ithread interrupt handler to filter based one. o Rearranged txp_detach routine such that it's now used for general clean-up routine. o Show sleep image version on device attach time. This will help to know what action should be taken depending on sleep image version. The version information in datasheet was wrong for newer NV images so I followed Linux which seems to correctly extract version numbers from response descriptors. o Firmware image is no longer downloaded in device attach time. Now it is reloaded whenever if_init is invoked. This is to ensure correct operation of hardware when something goes wrong. Previously the controller always run without regard to running state of firmware. This change will add additional controller initialization time but it give more robust operation as txp(4) always start off from a known state. The controller is put into sleep state until administrator explicitly up the interface. o As firmware is loaded in if_init handler, it's now possible to implement real watchdog timeout handler. When watchdog timer is expired, full-reset the controller and initialize the hardware again as most other drivers do. While I'm here use our own timer for watchdog instead of using if_watchdog/if_timer interface. o Instead of masking specific interrupts with TXP_IMR register, program TXP_IER register with the interrupts to be raised and use TXP_IMR to toggle interrupt generation. o Implemented txp_wait() to wait a specific state of a controller. o Separate boot related code from txp_download_fw() and name it txp_boot() to handle boot process. o Added bus_barrier(9) to host to ARM communication. o Added endianness to all typhoon command processing. The ARM93C always expects little-endian format of command/data. o Removed __STRICT_ALIGNMENT which is not valid on FreeBSD. __NO_STRICT_ALIGNMENT is provided for that purpose on FreeBSD. Previously __STRICT_ALIGNMENT was unconditionally defined for all architectures. o Rewrote SIOCSIFCAP ioctl handler such that each capability can be controlled by ifconfig(8). Note, disabling VLAN hardware tagging has no effect due to the bug of firmware. o Don't send TXP_CMD_CLEAR_STATISTICS to clear MAC statistics in txp_tick(). The command is not atomic. Instead, just read the statistics and reflect saved statistics to the statistics. dev.txp.%d.stats sysctl node provides detailed MAC statistics. This also reduces a lot of waste of CPU cycles as processing a command ring takes a very long time on ARM93C. Note, Rx multicast and broadcast statistics does not seem to right. It might be another bug of firmware. o Implemented link state change handling in txp_tick(). Now sending packets is allowed only after establishing a valid link. Also invoke link state change notification whenever its state is changed so pseudo drivers like lagg(4) that relies on link state can work with failover or link aggregation without hacks. if_baudrate is updated to resolved speed so SNMP agents can get correct bandwidth parameters. o Overhauled Tx routine such that it now honors number of allowable DMA segments and checks for 4 free descriptors before trying to send a frame. A frame may require 4 descriptors(1 frame descriptor, 1 or more frame descriptors, 1 TSO option descriptor, one free descriptor to prevent descriptor wrap-around) at least so it's necessary to check available free descriptors prior to setting up DMA operation. o Added a sysctl variable dev.txp.%d.process_limit to control how many received frames should be served in Rx handler. Valid ranges are 16 to 128(default 64) in unit of frames. o Added ALTQ(4) support. o Added missing IFCAP_VLAN_HWCSUM as txp(4) can offload checksum calculation as well as VLAN tag insertion/stripping. o Fixed media header length for VLAN. o Don't set if_mtu in device attach, it's already set in ether_ifattach(). o Enabled MWI. o Fixed module unload panic when bpf listeners are active. o Rearranged ethernet address programming logic such that it works on strict-alignment architectures. o Removed unused member variables in softc. o Added support for WOL. o Removed now unused TXP_PCI_LOMEM/TXP_PCI_LOIO. o Added wakeup command TXP_BOOTCMD_WAKEUP definition. o Added a new firmware version query command, TXP_CMD_READ_VERSION. o Removed volatile keyword in softc as bus_dmamap_sync(9) should take care of this. o Removed embedded union trick of a structure used to to access a pointer on LP64 systems. o Added a few TSO related definitions for struct txp_tcpseg_desc. However TSO is not used at all due to the limitation of hardware. o Redefined PKT_MAX_PKTLEN to theoretical maximum size of a frame. o Switched from bus_space_{read|write}_4 to bus_{read|write}_4. o Added a new macro TXP_DESC_INC to compute next descriptor index. Tested by: don.nasco <> gmail dot com
Revision 1.46.2.10: download - view: text, markup, annotated - select for diffs
Sun Mar 22 06:21:35 2009 UTC (2 years, 10 months ago) by yongari
Branches: RELENG_7
Diff to: previous 1.46.2.9: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.9: +31 -47 lines
SVN rev 190246 on 2009-03-22 06:21:35Z by yongari MFC r189690: Replace local CRC32 routine with ether_crc32_be(). This should have happened long time ago. Also simplify Rx filter logic.
Revision 1.46.2.9: download - view: text, markup, annotated - select for diffs
Sun Mar 22 06:16:44 2009 UTC (2 years, 10 months ago) by yongari
Branches: RELENG_7
Diff to: previous 1.46.2.8: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.8: +55 -55 lines
SVN rev 190245 on 2009-03-22 06:16:44Z by yongari MFC r189689: s/u_int8_t/uint8_t/g s/u_int16_t/uint16_t/g s/u_int32_t/uint32_t/g s/u_int64_t/uint64_t/g
Revision 1.46.2.8: download - view: text, markup, annotated - select for diffs
Sun Mar 22 06:11:35 2009 UTC (2 years, 10 months ago) by yongari
Branches: RELENG_7
Diff to: previous 1.46.2.7: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.7: +14 -14 lines
SVN rev 190244 on 2009-03-22 06:11:35Z by yongari MFC r189688: style(9) - space after keywords.
Revision 1.46.2.7: download - view: text, markup, annotated - select for diffs
Sun Mar 22 06:07:03 2009 UTC (2 years, 10 months ago) by yongari
Branches: RELENG_7
Diff to: previous 1.46.2.6: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.6: +1 -20 lines
SVN rev 190243 on 2009-03-22 06:07:03Z by yongari MFC r189687: Remove return statement at the end of function that returns void.
Revision 1.46.2.6: download - view: text, markup, annotated - select for diffs
Sun Mar 22 06:04:16 2009 UTC (2 years, 10 months ago) by yongari
Branches: RELENG_7
Diff to: previous 1.46.2.5: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.5: +3 -3 lines
SVN rev 190242 on 2009-03-22 06:04:16Z by yongari MFC r189686: Remove extra tab characters.
Revision 1.46.2.5: download - view: text, markup, annotated - select for diffs
Sun Mar 22 06:01:33 2009 UTC (2 years, 10 months ago) by yongari
Branches: RELENG_7
Diff to: previous 1.46.2.4: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.4: +34 -72 lines
SVN rev 190241 on 2009-03-22 06:01:33Z by yongari MFC r189685: K&R -> ANSI C function definitions.
Revision 1.46.2.4: download - view: text, markup, annotated - select for diffs
Thu Mar 19 17:06:04 2009 UTC (2 years, 10 months ago) by rdivacky
Branches: RELENG_7
Diff to: previous 1.46.2.3: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.3: +7 -19 lines
SVN rev 190087 on 2009-03-19 17:06:04Z by rdivacky Merge r189004. Requested by: yongari Approved by: ed (mentor)
Revision 1.46.2.3: download - view: text, markup, annotated - select for diffs
Thu Mar 19 01:07:21 2009 UTC (2 years, 10 months ago) by yongari
Branches: RELENG_7
Diff to: previous 1.46.2.2: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.2: +22 -8 lines
SVN rev 190010 on 2009-03-19 01:07:21Z by yongari MFC r189022: Update to latest 3Com firmware image. The latest fimware is required to make 3CR990 familiy controllers run on NV flash firmware version 03.001.008. The latest firmware added HMAC digest information so teach txp(4) to pass them to sleep image before downloading is started. While I'm here restore previous IMR/IER register if firmware downloading have failed. PR: kern/89876, kern/132047
Revision 1.57: download - view: text, markup, annotated - select for diffs
Thu Mar 12 01:14:47 2009 UTC (2 years, 11 months ago) by yongari
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +1931 -782 lines
SVN rev 189714 on 2009-03-12 01:14:47Z by yongari bus_dma(9) conversion and make txp(4) work on all architectures. o Header file cleanup. o bus_dma(9) conversion. - Removed all consumers of vtophys(9) and converted to use bus_dma(9). - Typhoon2 functional specification says the controller supports 64bit DMA addressing. However all Typhoon controllers are known to lack of DAC support so 64bit DMA support was disabled. - The hardware can't handle more 16 fragmented Tx DMA segments so teach txp(4) to collapse these segments to be less than 16. - Added Rx buffer alignment requirements(4 bytes alignment) and implemented fixup code to align receive frame. Previously txp(4) always copied Rx frame to align it on 2 byte boundary but its copy overhead is much higher than unaligned access on i386/amd64. Alignment fixup code is now applied only for strict-alignment architectures. With this change i386 and amd64 will get instant Rx performance boost. Typhoon2 datasheet mentions a command that pads arbitrary bytes in Rx buffer but that command does not work. - Nuked pointer trick in descriptor ring. This does not work on sparc64 and replaced it with bcopy. Alternatively txp(4) can embed a 32 bits index value into the descriptor and compute real buffer address but it may make code complicated. - Added endianness support code in various Tx/Rx/command/response descriptor access. With this change txp(4) should work on all architectures. o Added comments for known firmware bugs(Tx checksum offloading, TSO, VLAN stripping and Rx buffer padding control). o Prefer faster memory space register access to I/O space access. Added fall-back mechanism to use alternative I/O space access. The hardware supports both memory and I/O mapped access. Users can still force to use old I/O space access by setting hw.txp.prefer_iomap tunable to 1 in /boot/loader.conf. o Added experimental suspend/resume methods. o Nuke error prone Rx buffer handling code and implemented local buffer management with TAILQ. Be definition the controller can't pass the last received frame to host if no Rx free buffers are available to use as head and tail pointer of Rx descriptor ring can't have the same value. In that case the Rx buffer pointer in Rx buffer ring still holds a valid buffer and txp_rxbuf_reclaim() can't fill Rx buffers as the first buffer is still valid. Instead of relying on the value of Rx buffer ring, introduce local buffer management code to handle empty buffer situation. This should fix a long standing bug which completely hangs the controller under high network load. I could easily trigger the issue by sending 64 bytes UDP frames with netperf. I have no idea how this bugs was not fixed for a long time. o Converted ithread interrupt handler to filter based one. o Rearranged txp_detach routine such that it's now used for general clean-up routine. o Show sleep image version on device attach time. This will help to know what action should be taken depending on sleep image version. The version information in datasheet was wrong for newer NV images so I followed Linux which seems to correctly extract version numbers from response descriptors. o Firmware image is no longer downloaded in device attach time. Now it is reloaded whenever if_init is invoked. This is to ensure correct operation of hardware when something goes wrong. Previously the controller always run without regard to running state of firmware. This change will add additional controller initialization time but it give more robust operation as txp(4) always start off from a known state. The controller is put into sleep state until administrator explicitly up the interface. o As firmware is loaded in if_init handler, it's now possible to implement real watchdog timeout handler. When watchdog timer is expired, full-reset the controller and initialize the hardware again as most other drivers do. While I'm here use our own timer for watchdog instead of using if_watchdog/if_timer interface. o Instead of masking specific interrupts with TXP_IMR register, program TXP_IER register with the interrupts to be raised and use TXP_IMR to toggle interrupt generation. o Implemented txp_wait() to wait a specific state of a controller. o Separate boot related code from txp_download_fw() and name it txp_boot() to handle boot process. o Added bus_barrier(9) to host to ARM communication. o Added endianness to all typhoon command processing. The ARM93C always expects little-endian format of command/data. o Removed __STRICT_ALIGNMENT which is not valid on FreeBSD. __NO_STRICT_ALIGNMENT is provided for that purpose on FreeBSD. Previously __STRICT_ALIGNMENT was unconditionally defined for all architectures. o Rewrote SIOCSIFCAP ioctl handler such that each capability can be controlled by ifconfig(8). Note, disabling VLAN hardware tagging has no effect due to the bug of firmware. o Don't send TXP_CMD_CLEAR_STATISTICS to clear MAC statistics in txp_tick(). The command is not atomic. Instead, just read the statistics and reflect saved statistics to the statistics. dev.txp.%d.stats sysctl node provides detailed MAC statistics. This also reduces a lot of waste of CPU cycles as processing a command ring takes a very long time on ARM93C. Note, Rx multicast and broadcast statistics does not seem to right. It might be another bug of firmware. o Implemented link state change handling in txp_tick(). Now sending packets is allowed only after establishing a valid link. Also invoke link state change notification whenever its state is changed so pseudo drivers like lagg(4) that relies on link state can work with failover or link aggregation without hacks. if_baudrate is updated to resolved speed so SNMP agents can get correct bandwidth parameters. o Overhauled Tx routine such that it now honors number of allowable DMA segments and checks for 4 free descriptors before trying to send a frame. A frame may require 4 descriptors(1 frame descriptor, 1 or more frame descriptors, 1 TSO option descriptor, one free descriptor to prevent descriptor wrap-around) at least so it's necessary to check available free descriptors prior to setting up DMA operation. o Added a sysctl variable dev.txp.%d.process_limit to control how many received frames should be served in Rx handler. Valid ranges are 16 to 128(default 64) in unit of frames. o Added ALTQ(4) support. o Added missing IFCAP_VLAN_HWCSUM as txp(4) can offload checksum calculation as well as VLAN tag insertion/stripping. o Fixed media header length for VLAN. o Don't set if_mtu in device attach, it's already set in ether_ifattach(). o Enabled MWI. o Fixed module unload panic when bpf listeners are active. o Rearranged ethernet address programming logic such that it works on strict-alignment architectures. o Removed unused member variables in softc. o Added support for WOL. o Removed now unused TXP_PCI_LOMEM/TXP_PCI_LOIO. o Added wakeup command TXP_BOOTCMD_WAKEUP definition. o Added a new firmware version query command, TXP_CMD_READ_VERSION. o Removed volatile keyword in softc as bus_dmamap_sync(9) should take care of this. o Removed embedded union trick of a structure used to to access a pointer on LP64 systems. o Added a few TSO related definitions for struct txp_tcpseg_desc. However TSO is not used at all due to the limitation of hardware. o Redefined PKT_MAX_PKTLEN to theoretical maximum size of a frame. o Switched from bus_space_{read|write}_4 to bus_{read|write}_4. o Added a new macro TXP_DESC_INC to compute next descriptor index. Tested by: don.nasco <> gmail dot com
Revision 1.56: download - view: text, markup, annotated - select for diffs
Wed Mar 11 09:57:11 2009 UTC (2 years, 11 months ago) by yongari
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +31 -47 lines
SVN rev 189690 on 2009-03-11 09:57:11Z by yongari Replace local CRC32 routine with ether_crc32_be(). This should have happened long time ago. Also simplify Rx filter logic.
Revision 1.55: download - view: text, markup, annotated - select for diffs
Wed Mar 11 09:06:39 2009 UTC (2 years, 11 months ago) by yongari
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +55 -55 lines
SVN rev 189689 on 2009-03-11 09:06:39Z by yongari s/u_int8_t/uint8_t/g s/u_int16_t/uint16_t/g s/u_int32_t/uint32_t/g s/u_int64_t/uint64_t/g
Revision 1.54: download - view: text, markup, annotated - select for diffs
Wed Mar 11 08:49:17 2009 UTC (2 years, 11 months ago) by yongari
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +14 -14 lines
SVN rev 189688 on 2009-03-11 08:49:17Z by yongari style(9) - space after keywords.
Revision 1.53: download - view: text, markup, annotated - select for diffs
Wed Mar 11 08:41:57 2009 UTC (2 years, 11 months ago) by yongari
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +1 -20 lines
SVN rev 189687 on 2009-03-11 08:41:57Z by yongari Remove return statement at the end of function that returns void.
Revision 1.52: download - view: text, markup, annotated - select for diffs
Wed Mar 11 08:28:24 2009 UTC (2 years, 11 months ago) by yongari
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +3 -3 lines
SVN rev 189686 on 2009-03-11 08:28:24Z by yongari Remove extra tab characters.
Revision 1.51: download - view: text, markup, annotated - select for diffs
Wed Mar 11 08:25:18 2009 UTC (2 years, 11 months ago) by yongari
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +34 -72 lines
SVN rev 189685 on 2009-03-11 08:25:18Z by yongari K&R -> ANSI C function definitions.
Revision 1.50: download - view: text, markup, annotated - select for diffs
Wed Feb 25 01:12:56 2009 UTC (2 years, 11 months ago) by yongari
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +22 -8 lines
SVN rev 189022 on 2009-02-25 01:12:56Z by yongari Update to latest 3Com firmware image. The latest fimware is required to make 3CR990 familiy controllers run on NV flash firmware version 03.001.008. The latest firmware added HMAC digest information so teach txp(4) to pass them to sleep image before downloading is started. While I'm here restore previous IMR/IER register if firmware downloading have failed. PR: kern/89876, kern/132047
Revision 1.49: download - view: text, markup, annotated - select for diffs
Tue Feb 24 18:09:31 2009 UTC (2 years, 11 months ago) by rdivacky
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +7 -19 lines
SVN rev 189004 on 2009-02-24 18:09:31Z by rdivacky Change the functions to ANSI in those cases where it breaks promotion to int rule. See ISO C Standard: SS6.7.5.3:15. Approved by: kib (mentor) Reviewed by: warner Tested by: silence on -current
Revision 1.46.2.2.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 25 02:59:29 2008 UTC (3 years, 2 months ago) by kensmith
Branches: RELENG_7_1
CVS tags: RELENG_7_1_0_RELEASE
Diff to: previous 1.46.2.2: preferred, colored; next MAIN 1.46.2.3: preferred, colored
Changes since revision 1.46.2.2: +0 -0 lines
SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith Create releng/7.1 in preparation for moving into RC phase of 7.1 release cycle. Approved by: re (implicit)
Revision 1.31.2.8.4.1: download - view: text, markup, annotated - select for diffs
Thu Oct 2 02:57:24 2008 UTC (3 years, 4 months ago) by kensmith
Branches: RELENG_6_4
CVS tags: RELENG_6_4_0_RELEASE
Diff to: previous 1.31.2.8: preferred, colored; next MAIN 1.32: preferred, colored
Changes since revision 1.31.2.8: +0 -0 lines
SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith Create releng/6.4 from stable/6 in preparation for 6.4-RC1. Approved by: re (implicit)
Revision 1.46.2.2: download - view: text, markup, annotated - select for diffs
Sun Feb 3 04:16:26 2008 UTC (4 years ago) by yongari
Branches: RELENG_7
CVS tags: RELENG_7_1_BP
Branch point for: RELENG_7_1
Diff to: previous 1.46.2.1: preferred, colored; branchpoint 1.46: preferred, colored
Changes since revision 1.46.2.1: +6 -1 lines
MFC if_txp.c, rev 1.48 to RELENG_7. Read MII_ANAR register and get common denominator ability. PR: 92599
Revision 1.46.2.1: download - view: text, markup, annotated - select for diffs
Sun Feb 3 04:12:06 2008 UTC (4 years ago) by yongari
Branches: RELENG_7
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +3 -3 lines
MFC fix for IEEE 802.3 compliance of auto-negotiation process. IEEE 802.3 Annex 28B.3 explicitly specifies the following relative priorities of the technologies supported by 802.3 Selector Field value. 1000BASE-T full duplex 1000BASE-T 100BASE-T2 full duplex 100BASE-TX full duplex 100BASE-T2 100BASE-T4 100BASE-TX 10BASE-T full duplex 10BAST-T However PHY drivers didn't honor the order such that 100BASE-T4 had higher priority than 100BASE-TX full duplex. Fix that long standing bugs such that have PHY drivers choose the highest common denominator ability. Fix a bug in dcphy which inadvertently aceepts 100BASE-T4. PR: 92599
Revision 1.48: download - view: text, markup, annotated - select for diffs
Fri Nov 16 10:32:10 2007 UTC (4 years, 2 months ago) by yongari
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +6 -1 lines
Read MII_ANAR register and get common denominator ability. PR: 92599
Revision 1.47: download - view: text, markup, annotated - select for diffs
Fri Nov 16 10:25:36 2007 UTC (4 years, 2 months ago) by yongari
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +3 -3 lines
IEEE 802.3 Annex 28B.3 explicitly specifies the following relative priorities of the technologies supported by 802.3 Selector Field value. 1000BASE-T full duplex 1000BASE-T 100BASE-T2 full duplex 100BASE-TX full duplex 100BASE-T2 100BASE-T4 100BASE-TX 10BASE-T full duplex 10BAST-T However PHY drivers didn't honor the order such that 100BASE-T4 had higher priority than 100BASE-TX full duplex. Fix that long standing bugs such that have PHY drivers choose the highest common denominator ability. Fix a bug in dcphy which inadvertently aceepts 100BASE-T4. PR: 92599
Revision 1.31.2.8: download - view: text, markup, annotated - select for diffs
Sat Jul 14 20:25:20 2007 UTC (4 years, 6 months ago) by csjp
Branches: RELENG_6
CVS tags: RELENG_6_4_BP, RELENG_6_3_BP, RELENG_6_3_0_RELEASE, RELENG_6_3
Branch point for: RELENG_6_4
Diff to: previous 1.31.2.7: preferred, colored; branchpoint 1.31: preferred, colored; next MAIN 1.32: preferred, colored
Changes since revision 1.31.2.7: +0 -0 lines
Doh.. This is a forced commit to note the actual commit for the previous commits: MFC 1.29 +1 -1 src/sys/dev/bce/if_bce.c MFC 1.22 +1 -1 src/sys/dev/ixgb/if_ixgb.c MFC 1.91 +1 -1 src/sys/dev/nge/if_nge.c MFC 1.87 +1 -1 src/sys/dev/re/if_re.c MFC 1.6 +1 -1 src/sys/dev/stge/if_stge.c MFC 1.44 +1 -1 src/sys/dev/txp/if_txp.c MFC 1.31 +1 -1 src/sys/dev/vge/if_vge.c Un-break processing of 802.1Q VLAN tags in the presence of hardware offload of VLAN tags.
Revision 1.31.2.7: download - view: text, markup, annotated - select for diffs
Sat Jul 14 20:22:17 2007 UTC (4 years, 6 months ago) by csjp
Branches: RELENG_6
Diff to: previous 1.31.2.6: preferred, colored; branchpoint 1.31: preferred, colored
Changes since revision 1.31.2.6: +1 -1 lines
commit.log
Revision 1.31.2.6: download - view: text, markup, annotated - select for diffs
Fri Jul 13 04:55:52 2007 UTC (4 years, 7 months ago) by yongari
Branches: RELENG_6
Diff to: previous 1.31.2.5: preferred, colored; branchpoint 1.31: preferred, colored
Changes since revision 1.31.2.5: +10 -4 lines
MFC if_txp.c rev 1.45, 1.46 to RELENG_6. Add checks for contigmalloc(9) failure. Nuke duplicated __FBSDID.
Revision 1.46: download - view: text, markup, annotated - select for diffs
Tue Jun 12 04:33:21 2007 UTC (4 years, 8 months ago) by yongari
Branches: MAIN
CVS tags: RELENG_7_BP, RELENG_7_0_BP, RELENG_7_0_0_RELEASE, RELENG_7_0
Branch point for: RELENG_7
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +0 -4 lines
Nuke duplicated __FBSDID.
Revision 1.45: download - view: text, markup, annotated - select for diffs
Tue Jun 12 04:30:30 2007 UTC (4 years, 8 months ago) by yongari
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +10 -0 lines
Add checks for contigmalloc(9) failure.
Revision 1.44: download - view: text, markup, annotated - select for diffs
Sun Mar 4 03:38:08 2007 UTC (4 years, 11 months ago) by csjp
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +1 -1 lines
Catch up the rest of the drivers with the ether_vlan_mtap modifications. If these drivers are setting M_VLANTAG because they are stripping the layer 2 802.1Q headers, then they need to be re-inserting them so any bpf(4) peers can properly decode them. It should be noted that this is compiled tested only. MFC after: 3 weeks
Revision 1.43: download - view: text, markup, annotated - select for diffs
Fri Feb 23 12:18:57 2007 UTC (4 years, 11 months ago) by piso
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +1 -1 lines
o break newbus api: add a new argument of type driver_filter_t to 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@
Revision 1.42: download - view: text, markup, annotated - select for diffs
Sun Sep 17 13:33:29 2006 UTC (5 years, 4 months ago) by andre
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +4 -7 lines
Move ethernet VLAN tags from mtags to its own mbuf packet header field
m_pkthdr.ether_vlan. The presence of the M_VLANTAG flag on the mbuf
signifies the presence and validity of its content.
Drivers that support hardware VLAN tag stripping fill in the received
VLAN tag (containing both vlan and priority information) into the
ether_vtag mbuf packet header field:
m->m_pkthdr.ether_vtag = vlan_id; /* ntohs()? */
m->m_flags |= M_VLANTAG;
to mark the packet m with the specified VLAN tag.
On output the driver should check the mbuf for the M_VLANTAG flag to
see if a VLAN tag is present and valid:
if (m->m_flags & M_VLANTAG) {
... = m->m_pkthdr.ether_vtag; /* htons()? */
... pass tag to hardware ...
}
VLAN tags are stored in host byte order. Byte swapping may be necessary.
(Note: This driver conversion was mechanic and did not add or remove any
byte swapping in the drivers.)
Remove zone_mtag_vlan UMA zone and MTAG_VLAN definition. No more tag
memory allocation have to be done.
Reviewed by: thompsa, yar
Sponsored by: TCP/IP Optimization Fundraise 2005
Revision 1.41: download - view: text, markup, annotated - select for diffs
Tue May 16 14:36:32 2006 UTC (5 years, 8 months ago) by phk
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +0 -1 lines
Since DELAY() was moved, most <machine/clock.h> #includes have been unnecessary.
Revision 1.27.2.3: download - view: text, markup, annotated - select for diffs
Sun Jan 29 15:39:07 2006 UTC (6 years ago) by emaste
Branches: RELENG_5
CVS tags: RELENG_5_5_BP, RELENG_5_5_0_RELEASE, RELENG_5_5
Diff to: previous 1.27.2.2: preferred, colored; branchpoint 1.27: preferred, colored; next MAIN 1.28: preferred, colored
Changes since revision 1.27.2.2: +2 -0 lines
Merge IP multicast address list locking from HEAD to RELENG_5. if_ath.c:1.99 awi.c:1.39 if_bfe.c:1.26 if_bge.c:1.92 if_ed.c:1.255 if_em.c:1.67 if_ex.c:1.57 if_fe.c:1.92 if_fxp.c:1.242 if_gem.c:1.32 if_hme.c:1.38 if_ie.c:1.103 if_ndis.c:1.100 if_ixgb.c:1.12 if_lge.c:1.40 if_lnc.c:1.112 if_my.c:1.30 if_nge.c:1.76 if_nve.c:1.9 if_owi.c:1.11 pdq_ifsubr.c:1.27 if_ray.c:1.80 if_re.c:1.47 if_sn.c:1.47 dp83932.c:1.20 if_tx.c:1.90 if_txp.c:1.32 if_aue.c:1.91 if_axe.c:1.31 if_cue.c:1.58 if_kue.c:1.65 if_rue.c:1.22 if_udav.c:1.15 if_vge.c:1.15 if_wi.c:1.182 if_wl.c:1.67 if_xe.c:1.58 if_dc.c:1.161 if_de.c:1.167 if_pcn.c:1.70 if_rl.c:1.153 if_sf.c:1.83 if_sis.c:1.134 if_sk.c:1.107 if_ste.c:1.85 if_ti.c:1.108 if_tl.c:1.100 if_vr.c:1.105 if_wb.c:1.80 if_xl.c:1.193: Modify device drivers supporting multicast addresses to lock if_addr_mtx over iteration of their multicast address lists when synchronizing the hardware address filter with the network stack-maintained list. Note that with these changes, these drivers now depend on locking the global if_addr_mtx, so binary modules of these drivers will not work on 5.4 or earlier releases. Approved by: rwatson (mentor)
Revision 1.31.2.5: download - view: text, markup, annotated - select for diffs
Fri Jan 13 19:21:44 2006 UTC (6 years ago) by glebius
Branches: RELENG_6
CVS tags: RELENG_6_2_BP, RELENG_6_2_0_RELEASE, RELENG_6_2, RELENG_6_1_BP, RELENG_6_1_0_RELEASE, RELENG_6_1
Diff to: previous 1.31.2.4: preferred, colored; branchpoint 1.31: preferred, colored
Changes since revision 1.31.2.4: +1 -1 lines
- Restore VLAN_INPUT_TAG() macro to preserve API compatibility for third party drivers. - Fix bugs destribed in previous revision using macro with another name.
Revision 1.31.2.4: download - view: text, markup, annotated - select for diffs
Fri Jan 13 11:51:10 2006 UTC (6 years ago) by glebius
Branches: RELENG_6
Diff to: previous 1.31.2.3: preferred, colored; branchpoint 1.31: preferred, colored
Changes since revision 1.31.2.3: +3 -2 lines
MFC:
- Use VLAN_TAG_VALUE() not only to read a dot1q tag
value from an m_tag, but also to set it. This reduces
complex code duplication and improves its readability.
- Fix VLAN_INPUT_TAG() macro, so that it doesn't touch mtag in
case if memory allocation failed.
- Remove fourth argument from VLAN_INPUT_TAG(), that was used
incorrectly in almost all drivers. Indicate failure with
mbuf value of NULL.
Revision 1.40: download - view: text, markup, annotated - select for diffs
Sun Dec 18 18:24:27 2005 UTC (6 years, 1 month ago) by glebius
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +3 -2 lines
- Fix VLAN_INPUT_TAG() macro, so that it doesn't touch mtag in case if memory allocation failed. - Remove fourth argument from VLAN_INPUT_TAG(), that was used incorrectly in almost all drivers. Indicate failure with mbuf value of NULL. In collaboration with: yongari, ru, sam
Revision 1.31.2.3: download - view: text, markup, annotated - select for diffs
Tue Nov 15 19:54:10 2005 UTC (6 years, 2 months ago) by jhb
Branches: RELENG_6
Diff to: previous 1.31.2.2: preferred, colored; branchpoint 1.31: preferred, colored
Changes since revision 1.31.2.2: +112 -101 lines
MFC: Sync driver up with head (mostly) including adding locking and marking MPSAFE.
Revision 1.39: download - view: text, markup, annotated - select for diffs
Fri Nov 11 16:04:55 2005 UTC (6 years, 3 months ago) by ru
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +6 -6 lines
- Store pointer to the link-level address right in "struct ifnet" 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.
Revision 1.38: download - view: text, markup, annotated - select for diffs
Sat Oct 29 03:01:16 2005 UTC (6 years, 3 months ago) by wpaul
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +0 -2 lines
Remove call to txp_set_filter() from txp_attach(). txp_set_filter() needs the ifp, so you can't call it before doing if_alloc(). Also, there's really no need to call it here anyway: the code I originally ported from OpenBSD incorrectly set the station address only once at device attach time, instead of setting in txp_init(). This meant you couldn't change the address with ifconfig txp0 ether xx:xx:xx:xx:xx:xx. I added the call to txp_set_filter() in txp_init() to correct this, but forgot to remove the call from txp_attach(). Until now, it never mattered. With this fix, the txp driver tests good: txp0: <3Com 3cR990-TX-97 Etherlink with 3XP Processor> port 0xb800-0xb87f mem 0xe6800000-0xe683ffff irq 12 at device 10.0 on pci0 txp0: Ethernet address: 00:01:03:d4:91:4f
Revision 1.37: download - view: text, markup, annotated - select for diffs
Thu Oct 27 21:16:17 2005 UTC (6 years, 3 months ago) by jhb
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +81 -61 lines
- Add locking and mark MPSAFE. The driver had a mutex in the softc and even initialized it, but it never used it. - Use callout_*() to manage the callout. - Use m_devget() to copy data out of the rx buffers rather than doing it all by hand. - Use m_getcl() to allocate mbuf clusters rather than doing it all by hand. - Don't free the software descriptor for a rx ring entry if we can't allocate an mbuf cluster for it. We left a dangling pointer and never reallocated the entry anyway. OpenBSD's code (from which this was derived) has the same bug. Tested by: NO ONE (despite repeated requests) Reviewed by: wpaul (5)
Revision 1.36: download - view: text, markup, annotated - select for diffs
Mon Sep 19 03:10:20 2005 UTC (6 years, 4 months ago) by imp
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +3 -3 lines
Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 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.
Revision 1.35: download - view: text, markup, annotated - select for diffs
Thu Sep 15 19:41:03 2005 UTC (6 years, 4 months ago) by ru
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +1 -1 lines
Fixed a diagnostic message.
Revision 1.34: download - view: text, markup, annotated - select for diffs
Wed Aug 31 18:09:54 2005 UTC (6 years, 5 months ago) by jhb
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +31 -38 lines
- Only call txp_release_resources() once if attach fails. - Set errno to ENXIO instead of 0 in several attach failure cases. - Setup the interrupt handler at the very end of txp_attach() after ether_ifattach(). - Various whitespace fixes in function prototypes.
Revision 1.31.2.2: download - view: text, markup, annotated - select for diffs
Thu Aug 25 05:01:16 2005 UTC (6 years, 5 months ago) by rwatson
Branches: RELENG_6
CVS tags: RELENG_6_0_BP, RELENG_6_0_0_RELEASE, RELENG_6_0
Diff to: previous 1.31.2.1: preferred, colored; branchpoint 1.31: preferred, colored
Changes since revision 1.31.2.1: +10 -9 lines
Merge linux_ioctl.c:1.128 svr4_sockio.c:1.17 altq_cbq.c:1.3 if_oltr.c:1.38 if_pflog.c:1.14 if_pfsync.c:1.21 if_an.c:1.70 if_ar.c:1.72 if_arl.c:1.11 amrr.c:1.10 onoe.c:1.10 if_ath.c:1.101 awi.c:1.41 if_bfe.c:1.27 if_bge.c:1.93 if_cm_isa.c:1.7 smc90cx6.c:1.16 if_cnw.c:1.20 if_cp.c:1.25 if_cs.c:1.42 if_ct.c:1.26 if_cx.c:1.46 if_ed.c:1.256 if_em.c:1.68 if_en_pci.c:1.37 midway.c:1.66 if_ep.c:1.143 if_ex.c:1.58 if_fatm.c:1.20 if_fe.c:1.93 if_fwe.c:1.38 if_fwip.c:1.8 if_fxp.c:1.244 if_gem.c:1.33 if_hatm.c:1.25 if_hatm_intr.c:1.20 if_hatm_ioctl.c:1.13 if_hatm_rx.c:1.10 if_hatm_tx.c:1.14 if_hme.c:1.39 if_ie.c:1.104 if_ndis.c:1.101 if_ic.c:1.24 if_ipw.c:1.10 if_iwi.c:1.10 if_ixgb.c:1.13 if_lge.c:1.41 if_lnc.c:1.113 if_my.c:1.31 if_nge.c:1.77 if_nve.c:1.10 if_owi.c:1.12 if_patm.c:1.9 if_patm_intr.c:1.6 if_patm_ioctl.c:1.10 if_patm_tx.c:1.10 pdq_ifsubr.c:1.28 if_plip.c:1.38 if_ral.c:1.12 if_ral_pci.c:1.2 if_ray.c:1.81 if_rayvar.h:1.22 if_re.c:1.49 if_sbni.c:1.21 if_sbsh.c:1.14 if_sn.c:1.48 dp83932.c:1.21 if_snc_pccard.c:1.9 if_sr.c:1.70 if_tx.c:1.91 if_txp.c:1.33 if_aue.c:1.92 if_axe.c:1.32 if_cdce.c:1.8 if_cue.c:1.59 if_kue.c:1.66 if_rue.c:1.23 if_udav.c:1.16 if_ural.c:1.12 if_vge.c:1.16 if_vx.c:1.58 if_wi.c:1.185 if_wi_pci.c:1.26 if_wl.c:1.68 if_xe.c:1.60 if_xe_pccard.c:1.30 if_el.c:1.68 i4b_ipr.c:1.35 i4b_isppp.c:1.31 kern_poll.c:1.20 bridge.c:1.94 bridgestp.c:1.4 if_arcsubr.c:1.27 if_atm.h:1.24 if_atmsubr.c:1.40 if_bridge.c:1.16 if_ef.c:1.35 if_ethersubr.c:1.196 if_faith.c:1.37 if_fddisubr.c:1.100 if_fwsubr.c:1.14 if_gif.c:1.54 if_gre.c:1.34 if_iso88025subr.c:1.70 if_loop.c:1.107 if_ppp.c:1.106 if_spppsubr.c:1.121 if_tap.c:1.57 if_tun.c:1.154 if_vlan.c:1.80 ppp_tty.c:1.67 ieee80211_ioctl.c:1.32 atm_if.c:1.31 ng_eiface.c:1.33 ng_ether.c:1.50 ng_fec.c:1.19 ng_iface.c:1.44 ng_sppp.c:1.9 ip_carp.c:1.30 ip_fastfwd.c:1.30 in6.c:1.53 nd6_nbr.c:1.31 natm.c:1.40 if_dc.c:1.162 if_de.c:1.168 if_pcn.c:1.72 if_rl.c:1.154 if_sf.c:1.84 if_sis.c:1.135 if_sk.c:1.108 if_ste.c:1.86 if_ti.c:1.109 if_tl.c:1.101 if_vr.c:1.106 if_wb.c:1.81 if_xl.c:1.194 from HEAD to RELENG_6: Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 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 Approved by: re (scottl)
Revision 1.31.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 24 16:50:42 2005 UTC (6 years, 5 months ago) by rwatson
Branches: RELENG_6
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +2 -0 lines
Merge if_ath.c:1.99 awi.c:1.39 if_bfe.c:1.26 if_bge.c:1.92 if_ed.c:1.255 if_em.c:1.67 if_ex.c:1.57 if_fe.c:1.92 if_fxp.c:1.242 if_gem.c:1.32 if_hme.c:1.38 if_ie.c:1.103 if_ndis.c:1.100 if_ixgb.c:1.12 if_lge.c:1.40 if_lnc.c:1.112 if_my.c:1.30 if_nge.c:1.76 if_nve.c:1.9 if_owi.c:1.11 pdq_ifsubr.c:1.27 if_ray.c:1.80 if_re.c:1.47 if_sn.c:1.47 dp83932.c:1.20 if_tx.c:1.90 if_txp.c:1.32 if_aue.c:1.91 if_axe.c:1.31 if_cue.c:1.58 if_kue.c:1.65 if_rue.c:1.22 if_udav.c:1.15 if_vge.c:1.15 if_wi.c:1.182 if_wl.c:1.67 if_xe.c:1.58 if_dc.c:1.161 if_de.c:1.167 if_pcn.c:1.70 if_rl.c:1.153 if_sf.c:1.83 if_sis.c:1.134 if_sk.c:1.107 if_ste.c:1.85 if_ti.c:1.108 if_tl.c:1.100 if_vr.c:1.105 if_wb.c:1.80 if_xl.c:1.193 from HEAD to RELENG_6: Modify device drivers supporting multicast addresses to lock if_addr_mtx 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> Approved by: re (scottl)
Revision 1.33: download - view: text, markup, annotated - select for diffs
Tue Aug 9 10:19:55 2005 UTC (6 years, 6 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +10 -9 lines
Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 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
Revision 1.32: download - view: text, markup, annotated - select for diffs
Wed Aug 3 00:18:33 2005 UTC (6 years, 6 months ago) by rwatson
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +2 -0 lines
Modify device drivers supporting multicast addresses to lock if_addr_mtx 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
Revision 1.31: download - view: text, markup, annotated - select for diffs
Fri Jun 10 16:49:15 2005 UTC (6 years, 8 months ago) by brooks
Branches: MAIN
CVS tags: RELENG_6_BP
Branch point for: RELENG_6
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +39 -25 lines
Stop embedding struct ifnet at the top of driver softcs. Instead the 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
Revision 1.30: download - view: text, markup, annotated - select for diffs
Sun May 29 04:42:27 2005 UTC (6 years, 8 months ago) by nyan
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +0 -2 lines
Remove bus_{mem,p}io.h and related code for a micro-optimization on i386
and amd64. The optimization is a trivial on recent machines.
Reviewed by: -arch (imp, marcel, dfr)
Revision 1.27.2.2: download - view: text, markup, annotated - select for diffs
Thu Mar 3 05:02:14 2005 UTC (6 years, 11 months ago) by obrien
Branches: RELENG_5
CVS tags: RELENG_5_4_BP, RELENG_5_4_0_RELEASE, RELENG_5_4
Diff to: previous 1.27.2.1: preferred, colored; branchpoint 1.27: preferred, colored
Changes since revision 1.27.2.1: +1 -1 lines
MFC: 1.25: Use BUS_PROBE_DEFAULT in preference to 0. Brought to you by the letters: I-M-P
Revision 1.29: download - view: text, markup, annotated - select for diffs
Tue Mar 1 07:50:11 2005 UTC (6 years, 11 months ago) by imp
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +1 -1 lines
Use BUS_PROBE_DEFAULT in preference to 0. Also for vx, return BUS_PROBE_LOW_PRIORITY in stead of ifdef for devices that xl and vx both support so that xl will snarf them on up.
Revision 1.27.2.1: download - view: text, markup, annotated - select for diffs
Sun Jan 30 01:00:08 2005 UTC (7 years ago) by imp
Branches: RELENG_5
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +1 -1 lines
MFC: /*- and my license changes for sys/[a-d]*
Revision 1.28: download - view: text, markup, annotated - select for diffs
Thu Jan 6 01:43:26 2005 UTC (7 years, 1 month ago) by imp
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +1 -1 lines
Start each of the license/copyright comments with /*-, minor shuffle of lines
Revision 1.27: download - view: text, markup, annotated - select for diffs
Fri Aug 13 23:53:36 2004 UTC (7 years, 5 months ago) by rwatson
Branches: MAIN
CVS tags: RELENG_5_BP, RELENG_5_3_BP, RELENG_5_3_0_RELEASE, RELENG_5_3
Branch point for: RELENG_5
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +2 -1 lines
Since if_txp doesn't contain locking or run with INTR_MPSAFE, mark the interface as IFF_NEEDSGIANT so if_start is run holding Giant. Note: mutexes are initialized in the softc for this driver, but the locking appears inadequate to allow Giant-free operation.
Revision 1.26: download - view: text, markup, annotated - select for diffs
Mon Jun 28 20:26:21 2004 UTC (7 years, 7 months ago) by imp
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +0 -23 lines
Remove the setting of the pci config variables on power state changes. The bus does this now.
Revision 1.25: download - view: text, markup, annotated - select for diffs
Sun May 30 20:08:44 2004 UTC (7 years, 8 months ago) by phk
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +1 -0 lines
Add missing <sys/module.h> includes
Revision 1.24: download - view: text, markup, annotated - select for diffs
Sun May 23 16:11:51 2004 UTC (7 years, 8 months ago) by mux
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +0 -1 lines
We don't need to initialize if_output, ether_ifattach() does it for us.
Revision 1.23: download - view: text, markup, annotated - select for diffs
Wed Mar 17 17:50:46 2004 UTC (7 years, 10 months ago) by njl
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +3 -3 lines
Convert callers to the new bus_alloc_resource_any(9) API. Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun Mar 14 07:12:23 2004 UTC (7 years, 10 months ago) by mdodd
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +0 -3 lines
Announce ethernet MAC addresss in ether_ifattach().
Revision 1.21: download - view: text, markup, annotated - select for diffs
Fri Oct 31 18:32:05 2003 UTC (8 years, 3 months ago) by brooks
Branches: MAIN
CVS tags: RELENG_5_2_BP, RELENG_5_2_1_RELEASE, RELENG_5_2_0_RELEASE, RELENG_5_2
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +1 -2 lines
Replace the if_name and if_unit members of struct ifnet with new members 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)
Revision 1.20: download - view: text, markup, annotated - select for diffs
Sun Aug 24 17:55:54 2003 UTC (8 years, 5 months ago) by obrien
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +3 -0 lines
Use __FBSDID(). Also some minor style cleanups.
Revision 1.19: download - view: text, markup, annotated - select for diffs
Fri Aug 22 07:08:17 2003 UTC (8 years, 5 months ago) by imp
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +0 -0 lines
Prefer new location of pci include files (which have only been in the tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
Revision 1.18: download - view: text, markup, annotated - select for diffs
Thu Jul 3 14:00:57 2003 UTC (8 years, 7 months ago) by imp
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -2 lines
All current uses of pci_set_powerstate are bogus, at least in theory. However, they are presently necessary due to bigger bogusness in the pci bus layer not doing the right thing on suspend/resume or on initial device probe. This is exactly the sort of thing that the BURN_BRIDGES option was invented for. Mark all of them as BURN_BRIDGES. As soon as I have the powerstate stuff properly integrated into the pci bus code, I intend to remove all these workarounds.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Wed Apr 16 03:16:55 2003 UTC (8 years, 9 months ago) by mdodd
Branches: MAIN
CVS tags: RELENG_5_1_BP, RELENG_5_1_0_RELEASE, RELENG_5_1
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +0 -18 lines
- Don't call pci_enable_io() in drivers (unless needed for resume). - Don't test memory/port status and emit an error message; the PCI bus code will do this now.
Revision 1.16: download - view: text, markup, annotated - select for diffs
Tue Apr 15 06:37:27 2003 UTC (8 years, 9 months ago) by mdodd
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +3 -1 lines
- Express hard dependencies on bus (pci, isa, pccard) and network layer (ether). - Don't abuse module names to facilitate ifconfig module loading; such abuse isn't really needed. (And if we do need type information associated with a module then we should make it explicit and not use hacks.)
Revision 1.15: download - view: text, markup, annotated - select for diffs
Thu Apr 3 21:36:31 2003 UTC (8 years, 10 months ago) by obrien
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +3 -1 lines
Use __FBSDID rather than rcsid[].
Revision 1.14: download - view: text, markup, annotated - select for diffs
Wed Feb 19 05:47:15 2003 UTC (8 years, 11 months ago) by imp
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +6 -6 lines
Back out M_* changes, per decision of the TRB. Approved by: trb
Revision 1.13: download - view: text, markup, annotated - select for diffs
Tue Jan 21 08:55:43 2003 UTC (9 years ago) by alfred
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +6 -6 lines
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
Revision 1.12: download - view: text, markup, annotated - select for diffs
Thu Nov 14 23:54:54 2002 UTC (9 years, 2 months ago) by sam
Branches: MAIN
CVS tags: RELENG_5_0_BP, RELENG_5_0_0_RELEASE, RELENG_5_0
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +12 -28 lines
network interface driver changes: 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
Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu Apr 4 21:03:17 2002 UTC (9 years, 10 months ago) by jhb
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +2 -1 lines
Change callers of mtx_init() to pass in an appropriate lock type name. In most cases NULL is passed, but in some cases such as network driver locks (which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used. Tested on: i386, alpha, sparc64
Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Mar 20 02:07:44 2002 UTC (9 years, 10 months ago) by alfred
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +38 -38 lines
Remove __P.
Revision 1.9: download - view: text, markup, annotated - select for diffs
Tue Mar 19 05:14:23 2002 UTC (9 years, 10 months ago) by jeff
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +4 -0 lines
Initialize variables before use. This was needed to pass -Werror. Reviewed by: jake
Revision 1.4.2.4: download - view: text, markup, annotated - select for diffs
Fri Dec 14 19:50:43 2001 UTC (10 years, 1 month ago) by jlemon
Branches: RELENG_4
CVS tags: RELENG_4_9_BP, RELENG_4_9_0_RELEASE, RELENG_4_9, RELENG_4_8_BP, RELENG_4_8_0_RELEASE, RELENG_4_8, RELENG_4_7_BP, RELENG_4_7_0_RELEASE, RELENG_4_7, RELENG_4_6_BP, RELENG_4_6_2_RELEASE, RELENG_4_6_1_RELEASE, RELENG_4_6_0_RELEASE, RELENG_4_6, RELENG_4_5_BP, RELENG_4_5_0_RELEASE, RELENG_4_5, RELENG_4_11_BP, RELENG_4_11_0_RELEASE, RELENG_4_11, RELENG_4_10_BP, RELENG_4_10_0_RELEASE, RELENG_4_10
Diff to: previous 1.4.2.3: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.2.3: +5 -6 lines
MFC: r1.7; interface capability support.
Revision 1.4.2.3: download - view: text, markup, annotated - select for diffs
Tue Dec 4 20:01:53 2001 UTC (10 years, 2 months ago) by brooks
Branches: RELENG_4
Diff to: previous 1.4.2.2: preferred, colored
Changes since revision 1.4.2.2: +6 -19 lines
MFC: Make vlan(4) devices loadable, unloadable, and clonable.
Revision 1.8: download - view: text, markup, annotated - select for diffs
Mon Dec 3 17:28:27 2001 UTC (10 years, 2 months ago) by brooks
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +3 -3 lines
Don't pass an interface pointer to VLAN_INPUT{,_TAG}. Get it from the
mbuf instead.
Suggested by: fenner
Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Sep 18 18:41:39 2001 UTC (10 years, 4 months ago) by jlemon
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +7 -8 lines
Have the driver announce what capabilities it supports. These are currently not under user control.
Revision 1.6: download - view: text, markup, annotated - select for diffs
Wed Sep 5 21:10:27 2001 UTC (10 years, 5 months ago) by brooks
Branches: MAIN
CVS tags: KSE_PRE_MILESTONE_2, KSE_MILESTONE_2
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +6 -19 lines
Make vlan(4) loadable, unloadable, and clonable. As a side effect, interfaces must now always enable VLAN support. Reviewed by: jlemon MFC after: 3 weeks
Revision 1.4.2.2: download - view: text, markup, annotated - select for diffs
Tue Jul 31 16:39:34 2001 UTC (10 years, 6 months ago) by wpaul
Branches: RELENG_4
CVS tags: RELENG_4_4_BP, RELENG_4_4_0_RELEASE, RELENG_4_4
Diff to: previous 1.4.2.1: preferred, colored
Changes since revision 1.4.2.1: +6 -7 lines
MFC: fix VLAN support in RX handler, make sure to call vlan_input_tag() at the right time.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Tue Jul 31 16:38:58 2001 UTC (10 years, 6 months ago) by wpaul
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +6 -7 lines
Re-order things slightly in the RX handler for VLAN support: we need call vlan_input_tag() after stripping the ether header from the frame with m_adj(), not before. Noticed by: Brooks Davis <brooks@one-eyed-alien.net>
Revision 1.4.2.1: download - view: text, markup, annotated - select for diffs
Mon Jul 30 17:31:39 2001 UTC (10 years, 6 months ago) by wpaul
Branches: RELENG_4
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +11 -36 lines
MFC: add driver support for 3Com 3cR990 cards. Apologies if this re-bloats the kernel after obrien de-bloated it: the driver has a compiled-in firware image.
Revision 1.4: download - view: text, markup, annotated - select for diffs
Fri Jul 27 19:38:56 2001 UTC (10 years, 6 months ago) by wpaul
Branches: MAIN
Branch point for: RELENG_4
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +6 -2 lines
Remember to zero out certain things that we malloc() and/or contigmalloc().
Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Jul 27 18:28:37 2001 UTC (10 years, 6 months ago) by wpaul
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +5 -5 lines
Uncomment a return(ENXIO) that I commented out for debugging purposes.
Revision 1.2: download - view: text, markup, annotated - select for diffs
Mon Jul 23 22:27:17 2001 UTC (10 years, 6 months ago) by wpaul
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -3 lines
Turn on __STRICT_ALIGNMENT. We need this to fix up alignment so the alpha won't trap.
Revision 1.1: download - view: text, markup, annotated - select for diffs
Mon Jul 23 20:44:53 2001 UTC (10 years, 6 months ago) by wpaul
Branches: MAIN
You were knocked senseless by the Boomerang, spun around by the Cyclone, blown over by the Hurricane and had a house dropped on you by the Tornado. Now it's time to have your parade rained on by... the Typhoon! This commit adds driver support for 3Com 3cR990 10/100 ethernet adapters based on the Typhoon I and Typhoon II chipsets. This is actually a port of the OpenBSD driver with many hacks by me. No Virginia, there isn't any support for the hardware crypto yet. However there is support for TCP/IP checksum offload and VLANs. Special thanks go to Jason Wright, Aaron Campbell and Theo de Raadt for squeezing enough info out of 3Com to get this written, and for doing most of the hard work. Manual page is included. Compiled as a module and included in GENERIC.
