linux/drivers
Michael Buesch 5100d5ac81 b43: Add PIO support for PCMCIA devices
This adds PIO support back (D'oh!) for PCMCIA devices.
This is a complete rewrite of the old PIO code. It does actually work
and we get reasonable performance out of it on a modern machine.
On a PowerBook G4 I get a few MBit for TX and a few more for RX.
So it doesn't work as well as DMA (of course), but it's a _lot_ faster
than the old PIO code (only got a few kBit with that).

The limiting factor is the host CPU speed. So it will generate 100%
CPU usage when the network interface is heavily loaded. A voluntary preemption
point in the RX path makes sure Desktop Latency isn't hurt.

PIO is needed for 16bit PCMCIA devices, as we really don't want to poke with
the braindead DMA mechanisms on PCMCIA sockets. Additionally, not all
PCMCIA sockets do actually support DMA in 16bit mode (mine doesn't).

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-04-08 15:05:56 -04:00
..
acorn/char
acpi ACPI PM: Restore the 2.6.24 suspend ordering 2008-04-01 11:21:08 -07:00
amba
ata libata: ATA_EHI_LPM should be ATA_EH_LPM 2008-03-29 12:21:31 -04:00
atm [ATM] drivers/atm/ambassador.c: stop inlining largish static functions 2008-04-03 14:59:55 -07:00
auxdisplay
base driver core: fix small mem leak in driver_add_kobj() 2008-03-28 14:45:23 -07:00
block Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-03 14:33:42 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-12 13:08:09 -07:00
cdrom
char Char: rio, fix sparse warnings 2008-04-02 15:28:19 -07:00
clocksource
connector connector: convert to single-threaded workqueue 2008-03-23 21:51:12 -07:00
cpufreq [CPUFREQ] fix section mismatch warnings 2008-03-05 14:45:31 -05:00
cpuidle cpuidle: fix 100% C0 statistics regression 2008-03-26 00:58:19 -04:00
crypto drivers/crypto/hifn_795x.c trivial endianness annotations 2008-03-30 14:20:24 -07:00
dca
dio
dma fix the broken annotations in fsldma 2008-03-30 14:20:24 -07:00
edac
eisa
firewire firewire: fw-ohci: plug dma memory leak in AR handler 2008-03-27 21:01:14 +01:00
firmware
gpio gpio/pca953x bugfix: mark as can_sleep 2008-03-10 18:01:19 -07:00
hid HID: update key codes for Apple aluminium 2008-03-18 11:20:33 +01:00
hwmon hwmon: (w83781d) Fix I/O resource conflict with PNP 2008-03-27 08:40:41 -04:00
i2c i2c: Fix docbook problem 2008-03-23 20:28:20 +01:00
ide ide: use ->ata_input_data in ide_driveid_update() 2008-04-02 21:22:05 +02:00
ieee1394 ieee1394: sbp2: fix for SYM13FW500 bridge (Datafab disk) 2008-03-14 00:56:59 +01:00
infiniband trivial endianness annotations: infiniband core 2008-03-30 14:20:24 -07:00
input Input: make sure input interfaces pin parent input devices 2008-04-01 00:22:53 -04:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-03-12 13:08:09 -07:00
leds leds: Remove incorrect use of preempt_count() from leds-gpio 2008-03-31 23:31:13 +01:00
lguest misc __user misannotations (pointless casts to long) 2008-03-30 14:20:23 -07:00
macintosh [POWERPC] Fix build of modular drivers/macintosh/apm_emu.c 2008-03-13 10:09:27 +11:00
mca
md dm io: write error bits form long not int 2008-03-28 14:45:23 -07:00
media V4L/DVB (7486): radio-cadet: wrap PNP probe code in #ifdef CONFIG_PNP 2008-04-01 19:35:47 -03:00
memstick memstick: suppress uninitialized-var warning 2008-03-28 14:45:23 -07:00
message [SCSI] mpt fusion: Power Management fixes for MPT SAS PCI-E controllers 2008-03-18 15:13:40 -05:00
mfd mfd/asic3: ioread/iowrite take pointer, not unsigned long 2008-03-30 14:20:24 -07:00
misc NULL noise: drivers/misc 2008-03-30 14:18:41 -07:00
mmc mmc: use sysfs groups to handle conditional attributes 2008-03-22 17:02:20 -07:00
mtd mtd: maps/physmap: fix oops in suspend/resume/shutdown ops 2008-03-28 14:45:22 -07:00
net b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
nubus
of
oprofile
parisc [PARISC] make ptr_to_pide() static 2008-03-15 19:17:12 -07:00
parport
pci pci: revert SMBus unhide on HP Compaq nx6110 2008-03-28 14:45:22 -07:00
pcmcia
pnp pnpacpi: reduce printk severity for "pnpacpi: exceeded the max number of ..." 2008-03-26 14:22:20 -04:00
power
ps3
rapidio
rtc rtc-at91sam9 fixes 2008-03-19 18:53:37 -07:00
s390 [NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS. 2008-03-26 04:39:53 +09:00
sbus
scsi [SCSI] mvsas: check subsystem id 2008-03-28 12:32:22 -05:00
serial atmel_serial: fix uart/console concurrent access 2008-04-02 15:28:19 -07:00
sh
sn ioc3.c: replace remaining __FUNCTION__ occurrences 2008-03-17 08:11:48 -04:00
spi spi_bitbang: short transfer status fix 2008-03-13 13:11:43 -07:00
ssb ssb-pcmcia: IRQ and DMA related fixes 2008-04-08 15:05:56 -04:00
tc
telephony
thermal thermal: delete "default y" 2008-03-18 01:22:10 -04:00
uio UIO: add pgprot_noncached() to UIO mmap code 2008-03-24 22:33:49 -07:00
usb USB: ohci: fix 2 timers to fire at jiffies + 1s 2008-04-02 15:06:09 -07:00
video blackfin video driver: fix bug when opening/reading/mmaping BF54x and BF52x framebuffer simultaneously 2008-03-28 14:45:22 -07:00
virtio virtio_pci iomem annotations 2008-03-30 14:20:23 -07:00
w1
watchdog [WATCHDOG] Fix it8712f_wdt.c wrong byte order accessing WDT_TIMEOUT 2008-04-01 11:31:05 -07:00
xen
zorro
Kconfig
Makefile