freebsd-dev/sys/dev
Pyun YongHyeon 919133a8ef Bring busdmafied sk(4) to all architectures.
- MPSAFE. No more recursive lock required.
- bus_dma(9) conversion. I think it should work on all architectures.
- optimized Rx handler for each normal and jumbo frames. Previously
  sk(4) used jumbo frame management code to handle normal sized
  frames. As the handler needs an additional lock to protect jumbo
  frame management structure from races, it used two lock operations
  for each received packet. Now sk(4) uses single lock operation for
  normal frame.(Jumbo frame still needs two lock operations as before.)
  The hardware supports DMA scatter operations for Rx descriptors such
  that it's possible to take advantagee of m_cljget(9) for jumbo frames.
  However, due to a unknown reasons it resulted in poor performance on
  sparc64. So I dropped m_cljget(9) approach. This should be revisited
  since it would reduce one lock operation for jumbo frame handling.
- Tx TCP/Rx IP checksum offload support. According to the data sheet
  of SK-NET GENESIS the hardware supports Rx IP/TCP/UDP offload.
  But I couldn't make it work on my Yukon hardware. So Rx TCP/UDP was
  disabled at the moment. It seems that newer Yukon chips can support
  Tx UDP checksum offload too. But I need more documentation first.
- Added more wait time in reading VPD data. It seems that ASUS LOM
  takes a very long time to respond VPD read signal.
- Added an additional lock for MII register access callbacks.
- Added more strict received packet validation routine. Previously it
  passed corrupted packets to upper layers under certain conditions.
- A new function sk_yukon_tick() to handle auto-negotiation properly.
- Interrupt handler now checks shared interrupt source and protects
  the interrupt handler from NULL pointer dereference which was caused
  by odd status word value. The status word can returns 0xffffffff if
  cable is unplugged while Rx/Tx/auto-negotiation is in progress.
- suspend/resume support(not tested).
- Added Rx/Tx FIFO flush routine for Yukon
- Activate Tx descriptor poll timer in order to protect possible loss
  of SK_TXBMU_TX_START command. Previously the driver continuously issued
  SK_TXBMU_TX_START when it notices pending Tx descriptors not processed
  yet in interrupt handler. That approach would add additional PCI
  write access overhead under high Tx load situations and it might fail
  if the first SK_TXBMU_TX_START was lost and no interrupt is generated
  from the first SK_TXBMU_TX_START command.
- s/printf/if_printf/, s/printf/device_printf/, Axe sk_unit in softc.
- Setting multicast/station address is now safe on strict-alignment
  architectures.
- Fix long standing bug in VLAN header length setup.
- Added/corrected register definitions for Yukon.
  (Register information from Linux skge driver.)
- Added Rx status definition for Marvell Yukon/XaQti XMAC.
  (Rx status register information from Linux skge driver.)
- Update if_oerrors if we encounter watchdog error.
- callout(9) conversion

Special thanks to jkim who let me know RX status differences between
Yukon and XaQti XMAC.
It seems that there is still occasional watchdog timeout error but I
couldn't reproduce it and need more information to analyze it from
users.

