android_kernel_motorola_sm6225/drivers/net/wireless/wl12xx
Ido Yariv 341b7cde6c wl12xx: Handle platforms without level trigger interrupts
Some platforms are incapable of triggering on level interrupts. Add a
platform quirks member in the platform data structure, as well as an
edge interrupt quirk which can be set on such platforms.

When the interrupt is requested with IRQF_TRIGGER_RISING, IRQF_ONESHOT
cannot be used, as we might miss interrupts that occur after the FW
status is cleared and before the threaded interrupt handler exits.

Moreover, when IRQF_ONESHOT is not set, iterating more than once in the
threaded interrupt handler introduces a few race conditions between this
handler and the hardirq handler. Currently this is worked around by
limiting the loop to one iteration only. This workaround has an impact
on performance. To remove to this restriction, the race conditions will
need to be addressed.

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-04-19 16:49:20 +03:00
..
acx.c wl12xx: Simplify TX blocks accounting 2011-04-19 16:49:20 +03:00
acx.h wl12xx: 1281/1283 support - Add acx commands 2011-04-19 16:19:47 +03:00
boot.c wl12xx: Clean up and fix the 128x boot sequence 2011-04-19 16:49:17 +03:00
boot.h wl12xx: Clean up and fix the 128x boot sequence 2011-04-19 16:49:17 +03:00
cmd.c wl12xx: 1281/1283 support - Loading FW & NVS 2011-04-19 16:48:10 +03:00
cmd.h wl12xx: 1281/1283 support - New radio structs and functions 2011-04-19 16:19:48 +03:00
conf.h wl12xx: 1281/1283 support - use dynamic memory for the RX/TX pools 2011-04-19 16:48:59 +03:00
debugfs.c wl12xx: Switch to a threaded interrupt handler 2011-03-03 16:10:46 +02:00
debugfs.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
event.c wl12xx: rearrange some ELP wake_up/sleep calls 2011-04-19 16:49:14 +03:00
event.h wl12xx: 1281/1283 support - Add dummy packet support 2011-04-19 16:49:01 +03:00
ini.h wl12xx: 1281/1283 support - Loading FW & NVS 2011-04-19 16:48:10 +03:00
init.c wl12xx: Clean up the block size alignment code 2011-04-19 16:49:18 +03:00
init.h wl12xx: 1281/1283 support - Add acx commands 2011-04-19 16:19:47 +03:00
io.c wl12xx: Clean up the block size alignment code 2011-04-19 16:49:18 +03:00
io.h wl12xx: fix roaming 2011-04-19 16:49:15 +03:00
Kconfig wl12xx: 1281/1283 support - enable chip support 2011-04-19 16:49:03 +03:00
main.c wl12xx: Handle platforms without level trigger interrupts 2011-04-19 16:49:20 +03:00
Makefile wl12xx_sdio_test: rename files to match current style 2010-12-15 17:09:27 +02:00
ps.c wl12xx: rearrange some ELP wake_up/sleep calls 2011-04-19 16:49:14 +03:00
ps.h wl12xx: Switch to a threaded interrupt handler 2011-03-03 16:10:46 +02:00
reg.h wl12xx: 1281/1283 support - Add Definitions 2011-04-19 16:19:46 +03:00
rx.c wl12xx: Fix potential incorrect band in rx-status 2011-04-19 16:49:04 +03:00
rx.h wl12xx: use standard ALIGN() macro 2011-02-23 11:11:19 +02:00
scan.c wl12xx: use a bitmask instead of list of booleans in scanned_ch 2011-04-19 16:49:12 +03:00
scan.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
sdio.c wl12xx: Handle platforms without level trigger interrupts 2011-04-19 16:49:20 +03:00
sdio_test.c wl12xx: Clamp byte mode transfers for 128x chips 2011-04-19 16:49:07 +03:00
spi.c wl12xx: Handle platforms without level trigger interrupts 2011-04-19 16:49:20 +03:00
testmode.c wl12xx: 1281/1283 support - Loading FW & NVS 2011-04-19 16:48:10 +03:00
testmode.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
tx.c wl12xx: Simplify TX blocks accounting 2011-04-19 16:49:20 +03:00
tx.h wl12xx: Clean up the dummy packet mechanism 2011-04-19 16:49:19 +03:00
wl12xx.h wl12xx: Handle platforms without level trigger interrupts 2011-04-19 16:49:20 +03:00
wl12xx_80211.h ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition 2011-03-09 16:10:56 -05:00
wl12xx_platform_data.c wl12xx: add platform data passing support 2010-09-21 11:04:57 -04:00