Lines Matching refs:rtlusb

237 	struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw));  in _rtl_usb_init_tx()  local
239 rtlusb->max_bulk_out_size = IS_HIGH_SPEED_USB(rtlusb->udev) in _rtl_usb_init_tx()
244 rtlusb->max_bulk_out_size); in _rtl_usb_init_tx()
247 u32 ep_num = rtlusb->ep_map.ep_mapping[i]; in _rtl_usb_init_tx()
256 rtlusb->usb_tx_post_hdl = in _rtl_usb_init_tx()
258 rtlusb->usb_tx_cleanup = in _rtl_usb_init_tx()
260 rtlusb->usb_tx_aggregate_hdl = in _rtl_usb_init_tx()
265 init_usb_anchor(&rtlusb->tx_submitted); in _rtl_usb_init_tx()
267 skb_queue_head_init(&rtlusb->tx_skb_queue[i]); in _rtl_usb_init_tx()
268 init_usb_anchor(&rtlusb->tx_pending[i]); in _rtl_usb_init_tx()
279 struct rtl_usb *rtlusb = rtl_usbdev(usb_priv); in _rtl_usb_init_rx() local
281 rtlusb->rx_max_size = rtlpriv->cfg->usb_interface_cfg->rx_max_size; in _rtl_usb_init_rx()
282 rtlusb->rx_urb_num = rtlpriv->cfg->usb_interface_cfg->rx_urb_num; in _rtl_usb_init_rx()
283 rtlusb->in_ep = rtlpriv->cfg->usb_interface_cfg->in_ep_num; in _rtl_usb_init_rx()
284 rtlusb->usb_rx_hdl = rtlpriv->cfg->usb_interface_cfg->usb_rx_hdl; in _rtl_usb_init_rx()
285 rtlusb->usb_rx_segregate_hdl = in _rtl_usb_init_rx()
289 rtlusb->rx_max_size, rtlusb->rx_urb_num, rtlusb->in_ep); in _rtl_usb_init_rx()
290 init_usb_anchor(&rtlusb->rx_submitted); in _rtl_usb_init_rx()
291 init_usb_anchor(&rtlusb->rx_cleanup_urbs); in _rtl_usb_init_rx()
293 skb_queue_head_init(&rtlusb->rx_queue); in _rtl_usb_init_rx()
294 tasklet_setup(&rtlusb->rx_work_tasklet, _rtl_rx_work); in _rtl_usb_init_rx()
303 struct rtl_usb *rtlusb = rtl_usbdev(usb_priv); in _rtl_usb_init() local
306 struct usb_interface *usb_intf = rtlusb->intf; in _rtl_usb_init()
309 rtlusb->out_ep_nums = rtlusb->in_ep_nums = 0; in _rtl_usb_init()
316 rtlusb->in_ep_nums++; in _rtl_usb_init()
318 rtlusb->out_ep_nums++; in _rtl_usb_init()
325 if (rtlusb->in_ep_nums < rtlpriv->cfg->usb_interface_cfg->in_ep_num) { in _rtl_usb_init()
329 if (rtlusb->out_ep_nums == 0) { in _rtl_usb_init()
335 rtlusb->usb_mq_to_hwq = rtlpriv->cfg->usb_interface_cfg->usb_mq_to_hwq; in _rtl_usb_init()
346 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_init_sw() local
368 rtlusb->acm_method = EACMWAY2_SW; in rtl_usb_init_sw()
372 rtlusb->irq_mask[0] = 0xFFFFFFFF; in rtl_usb_init_sw()
374 rtlusb->irq_mask[1] = 0xFFFFFFFF; in rtl_usb_init_sw()
375 rtlusb->disablehwsm = true; in rtl_usb_init_sw()
380 static int _rtl_prep_rx_urb(struct ieee80211_hw *hw, struct rtl_usb *rtlusb, in _rtl_prep_rx_urb() argument
385 buf = usb_alloc_coherent(rtlusb->udev, rtlusb->rx_max_size, gfp_mask, in _rtl_prep_rx_urb()
392 usb_fill_bulk_urb(urb, rtlusb->udev, in _rtl_prep_rx_urb()
393 usb_rcvbulkpipe(rtlusb->udev, rtlusb->in_ep), in _rtl_prep_rx_urb()
394 buf, rtlusb->rx_max_size, _rtl_rx_completed, rtlusb); in _rtl_prep_rx_urb()
496 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_rx_pre_process() local
499 if (rtlusb->usb_rx_segregate_hdl) in _rtl_rx_pre_process()
500 rtlusb->usb_rx_segregate_hdl(hw, skb, &rx_queue); in _rtl_rx_pre_process()
513 struct rtl_usb *rtlusb = from_tasklet(rtlusb, t, rx_work_tasklet); in _rtl_rx_work() local
514 struct ieee80211_hw *hw = usb_get_intfdata(rtlusb->intf); in _rtl_rx_work()
517 while ((skb = skb_dequeue(&rtlusb->rx_queue))) { in _rtl_rx_work()
518 if (unlikely(IS_USB_STOP(rtlusb))) { in _rtl_rx_work()
523 if (likely(!rtlusb->usb_rx_segregate_hdl)) { in _rtl_rx_work()
572 struct rtl_usb *rtlusb = (struct rtl_usb *)_urb->context; in _rtl_rx_completed() local
575 if (unlikely(IS_USB_STOP(rtlusb))) in _rtl_rx_completed()
591 qlen = skb_queue_len(&rtlusb->rx_queue); in _rtl_rx_completed()
607 _rtl_install_trx_info(rtlusb, skb, rtlusb->in_ep); in _rtl_rx_completed()
617 skb_queue_tail(&rtlusb->rx_queue, skb); in _rtl_rx_completed()
618 tasklet_schedule(&rtlusb->rx_work_tasklet); in _rtl_rx_completed()
635 usb_anchor_urb(_urb, &rtlusb->rx_submitted); in _rtl_rx_completed()
647 usb_anchor_urb(_urb, &rtlusb->rx_cleanup_urbs); in _rtl_rx_completed()
655 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_cleanup_rx() local
658 usb_kill_anchored_urbs(&rtlusb->rx_submitted); in _rtl_usb_cleanup_rx()
660 tasklet_kill(&rtlusb->rx_work_tasklet); in _rtl_usb_cleanup_rx()
663 skb_queue_purge(&rtlusb->rx_queue); in _rtl_usb_cleanup_rx()
665 while ((urb = usb_get_from_anchor(&rtlusb->rx_cleanup_urbs))) { in _rtl_usb_cleanup_rx()
677 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_receive() local
679 WARN_ON(0 == rtlusb->rx_urb_num); in _rtl_usb_receive()
681 WARN_ON(rtlusb->rx_max_size < 1600); in _rtl_usb_receive()
683 for (i = 0; i < rtlusb->rx_urb_num; i++) { in _rtl_usb_receive()
689 err = _rtl_prep_rx_urb(hw, rtlusb, urb, GFP_KERNEL); in _rtl_usb_receive()
696 usb_anchor_urb(urb, &rtlusb->rx_submitted); in _rtl_usb_receive()
708 usb_kill_anchored_urbs(&rtlusb->rx_submitted); in _rtl_usb_receive()
717 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_start() local
724 SET_USB_START(rtlusb); in rtl_usb_start()
740 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_cleanup() local
748 while ((_skb = skb_dequeue(&rtlusb->tx_skb_queue[i]))) { in rtl_usb_cleanup()
749 rtlusb->usb_tx_cleanup(hw, _skb); in rtl_usb_cleanup()
755 usb_kill_anchored_urbs(&rtlusb->tx_pending[i]); in rtl_usb_cleanup()
757 usb_kill_anchored_urbs(&rtlusb->tx_submitted); in rtl_usb_cleanup()
770 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_stop() local
777 SET_USB_STOP(rtlusb); in rtl_usb_stop()
780 usb_kill_anchored_urbs(&rtlusb->rx_submitted); in rtl_usb_stop()
782 tasklet_kill(&rtlusb->rx_work_tasklet); in rtl_usb_stop()
788 skb_queue_purge(&rtlusb->rx_queue); in rtl_usb_stop()
790 while ((urb = usb_get_from_anchor(&rtlusb->rx_cleanup_urbs))) { in rtl_usb_stop()
802 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_submit_tx_urb() local
804 usb_anchor_urb(_urb, &rtlusb->tx_submitted); in _rtl_submit_tx_urb()
820 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _usb_tx_post() local
823 rtlusb->usb_tx_post_hdl(hw, urb, skb); in _usb_tx_post()
843 struct rtl_usb *rtlusb = (struct rtl_usb *)info->rate_driver_data[0]; in _rtl_tx_complete() local
844 struct ieee80211_hw *hw = usb_get_intfdata(rtlusb->intf); in _rtl_tx_complete()
847 if (unlikely(IS_USB_STOP(rtlusb))) in _rtl_tx_complete()
859 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_tx_urb_setup() local
866 _rtl_install_trx_info(rtlusb, skb, ep_num); in _rtl_usb_tx_urb_setup()
867 usb_fill_bulk_urb(_urb, rtlusb->udev, usb_sndbulkpipe(rtlusb->udev, in _rtl_usb_tx_urb_setup()
876 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_transmit() local
880 WARN_ON(NULL == rtlusb->usb_tx_aggregate_hdl); in _rtl_usb_transmit()
881 if (unlikely(IS_USB_STOP(rtlusb))) { in _rtl_usb_transmit()
886 ep_num = rtlusb->ep_map.ep_mapping[qnum]; in _rtl_usb_transmit()
938 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_tx() local
946 hw_queue = rtlusb->usb_mq_to_hwq(fc, skb_get_queue_mapping(skb)); in rtl_usb_tx()
1079 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_disconnect() local
1101 usb_put_dev(rtlusb->udev); in rtl_usb_disconnect()