Tested by:	bz(amd64), me(i386, sparc64), current ML
		Frank Behrens frank ! pinky ( sax $ de
2006-04-27 05:59:09 +00:00
..
aac Rearrange locking in the alloc_commands and ioctl paths to avoid problems. 2006-04-08 06:05:29 +00:00
acpi_support Add support for Asus W5A laptops. 2006-04-09 15:22:25 +00:00
acpica Remove unnecessary assignment. 2006-04-21 19:06:29 +00:00
adlink Use the new bus_space/resource convenience functions. 2005-09-24 20:46:02 +00:00
advansys Type of overrun_buf doesn't matter to this code, but does to gcc. 2006-02-04 22:33:08 +00:00
agp Add support for the Intel E7205 chipset. 2006-02-17 01:40:46 +00:00
aha Add explicit dependency on cam. This is necessary when both aha.ko and 2006-03-24 06:33:25 +00:00
ahb
aic Eliminate support for oldcard by removing the compat shims. 2005-09-20 19:45:08 +00:00
aic7xxx Clean up the way we handle auxiliary commands for a given ddb command 2006-03-07 22:17:06 +00:00
amd
amr Reduce the Linux ioctl range to what is needed. I didn't know what 2006-04-14 16:13:28 +00:00
an Silence the strict-alias warnings. Make a trip through (void *) when 2006-02-04 22:51:03 +00:00
ar - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
arcmsr Fix -Wundef. 2005-12-04 02:12:43 +00:00
arl - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
asr Give the asr softc list global a proper name. 2006-02-12 06:57:41 +00:00
ata Add missing ";" 2006-04-17 10:47:01 +00:00
ath intercept public safety channels and do explicit mapping of freq->ieee 2006-04-26 16:02:36 +00:00
atkbdc Use the same method for detecting actual presence of AT-style keyboard 2006-04-26 06:05:16 +00:00
auxio - Only touch the LED bit of the (LED) AUXIO register when turning the 2006-01-26 19:04:18 +00:00
awi Remove support for oldcard by removing compat shims. 2005-09-20 19:46:54 +00:00
bce Only use the low address for stats collection. 2006-04-26 16:33:58 +00:00
bfe Don't call bfe_release_resources() twice. 2006-04-04 22:30:12 +00:00
bge If one removes the option from conf/options, one should 2006-04-25 17:54:42 +00:00
bktr if we are compiling with smbus support, properly depend upon the iic and 2006-01-27 08:42:48 +00:00
buslogic
cardbus Make the 'pci_devclass' pointer variable private (drivers really shouldn't 2006-01-20 22:00:50 +00:00
ce Update low-level code. (to version 1.4) 2006-03-01 09:50:20 +00:00
ciss Free another memory leak when dealing with disk notification. 2006-04-20 03:05:02 +00:00
cm Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
cnw Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
cp trim trailing ^I 2005-12-17 07:09:17 +00:00
cpufreq
cs Fix multicast support for cs89x0 chips. Just setting the RX_MULTCAST_ACCEPT 2006-03-10 23:50:53 +00:00
ct
ctau Backout if_cp 1.26, if_ct 1.27, if_cx 1.47 by obrien: 2005-09-27 16:12:49 +00:00
cx - Use swi_remove() to teardown swi handlers rather than 2005-10-26 15:52:16 +00:00
cy Catch up with new interrupt handling code. 2005-10-26 06:44:59 +00:00
dc Add device-id for the Neteasy DRP-32TXD cardbus 10/100 card. It's another 2006-03-16 20:00:39 +00:00
dcons Use ttyalloc() instead of ttymalloc() 2006-01-04 09:20:41 +00:00
de Repo copy de driver to dev/de, and adjust. 2006-02-26 17:52:04 +00:00
dec
digi Eliminate two unused arguments to ttycreate(). 2005-10-16 20:22:56 +00:00
dpt
drm Reorder the DRM_*_AGP enums to match linux and what our code expects, fixing 2006-04-18 06:14:43 +00:00
ed Initialize the port_bst and port_bsh variables. 2006-02-21 12:01:39 +00:00
eisa
em Bring back arm-specific workaround from rev 1.15: 2006-04-13 15:10:25 +00:00
en Subtracting two pointers produces a ptrdiff_t not a size_t so use 2006-03-21 15:00:10 +00:00
ep Remove ifdef notdef SIOCHWADDR vestige. 2006-02-04 08:16:07 +00:00
esp Fix -Wundef from compiling the amd64 LINT. 2005-12-04 10:06:06 +00:00
ex Remove ifdef notyet SIOCGHWADDR vestige. 2006-02-04 08:16:41 +00:00
exca Don't dereference an uninitialized pointer. 2006-03-09 16:28:24 +00:00
fatm This driver has been MPSAFE from the beginning so declare the interrupt 2006-03-21 14:56:42 +00:00
fb Fix -Wundef warnings from compiling GENERIC and LINT kernels of 2005-12-06 11:19:37 +00:00
fdc - Use callout_init_mtx() to initialize toffhandle callout using the fdc's 2006-02-23 19:11:16 +00:00
fe Return 0 if we are a network card and do match. Previously, we'd bogusly 2005-11-19 23:26:57 +00:00
firewire Don't type pun accidentally. Instead, be explicit that we're type 2006-02-04 21:37:39 +00:00
fxp Whitespace fix 2006-04-14 17:26:04 +00:00
gem Fix -Wundef warnings found when compiling i386 LINT, GENERIC and 2005-12-05 11:58:35 +00:00
gfb
harp
hatm Replace m_extadd() with macro version MEXTADD(). 2005-09-19 22:04:41 +00:00
hfa
hifn
hme Backout rev. 1.46. It caused Rx checksum offload breakage on little 2006-03-21 12:21:51 +00:00
hptmv Fix -Wundef. 2005-12-04 02:12:43 +00:00
hwpmc Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
ic MFp4: 2006-02-24 02:03:35 +00:00
ichsmb This signal handling code is worse than a no-op. If a 2006-01-03 17:01:43 +00:00
ichwd Re-work the bus attachment somewhat. Make the rids unique for 2006-02-17 18:46:18 +00:00
ida
idt
ie Fix -Wundef warnings found when compiling i386 LINT, GENERIC and 2005-12-05 11:58:35 +00:00
ieee488 Don't be noisy in case of shared interrupts. 2006-03-11 15:39:22 +00:00
if_ndis When ndis_attach() runs, it has to very briefly initialize the card 2006-02-04 19:42:49 +00:00
iicbus remove DRIVER_MODULE lines that are useless... pcf doesn't exist (only 2006-04-17 22:33:42 +00:00
iir Big update to the iir driver: 2006-03-01 07:24:39 +00:00
io
ipmi Don't conflict with the DEBUG define. 2006-02-13 16:50:45 +00:00
ips Shuffle some definitions so that this can be included from userland. 2006-01-03 23:03:39 +00:00
ipw Don't read channel list from EEPROM since we were already scanning all 2006-03-13 20:05:32 +00:00
isp Redo some code based upon issues found by Coverity. 2006-04-21 18:46:35 +00:00
ispfw Update 2300 f/w. This will probably be the last 2006-04-18 21:55:30 +00:00
iwi o don't use '-' characters in firmware names 2006-03-12 18:54:40 +00:00
ixgb - Fix VLAN_INPUT_TAG() macro, so that it doesn't touch mtag in 2005-12-18 18:24:27 +00:00
joy Unbreak second joystick (joy1) support. 2005-11-09 20:26:00 +00:00
kbd Integrate kbdmux(4) into syscons(4) and kbd code. 2006-02-28 23:46:23 +00:00
kbdmux Fix endian bugs accessing ioctl arguments that are passed by value. 2006-03-03 00:46:28 +00:00
le - In the interrupt handler clear the interrupt source flags before 2006-02-21 20:20:43 +00:00
led
lge Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
lmc Fix -Wundef warnings found when compiling i386 LINT, GENERIC and 2005-12-05 11:58:35 +00:00
lnc Really fix it this time. 2005-11-12 19:14:21 +00:00
mc146818
mca
mcd
md - Conditionally acquire Giant in mdstart_vnode(), mdcreate_vnode(), and 2006-03-28 21:25:11 +00:00
mem
mfi Fix some small bugs. 2006-04-10 06:44:30 +00:00
mii Fix the PHY support for the 5780. I mis-merged this from my sources. 2006-04-12 18:34:00 +00:00
mk48txx
mlx
mly
mpt Change some order of the way we do some target mode ops. 2006-04-21 18:31:21 +00:00
mse - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
mxge 10GbE mode driver and binary firmware for Myricom's PCI-express NICs. 2006-02-19 22:39:19 +00:00
my Fix -Wundef from compiling the amd64 LINT. 2005-12-04 10:06:06 +00:00
myri10ge 10GbE mode driver and binary firmware for Myricom's PCI-express NICs. 2006-02-19 22:39:19 +00:00
ncv Remove OLDCARD support by removing compat shims 2005-09-20 19:54:11 +00:00
nge Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
nmdm Use ttyalloc() instead of ttymalloc() 2006-01-04 08:34:23 +00:00
nsp Remove OLDCARD support by removing compat shims 2005-09-20 19:54:11 +00:00
null
nve Make nve(4) work for people with nf3/nf4 who never got it 2005-12-12 06:23:43 +00:00
ofw - Add a new method ofw_bus_default_get_devinfo() that allows to retrieve 2005-11-22 16:37:45 +00:00
patm This driver has been MPSAFE from the beginning, so declare the interrupt 2006-03-21 14:54:42 +00:00
pbio
pccard Add some sanity checking to the pccard insertion case. Whine if the 2005-12-28 05:30:09 +00:00
pccbb Add missing ~. We want all the INVALID bits to be 0... Let's see if this 2006-04-16 23:16:45 +00:00
pcf - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
pci The size of I/O ranges can be anything from 16 bytes to 2G bytes. 2006-04-27 04:53:18 +00:00
pdq - Make IFP2ENADDR() a pointer to IF_LLADDR() rather than another 2005-11-11 07:36:14 +00:00
ppbus Import ACPI Dock Station support. Note that this is still very young. 2006-04-15 12:31:34 +00:00
ppc o Use __FBSDID 2006-04-26 21:25:13 +00:00
pst
puc When we attach to either a SAB82532 or a Z8530, print a notice 2006-03-30 18:43:03 +00:00
ral o fixes the locking of if_init(). 2006-03-21 21:15:43 +00:00
random Change msleep() and tsleep() to not alter the calling thread's priority 2006-04-17 18:20:38 +00:00
ray - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
rc - Use swi_remove() to teardown swi handlers rather than 2005-10-26 15:52:16 +00:00
re Add support for RTL8111B chip, that can be found on some mainboards, 2006-03-22 07:33:03 +00:00
rndtest
rp The UPCI 32 rp(4) card uses BAR 2 like the UPCI 80 card. 2006-01-25 14:55:11 +00:00
safe safe(4) doesn't support explicitly provided keys. Return an error instead 2006-04-10 18:49:46 +00:00
sbni - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
sbsh Make sure that we call if_free(ifp) after bus_teardown_intr. Since we 2005-09-19 03:10:21 +00:00
scc The Z8530 on the MacIO has an interrupt per channel. Deal with this 2006-04-04 17:33:08 +00:00
scd
sf Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
si - Update copyright years from the Specialix SDK. 2006-01-06 20:17:48 +00:00
sio - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
sk Bring busdmafied sk(4) to all architectures. 2006-04-27 05:59:09 +00:00
smbus Drivers for AMD-8111 and NVIDIA nForce2/3/4 SMBus 2.0 controllers. 2005-12-21 15:49:51 +00:00
sn Fix mismerge after last cvs update for the IFQ_DRV_DEQUEUE changes. 2006-02-04 08:19:00 +00:00
snc Fix -Wundef warnings from compiling GENERIC and LINT kernels of 2005-12-06 11:19:37 +00:00
snp Restore the ability to detach from a tty via SIOCSTTY and document 2005-09-19 13:48:45 +00:00
sound Add support for (latest) VIA VT8251 (rev. 0x07) audio controller. 2006-04-22 09:44:00 +00:00
speaker Add /dev/speaker support to amd64. 2005-11-11 09:57:32 +00:00
sr - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
stg Remove OLDCARD shims 2005-09-21 22:45:14 +00:00
streams
sym FreeBSD has had endian conversion macros for a long time. Axe the custom 2005-12-05 22:37:37 +00:00
syscons Integrate kbdmux(4) into syscons(4) and kbd code. 2006-02-28 23:46:23 +00:00
tdfx Take the functionality contained in the former "options TDFX_LINUX" 2006-03-03 21:37:38 +00:00
tga
ti - Tx side bus_dmamap_load_mbuf_sg(9) support. This reduces bookkeeping 2006-01-03 06:14:07 +00:00
trm
twa twa corresponding to the 9.3.0.1 release on the 3ware website. This driver has 2005-11-08 22:51:43 +00:00
twe Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
tx Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
txp - Fix VLAN_INPUT_TAG() macro, so that it doesn't touch mtag in 2005-12-18 18:24:27 +00:00
uart Use 115200 and not 9600 as the initial baudrate. This speeds up 2006-04-27 05:43:10 +00:00
ubsec ubsec(4) doesn't support explicitly provided keys. Return an error instead 2006-04-10 18:37:46 +00:00
usb - Add support for the Acer Acerscan 640BT. 2006-04-11 10:44:31 +00:00
utopia
vge Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
vkbd Disable custom locking in the vkbd(4) for now and make it rely on the 2006-02-27 06:17:48 +00:00
vr Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
vx - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
watchdog Return zero when disabling watchdog, unless any of the drivers complain. 2005-09-29 12:31:44 +00:00
wds
wi - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
wl - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
xe o Fix printf(9) formatting: do not use hardcode "0x" and "#" flags 2006-04-15 11:41:40 +00:00
zs - Use swi_remove() to teardown swi handlers rather than 2005-10-26 15:52:16 +00:00