[RFC/RFT 5/7] ath10k: batch htt tx/rx completions

Kalle Valo kvalo at qca.qualcomm.com
Wed Feb 19 10:10:19 EST 2014


Michal Kazior <michal.kazior at tieto.com> writes:

> HTT Rx endpoint processes both frame rx
> indications and frame tx completion indications.
>
> Those completions typically come in batches and
> may be mixed so it makes sense to defer processing
> hoping to get a bunch of them and take advantage
> of hot caches.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>

[...]

> @@ -270,7 +274,7 @@ static inline struct sk_buff *ath10k_htt_rx_netbuf_pop(struct ath10k_htt *htt)
>  	int idx;
>  	struct sk_buff *msdu;
>  
> -	spin_lock_bh(&htt->rx_ring.lock);
> +	lockdep_assert_held(&htt->rx_ring.lock);

There are some locking changes which I think would be better to have in
a separate patch.


>  	case HTT_T2H_MSG_TYPE_MGMT_TX_COMPLETION: {
> +		struct htt_resp *resp = (struct htt_resp *)skb->data;
>  		struct htt_tx_done tx_done = {};
>  		int status = __le32_to_cpu(resp->mgmt_tx_completion.status);
>  
> -		tx_done.msdu_id =
> -			__le32_to_cpu(resp->mgmt_tx_completion.desc_id);
> +		tx_done.msdu_id = __le32_to_cpu(resp->mgmt_tx_completion.desc_id);

I don't see any changes here.

-- 
Kalle Valo



More information about the ath10k mailing list