• Felix Fietkau's avatar
    ath9k_hw: optimize interrupt mask changes · 4df3071e
    Felix Fietkau authored
    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: default avatarFelix Fietkau <nbd@openwrt.org>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    4df3071e
gpio.c 11.3 KB