diff options
author | Chilam Ng <chilamng@qca.qualcomm.com> | 2012-02-09 14:17:01 +0400 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2012-02-27 21:14:51 +0400 |
commit | 0ea10f2b469ee51ed9948dd24cdd9582a98b885e (patch) | |
tree | 93b7e19903f146a43205c4bd8ed31d79bfab5f14 /drivers/net/wireless/ath/ath6kl/htc.c | |
parent | d0ff7383a3164adff7072719717d574436ec1677 (diff) | |
download | linux-0ea10f2b469ee51ed9948dd24cdd9582a98b885e.tar.xz |
ath6kl: assign Tx packet drop threshold per endpoint based on AC priority
Tx packets will begin to drop when there are multiple traffic priorities
and the current traffic is not the highest priority and the remaining
cookies drop below a certain number, which is fixed for all AC. It is
possilbe that lower priority AC have more traffic which will consume
more cookies and lock out higher priority AC from having any. Assign
each endpoint (AC) with a different Tx-packet-drop threshold so lower
priority AC is more likely to drop packets and the cookies become more
available to higher priority AC.
Signed-off-by: Chilam Ng <chilamng@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/htc.c')
-rw-r--r-- | drivers/net/wireless/ath/ath6kl/htc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/htc.c b/drivers/net/wireless/ath/ath6kl/htc.c index c703ef9c5313..920e7c07fd4f 100644 --- a/drivers/net/wireless/ath/ath6kl/htc.c +++ b/drivers/net/wireless/ath/ath6kl/htc.c @@ -2483,6 +2483,15 @@ int ath6kl_htc_conn_service(struct htc_target *target, endpoint->cred_dist.endpoint = assigned_ep; endpoint->cred_dist.cred_sz = target->tgt_cred_sz; + switch (endpoint->svc_id) { + case WMI_DATA_BK_SVC: + endpoint->tx_drop_packet_threshold = MAX_DEF_COOKIE_NUM / 3; + break; + default: + endpoint->tx_drop_packet_threshold = MAX_HI_COOKIE_NUM; + break; + } + if (conn_req->max_rxmsg_sz) { /* * Override cred_per_msg calculation, this optimizes |