Lines Matching refs:hw

244 				     struct ieee80211_hw *hw)  in _rtl_usb_io_handler_init()  argument
246 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_io_handler_init()
259 static void _rtl_usb_io_handler_release(struct ieee80211_hw *hw) in _rtl_usb_io_handler_release() argument
261 struct rtl_priv __maybe_unused *rtlpriv = rtl_priv(hw); in _rtl_usb_io_handler_release()
270 static struct sk_buff *_none_usb_tx_aggregate_hdl(struct ieee80211_hw *hw, in _none_usb_tx_aggregate_hdl() argument
279 static int _rtl_usb_init_tx(struct ieee80211_hw *hw) in _rtl_usb_init_tx() argument
282 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_init_tx()
283 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_init_tx()
320 static int _rtl_usb_init_rx(struct ieee80211_hw *hw) in _rtl_usb_init_rx() argument
322 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_init_rx()
323 struct rtl_usb_priv *usb_priv = rtl_usbpriv(hw); in _rtl_usb_init_rx()
345 static int _rtl_usb_init(struct ieee80211_hw *hw) in _rtl_usb_init() argument
347 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_init()
348 struct rtl_usb_priv *usb_priv = rtl_usbpriv(hw); in _rtl_usb_init()
379 err = rtlpriv->cfg->usb_interface_cfg->usb_endpoint_mapping(hw); in _rtl_usb_init()
381 _rtl_usb_init_tx(hw); in _rtl_usb_init()
382 _rtl_usb_init_rx(hw); in _rtl_usb_init()
386 static void rtl_usb_init_sw(struct ieee80211_hw *hw) in rtl_usb_init_sw() argument
388 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl_usb_init_sw()
389 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl_usb_init_sw()
390 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in rtl_usb_init_sw()
391 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_init_sw()
393 rtlhal->hw = hw; in rtl_usb_init_sw()
425 static int _rtl_prep_rx_urb(struct ieee80211_hw *hw, struct rtl_usb *rtlusb, in _rtl_prep_rx_urb() argument
428 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_prep_rx_urb()
447 static void _rtl_usb_rx_process_agg(struct ieee80211_hw *hw, in _rtl_usb_rx_process_agg() argument
450 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_rx_process_agg()
462 rtlpriv->cfg->ops->query_rx_desc(hw, &stats, &rx_status, rxdesc, skb); in _rtl_usb_rx_process_agg()
479 rtlpriv->cfg->ops->led_control(hw, LED_CTL_RX); in _rtl_usb_rx_process_agg()
485 rtl_beacon_statistic(hw, skb); in _rtl_usb_rx_process_agg()
489 static void _rtl_usb_rx_process_noagg(struct ieee80211_hw *hw, in _rtl_usb_rx_process_noagg() argument
492 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_rx_process_noagg()
504 rtlpriv->cfg->ops->query_rx_desc(hw, &stats, &rx_status, rxdesc, skb); in _rtl_usb_rx_process_noagg()
521 rtlpriv->cfg->ops->led_control(hw, LED_CTL_RX); in _rtl_usb_rx_process_noagg()
528 rtl_beacon_statistic(hw, skb); in _rtl_usb_rx_process_noagg()
530 if (likely(rtl_action_proc(hw, skb, false))) in _rtl_usb_rx_process_noagg()
531 ieee80211_rx(hw, skb); in _rtl_usb_rx_process_noagg()
539 static void _rtl_rx_pre_process(struct ieee80211_hw *hw, struct sk_buff *skb) in _rtl_rx_pre_process() argument
543 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_rx_pre_process()
547 rtlusb->usb_rx_segregate_hdl(hw, skb, &rx_queue); in _rtl_rx_pre_process()
551 _rtl_usb_rx_process_agg(hw, _skb); in _rtl_rx_pre_process()
552 ieee80211_rx(hw, _skb); in _rtl_rx_pre_process()
561 struct ieee80211_hw *hw = usb_get_intfdata(rtlusb->intf); in _rtl_rx_work() local
571 _rtl_usb_rx_process_noagg(hw, skb); in _rtl_rx_work()
574 _rtl_rx_pre_process(hw, skb); in _rtl_rx_work()
620 struct ieee80211_hw *hw = usb_get_intfdata(rtlusb->intf); in _rtl_rx_completed() local
621 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_rx_completed()
704 static void _rtl_usb_cleanup_rx(struct ieee80211_hw *hw) in _rtl_usb_cleanup_rx() argument
706 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_cleanup_rx()
707 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_cleanup_rx()
727 static int _rtl_usb_receive(struct ieee80211_hw *hw) in _rtl_usb_receive() argument
732 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_receive()
733 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_receive()
748 err = _rtl_prep_rx_urb(hw, rtlusb, urb, GFP_KERNEL); in _rtl_usb_receive()
766 _rtl_usb_cleanup_rx(hw); in _rtl_usb_receive()
770 static int rtl_usb_start(struct ieee80211_hw *hw) in rtl_usb_start() argument
773 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_usb_start()
774 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl_usb_start()
775 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_start()
777 err = rtlpriv->cfg->ops->hw_init(hw); in rtl_usb_start()
779 rtl_init_rx_config(hw); in rtl_usb_start()
787 err = _rtl_usb_receive(hw); in rtl_usb_start()
798 static void rtl_usb_cleanup(struct ieee80211_hw *hw) in rtl_usb_cleanup() argument
802 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_cleanup()
806 _rtl_usb_cleanup_rx(hw); in rtl_usb_cleanup()
811 rtlusb->usb_tx_cleanup(hw, _skb); in rtl_usb_cleanup()
815 ieee80211_tx_status_irqsafe(hw, _skb); in rtl_usb_cleanup()
827 static void rtl_usb_deinit(struct ieee80211_hw *hw) in rtl_usb_deinit() argument
829 rtl_usb_cleanup(hw); in rtl_usb_deinit()
832 static void rtl_usb_stop(struct ieee80211_hw *hw) in rtl_usb_stop() argument
834 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_usb_stop()
835 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl_usb_stop()
836 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_stop()
843 rtlpriv->cfg->ops->hw_disable(hw); in rtl_usb_stop()
846 static void _rtl_submit_tx_urb(struct ieee80211_hw *hw, struct urb *_urb) in _rtl_submit_tx_urb() argument
849 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_submit_tx_urb()
850 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_submit_tx_urb()
866 static int _usb_tx_post(struct ieee80211_hw *hw, struct urb *urb, in _usb_tx_post() argument
869 struct rtl_priv *rtlpriv = rtl_priv(hw); in _usb_tx_post()
870 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _usb_tx_post()
873 rtlusb->usb_tx_post_hdl(hw, urb, skb); in _usb_tx_post()
886 ieee80211_tx_status_irqsafe(hw, skb); in _usb_tx_post()
895 struct ieee80211_hw *hw = usb_get_intfdata(rtlusb->intf); in _rtl_tx_complete() local
900 err = _usb_tx_post(hw, urb, skb); in _rtl_tx_complete()
907 static struct urb *_rtl_usb_tx_urb_setup(struct ieee80211_hw *hw, in _rtl_usb_tx_urb_setup() argument
910 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_tx_urb_setup()
911 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_tx_urb_setup()
929 static void _rtl_usb_transmit(struct ieee80211_hw *hw, struct sk_buff *skb, in _rtl_usb_transmit() argument
932 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_transmit()
933 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in _rtl_usb_transmit()
947 _urb = _rtl_usb_tx_urb_setup(hw, _skb, ep_num); in _rtl_usb_transmit()
954 _rtl_submit_tx_urb(hw, _urb); in _rtl_usb_transmit()
957 static void _rtl_usb_tx_preprocess(struct ieee80211_hw *hw, in _rtl_usb_tx_preprocess() argument
962 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_usb_tx_preprocess()
963 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in _rtl_usb_tx_preprocess()
978 rtl_ips_nic_on(hw); in _rtl_usb_tx_preprocess()
987 rtl_action_proc(hw, skb, true); in _rtl_usb_tx_preprocess()
1002 rtlpriv->cfg->ops->fill_tx_desc(hw, hdr, (u8 *)pdesc, NULL, info, sta, skb, in _rtl_usb_tx_preprocess()
1009 rtlpriv->cfg->ops->led_control(hw, LED_CTL_TX); in _rtl_usb_tx_preprocess()
1012 static int rtl_usb_tx(struct ieee80211_hw *hw, in rtl_usb_tx() argument
1017 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_tx()
1018 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl_usb_tx()
1026 _rtl_usb_tx_preprocess(hw, sta, skb, hw_queue); in rtl_usb_tx()
1027 _rtl_usb_transmit(hw, skb, hw_queue); in rtl_usb_tx()
1035 static bool rtl_usb_tx_chk_waitq_insert(struct ieee80211_hw *hw, in rtl_usb_tx_chk_waitq_insert() argument
1046 struct ieee80211_hw *hw = rtlworks->hw; in rtl_fill_h2c_cmd_work_callback() local
1047 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_fill_h2c_cmd_work_callback()
1049 rtlpriv->cfg->ops->fill_h2c_cmd(hw, H2C_RA_MASK, 5, rtlpriv->rate_mask); in rtl_fill_h2c_cmd_work_callback()
1064 struct ieee80211_hw *hw = NULL; in rtl_usb_probe() local
1069 hw = ieee80211_alloc_hw(sizeof(struct rtl_priv) + in rtl_usb_probe()
1071 if (!hw) { in rtl_usb_probe()
1075 rtlpriv = hw->priv; in rtl_usb_probe()
1090 SET_IEEE80211_DEV(hw, &intf->dev); in rtl_usb_probe()
1093 usb_priv = rtl_usbpriv(hw); in rtl_usb_probe()
1097 usb_set_intfdata(intf, hw); in rtl_usb_probe()
1102 rtl_dbgp_flag_init(hw); in rtl_usb_probe()
1104 _rtl_usb_io_handler_init(&udev->dev, hw); in rtl_usb_probe()
1105 rtlpriv->cfg->ops->read_chip_version(hw); in rtl_usb_probe()
1107 rtlpriv->cfg->ops->read_eeprom_info(hw); in rtl_usb_probe()
1108 err = _rtl_usb_init(hw); in rtl_usb_probe()
1111 rtl_usb_init_sw(hw); in rtl_usb_probe()
1113 err = rtl_init_core(hw); in rtl_usb_probe()
1119 if (rtlpriv->cfg->ops->init_sw_vars(hw)) { in rtl_usb_probe()
1123 rtlpriv->cfg->ops->init_sw_leds(hw); in rtl_usb_probe()
1125 err = ieee80211_register_hw(hw); in rtl_usb_probe()
1138 rtl_deinit_core(hw); in rtl_usb_probe()
1139 _rtl_usb_io_handler_release(hw); in rtl_usb_probe()
1148 struct ieee80211_hw *hw = usb_get_intfdata(intf); in rtl_usb_disconnect() local
1149 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_usb_disconnect()
1150 struct rtl_mac *rtlmac = rtl_mac(rtl_priv(hw)); in rtl_usb_disconnect()
1151 struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw)); in rtl_usb_disconnect()
1160 ieee80211_unregister_hw(hw); in rtl_usb_disconnect()
1163 rtl_deinit_deferred_work(hw); in rtl_usb_disconnect()
1164 rtlpriv->intf_ops->adapter_stop(hw); in rtl_usb_disconnect()
1168 rtl_usb_deinit(hw); in rtl_usb_disconnect()
1169 rtl_deinit_core(hw); in rtl_usb_disconnect()
1171 rtlpriv->cfg->ops->deinit_sw_leds(hw); in rtl_usb_disconnect()
1172 rtlpriv->cfg->ops->deinit_sw_vars(hw); in rtl_usb_disconnect()
1173 _rtl_usb_io_handler_release(hw); in rtl_usb_disconnect()
1176 ieee80211_free_hw(hw); in rtl_usb_disconnect()