Lines Matching refs:tx
157 spin_lock(&hif_dev->tx.tx_lock); in hif_usb_mgmt_cb()
158 if (hif_dev->tx.flags & HIF_USB_TX_FLUSH) { in hif_usb_mgmt_cb()
159 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_mgmt_cb()
164 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_mgmt_cb()
274 spin_lock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
275 if (hif_dev->tx.flags & HIF_USB_TX_FLUSH) { in hif_usb_tx_cb()
276 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
280 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
295 spin_lock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
296 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in hif_usb_tx_cb()
297 hif_dev->tx.tx_buf_cnt++; in hif_usb_tx_cb()
298 if (!(hif_dev->tx.flags & HIF_USB_TX_STOP)) in hif_usb_tx_cb()
301 spin_unlock(&hif_dev->tx.tx_lock); in hif_usb_tx_cb()
314 if (hif_dev->tx.tx_skb_cnt == 0) in __hif_usb_tx()
318 if (list_empty(&hif_dev->tx.tx_buf)) in __hif_usb_tx()
321 tx_buf = list_first_entry(&hif_dev->tx.tx_buf, struct tx_buf, list); in __hif_usb_tx()
322 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_pending); in __hif_usb_tx()
323 hif_dev->tx.tx_buf_cnt--; in __hif_usb_tx()
325 tx_skb_cnt = min_t(u16, hif_dev->tx.tx_skb_cnt, MAX_TX_AGGR_NUM); in __hif_usb_tx()
328 nskb = __skb_dequeue(&hif_dev->tx.tx_skb_queue); in __hif_usb_tx()
333 hif_dev->tx.tx_skb_cnt--; in __hif_usb_tx()
364 list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in __hif_usb_tx()
365 hif_dev->tx.tx_buf_cnt++; in __hif_usb_tx()
380 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
382 if (hif_dev->tx.flags & HIF_USB_TX_STOP) { in hif_usb_send_tx()
383 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
388 if (hif_dev->tx.tx_skb_cnt > MAX_TX_BUF_NUM) { in hif_usb_send_tx()
389 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
393 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
403 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
407 __skb_queue_tail(&hif_dev->tx.tx_skb_queue, skb); in hif_usb_send_tx()
408 hif_dev->tx.tx_skb_cnt++; in hif_usb_send_tx()
412 if ((hif_dev->tx.tx_buf_cnt == MAX_TX_URB_NUM) && in hif_usb_send_tx()
413 (hif_dev->tx.tx_skb_cnt < 2)) { in hif_usb_send_tx()
417 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_send_tx()
429 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_start()
430 hif_dev->tx.flags &= ~HIF_USB_TX_STOP; in hif_usb_start()
431 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_start()
440 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_stop()
441 ath9k_skb_queue_complete(hif_dev, &hif_dev->tx.tx_skb_queue, false); in hif_usb_stop()
442 hif_dev->tx.tx_skb_cnt = 0; in hif_usb_stop()
443 hif_dev->tx.flags |= HIF_USB_TX_STOP; in hif_usb_stop()
444 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_stop()
448 &hif_dev->tx.tx_pending, list) { in hif_usb_stop()
496 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in hif_usb_sta_drain()
498 skb_queue_walk_safe(&hif_dev->tx.tx_skb_queue, skb, tmp) { in hif_usb_sta_drain()
500 __skb_unlink(skb, &hif_dev->tx.tx_skb_queue); in hif_usb_sta_drain()
503 hif_dev->tx.tx_skb_cnt--; in hif_usb_sta_drain()
508 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in hif_usb_sta_drain()
752 &hif_dev->tx.tx_buf, list) { in ath9k_hif_usb_dealloc_tx_urbs()
760 spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); in ath9k_hif_usb_dealloc_tx_urbs()
761 hif_dev->tx.flags |= HIF_USB_TX_FLUSH; in ath9k_hif_usb_dealloc_tx_urbs()
762 spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); in ath9k_hif_usb_dealloc_tx_urbs()
765 &hif_dev->tx.tx_pending, list) { in ath9k_hif_usb_dealloc_tx_urbs()
781 INIT_LIST_HEAD(&hif_dev->tx.tx_buf); in ath9k_hif_usb_alloc_tx_urbs()
782 INIT_LIST_HEAD(&hif_dev->tx.tx_pending); in ath9k_hif_usb_alloc_tx_urbs()
783 spin_lock_init(&hif_dev->tx.tx_lock); in ath9k_hif_usb_alloc_tx_urbs()
784 __skb_queue_head_init(&hif_dev->tx.tx_skb_queue); in ath9k_hif_usb_alloc_tx_urbs()
803 list_add_tail(&tx_buf->list, &hif_dev->tx.tx_buf); in ath9k_hif_usb_alloc_tx_urbs()
806 hif_dev->tx.tx_buf_cnt = MAX_TX_URB_NUM; in ath9k_hif_usb_alloc_tx_urbs()