]> git.baikalelectronics.ru Git - kernel.git/commit
ath6kl: prioritize Tx bundling based on AC priorities
authorChilam Ng <chilamng@qca.qualcomm.com>
Tue, 7 Feb 2012 09:33:00 +0000 (01:33 -0800)
committerKalle Valo <kvalo@qca.qualcomm.com>
Wed, 8 Feb 2012 09:33:49 +0000 (11:33 +0200)
commit99df2ed3f750d43964b0a315ac9a20fbbaf4b3d0
treea360185622713df0934983e90d7a9277eaeb661a
parent62464ee54d24f503c1acb85613c827e659cad2e9
ath6kl: prioritize Tx bundling based on AC priorities

Tx bundling is the more efficient use of SDIO bus and allows more packet
transfers with fewer bus transactions, and is a way to improve overall
throughput. However, Tx bundling has only 4 scatter request resources available.
When there are multiple traffic streams of different priorities, it's possible
that lower priority traffic may hog all the scatter requests and lock out the
higher prioirty traffic from bundling.
Tx bundling is now enabled per AC. When an AC do a scatter request and
the remaining scatter request resources is lower than a configurable
threshold, it will disable Tx bundling for all AC's of lower priorities.
When an AC has Tx bundling disabled and has no Tx bundles sent in a
consecutive and configurable number of packets, Tx bundling will be re-enabled
for that AC.

Signed-off-by: Chilam Ng <chilamng@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/hif.h
drivers/net/wireless/ath/ath6kl/htc.c
drivers/net/wireless/ath/ath6kl/htc.h
drivers/net/wireless/ath/ath6kl/sdio.c