Lines Matching refs:hw
61 static u8 _rtl_mac_to_hwqueue(struct ieee80211_hw *hw, in _rtl_mac_to_hwqueue() argument
64 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in _rtl_mac_to_hwqueue()
80 static void _rtl_pci_update_default_setting(struct ieee80211_hw *hw) in _rtl_pci_update_default_setting() argument
82 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_update_default_setting()
83 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in _rtl_pci_update_default_setting()
84 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in _rtl_pci_update_default_setting()
85 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_update_default_setting()
195 struct ieee80211_hw *hw, in _rtl_pci_platform_switch_device_pci_aspm() argument
198 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_platform_switch_device_pci_aspm()
199 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in _rtl_pci_platform_switch_device_pci_aspm()
210 static void _rtl_pci_switch_clk_req(struct ieee80211_hw *hw, u8 value) in _rtl_pci_switch_clk_req() argument
212 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_switch_clk_req()
213 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in _rtl_pci_switch_clk_req()
222 static void rtl_pci_disable_aspm(struct ieee80211_hw *hw) in rtl_pci_disable_aspm() argument
224 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_disable_aspm()
225 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_disable_aspm()
226 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in rtl_pci_disable_aspm()
227 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in rtl_pci_disable_aspm()
249 _rtl_pci_switch_clk_req(hw, 0x0); in rtl_pci_disable_aspm()
260 _rtl_pci_platform_switch_device_pci_aspm(hw, linkctrl_reg); in rtl_pci_disable_aspm()
276 static void rtl_pci_enable_aspm(struct ieee80211_hw *hw) in rtl_pci_enable_aspm() argument
278 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_enable_aspm()
279 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_enable_aspm()
280 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in rtl_pci_enable_aspm()
281 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in rtl_pci_enable_aspm()
325 _rtl_pci_platform_switch_device_pci_aspm(hw, u_device_aspmsetting); in rtl_pci_enable_aspm()
328 _rtl_pci_switch_clk_req(hw, (ppsc->reg_rfps_level & in rtl_pci_enable_aspm()
335 static bool rtl_pci_get_amd_l1_patch(struct ieee80211_hw *hw) in rtl_pci_get_amd_l1_patch() argument
337 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in rtl_pci_get_amd_l1_patch()
356 static bool rtl_pci_check_buddy_priv(struct ieee80211_hw *hw, in rtl_pci_check_buddy_priv() argument
359 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_check_buddy_priv()
360 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_check_buddy_priv()
399 static void rtl_pci_get_linkcontrol_field(struct ieee80211_hw *hw) in rtl_pci_get_linkcontrol_field() argument
401 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_get_linkcontrol_field()
416 struct ieee80211_hw *hw) in rtl_pci_parse_configuration() argument
418 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_parse_configuration()
419 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_parse_configuration()
439 static void rtl_pci_init_aspm(struct ieee80211_hw *hw) in rtl_pci_init_aspm() argument
441 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in rtl_pci_init_aspm()
443 _rtl_pci_update_default_setting(hw); in rtl_pci_init_aspm()
447 rtl_pci_enable_aspm(hw); in rtl_pci_init_aspm()
454 struct ieee80211_hw *hw) in _rtl_pci_io_handler_init() argument
456 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_io_handler_init()
470 static bool _rtl_update_earlymode_info(struct ieee80211_hw *hw, in _rtl_update_earlymode_info() argument
473 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_update_earlymode_info()
475 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in _rtl_update_earlymode_info()
511 static void _rtl_pci_tx_chk_waitq(struct ieee80211_hw *hw) in _rtl_pci_tx_chk_waitq() argument
513 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_tx_chk_waitq()
514 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in _rtl_pci_tx_chk_waitq()
515 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_tx_chk_waitq()
518 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in _rtl_pci_tx_chk_waitq()
553 _rtl_update_earlymode_info(hw, skb, in _rtl_pci_tx_chk_waitq()
556 rtlpriv->intf_ops->adapter_tx(hw, NULL, skb, &tcb_desc); in _rtl_pci_tx_chk_waitq()
562 static void _rtl_pci_tx_isr(struct ieee80211_hw *hw, int prio) in _rtl_pci_tx_isr() argument
564 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_tx_isr()
565 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_tx_isr()
582 rtlpriv->cfg->ops->get_available_desc(hw, prio) <= 1) { in _rtl_pci_tx_isr()
588 if (!rtlpriv->cfg->ops->is_tx_desc_closed(hw, prio, ring->idx)) in _rtl_pci_tx_isr()
649 ieee80211_tx_status_irqsafe(hw, skb); in _rtl_pci_tx_isr()
658 ieee80211_wake_queue(hw, in _rtl_pci_tx_isr()
674 static int _rtl_pci_init_one_rxdesc(struct ieee80211_hw *hw, in _rtl_pci_init_one_rxdesc() argument
678 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_init_one_rxdesc()
679 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_init_one_rxdesc()
702 rtlpriv->cfg->ops->set_desc(hw, (u8 *)entry, false, in _rtl_pci_init_one_rxdesc()
706 rtlpriv->cfg->ops->set_desc(hw, (u8 *)entry, false, in _rtl_pci_init_one_rxdesc()
709 rtlpriv->cfg->ops->set_desc(hw, (u8 *)entry, false, in _rtl_pci_init_one_rxdesc()
712 rtlpriv->cfg->ops->set_desc(hw, (u8 *)entry, false, in _rtl_pci_init_one_rxdesc()
732 static void _rtl_pci_rx_to_mac80211(struct ieee80211_hw *hw, in _rtl_pci_rx_to_mac80211() argument
736 if (unlikely(!rtl_action_proc(hw, skb, false))) { in _rtl_pci_rx_to_mac80211()
749 ieee80211_rx_irqsafe(hw, uskb); in _rtl_pci_rx_to_mac80211()
751 ieee80211_rx_irqsafe(hw, skb); in _rtl_pci_rx_to_mac80211()
757 static void _rtl_pci_hs_interrupt(struct ieee80211_hw *hw) in _rtl_pci_hs_interrupt() argument
759 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_hs_interrupt()
760 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_hs_interrupt()
767 static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw) in _rtl_pci_rx_interrupt() argument
769 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_rx_interrupt()
770 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_rx_interrupt()
800 rtlpriv->cfg->ops->rx_desc_buff_remained_cnt(hw, in _rtl_pci_rx_interrupt()
830 rtlpriv->cfg->ops->query_rx_desc(hw, &stats, in _rtl_pci_rx_interrupt()
834 rtlpriv->cfg->ops->rx_check_dma_ok(hw, in _rtl_pci_rx_interrupt()
858 rtlpriv->cfg->ops->rx_command_packet(hw, stats, skb)) { in _rtl_pci_rx_interrupt()
885 rtl_is_special_data(hw, skb, false, true); in _rtl_pci_rx_interrupt()
888 rtlpriv->cfg->ops->led_control(hw, LED_CTL_RX); in _rtl_pci_rx_interrupt()
893 rtl_beacon_statistic(hw, skb); in _rtl_pci_rx_interrupt()
894 rtl_p2p_info(hw, (void *)skb->data, skb->len); in _rtl_pci_rx_interrupt()
896 rtl_swlps_beacon(hw, (void *)skb->data, skb->len); in _rtl_pci_rx_interrupt()
897 rtl_recognize_peer(hw, (void *)skb->data, skb->len); in _rtl_pci_rx_interrupt()
905 _rtl_pci_rx_to_mac80211(hw, skb, rx_status); in _rtl_pci_rx_interrupt()
929 _rtl_pci_init_one_rxdesc(hw, skb, (u8 *)buffer_desc, in _rtl_pci_rx_interrupt()
933 _rtl_pci_init_one_rxdesc(hw, skb, (u8 *)pdesc, in _rtl_pci_rx_interrupt()
938 rtlpriv->cfg->ops->set_desc(hw, (u8 *)pdesc, in _rtl_pci_rx_interrupt()
951 struct ieee80211_hw *hw = dev_id; in _rtl_pci_interrupt() local
952 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_interrupt()
953 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_interrupt()
954 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in _rtl_pci_interrupt()
964 rtlpriv->cfg->ops->disable_interrupt(hw); in _rtl_pci_interrupt()
967 rtlpriv->cfg->ops->interrupt_recognized(hw, &inta, &intb); in _rtl_pci_interrupt()
1001 _rtl_pci_tx_isr(hw, MGNT_QUEUE); in _rtl_pci_interrupt()
1007 _rtl_pci_tx_isr(hw, HIGH_QUEUE); in _rtl_pci_interrupt()
1015 _rtl_pci_tx_isr(hw, BK_QUEUE); in _rtl_pci_interrupt()
1023 _rtl_pci_tx_isr(hw, BE_QUEUE); in _rtl_pci_interrupt()
1031 _rtl_pci_tx_isr(hw, VI_QUEUE); in _rtl_pci_interrupt()
1039 _rtl_pci_tx_isr(hw, VO_QUEUE); in _rtl_pci_interrupt()
1048 _rtl_pci_tx_isr(hw, TXCMD_QUEUE); in _rtl_pci_interrupt()
1055 _rtl_pci_rx_interrupt(hw); in _rtl_pci_interrupt()
1061 _rtl_pci_rx_interrupt(hw); in _rtl_pci_interrupt()
1066 _rtl_pci_rx_interrupt(hw); in _rtl_pci_interrupt()
1090 _rtl_pci_hs_interrupt(hw); in _rtl_pci_interrupt()
1098 rtlpriv->cfg->ops->enable_interrupt(hw); in _rtl_pci_interrupt()
1103 static void _rtl_pci_irq_tasklet(struct ieee80211_hw *hw) in _rtl_pci_irq_tasklet() argument
1105 _rtl_pci_tx_chk_waitq(hw); in _rtl_pci_irq_tasklet()
1108 static void _rtl_pci_prepare_bcn_tasklet(struct ieee80211_hw *hw) in _rtl_pci_prepare_bcn_tasklet() argument
1110 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_prepare_bcn_tasklet()
1111 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_prepare_bcn_tasklet()
1112 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in _rtl_pci_prepare_bcn_tasklet()
1140 pskb = ieee80211_beacon_get(hw, mac->vif); in _rtl_pci_prepare_bcn_tasklet()
1149 rtlpriv->cfg->ops->fill_tx_desc(hw, hdr, (u8 *)pdesc, in _rtl_pci_prepare_bcn_tasklet()
1157 rtlpriv->cfg->ops->set_desc(hw, (u8 *)pbuffer_desc, true, in _rtl_pci_prepare_bcn_tasklet()
1160 rtlpriv->cfg->ops->set_desc(hw, (u8 *)pdesc, true, HW_DESC_OWN, in _rtl_pci_prepare_bcn_tasklet()
1166 static void _rtl_pci_init_trx_var(struct ieee80211_hw *hw) in _rtl_pci_init_trx_var() argument
1168 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_init_trx_var()
1169 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_init_trx_var()
1192 if (!rtl_priv(hw)->use_new_trx_flow) in _rtl_pci_init_trx_var()
1199 static void _rtl_pci_init_struct(struct ieee80211_hw *hw, in _rtl_pci_init_struct() argument
1202 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_init_struct()
1203 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in _rtl_pci_init_struct()
1204 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_init_struct()
1205 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in _rtl_pci_init_struct()
1210 rtlhal->hw = hw; in _rtl_pci_init_struct()
1214 _rtl_pci_init_trx_var(hw); in _rtl_pci_init_struct()
1231 (unsigned long)hw); in _rtl_pci_init_struct()
1234 (unsigned long)hw); in _rtl_pci_init_struct()
1239 static int _rtl_pci_init_tx_ring(struct ieee80211_hw *hw, in _rtl_pci_init_tx_ring() argument
1242 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_init_tx_ring()
1243 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_init_tx_ring()
1299 rtlpriv->cfg->ops->set_desc(hw, (u8 *)&desc[i], in _rtl_pci_init_tx_ring()
1308 static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw, int rxring_idx) in _rtl_pci_init_rx_ring() argument
1310 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_init_rx_ring()
1311 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_init_rx_ring()
1334 if (!_rtl_pci_init_one_rxdesc(hw, NULL, (u8 *)entry, in _rtl_pci_init_rx_ring()
1359 if (!_rtl_pci_init_one_rxdesc(hw, NULL, (u8 *)entry, in _rtl_pci_init_rx_ring()
1364 rtlpriv->cfg->ops->set_desc(hw, (u8 *)entry, false, in _rtl_pci_init_rx_ring()
1370 static void _rtl_pci_free_tx_ring(struct ieee80211_hw *hw, in _rtl_pci_free_tx_ring() argument
1373 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_free_tx_ring()
1374 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_free_tx_ring()
1409 static void _rtl_pci_free_rx_ring(struct ieee80211_hw *hw, int rxring_idx) in _rtl_pci_free_rx_ring() argument
1411 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_free_rx_ring()
1412 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_free_rx_ring()
1444 static int _rtl_pci_init_trx_ring(struct ieee80211_hw *hw) in _rtl_pci_init_trx_ring() argument
1446 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in _rtl_pci_init_trx_ring()
1454 ret = _rtl_pci_init_rx_ring(hw, rxring_idx); in _rtl_pci_init_trx_ring()
1460 ret = _rtl_pci_init_tx_ring(hw, i, in _rtl_pci_init_trx_ring()
1470 _rtl_pci_free_rx_ring(hw, rxring_idx); in _rtl_pci_init_trx_ring()
1475 _rtl_pci_free_tx_ring(hw, i); in _rtl_pci_init_trx_ring()
1480 static int _rtl_pci_deinit_trx_ring(struct ieee80211_hw *hw) in _rtl_pci_deinit_trx_ring() argument
1486 _rtl_pci_free_rx_ring(hw, rxring_idx); in _rtl_pci_deinit_trx_ring()
1490 _rtl_pci_free_tx_ring(hw, i); in _rtl_pci_deinit_trx_ring()
1495 int rtl_pci_reset_trx_ring(struct ieee80211_hw *hw) in rtl_pci_reset_trx_ring() argument
1497 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_reset_trx_ring()
1498 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in rtl_pci_reset_trx_ring()
1524 rtlpriv->cfg->ops->set_desc(hw, in rtl_pci_reset_trx_ring()
1529 rtlpriv->cfg->ops->set_desc(hw, in rtl_pci_reset_trx_ring()
1533 rtlpriv->cfg->ops->set_desc(hw, in rtl_pci_reset_trx_ring()
1537 rtlpriv->cfg->ops->set_desc(hw, in rtl_pci_reset_trx_ring()
1543 rtlpriv->cfg->ops->set_desc(hw, (u8 *)entry, false, in rtl_pci_reset_trx_ring()
1587 static bool rtl_pci_tx_chk_waitq_insert(struct ieee80211_hw *hw, in rtl_pci_tx_chk_waitq_insert() argument
1591 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_tx_chk_waitq_insert()
1610 if (_rtl_mac_to_hwqueue(hw, skb) > VO_QUEUE) in rtl_pci_tx_chk_waitq_insert()
1626 static int rtl_pci_tx(struct ieee80211_hw *hw, in rtl_pci_tx() argument
1631 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_tx()
1638 u8 hw_queue = _rtl_mac_to_hwqueue(hw, skb); in rtl_pci_tx()
1643 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in rtl_pci_tx()
1651 rtl_tx_mgmt_proc(hw, skb); in rtl_pci_tx()
1659 rtl_action_proc(hw, skb, true); in rtl_pci_tx()
1700 rtlpriv->cfg->ops->get_available_desc(hw, hw_queue) == 0) { in rtl_pci_tx()
1722 rtlpriv->cfg->ops->led_control(hw, LED_CTL_TX); in rtl_pci_tx()
1724 rtlpriv->cfg->ops->fill_tx_desc(hw, hdr, (u8 *)pdesc, in rtl_pci_tx()
1730 rtlpriv->cfg->ops->set_desc(hw, (u8 *)pdesc, true, in rtl_pci_tx()
1733 rtlpriv->cfg->ops->set_desc(hw, (u8 *)pdesc, true, in rtl_pci_tx()
1744 ieee80211_stop_queue(hw, skb_get_queue_mapping(skb)); in rtl_pci_tx()
1749 rtlpriv->cfg->ops->tx_polling(hw, hw_queue); in rtl_pci_tx()
1754 static void rtl_pci_flush(struct ieee80211_hw *hw, u32 queues, bool drop) in rtl_pci_flush() argument
1756 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_flush()
1757 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_flush()
1758 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl_pci_flush()
1759 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl_pci_flush()
1792 static void rtl_pci_deinit(struct ieee80211_hw *hw) in rtl_pci_deinit() argument
1794 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_deinit()
1795 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in rtl_pci_deinit()
1797 _rtl_pci_deinit_trx_ring(hw); in rtl_pci_deinit()
1808 static int rtl_pci_init(struct ieee80211_hw *hw, struct pci_dev *pdev) in rtl_pci_init() argument
1810 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_init()
1813 _rtl_pci_init_struct(hw, pdev); in rtl_pci_init()
1815 err = _rtl_pci_init_trx_ring(hw); in rtl_pci_init()
1825 static int rtl_pci_start(struct ieee80211_hw *hw) in rtl_pci_start() argument
1827 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_start()
1828 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl_pci_start()
1829 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in rtl_pci_start()
1830 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in rtl_pci_start()
1834 rtl_pci_reset_trx_ring(hw); in rtl_pci_start()
1842 err = rtlpriv->cfg->ops->hw_init(hw); in rtl_pci_start()
1849 rtlpriv->cfg->ops->enable_interrupt(hw); in rtl_pci_start()
1852 rtl_init_rx_config(hw); in rtl_pci_start()
1865 static void rtl_pci_stop(struct ieee80211_hw *hw) in rtl_pci_stop() argument
1867 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_stop()
1868 struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); in rtl_pci_stop()
1869 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in rtl_pci_stop()
1870 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl_pci_stop()
1884 rtlpriv->cfg->ops->disable_interrupt(hw); in rtl_pci_stop()
1901 rtlpriv->cfg->ops->hw_disable(hw); in rtl_pci_stop()
1905 rtlpriv->cfg->ops->led_control(hw, LED_CTL_POWER_OFF); in rtl_pci_stop()
1911 rtl_pci_enable_aspm(hw); in rtl_pci_stop()
1915 struct ieee80211_hw *hw) in _rtl_pci_find_adapter() argument
1917 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_pci_find_adapter()
1918 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in _rtl_pci_find_adapter()
1919 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in _rtl_pci_find_adapter()
2081 rtl_pci_get_linkcontrol_field(hw); in _rtl_pci_find_adapter()
2086 rtl_pci_get_amd_l1_patch(hw); in _rtl_pci_find_adapter()
2107 rtl_pci_parse_configuration(pdev, hw); in _rtl_pci_find_adapter()
2113 static int rtl_pci_intr_mode_msi(struct ieee80211_hw *hw) in rtl_pci_intr_mode_msi() argument
2115 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_intr_mode_msi()
2116 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_intr_mode_msi()
2125 IRQF_SHARED, KBUILD_MODNAME, hw); in rtl_pci_intr_mode_msi()
2138 static int rtl_pci_intr_mode_legacy(struct ieee80211_hw *hw) in rtl_pci_intr_mode_legacy() argument
2140 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_intr_mode_legacy()
2141 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_intr_mode_legacy()
2146 IRQF_SHARED, KBUILD_MODNAME, hw); in rtl_pci_intr_mode_legacy()
2156 static int rtl_pci_intr_mode_decide(struct ieee80211_hw *hw) in rtl_pci_intr_mode_decide() argument
2158 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_intr_mode_decide()
2163 ret = rtl_pci_intr_mode_msi(hw); in rtl_pci_intr_mode_decide()
2165 ret = rtl_pci_intr_mode_legacy(hw); in rtl_pci_intr_mode_decide()
2167 ret = rtl_pci_intr_mode_legacy(hw); in rtl_pci_intr_mode_decide()
2175 struct ieee80211_hw *hw = NULL; in rtl_pci_probe() local
2201 hw = ieee80211_alloc_hw(sizeof(struct rtl_pci_priv) + in rtl_pci_probe()
2203 if (!hw) { in rtl_pci_probe()
2210 SET_IEEE80211_DEV(hw, &pdev->dev); in rtl_pci_probe()
2211 pci_set_drvdata(pdev, hw); in rtl_pci_probe()
2213 rtlpriv = hw->priv; in rtl_pci_probe()
2214 rtlpriv->hw = hw; in rtl_pci_probe()
2238 rtl_dbgp_flag_init(hw); in rtl_pci_probe()
2274 if (!_rtl_pci_find_adapter(pdev, hw)) { in rtl_pci_probe()
2280 _rtl_pci_io_handler_init(&pdev->dev, hw); in rtl_pci_probe()
2283 rtlpriv->cfg->ops->read_eeprom_info(hw); in rtl_pci_probe()
2285 if (rtlpriv->cfg->ops->init_sw_vars(hw)) { in rtl_pci_probe()
2290 rtlpriv->cfg->ops->init_sw_leds(hw); in rtl_pci_probe()
2293 rtl_pci_init_aspm(hw); in rtl_pci_probe()
2296 err = rtl_init_core(hw); in rtl_pci_probe()
2304 err = rtl_pci_init(hw, pdev); in rtl_pci_probe()
2310 err = ieee80211_register_hw(hw); in rtl_pci_probe()
2327 rtl_init_rfkill(hw); /* Init PCI sw */ in rtl_pci_probe()
2330 err = rtl_pci_intr_mode_decide(hw); in rtl_pci_probe()
2334 wiphy_name(hw->wiphy)); in rtl_pci_probe()
2344 rtl_deinit_core(hw); in rtl_pci_probe()
2354 if (hw) in rtl_pci_probe()
2355 ieee80211_free_hw(hw); in rtl_pci_probe()
2365 struct ieee80211_hw *hw = pci_get_drvdata(pdev); in rtl_pci_disconnect() local
2366 struct rtl_pci_priv *pcipriv = rtl_pcipriv(hw); in rtl_pci_disconnect()
2367 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_disconnect()
2379 ieee80211_unregister_hw(hw); in rtl_pci_disconnect()
2382 rtl_deinit_deferred_work(hw); in rtl_pci_disconnect()
2383 rtlpriv->intf_ops->adapter_stop(hw); in rtl_pci_disconnect()
2385 rtlpriv->cfg->ops->disable_interrupt(hw); in rtl_pci_disconnect()
2388 rtl_deinit_rfkill(hw); in rtl_pci_disconnect()
2390 rtl_pci_deinit(hw); in rtl_pci_disconnect()
2391 rtl_deinit_core(hw); in rtl_pci_disconnect()
2392 rtlpriv->cfg->ops->deinit_sw_vars(hw); in rtl_pci_disconnect()
2396 free_irq(rtlpci->pdev->irq, hw); in rtl_pci_disconnect()
2411 rtl_pci_disable_aspm(hw); in rtl_pci_disconnect()
2415 ieee80211_free_hw(hw); in rtl_pci_disconnect()
2438 struct ieee80211_hw *hw = pci_get_drvdata(pdev); in rtl_pci_suspend() local
2439 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_suspend()
2441 rtlpriv->cfg->ops->hw_suspend(hw); in rtl_pci_suspend()
2442 rtl_deinit_rfkill(hw); in rtl_pci_suspend()
2451 struct ieee80211_hw *hw = pci_get_drvdata(pdev); in rtl_pci_resume() local
2452 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_pci_resume()
2454 rtlpriv->cfg->ops->hw_resume(hw); in rtl_pci_resume()
2455 rtl_init_rfkill(hw); in rtl_pci_resume()