]> git.baikalelectronics.ru Git - kernel.git/commit
ath9k_hw: optimize interrupt mask changes
authorFelix Fietkau <nbd@openwrt.org>
Mon, 8 Nov 2010 19:54:47 +0000 (20:54 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 9 Nov 2010 21:13:24 +0000 (16:13 -0500)
commit084c289bc875d6c9e217bdb6cfdfb36ffbc85e05
tree825eaecb9d9e8d0fde7f61e5f98fdd823ccef718
parentc8d5efca916154b6c59c42d65f6870eaae008564
ath9k_hw: optimize interrupt mask changes

OProfile showed that ath9k was spending way too much time in
ath9k_hw_set_interrupts. Since most of the interrupt mask changes only
need to globally enable/disable interrupts, it makes sense to split
this part into separate functions, replacing all calls to
ath9k_hw_set_interrupts(ah, 0) with ath9k_hw_disable_interrupts(ah).

ath9k_hw_set_interrupts(ah, ah->imask) only gets changed to
ath9k_hw_enable_interrupts(ah), whenever ah->imask was not changed
since the point where interrupts were disabled.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/beacon.c
drivers/net/wireless/ath/ath9k/gpio.c
drivers/net/wireless/ath/ath9k/mac.c
drivers/net/wireless/ath/ath9k/mac.h
drivers/net/wireless/ath/ath9k/main.c