Lines Matching refs:tx
161 spin_lock(&hif_dev->tx.tx_lock); in hif_usb_mgmt_cb()
162 if (hif_dev->tx.flags & HIF_USB_TX_FLUSH) { in hif_usb_mgmt_cb()
163 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_mgmt_cb()
168 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_mgmt_cb()
278 spin_lock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
279 if (hif_dev->tx.flags & HIF_USB_TX_FLUSH) { in hif_usb_tx_cb()
280 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
284 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
299 spin_lock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
300 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in hif_usb_tx_cb()
301 hif_dev->tx.tx_buf_cnt++; in hif_usb_tx_cb()
302 if (!(hif_dev->tx.flags & HIF_USB_TX_STOP)) in hif_usb_tx_cb()
305 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
318 if (hif_dev->tx.tx_skb_cnt == 0) in __hif_usb_tx()
322 if (list_empty(&hif_dev->tx.tx_buf)) in __hif_usb_tx()
325 tx_buf = list_first_entry(&hif_dev->tx.tx_buf, struct tx_buf, list); in __hif_usb_tx()
326 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_pending); in __hif_usb_tx()
327 hif_dev->tx.tx_buf_cnt--; in __hif_usb_tx()
329 tx_skb_cnt = min_t(u16, hif_dev->tx.tx_skb_cnt, MAX_TX_AGGR_NUM); in __hif_usb_tx()
332 nskb = __skb_dequeue(&hif_dev->tx.tx_skb_queue); in __hif_usb_tx()
337 hif_dev->tx.tx_skb_cnt--; in __hif_usb_tx()
368 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in __hif_usb_tx()
369 hif_dev->tx.tx_buf_cnt++; in __hif_usb_tx()
384 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
386 if (hif_dev->tx.flags & HIF_USB_TX_STOP) { in hif_usb_send_tx()
387 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
392 if (hif_dev->tx.tx_skb_cnt > MAX_TX_BUF_NUM) { in hif_usb_send_tx()
393 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
397 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
407 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
411 __skb_queue_tail(&hif_dev->tx.tx_skb_queue, skb); in hif_usb_send_tx()
412 hif_dev->tx.tx_skb_cnt++; in hif_usb_send_tx()
416 if ((hif_dev->tx.tx_buf_cnt == MAX_TX_URB_NUM) && in hif_usb_send_tx()
417 (hif_dev->tx.tx_skb_cnt < 2)) { in hif_usb_send_tx()
421 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
433 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_start()
434 hif_dev->tx.flags &= ~HIF_USB_TX_STOP; in hif_usb_start()
435 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_start()
444 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_stop()
445 ath9k_skb_queue_complete(hif_dev, &hif_dev->tx.tx_skb_queue, false); in hif_usb_stop()
446 hif_dev->tx.tx_skb_cnt = 0; in hif_usb_stop()
447 hif_dev->tx.flags |= HIF_USB_TX_STOP; in hif_usb_stop()
448 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_stop()
452 &hif_dev->tx.tx_pending, list) { in hif_usb_stop()
500 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_sta_drain()
502 skb_queue_walk_safe(&hif_dev->tx.tx_skb_queue, skb, tmp) { in hif_usb_sta_drain()
504 __skb_unlink(skb, &hif_dev->tx.tx_skb_queue); in hif_usb_sta_drain()
507 hif_dev->tx.tx_skb_cnt--; in hif_usb_sta_drain()
512 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_sta_drain()
756 &hif_dev->tx.tx_buf, list) { in ath9k_hif_usb_dealloc_tx_urbs()
764 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in ath9k_hif_usb_dealloc_tx_urbs()
765 hif_dev->tx.flags |= HIF_USB_TX_FLUSH; in ath9k_hif_usb_dealloc_tx_urbs()
766 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in ath9k_hif_usb_dealloc_tx_urbs()
769 &hif_dev->tx.tx_pending, list) { in ath9k_hif_usb_dealloc_tx_urbs()
785 INIT_LIST_HEAD(&hif_dev->tx.tx_buf); in ath9k_hif_usb_alloc_tx_urbs()
786 INIT_LIST_HEAD(&hif_dev->tx.tx_pending); in ath9k_hif_usb_alloc_tx_urbs()
787 spin_lock_init(&hif_dev->tx.tx_lock); in ath9k_hif_usb_alloc_tx_urbs()
788 __skb_queue_head_init(&hif_dev->tx.tx_skb_queue); in ath9k_hif_usb_alloc_tx_urbs()
807 list_add_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in ath9k_hif_usb_alloc_tx_urbs()
810 hif_dev->tx.tx_buf_cnt = MAX_TX_URB_NUM; in ath9k_hif_usb_alloc_tx_urbs()