aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/Kconfig
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2008-03-29 16:01:16 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-04-08 15:05:56 -0400
commit5100d5ac81b9330dc57e35adbe50923ba6107b8f (patch)
tree48224236b50703606c97c05ec077fde4880fc3b9 /drivers/net/wireless/b43/Kconfig
parent3109ece1114293b8201d9c140d02d7ce9a9fa387 (diff)
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>
Diffstat (limited to 'drivers/net/wireless/b43/Kconfig')
-rw-r--r--drivers/net/wireless/b43/Kconfig17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/Kconfig b/drivers/net/wireless/b43/Kconfig
index 8bc4bc4c330e..94f04559028b 100644
--- a/drivers/net/wireless/b43/Kconfig
+++ b/drivers/net/wireless/b43/Kconfig
@@ -62,6 +62,13 @@ config B43_PCMCIA
62 62
63 If unsure, say N. 63 If unsure, say N.
64 64
65# Data transfers to the device via PIO
66# This is only needed on PCMCIA devices. All others can do DMA properly.
67config B43_PIO
68 bool
69 depends on B43 && (B43_PCMCIA || B43_FORCE_PIO)
70 default y
71
65config B43_NPHY 72config B43_NPHY
66 bool "Pre IEEE 802.11n support (BROKEN)" 73 bool "Pre IEEE 802.11n support (BROKEN)"
67 depends on B43 && EXPERIMENTAL && BROKEN 74 depends on B43 && EXPERIMENTAL && BROKEN
@@ -94,3 +101,13 @@ config B43_DEBUG
94 101
95 Say Y, if you want to find out why the driver does not 102 Say Y, if you want to find out why the driver does not
96 work for you. 103 work for you.
104
105config B43_FORCE_PIO
106 bool "Force usage of PIO instead of DMA"
107 depends on B43 && B43_DEBUG
108 ---help---
109 This will disable DMA and always enable PIO instead.
110
111 Say N!
112 This is only for debugging the PIO engine code. You do
113 _NOT_ want to enable this.