Lines Matching refs:tx
894 struct zd_usb_tx *tx = &usb->tx; in zd_usb_disable_tx() local
897 atomic_set(&tx->enabled, 0); in zd_usb_disable_tx()
900 usb_kill_anchored_urbs(&tx->submitted); in zd_usb_disable_tx()
902 spin_lock_irqsave(&tx->lock, flags); in zd_usb_disable_tx()
903 WARN_ON(!skb_queue_empty(&tx->submitted_skbs)); in zd_usb_disable_tx()
904 WARN_ON(tx->submitted_urbs != 0); in zd_usb_disable_tx()
905 tx->submitted_urbs = 0; in zd_usb_disable_tx()
906 spin_unlock_irqrestore(&tx->lock, flags); in zd_usb_disable_tx()
923 struct zd_usb_tx *tx = &usb->tx; in zd_usb_enable_tx() local
925 spin_lock_irqsave(&tx->lock, flags); in zd_usb_enable_tx()
926 atomic_set(&tx->enabled, 1); in zd_usb_enable_tx()
927 tx->submitted_urbs = 0; in zd_usb_enable_tx()
929 tx->stopped = 0; in zd_usb_enable_tx()
930 spin_unlock_irqrestore(&tx->lock, flags); in zd_usb_enable_tx()
935 struct zd_usb_tx *tx = &usb->tx; in tx_dec_submitted_urbs() local
938 spin_lock_irqsave(&tx->lock, flags); in tx_dec_submitted_urbs()
939 --tx->submitted_urbs; in tx_dec_submitted_urbs()
940 if (tx->stopped && tx->submitted_urbs <= ZD_USB_TX_LOW) { in tx_dec_submitted_urbs()
942 tx->stopped = 0; in tx_dec_submitted_urbs()
944 spin_unlock_irqrestore(&tx->lock, flags); in tx_dec_submitted_urbs()
949 struct zd_usb_tx *tx = &usb->tx; in tx_inc_submitted_urbs() local
952 spin_lock_irqsave(&tx->lock, flags); in tx_inc_submitted_urbs()
953 ++tx->submitted_urbs; in tx_inc_submitted_urbs()
954 if (!tx->stopped && tx->submitted_urbs > ZD_USB_TX_HIGH) { in tx_inc_submitted_urbs()
956 tx->stopped = 1; in tx_inc_submitted_urbs()
958 spin_unlock_irqrestore(&tx->lock, flags); in tx_inc_submitted_urbs()
974 struct zd_usb_tx *tx; in tx_urb_complete() local
983 tx = &usb->tx; in tx_urb_complete()
1001 skb_unlink(skb, &usb->tx.submitted_skbs); in tx_urb_complete()
1007 usb_anchor_urb(urb, &tx->submitted); in tx_urb_complete()
1034 struct zd_usb_tx *tx = &usb->tx; in zd_usb_tx() local
1036 if (!atomic_read(&tx->enabled)) { in zd_usb_tx()
1051 skb_queue_tail(&tx->submitted_skbs, skb); in zd_usb_tx()
1052 usb_anchor_urb(urb, &tx->submitted); in zd_usb_tx()
1058 skb_unlink(skb, &tx->submitted_skbs); in zd_usb_tx()
1071 struct zd_usb_tx *tx = &usb->tx; in zd_tx_timeout() local
1072 struct sk_buff_head *q = &tx->submitted_skbs; in zd_tx_timeout()
1096 container_of(work, struct zd_usb, tx.watchdog_work.work); in zd_tx_watchdog_handler()
1097 struct zd_usb_tx *tx = &usb->tx; in zd_tx_watchdog_handler() local
1099 if (!atomic_read(&tx->enabled) || !tx->watchdog_enabled) in zd_tx_watchdog_handler()
1112 queue_delayed_work(zd_workqueue, &tx->watchdog_work, in zd_tx_watchdog_handler()
1118 struct zd_usb_tx *tx = &usb->tx; in zd_tx_watchdog_enable() local
1120 if (!tx->watchdog_enabled) { in zd_tx_watchdog_enable()
1122 queue_delayed_work(zd_workqueue, &tx->watchdog_work, in zd_tx_watchdog_enable()
1124 tx->watchdog_enabled = 1; in zd_tx_watchdog_enable()
1130 struct zd_usb_tx *tx = &usb->tx; in zd_tx_watchdog_disable() local
1132 if (tx->watchdog_enabled) { in zd_tx_watchdog_disable()
1134 tx->watchdog_enabled = 0; in zd_tx_watchdog_disable()
1135 cancel_delayed_work_sync(&tx->watchdog_work); in zd_tx_watchdog_disable()
1198 struct zd_usb_tx *tx = &usb->tx; in init_usb_tx() local
1200 spin_lock_init(&tx->lock); in init_usb_tx()
1201 atomic_set(&tx->enabled, 0); in init_usb_tx()
1202 tx->stopped = 0; in init_usb_tx()
1203 skb_queue_head_init(&tx->submitted_skbs); in init_usb_tx()
1204 init_usb_anchor(&tx->submitted); in init_usb_tx()
1205 tx->submitted_urbs = 0; in init_usb_tx()
1206 tx->watchdog_enabled = 0; in init_usb_tx()
1207 INIT_DELAYED_WORK(&tx->watchdog_work, zd_tx_watchdog_handler); in init_usb_tx()