mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-06 14:48:06 +00:00
ath10k: add HTC TX credits replenishing notification
This will allow higher layers to anticipate and act upon TX credits renewal. This will be important for some future rework of WMI command submission. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
eeed3765f3
commit
88e65fc337
2 changed files with 10 additions and 0 deletions
|
@ -150,6 +150,9 @@ err:
|
|||
ep->tx_credits += credits;
|
||||
spin_unlock_bh(&htc->tx_lock);
|
||||
|
||||
if (ep->ep_ops.ep_tx_credits)
|
||||
ep->ep_ops.ep_tx_credits(htc->ar);
|
||||
|
||||
/* this is the simplest way to handle out-of-resources for non-credit
|
||||
* based endpoints. credit based endpoints can still get -ENOSR, but
|
||||
* this is highly unlikely as credit reservation should prevent that */
|
||||
|
@ -302,6 +305,12 @@ ath10k_htc_process_credit_report(struct ath10k_htc *htc,
|
|||
ep = &htc->endpoint[report->eid];
|
||||
ep->tx_credits += report->credits;
|
||||
|
||||
if (ep->ep_ops.ep_tx_credits) {
|
||||
spin_unlock_bh(&htc->tx_lock);
|
||||
ep->ep_ops.ep_tx_credits(htc->ar);
|
||||
spin_lock_bh(&htc->tx_lock);
|
||||
}
|
||||
|
||||
if (ep->tx_credits && !skb_queue_empty(&ep->tx_queue))
|
||||
queue_work(htc->ar->workqueue, &ep->send_work);
|
||||
}
|
||||
|
|
|
@ -276,6 +276,7 @@ struct ath10k_htc_ops {
|
|||
struct ath10k_htc_ep_ops {
|
||||
void (*ep_tx_complete)(struct ath10k *, struct sk_buff *);
|
||||
void (*ep_rx_complete)(struct ath10k *, struct sk_buff *);
|
||||
void (*ep_tx_credits)(struct ath10k *);
|
||||
};
|
||||
|
||||
/* service connection information */
|
||||
|
|
Loading…
Add table
Reference in a new issue