Lines Matching refs:rtlpriv

12 	struct rtl_priv *rtlpriv = rtl_priv(hw);  in rtl_ps_enable_nic()  local
19 rtlpriv->intf_ops->reset_trx_ring(hw); in rtl_ps_enable_nic()
22 rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING, in rtl_ps_enable_nic()
26 if (rtlpriv->cfg->ops->hw_init(hw)) in rtl_ps_enable_nic()
28 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RETRY_LIMIT, in rtl_ps_enable_nic()
32 rtlpriv->cfg->ops->switch_channel(hw); in rtl_ps_enable_nic()
33 rtlpriv->cfg->ops->set_channel_access(hw); in rtl_ps_enable_nic()
34 rtlpriv->cfg->ops->set_bw_mode(hw, in rtl_ps_enable_nic()
38 rtlpriv->cfg->ops->enable_interrupt(hw); in rtl_ps_enable_nic()
41 rtl_watch_dog_timer_callback(&rtlpriv->works.watchdog_timer); in rtl_ps_enable_nic()
49 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_ps_disable_nic() local
55 rtlpriv->cfg->ops->disable_interrupt(hw); in rtl_ps_disable_nic()
56 tasklet_kill(&rtlpriv->works.irq_tasklet); in rtl_ps_disable_nic()
59 rtlpriv->cfg->ops->hw_disable(hw); in rtl_ps_disable_nic()
69 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_ps_set_rf_state() local
79 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
81 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
83 rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING, in rtl_ps_set_rf_state()
99 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
141 rtlpriv->cfg->ops->set_rf_power_state(hw, state_toset); in rtl_ps_set_rf_state()
143 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
145 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_ps_set_rf_state()
152 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl_ps_inactive_ps() local
162 rtlpriv->intf_ops->disable_aspm(hw); in _rtl_ps_inactive_ps()
174 rtlpriv->intf_ops->enable_aspm(hw); in _rtl_ps_inactive_ps()
187 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_ips_nic_off_wq_callback() local
194 rtl_dbg(rtlpriv, COMP_ERR, DBG_WARNING, in rtl_ips_nic_off_wq_callback()
208 if (rtlpriv->sec.being_setkey) in rtl_ips_nic_off_wq_callback()
211 if (rtlpriv->cfg->ops->bt_coex_off_before_lps) in rtl_ips_nic_off_wq_callback()
212 rtlpriv->cfg->ops->bt_coex_off_before_lps(hw); in rtl_ips_nic_off_wq_callback()
231 rtl_dbg(rtlpriv, COMP_RF, DBG_TRACE, in rtl_ips_nic_off_wq_callback()
238 if (rtlpriv->cfg->ops->get_btc_status()) in rtl_ips_nic_off_wq_callback()
239 rtlpriv->btcoexist.btc_ops->btc_ips_notify(rtlpriv, in rtl_ips_nic_off_wq_callback()
250 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_ips_nic_off() local
256 queue_delayed_work(rtlpriv->works.rtl_wq, in rtl_ips_nic_off()
257 &rtlpriv->works.ips_nic_off_wq, MSECS(100)); in rtl_ips_nic_off()
265 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_ips_nic_on() local
269 cancel_delayed_work_sync(&rtlpriv->works.ips_nic_off_wq); in rtl_ips_nic_on()
271 mutex_lock(&rtlpriv->locks.ips_mutex); in rtl_ips_nic_on()
283 if (rtlpriv->cfg->ops->get_btc_status()) in rtl_ips_nic_on()
284 rtlpriv->btcoexist.btc_ops->btc_ips_notify(rtlpriv, in rtl_ips_nic_on()
288 mutex_unlock(&rtlpriv->locks.ips_mutex); in rtl_ips_nic_on()
301 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_get_fwlps_doze() local
310 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl_get_fwlps_doze()
327 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_lps_set_psmode() local
356 rtl_dbg(rtlpriv, COMP_RF, DBG_DMESG, in rtl_lps_set_psmode()
362 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_FW_LPS_ACTION, in rtl_lps_set_psmode()
367 if (rtlpriv->cfg->ops->get_btc_status()) in rtl_lps_set_psmode()
368 rtlpriv->btcoexist.btc_ops->btc_lps_notify(rtlpriv, rt_psmode); in rtl_lps_set_psmode()
371 rtl_dbg(rtlpriv, COMP_RF, DBG_DMESG, in rtl_lps_set_psmode()
374 if (rtlpriv->cfg->ops->get_btc_status()) in rtl_lps_set_psmode()
375 rtlpriv->btcoexist.btc_ops->btc_lps_notify(rtlpriv, rt_psmode); in rtl_lps_set_psmode()
379 rtlpriv->cfg->ops->set_hw_reg(hw, in rtl_lps_set_psmode()
396 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_lps_enter_core() local
401 if (rtlpriv->sec.being_setkey) in rtl_lps_enter_core()
404 if (rtlpriv->link_info.busytraffic) in rtl_lps_enter_core()
417 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_lps_enter_core()
423 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl_lps_enter_core()
427 mutex_unlock(&rtlpriv->locks.lps_mutex); in rtl_lps_enter_core()
433 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_lps_leave_core() local
437 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_lps_leave_core()
448 rtlpriv->intf_ops->disable_aspm(hw); in rtl_lps_leave_core()
452 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl_lps_leave_core()
458 mutex_unlock(&rtlpriv->locks.lps_mutex); in rtl_lps_leave_core()
464 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_swlps_beacon() local
476 if (!rtlpriv->psc.swctrl_lps) in rtl_swlps_beacon()
479 if (rtlpriv->mac80211.link_state != MAC80211_LINKED) in rtl_swlps_beacon()
482 if (!rtlpriv->psc.sw_ps_enabled) in rtl_swlps_beacon()
485 if (rtlpriv->psc.fwctrl_lps) in rtl_swlps_beacon()
500 if (!ether_addr_equal_64bits(hdr->addr3, rtlpriv->mac80211.bssid)) in rtl_swlps_beacon()
503 rtlpriv->psc.last_beacon = jiffies; in rtl_swlps_beacon()
516 rtlpriv->psc.dtim_counter = tim_ie->dtim_count; in rtl_swlps_beacon()
522 rtlpriv->mac80211.assoc_id); in rtl_swlps_beacon()
526 rtlpriv->psc.multi_buffered = m_buffed; in rtl_swlps_beacon()
534 queue_delayed_work(rtlpriv->works.rtl_wq, in rtl_swlps_beacon()
535 &rtlpriv->works.ps_work, MSECS(5)); in rtl_swlps_beacon()
537 rtl_dbg(rtlpriv, COMP_POWER, DBG_DMESG, in rtl_swlps_beacon()
545 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_swlps_rf_awake() local
549 if (!rtlpriv->psc.swctrl_lps) in rtl_swlps_rf_awake()
556 rtlpriv->intf_ops->disable_aspm(hw); in rtl_swlps_rf_awake()
560 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_swlps_rf_awake()
562 mutex_unlock(&rtlpriv->locks.lps_mutex); in rtl_swlps_rf_awake()
576 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_swlps_rf_sleep() local
581 if (!rtlpriv->psc.sw_ps_enabled) in rtl_swlps_rf_sleep()
584 if ((rtlpriv->sec.being_setkey) || in rtl_swlps_rf_sleep()
592 if (rtlpriv->link_info.busytraffic) in rtl_swlps_rf_sleep()
595 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl_swlps_rf_sleep()
596 if (rtlpriv->psc.rfchange_inprogress) { in rtl_swlps_rf_sleep()
597 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_swlps_rf_sleep()
600 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl_swlps_rf_sleep()
602 mutex_lock(&rtlpriv->locks.lps_mutex); in rtl_swlps_rf_sleep()
604 mutex_unlock(&rtlpriv->locks.lps_mutex); in rtl_swlps_rf_sleep()
608 rtlpriv->intf_ops->enable_aspm(hw); in rtl_swlps_rf_sleep()
618 if (rtlpriv->psc.dtim_counter == 0) { in rtl_swlps_rf_sleep()
624 sleep_intv = rtlpriv->psc.dtim_counter; in rtl_swlps_rf_sleep()
633 rtl_dbg(rtlpriv, COMP_POWER, DBG_DMESG, in rtl_swlps_rf_sleep()
635 rtlpriv->psc.dtim_counter, sleep_intv); in rtl_swlps_rf_sleep()
638 queue_delayed_work(rtlpriv->works.rtl_wq, &rtlpriv->works.ps_rfon_wq, in rtl_swlps_rf_sleep()
647 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_lps_change_work_callback() local
649 if (rtlpriv->enter_ps) in rtl_lps_change_work_callback()
658 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_lps_enter() local
662 rtlpriv->enter_ps = true; in rtl_lps_enter()
663 schedule_work(&rtlpriv->works.lps_change_work); in rtl_lps_enter()
669 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_lps_leave() local
673 rtlpriv->enter_ps = false; in rtl_lps_leave()
674 schedule_work(&rtlpriv->works.lps_change_work); in rtl_lps_leave()
683 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_swlps_wq_callback() local
689 if (rtlpriv->psc.state_inap) { in rtl_swlps_wq_callback()
692 if (rtlpriv->psc.state && !ps) { in rtl_swlps_wq_callback()
693 rtlpriv->psc.sleep_ms = jiffies_to_msecs(jiffies - in rtl_swlps_wq_callback()
694 rtlpriv->psc.last_action); in rtl_swlps_wq_callback()
698 rtlpriv->psc.last_slept = jiffies; in rtl_swlps_wq_callback()
700 rtlpriv->psc.last_action = jiffies; in rtl_swlps_wq_callback()
701 rtlpriv->psc.state = ps; in rtl_swlps_wq_callback()
708 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_p2p_noa_ie() local
710 struct rtl_p2p_ps_info *p2pinfo = &(rtlpriv->psc.p2p_ps_info); in rtl_p2p_noa_ie()
746 rtl_dbg(rtlpriv, COMP_INIT, DBG_LOUD, in rtl_p2p_noa_ie()
757 if (rtlpriv->psc.p2p_ps_info.p2p_ps_mode == in rtl_p2p_noa_ie()
759 rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, in rtl_p2p_noa_ie()
786 if (rtlpriv->psc.fw_current_inpsmode) in rtl_p2p_noa_ie()
811 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_p2p_action_ie() local
813 struct rtl_p2p_ps_info *p2pinfo = &(rtlpriv->psc.p2p_ps_info); in rtl_p2p_action_ie()
831 rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "action frame find P2P IE.\n"); in rtl_p2p_action_ie()
839 rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "find NOA IE.\n"); in rtl_p2p_action_ie()
840 RT_PRINT_DATA(rtlpriv, COMP_FW, DBG_LOUD, "noa ie ", in rtl_p2p_action_ie()
843 rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, in rtl_p2p_action_ie()
854 if (rtlpriv->psc.p2p_ps_info.p2p_ps_mode == in rtl_p2p_action_ie()
881 if (rtlpriv->psc.fw_current_inpsmode) in rtl_p2p_action_ie()
899 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_p2p_ps_cmd() local
901 struct rtl_p2p_ps_info *p2pinfo = &(rtlpriv->psc.p2p_ps_info); in rtl_p2p_ps_cmd()
903 rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, " p2p state %x\n", p2p_ps_state); in rtl_p2p_ps_cmd()
907 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_H2C_FW_P2P_PS_OFFLOAD, in rtl_p2p_ps_cmd()
917 rtlpriv->cfg->ops->set_hw_reg(hw, in rtl_p2p_ps_cmd()
931 rtlpriv->cfg->ops->set_hw_reg(hw, in rtl_p2p_ps_cmd()
936 rtlpriv->cfg->ops->set_hw_reg(hw, in rtl_p2p_ps_cmd()
947 rtlpriv->cfg->ops->set_hw_reg(hw, in rtl_p2p_ps_cmd()
955 rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, in rtl_p2p_ps_cmd()
958 rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, in rtl_p2p_ps_cmd()
966 rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "end\n"); in rtl_p2p_ps_cmd()
971 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl_p2p_info() local
984 if (!ether_addr_equal_64bits(hdr->addr3, rtlpriv->mac80211.bssid)) in rtl_p2p_info()