linux/drivers/net/wireless/b43
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
..
b43.h b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
debugfs.c b43: Remove irqs_disabled() sanity checks 2008-03-24 19:25:09 -04:00
debugfs.h
dma.c b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
dma.h b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
Kconfig b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
leds.c leds: Standardise LED naming scheme 2008-02-07 09:47:00 +00:00
leds.h
lo.c b43: Fix PHY register routing 2008-01-28 15:09:32 -08:00
lo.h
main.c b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
main.h make b43_mac_{enable,suspend}() static 2008-03-13 16:01:04 -04:00
Makefile b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
nphy.c b43: Add more N-PHY init code 2008-01-28 15:10:44 -08:00
nphy.h b43: Don't compile N-PHY code when N-PHY is disabled 2008-03-25 16:41:59 -04:00
pcmcia.c b43: Fix PCMCIA IRQ routing 2008-04-01 15:44:08 -04:00
pcmcia.h
phy.c b43: phy.c fix typo in register write 2008-03-13 15:57:25 -04:00
phy.h b43: Add NPHY radio init code 2008-01-28 15:09:53 -08:00
pio.c b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
pio.h b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
rfkill.c b43: fix use-after-free rfkill bug 2008-01-16 12:53:32 -05:00
rfkill.h b43: Rewrite and fix rfkill init 2007-11-10 04:25:12 -05:00
sysfs.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
sysfs.h
tables.c b43: Fix for broken transmission 2008-01-28 15:05:59 -08:00
tables.h b43: rewrite A PHY initialization 2008-01-28 15:04:31 -08:00
tables_nphy.c b43: Add lots of N-PHY lookup tables 2008-01-28 15:10:03 -08:00
tables_nphy.h b43: Add lots of N-PHY lookup tables 2008-01-28 15:10:03 -08:00
wa.c b43: pull out helpers for writing noise table 2008-03-13 16:02:33 -04:00
wa.h b43: rewrite A PHY initialization 2008-01-28 15:04:31 -08:00
xmit.c b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
xmit.h b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00