Lines Matching refs:rtlusb
256 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_init_tx() local
258 rtlusb->max_bulk_out_size = IS_HIGH_SPEED_USB(rtlusb->udev) in _rtl_usb_init_tx()
263 rtlusb->max_bulk_out_size); in _rtl_usb_init_tx()
266 u32 ep_num = rtlusb->ep_map.ep_mapping[i]; in _rtl_usb_init_tx()
275 rtlusb->usb_tx_post_hdl = in _rtl_usb_init_tx()
277 rtlusb->usb_tx_cleanup = in _rtl_usb_init_tx()
279 rtlusb->usb_tx_aggregate_hdl = in _rtl_usb_init_tx()
284 init_usb_anchor(&rtlusb->tx_submitted); in _rtl_usb_init_tx()
286 skb_queue_head_init(&rtlusb->tx_skb_queue[i]); in _rtl_usb_init_tx()
287 init_usb_anchor(&rtlusb->tx_pending[i]); in _rtl_usb_init_tx()
298 struct rtl_usb *rtlusb = rtl_usbdev(usb_priv); in _rtl_usb_init_rx() local
300 rtlusb->rx_max_size = rtlpriv->cfg->usb_interface_cfg->rx_max_size; in _rtl_usb_init_rx()
301 rtlusb->rx_urb_num = rtlpriv->cfg->usb_interface_cfg->rx_urb_num; in _rtl_usb_init_rx()
302 rtlusb->in_ep = rtlpriv->cfg->usb_interface_cfg->in_ep_num; in _rtl_usb_init_rx()
303 rtlusb->usb_rx_hdl = rtlpriv->cfg->usb_interface_cfg->usb_rx_hdl; in _rtl_usb_init_rx()
304 rtlusb->usb_rx_segregate_hdl = in _rtl_usb_init_rx()
308 rtlusb->rx_max_size, rtlusb->rx_urb_num, rtlusb->in_ep); in _rtl_usb_init_rx()
309 init_usb_anchor(&rtlusb->rx_submitted); in _rtl_usb_init_rx()
310 init_usb_anchor(&rtlusb->rx_cleanup_urbs); in _rtl_usb_init_rx()
312 skb_queue_head_init(&rtlusb->rx_queue); in _rtl_usb_init_rx()
313 rtlusb->rx_work_tasklet.func = (void(*))_rtl_rx_work; in _rtl_usb_init_rx()
314 rtlusb->rx_work_tasklet.data = (unsigned long)&rtlusb->rx_work_tasklet; in _rtl_usb_init_rx()
323 struct rtl_usb *rtlusb = rtl_usbdev(usb_priv); in _rtl_usb_init() local
326 struct usb_interface *usb_intf = rtlusb->intf; in _rtl_usb_init()
329 rtlusb->out_ep_nums = rtlusb->in_ep_nums = 0; in _rtl_usb_init()
336 rtlusb->in_ep_nums++; in _rtl_usb_init()
338 rtlusb->out_ep_nums++; in _rtl_usb_init()
345 if (rtlusb->in_ep_nums < rtlpriv->cfg->usb_interface_cfg->in_ep_num) { in _rtl_usb_init()
349 if (rtlusb->out_ep_nums == 0) { in _rtl_usb_init()
355 rtlusb->usb_mq_to_hwq = rtlpriv->cfg->usb_interface_cfg->usb_mq_to_hwq; in _rtl_usb_init()
366 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_init_sw() local
388 rtlusb->acm_method = EACMWAY2_SW; in rtl_usb_init_sw()
392 rtlusb->irq_mask[0] = 0xFFFFFFFF; in rtl_usb_init_sw()
394 rtlusb->irq_mask[1] = 0xFFFFFFFF; in rtl_usb_init_sw()
395 rtlusb->disablehwsm = true; in rtl_usb_init_sw()
400 static int _rtl_prep_rx_urb(struct ieee80211_hw *hw, struct rtl_usb *rtlusb, in _rtl_prep_rx_urb() argument
405 buf = usb_alloc_coherent(rtlusb->udev, rtlusb->rx_max_size, gfp_mask, in _rtl_prep_rx_urb()
412 usb_fill_bulk_urb(urb, rtlusb->udev, in _rtl_prep_rx_urb()
413 usb_rcvbulkpipe(rtlusb->udev, rtlusb->in_ep), in _rtl_prep_rx_urb()
414 buf, rtlusb->rx_max_size, _rtl_rx_completed, rtlusb); in _rtl_prep_rx_urb()
516 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_rx_pre_process() local
519 if (rtlusb->usb_rx_segregate_hdl) in _rtl_rx_pre_process()
520 rtlusb->usb_rx_segregate_hdl(hw, skb, &rx_queue); in _rtl_rx_pre_process()
533 struct rtl_usb *rtlusb = from_tasklet(rtlusb, t, rx_work_tasklet); in _rtl_rx_work() local
534 struct ieee80211_hw *hw = usb_get_intfdata(rtlusb->intf); in _rtl_rx_work()
537 while ((skb = skb_dequeue(&rtlusb->rx_queue))) { in _rtl_rx_work()
538 if (unlikely(IS_USB_STOP(rtlusb))) { in _rtl_rx_work()
543 if (likely(!rtlusb->usb_rx_segregate_hdl)) { in _rtl_rx_work()
592 struct rtl_usb *rtlusb = (struct rtl_usb *)_urb->context; in _rtl_rx_completed() local
595 if (unlikely(IS_USB_STOP(rtlusb))) in _rtl_rx_completed()
611 qlen = skb_queue_len(&rtlusb->rx_queue); in _rtl_rx_completed()
627 _rtl_install_trx_info(rtlusb, skb, rtlusb->in_ep); in _rtl_rx_completed()
637 skb_queue_tail(&rtlusb->rx_queue, skb); in _rtl_rx_completed()
638 tasklet_schedule(&rtlusb->rx_work_tasklet); in _rtl_rx_completed()
655 usb_anchor_urb(_urb, &rtlusb->rx_submitted); in _rtl_rx_completed()
667 usb_anchor_urb(_urb, &rtlusb->rx_cleanup_urbs); in _rtl_rx_completed()
675 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_cleanup_rx() local
678 usb_kill_anchored_urbs(&rtlusb->rx_submitted); in _rtl_usb_cleanup_rx()
680 tasklet_kill(&rtlusb->rx_work_tasklet); in _rtl_usb_cleanup_rx()
688 skb_queue_purge(&rtlusb->rx_queue); in _rtl_usb_cleanup_rx()
690 while ((urb = usb_get_from_anchor(&rtlusb->rx_cleanup_urbs))) { in _rtl_usb_cleanup_rx()
702 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_receive() local
704 WARN_ON(0 == rtlusb->rx_urb_num); in _rtl_usb_receive()
706 WARN_ON(rtlusb->rx_max_size < 1600); in _rtl_usb_receive()
708 for (i = 0; i < rtlusb->rx_urb_num; i++) { in _rtl_usb_receive()
714 err = _rtl_prep_rx_urb(hw, rtlusb, urb, GFP_KERNEL); in _rtl_usb_receive()
721 usb_anchor_urb(urb, &rtlusb->rx_submitted); in _rtl_usb_receive()
733 usb_kill_anchored_urbs(&rtlusb->rx_submitted); in _rtl_usb_receive()
743 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_start() local
750 SET_USB_START(rtlusb); in rtl_usb_start()
766 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_cleanup() local
774 while ((_skb = skb_dequeue(&rtlusb->tx_skb_queue[i]))) { in rtl_usb_cleanup()
775 rtlusb->usb_tx_cleanup(hw, _skb); in rtl_usb_cleanup()
781 usb_kill_anchored_urbs(&rtlusb->tx_pending[i]); in rtl_usb_cleanup()
783 usb_kill_anchored_urbs(&rtlusb->tx_submitted); in rtl_usb_cleanup()
796 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_stop() local
803 SET_USB_STOP(rtlusb); in rtl_usb_stop()
806 usb_kill_anchored_urbs(&rtlusb->rx_submitted); in rtl_usb_stop()
808 tasklet_kill(&rtlusb->rx_work_tasklet); in rtl_usb_stop()
813 skb_queue_purge(&rtlusb->rx_queue); in rtl_usb_stop()
815 while ((urb = usb_get_from_anchor(&rtlusb->rx_cleanup_urbs))) { in rtl_usb_stop()
827 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_submit_tx_urb() local
829 usb_anchor_urb(_urb, &rtlusb->tx_submitted); in _rtl_submit_tx_urb()
845 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _usb_tx_post() local
848 rtlusb->usb_tx_post_hdl(hw, urb, skb); in _usb_tx_post()
868 struct rtl_usb *rtlusb = (struct rtl_usb *)info->rate_driver_data[0]; in _rtl_tx_complete() local
869 struct ieee80211_hw *hw = usb_get_intfdata(rtlusb->intf); in _rtl_tx_complete()
872 if (unlikely(IS_USB_STOP(rtlusb))) in _rtl_tx_complete()
884 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_tx_urb_setup() local
891 _rtl_install_trx_info(rtlusb, skb, ep_num); in _rtl_usb_tx_urb_setup()
892 usb_fill_bulk_urb(_urb, rtlusb->udev, usb_sndbulkpipe(rtlusb->udev, in _rtl_usb_tx_urb_setup()
901 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_transmit() local
905 WARN_ON(NULL == rtlusb->usb_tx_aggregate_hdl); in _rtl_usb_transmit()
906 if (unlikely(IS_USB_STOP(rtlusb))) { in _rtl_usb_transmit()
911 ep_num = rtlusb->ep_map.ep_mapping[qnum]; in _rtl_usb_transmit()
963 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_tx() local
971 hw_queue = rtlusb->usb_mq_to_hwq(fc, skb_get_queue_mapping(skb)); in rtl_usb_tx()
1100 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_disconnect() local
1123 usb_put_dev(rtlusb->udev); in rtl_usb_disconnect()