ath10k: add fast peer_map lookup
authorMichal Kazior <michal.kazior@tieto.com>
Sun, 6 Mar 2016 14:14:30 +0000 (16:14 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Sun, 6 Mar 2016 14:14:30 +0000 (16:14 +0200)
commit6942726f7f7bfc3c197795befe84c8e3c57435a0
treed2bee7e11c5b16e0eb1d6f4c1c8c2a6f5e623627
parentbb8f0c6af83f2217aebbe45540e81d31b754b805
ath10k: add fast peer_map lookup

The pull-push functionality of 10.4 will be based
on peer_id and tid. These will need to be mapped,
eventually, to ieee80211_txq to be used with
ieee80211_tx_dequeue().

Iterating over existing stations every time
peer_id needs to be mapped to a station would be
inefficient wrt CPU time.

The new firmware, which will be the only user of
the code flow-wise, will guarantee to use low
peer_ids first so despite peer_map's apparent huge
size d-cache thrashing should not be a problem.

Older firmware hot paths will effectively not use
peer_map.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/core.h
drivers/net/wireless/ath/ath10k/mac.c
drivers/net/wireless/ath/ath10k/txrx.c