Lines Matching refs:rtlpriv
49 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_set_bcn_ctrl_reg() local
54 rtl_write_byte(rtlpriv, REG_BCN_CTRL, (u8) rtlpci->reg_bcn_ctrl_val); in _rtl88ee_set_bcn_ctrl_reg()
59 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_stop_tx_beacon() local
62 tmp1byte = rtl_read_byte(rtlpriv, REG_FWHW_TXQ_CTRL + 2); in _rtl88ee_stop_tx_beacon()
63 rtl_write_byte(rtlpriv, REG_FWHW_TXQ_CTRL + 2, tmp1byte & (~BIT(6))); in _rtl88ee_stop_tx_beacon()
64 rtl_write_byte(rtlpriv, REG_TBTT_PROHIBIT + 1, 0x64); in _rtl88ee_stop_tx_beacon()
65 tmp1byte = rtl_read_byte(rtlpriv, REG_TBTT_PROHIBIT + 2); in _rtl88ee_stop_tx_beacon()
67 rtl_write_byte(rtlpriv, REG_TBTT_PROHIBIT + 2, tmp1byte); in _rtl88ee_stop_tx_beacon()
72 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_resume_tx_beacon() local
75 tmp1byte = rtl_read_byte(rtlpriv, REG_FWHW_TXQ_CTRL + 2); in _rtl88ee_resume_tx_beacon()
76 rtl_write_byte(rtlpriv, REG_FWHW_TXQ_CTRL + 2, tmp1byte | BIT(6)); in _rtl88ee_resume_tx_beacon()
77 rtl_write_byte(rtlpriv, REG_TBTT_PROHIBIT + 1, 0xff); in _rtl88ee_resume_tx_beacon()
78 tmp1byte = rtl_read_byte(rtlpriv, REG_TBTT_PROHIBIT + 2); in _rtl88ee_resume_tx_beacon()
80 rtl_write_byte(rtlpriv, REG_TBTT_PROHIBIT + 2, tmp1byte); in _rtl88ee_resume_tx_beacon()
90 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_return_beacon_queue_skb() local
95 spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); in _rtl88ee_return_beacon_queue_skb()
101 rtlpriv->cfg->ops->get_desc( in _rtl88ee_return_beacon_queue_skb()
108 spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags); in _rtl88ee_return_beacon_queue_skb()
119 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_set_fw_clock_on() local
124 rtlpriv->cfg->ops->get_hw_reg(hw, HAL_DEF_WOWLAN, in _rtl88ee_set_fw_clock_on()
129 if (!rtlpriv->psc.fw_current_inpsmode) in _rtl88ee_set_fw_clock_on()
133 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
136 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
141 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
143 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
146 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
152 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_SET_RPWM, &rpwm_val); in _rtl88ee_set_fw_clock_on()
155 content = rtl_read_dword(rtlpriv, isr_regaddr); in _rtl88ee_set_fw_clock_on()
159 content = rtl_read_dword(rtlpriv, isr_regaddr); in _rtl88ee_set_fw_clock_on()
163 rtl_write_word(rtlpriv, isr_regaddr, 0x0100); in _rtl88ee_set_fw_clock_on()
165 RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, in _rtl88ee_set_fw_clock_on()
171 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
173 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
175 mod_timer(&rtlpriv->works.fw_clockoff_timer, in _rtl88ee_set_fw_clock_on()
180 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
182 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_on()
189 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_set_fw_clock_off() local
199 if (!rtlpriv->psc.fw_current_inpsmode) in _rtl88ee_set_fw_clock_off()
203 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_RF_STATE, (u8 *)(&rtstate)); in _rtl88ee_set_fw_clock_off()
204 if (rtstate == ERFOFF || rtlpriv->psc.inactive_pwrstate == ERFOFF) in _rtl88ee_set_fw_clock_off()
216 mod_timer(&rtlpriv->works.fw_clockoff_timer, in _rtl88ee_set_fw_clock_off()
223 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_off()
226 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_off()
228 rtl_write_word(rtlpriv, REG_HISR, 0x0100); in _rtl88ee_set_fw_clock_off()
229 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SET_RPWM, in _rtl88ee_set_fw_clock_off()
231 spin_lock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_off()
233 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_off()
235 spin_unlock_bh(&rtlpriv->locks.fw_ps_lock); in _rtl88ee_set_fw_clock_off()
236 mod_timer(&rtlpriv->works.fw_clockoff_timer, in _rtl88ee_set_fw_clock_off()
259 struct rtl_priv *rtlpriv = from_timer(rtlpriv, t, in rtl88ee_fw_clk_off_timer_callback() local
261 struct ieee80211_hw *hw = rtlpriv->hw; in rtl88ee_fw_clk_off_timer_callback()
268 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_fwlps_leave() local
278 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_H2C_FW_PWRMODE, in _rtl88ee_fwlps_leave()
280 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in _rtl88ee_fwlps_leave()
284 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SET_RPWM, &rpwm_val); in _rtl88ee_fwlps_leave()
285 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_H2C_FW_PWRMODE, in _rtl88ee_fwlps_leave()
287 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in _rtl88ee_fwlps_leave()
294 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_fwlps_enter() local
302 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in _rtl88ee_fwlps_enter()
304 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_H2C_FW_PWRMODE, in _rtl88ee_fwlps_enter()
310 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in _rtl88ee_fwlps_enter()
312 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_H2C_FW_PWRMODE, in _rtl88ee_fwlps_enter()
314 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SET_RPWM, &rpwm_val); in _rtl88ee_fwlps_enter()
320 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_get_hw_reg() local
335 rtlpriv->cfg->ops->get_hw_reg(hw, in rtl88ee_get_hw_reg()
341 val_rcr = rtl_read_dword(rtlpriv, REG_RCR); in rtl88ee_get_hw_reg()
357 *ptsf_high = rtl_read_dword(rtlpriv, (REG_TSFTR + 4)); in rtl88ee_get_hw_reg()
358 *ptsf_low = rtl_read_dword(rtlpriv, REG_TSFTR); in rtl88ee_get_hw_reg()
372 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_set_hw_reg() local
382 rtl_write_byte(rtlpriv, (REG_MACID + idx), in rtl88ee_set_hw_reg()
391 rtl_write_byte(rtlpriv, REG_RRSR, b_rate_cfg & 0xff); in rtl88ee_set_hw_reg()
392 rtl_write_byte(rtlpriv, REG_RRSR + 1, in rtl88ee_set_hw_reg()
398 rtl_write_byte(rtlpriv, REG_INIRTS_RATE_SEL, in rtl88ee_set_hw_reg()
404 rtl_write_byte(rtlpriv, (REG_BSSID + idx), in rtl88ee_set_hw_reg()
409 rtl_write_byte(rtlpriv, REG_SIFS_CTX + 1, val[0]); in rtl88ee_set_hw_reg()
410 rtl_write_byte(rtlpriv, REG_SIFS_TRX + 1, val[1]); in rtl88ee_set_hw_reg()
412 rtl_write_byte(rtlpriv, REG_SPEC_SIFS + 1, val[0]); in rtl88ee_set_hw_reg()
413 rtl_write_byte(rtlpriv, REG_MAC_SPEC_SIFS + 1, val[0]); in rtl88ee_set_hw_reg()
416 rtl_write_word(rtlpriv, REG_RESP_SIFS_OFDM, in rtl88ee_set_hw_reg()
419 rtl_write_word(rtlpriv, REG_RESP_SIFS_OFDM, in rtl88ee_set_hw_reg()
425 RT_TRACE(rtlpriv, COMP_MLME, DBG_LOUD, in rtl88ee_set_hw_reg()
428 rtl_write_byte(rtlpriv, REG_SLOT, val[0]); in rtl88ee_set_hw_reg()
431 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AC_PARAM, in rtl88ee_set_hw_reg()
439 reg_tmp = rtl_read_byte(rtlpriv, REG_TRXPTCL_CTL+2); in rtl88ee_set_hw_reg()
442 rtl_write_byte(rtlpriv, REG_TRXPTCL_CTL + in rtl88ee_set_hw_reg()
446 rtl_write_byte(rtlpriv, REG_TRXPTCL_CTL + in rtl88ee_set_hw_reg()
451 rtl_write_byte(rtlpriv, REG_SECCFG, *val); in rtl88ee_set_hw_reg()
470 RT_TRACE(rtlpriv, COMP_MLME, DBG_LOUD, in rtl88ee_set_hw_reg()
474 rtl_write_byte(rtlpriv, REG_AMPDU_MIN_SPACE, in rtl88ee_set_hw_reg()
484 RT_TRACE(rtlpriv, COMP_MLME, DBG_LOUD, in rtl88ee_set_hw_reg()
488 rtl_write_byte(rtlpriv, REG_AMPDU_MIN_SPACE, in rtl88ee_set_hw_reg()
519 rtl_write_byte(rtlpriv, in rtl88ee_set_hw_reg()
525 RT_TRACE(rtlpriv, COMP_MLME, DBG_LOUD, in rtl88ee_set_hw_reg()
535 rtlpriv->cfg->ops->set_hw_reg(hw, in rtl88ee_set_hw_reg()
544 u8 acm_ctrl = rtl_read_byte(rtlpriv, REG_ACMHWCTRL); in rtl88ee_set_hw_reg()
561 RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING, in rtl88ee_set_hw_reg()
584 RT_TRACE(rtlpriv, COMP_QOS, DBG_TRACE, in rtl88ee_set_hw_reg()
587 rtl_write_byte(rtlpriv, REG_ACMHWCTRL, acm_ctrl); in rtl88ee_set_hw_reg()
590 rtl_write_dword(rtlpriv, REG_RCR, ((u32 *)(val))[0]); in rtl88ee_set_hw_reg()
596 rtl_write_word(rtlpriv, REG_RL, in rtl88ee_set_hw_reg()
601 rtl_write_byte(rtlpriv, REG_DUAL_TSF_RST, (BIT(0) | BIT(1))); in rtl88ee_set_hw_reg()
615 rpwm_val = rtl_read_byte(rtlpriv, REG_PCIE_HRPWM); in rtl88ee_set_hw_reg()
619 rtl_write_byte(rtlpriv, REG_PCIE_HRPWM, *val); in rtl88ee_set_hw_reg()
621 rtl_write_byte(rtlpriv, REG_PCIE_HRPWM, *val | BIT(7)); in rtl88ee_set_hw_reg()
649 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AID, in rtl88ee_set_hw_reg()
652 tmp_regcr = rtl_read_byte(rtlpriv, REG_CR + 1); in rtl88ee_set_hw_reg()
653 rtl_write_byte(rtlpriv, REG_CR + 1, in rtl88ee_set_hw_reg()
660 rtl_read_byte(rtlpriv, in rtl88ee_set_hw_reg()
662 rtl_write_byte(rtlpriv, REG_FWHW_TXQ_CTRL + 2, in rtl88ee_set_hw_reg()
668 bcnvalid_reg = rtl_read_byte(rtlpriv, in rtl88ee_set_hw_reg()
670 rtl_write_byte(rtlpriv, REG_TDECTRL+2, in rtl88ee_set_hw_reg()
675 bcnvalid_reg = rtl_read_byte(rtlpriv, in rtl88ee_set_hw_reg()
682 rtl_read_byte(rtlpriv, REG_TDECTRL+2); in rtl88ee_set_hw_reg()
688 rtl_write_byte(rtlpriv, REG_TDECTRL+2, BIT(0)); in rtl88ee_set_hw_reg()
694 rtl_write_byte(rtlpriv, in rtl88ee_set_hw_reg()
699 rtl_write_byte(rtlpriv, REG_CR + 1, in rtl88ee_set_hw_reg()
710 u2btmp = rtl_read_word(rtlpriv, REG_BCN_PSR_RPT); in rtl88ee_set_hw_reg()
712 rtl_write_word(rtlpriv, REG_BCN_PSR_RPT, (u2btmp | in rtl88ee_set_hw_reg()
723 rtl_write_dword(rtlpriv, REG_TSFTR, in rtl88ee_set_hw_reg()
725 rtl_write_dword(rtlpriv, REG_TSFTR + 4, in rtl88ee_set_hw_reg()
749 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_llt_write() local
755 rtl_write_dword(rtlpriv, REG_LLT_INIT, value); in _rtl88ee_llt_write()
758 value = rtl_read_dword(rtlpriv, REG_LLT_INIT); in _rtl88ee_llt_write()
775 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_llt_table_init() local
784 rtl_write_byte(rtlpriv, REG_RQPN_NPQ, 0x01); in _rtl88ee_llt_table_init()
785 rtl_write_dword(rtlpriv, REG_RQPN, 0x80730d29); in _rtl88ee_llt_table_init()
788 rtl_write_dword(rtlpriv, REG_TRXFF_BNDY, (0x25FF0000 | txpktbuf_bndy)); in _rtl88ee_llt_table_init()
789 rtl_write_byte(rtlpriv, REG_TDECTRL + 1, txpktbuf_bndy); in _rtl88ee_llt_table_init()
791 rtl_write_byte(rtlpriv, REG_TXPKTBUF_BCNQ_BDNY, txpktbuf_bndy); in _rtl88ee_llt_table_init()
792 rtl_write_byte(rtlpriv, REG_TXPKTBUF_MGQ_BDNY, txpktbuf_bndy); in _rtl88ee_llt_table_init()
794 rtl_write_byte(rtlpriv, 0x45D, txpktbuf_bndy); in _rtl88ee_llt_table_init()
795 rtl_write_byte(rtlpriv, REG_PBP, 0x11); in _rtl88ee_llt_table_init()
796 rtl_write_byte(rtlpriv, REG_RX_DRVINFO_SZ, 0x4); in _rtl88ee_llt_table_init()
823 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_gen_refresh_led_state() local
825 struct rtl_led *pled0 = &rtlpriv->ledctl.sw_led0; in _rtl88ee_gen_refresh_led_state()
827 if (rtlpriv->rtlhal.up_first_time) in _rtl88ee_gen_refresh_led_state()
840 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_init_mac() local
848 bytetmp = rtl_read_byte(rtlpriv, REG_XCK_OUT_CTRL) & (~BIT(0)); in _rtl88ee_init_mac()
849 rtl_write_byte(rtlpriv, REG_XCK_OUT_CTRL, bytetmp); in _rtl88ee_init_mac()
851 bytetmp = rtl_read_byte(rtlpriv, REG_APS_FSMCO + 1) & (~BIT(7)); in _rtl88ee_init_mac()
852 rtl_write_byte(rtlpriv, REG_APS_FSMCO + 1, bytetmp); in _rtl88ee_init_mac()
854 rtl_write_byte(rtlpriv, REG_RSV_CTRL, 0x00); in _rtl88ee_init_mac()
856 if (!rtl_hal_pwrseqcmdparsing(rtlpriv, PWR_CUT_ALL_MSK, in _rtl88ee_init_mac()
859 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, in _rtl88ee_init_mac()
864 bytetmp = rtl_read_byte(rtlpriv, REG_APS_FSMCO) | BIT(4); in _rtl88ee_init_mac()
865 rtl_write_byte(rtlpriv, REG_APS_FSMCO, bytetmp); in _rtl88ee_init_mac()
867 bytetmp = rtl_read_byte(rtlpriv, REG_PCIE_CTRL_REG+2); in _rtl88ee_init_mac()
868 rtl_write_byte(rtlpriv, REG_PCIE_CTRL_REG+2, bytetmp|BIT(2)); in _rtl88ee_init_mac()
870 bytetmp = rtl_read_byte(rtlpriv, REG_WATCH_DOG+1); in _rtl88ee_init_mac()
871 rtl_write_byte(rtlpriv, REG_WATCH_DOG+1, bytetmp|BIT(7)); in _rtl88ee_init_mac()
873 bytetmp = rtl_read_byte(rtlpriv, REG_AFE_XTAL_CTRL_EXT+1); in _rtl88ee_init_mac()
874 rtl_write_byte(rtlpriv, REG_AFE_XTAL_CTRL_EXT+1, bytetmp|BIT(1)); in _rtl88ee_init_mac()
876 bytetmp = rtl_read_byte(rtlpriv, REG_TX_RPT_CTRL); in _rtl88ee_init_mac()
877 rtl_write_byte(rtlpriv, REG_TX_RPT_CTRL, bytetmp|BIT(1)|BIT(0)); in _rtl88ee_init_mac()
878 rtl_write_byte(rtlpriv, REG_TX_RPT_CTRL+1, 2); in _rtl88ee_init_mac()
879 rtl_write_word(rtlpriv, REG_TX_RPT_TIME, 0xcdf0); in _rtl88ee_init_mac()
882 bytetmp = rtl_read_byte(rtlpriv, REG_SYS_CLKR); in _rtl88ee_init_mac()
884 rtl_write_byte(rtlpriv, REG_SYS_CLKR, bytetmp|BIT(3)); in _rtl88ee_init_mac()
885 bytetmp = rtl_read_byte(rtlpriv, REG_GPIO_MUXCFG+1); in _rtl88ee_init_mac()
886 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG+1, (bytetmp & (~BIT(4)))); in _rtl88ee_init_mac()
887 rtl_write_byte(rtlpriv, 0x367, 0x80); in _rtl88ee_init_mac()
889 rtl_write_word(rtlpriv, REG_CR, 0x2ff); in _rtl88ee_init_mac()
890 rtl_write_byte(rtlpriv, REG_CR+1, 0x06); in _rtl88ee_init_mac()
891 rtl_write_byte(rtlpriv, MSR, 0x00); in _rtl88ee_init_mac()
895 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, in _rtl88ee_init_mac()
900 rtl_write_dword(rtlpriv, REG_HISR, 0xffffffff); in _rtl88ee_init_mac()
901 rtl_write_dword(rtlpriv, REG_HISRE, 0xffffffff); in _rtl88ee_init_mac()
903 wordtmp = rtl_read_word(rtlpriv, REG_TRXDMA_CTRL); in _rtl88ee_init_mac()
906 rtl_write_word(rtlpriv, REG_TRXDMA_CTRL, wordtmp); in _rtl88ee_init_mac()
908 rtl_write_dword(rtlpriv, REG_RCR, rtlpci->receive_config); in _rtl88ee_init_mac()
909 rtl_write_word(rtlpriv, REG_RXFLTMAP2, 0xffff); in _rtl88ee_init_mac()
910 rtl_write_dword(rtlpriv, REG_TCR, rtlpci->transmit_config); in _rtl88ee_init_mac()
912 rtl_write_dword(rtlpriv, REG_BCNQ_DESA, in _rtl88ee_init_mac()
915 rtl_write_dword(rtlpriv, REG_MGQ_DESA, in _rtl88ee_init_mac()
918 rtl_write_dword(rtlpriv, REG_VOQ_DESA, in _rtl88ee_init_mac()
920 rtl_write_dword(rtlpriv, REG_VIQ_DESA, in _rtl88ee_init_mac()
922 rtl_write_dword(rtlpriv, REG_BEQ_DESA, in _rtl88ee_init_mac()
924 rtl_write_dword(rtlpriv, REG_BKQ_DESA, in _rtl88ee_init_mac()
926 rtl_write_dword(rtlpriv, REG_HQ_DESA, in _rtl88ee_init_mac()
929 rtl_write_dword(rtlpriv, REG_RX_DESA, in _rtl88ee_init_mac()
936 rtl_write_dword(rtlpriv, REG_INT_MIG, 0); in _rtl88ee_init_mac()
938 rtl_write_dword(rtlpriv, REG_MCUTST_1, 0x0); in _rtl88ee_init_mac()
939 rtl_write_byte(rtlpriv, REG_PCIE_CTRL_REG+1, 0);/*Enable RX DMA */ in _rtl88ee_init_mac()
942 bytetmp = rtl_read_byte(rtlpriv, REG_EARLY_MODE_CONTROL); in _rtl88ee_init_mac()
944 rtl_write_byte(rtlpriv, REG_EARLY_MODE_CONTROL, bytetmp); in _rtl88ee_init_mac()
945 rtl_write_byte(rtlpriv, REG_EARLY_MODE_CONTROL+3, 0x81); in _rtl88ee_init_mac()
953 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_hw_configure() local
962 rtl_write_dword(rtlpriv, REG_RRSR, reg_prsr); in _rtl88ee_hw_configure()
963 rtl_write_byte(rtlpriv, REG_HWSEQ_CTRL, 0xFF); in _rtl88ee_hw_configure()
968 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_enable_aspm_back_door() local
973 rtl_write_word(rtlpriv, 0x354, 0x8104); in _rtl88ee_enable_aspm_back_door()
974 rtl_write_word(rtlpriv, 0x358, 0x24); in _rtl88ee_enable_aspm_back_door()
976 rtl_write_word(rtlpriv, 0x350, 0x70c); in _rtl88ee_enable_aspm_back_door()
977 rtl_write_byte(rtlpriv, 0x352, 0x2); in _rtl88ee_enable_aspm_back_door()
978 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
982 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
986 tmp4byte = rtl_read_dword(rtlpriv, 0x34c); in _rtl88ee_enable_aspm_back_door()
987 rtl_write_dword(rtlpriv, 0x348, tmp4byte|BIT(31)); in _rtl88ee_enable_aspm_back_door()
988 rtl_write_word(rtlpriv, 0x350, 0xf70c); in _rtl88ee_enable_aspm_back_door()
989 rtl_write_byte(rtlpriv, 0x352, 0x1); in _rtl88ee_enable_aspm_back_door()
992 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
996 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
1000 rtl_write_word(rtlpriv, 0x350, 0x718); in _rtl88ee_enable_aspm_back_door()
1001 rtl_write_byte(rtlpriv, 0x352, 0x2); in _rtl88ee_enable_aspm_back_door()
1002 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
1006 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
1011 tmp4byte = rtl_read_dword(rtlpriv, 0x34c); in _rtl88ee_enable_aspm_back_door()
1012 rtl_write_dword(rtlpriv, 0x348, tmp4byte|BIT(11)|BIT(12)); in _rtl88ee_enable_aspm_back_door()
1013 rtl_write_word(rtlpriv, 0x350, 0xf718); in _rtl88ee_enable_aspm_back_door()
1014 rtl_write_byte(rtlpriv, 0x352, 0x1); in _rtl88ee_enable_aspm_back_door()
1017 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
1021 tmp1byte = rtl_read_byte(rtlpriv, 0x352); in _rtl88ee_enable_aspm_back_door()
1028 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_enable_hw_security_config() local
1031 RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, in rtl88ee_enable_hw_security_config()
1033 rtlpriv->sec.pairwise_enc_algorithm, in rtl88ee_enable_hw_security_config()
1034 rtlpriv->sec.group_enc_algorithm); in rtl88ee_enable_hw_security_config()
1036 if (rtlpriv->cfg->mod_params->sw_crypto || rtlpriv->sec.use_sw_sec) { in rtl88ee_enable_hw_security_config()
1037 RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, in rtl88ee_enable_hw_security_config()
1044 if (rtlpriv->sec.use_defaultkey) { in rtl88ee_enable_hw_security_config()
1051 rtl_write_byte(rtlpriv, REG_CR + 1, 0x02); in rtl88ee_enable_hw_security_config()
1053 RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, in rtl88ee_enable_hw_security_config()
1056 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_WPA_CONFIG, &sec_reg_value); in rtl88ee_enable_hw_security_config()
1061 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_hw_init() local
1064 struct rtl_phy *rtlphy = &(rtlpriv->phy); in rtl88ee_hw_init()
1073 rtlpriv->rtlhal.being_init_adapter = true; in rtl88ee_hw_init()
1085 rtlpriv->intf_ops->disable_aspm(hw); in rtl88ee_hw_init()
1087 tmp_u1b = rtl_read_byte(rtlpriv, REG_SYS_CLKR+1); in rtl88ee_hw_init()
1088 u1byte = rtl_read_byte(rtlpriv, REG_CR); in rtl88ee_hw_init()
1105 RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING, in rtl88ee_hw_init()
1125 rtl_write_dword(rtlpriv, REG_RCR, rtlpci->receive_config); in rtl88ee_hw_init()
1145 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_ETHER_ADDR, mac->mac_addr); in rtl88ee_hw_init()
1147 rtlpriv->intf_ops->enable_aspm(hw); in rtl88ee_hw_init()
1154 rtlpriv->dm.fat_table.rx_idle_ant = MAIN_ANT; in rtl88ee_hw_init()
1157 rtlpriv->dm.fat_table.rx_idle_ant = AUX_ANT; in rtl88ee_hw_init()
1159 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "rx idle ant %s\n", in rtl88ee_hw_init()
1160 (rtlpriv->dm.fat_table.rx_idle_ant == MAIN_ANT) ? in rtl88ee_hw_init()
1177 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "PA BIAS path A\n"); in rtl88ee_hw_init()
1181 tmp_u1b = rtl_read_byte(rtlpriv, 0x16); in rtl88ee_hw_init()
1183 rtl_write_byte(rtlpriv, 0x16, tmp_u1b | 0x80); in rtl88ee_hw_init()
1185 rtl_write_byte(rtlpriv, 0x16, tmp_u1b | 0x90); in rtl88ee_hw_init()
1186 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "under 1.5V\n"); in rtl88ee_hw_init()
1188 rtl_write_byte(rtlpriv, REG_NAV_CTRL+2, ((30000+127)/128)); in rtl88ee_hw_init()
1192 rtlpriv->rtlhal.being_init_adapter = false; in rtl88ee_hw_init()
1198 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_read_chip_version() local
1199 struct rtl_phy *rtlphy = &(rtlpriv->phy); in _rtl88ee_read_chip_version()
1203 value32 = rtl_read_dword(rtlpriv, REG_SYS_CFG); in _rtl88ee_read_chip_version()
1214 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, in _rtl88ee_read_chip_version()
1224 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_set_media_status() local
1225 u8 bt_msr = rtl_read_byte(rtlpriv, MSR) & 0xfc; in _rtl88ee_set_media_status()
1232 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE, in _rtl88ee_set_media_status()
1238 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE, in _rtl88ee_set_media_status()
1244 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE, in _rtl88ee_set_media_status()
1250 RT_TRACE(rtlpriv, COMP_INIT, DBG_TRACE, in _rtl88ee_set_media_status()
1265 if (mode != MSR_AP && rtlpriv->mac80211.link_state < MAC80211_LINKED) { in _rtl88ee_set_media_status()
1277 RT_TRACE(rtlpriv, COMP_ERR, DBG_WARNING, in _rtl88ee_set_media_status()
1282 rtl_write_byte(rtlpriv, MSR, bt_msr | mode); in _rtl88ee_set_media_status()
1283 rtlpriv->cfg->ops->led_control(hw, ledaction); in _rtl88ee_set_media_status()
1285 rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x00); in _rtl88ee_set_media_status()
1287 rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x66); in _rtl88ee_set_media_status()
1293 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_set_check_bssid() local
1297 if (rtlpriv->psc.rfpwr_state != ERFON) in rtl88ee_set_check_bssid()
1302 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_RCR, in rtl88ee_set_check_bssid()
1308 rtlpriv->cfg->ops->set_hw_reg(hw, in rtl88ee_set_check_bssid()
1317 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_set_network_type() local
1322 if (rtlpriv->mac80211.link_state == MAC80211_LINKED) { in rtl88ee_set_network_type()
1338 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_set_qos() local
1342 rtl_write_dword(rtlpriv, REG_EDCA_BK_PARAM, 0xa44f); in rtl88ee_set_qos()
1347 rtl_write_dword(rtlpriv, REG_EDCA_VI_PARAM, 0x5e4322); in rtl88ee_set_qos()
1350 rtl_write_dword(rtlpriv, REG_EDCA_VO_PARAM, 0x2f3222); in rtl88ee_set_qos()
1360 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_enable_interrupt() local
1363 rtl_write_dword(rtlpriv, REG_HIMR, in rtl88ee_enable_interrupt()
1365 rtl_write_dword(rtlpriv, REG_HIMRE, in rtl88ee_enable_interrupt()
1373 rtl_write_byte(rtlpriv, REG_C2HEVT_CLEAR, 0); in rtl88ee_enable_interrupt()
1375 rtl_write_dword(rtlpriv, REG_HSIMR, in rtl88ee_enable_interrupt()
1381 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_disable_interrupt() local
1384 rtl_write_dword(rtlpriv, REG_HIMR, IMR_DISABLED); in rtl88ee_disable_interrupt()
1385 rtl_write_dword(rtlpriv, REG_HIMRE, IMR_DISABLED); in rtl88ee_disable_interrupt()
1392 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_poweroff_adapter() local
1397 rtlpriv->intf_ops->enable_aspm(hw); in _rtl88ee_poweroff_adapter()
1399 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "POWER OFF adapter\n"); in _rtl88ee_poweroff_adapter()
1400 u1b_tmp = rtl_read_byte(rtlpriv, REG_TX_RPT_CTRL); in _rtl88ee_poweroff_adapter()
1401 rtl_write_byte(rtlpriv, REG_TX_RPT_CTRL, u1b_tmp & (~BIT(1))); in _rtl88ee_poweroff_adapter()
1403 u1b_tmp = rtl_read_byte(rtlpriv, REG_RXDMA_CONTROL); in _rtl88ee_poweroff_adapter()
1406 u1b_tmp = rtl_read_byte(rtlpriv, REG_RXDMA_CONTROL); in _rtl88ee_poweroff_adapter()
1409 rtl_write_byte(rtlpriv, REG_PCIE_CTRL_REG+1, 0xFF); in _rtl88ee_poweroff_adapter()
1411 rtl_hal_pwrseqcmdparsing(rtlpriv, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, in _rtl88ee_poweroff_adapter()
1415 rtl_write_byte(rtlpriv, REG_RF_CTRL, 0x00); in _rtl88ee_poweroff_adapter()
1417 if ((rtl_read_byte(rtlpriv, REG_MCUFWDL) & BIT(7)) && rtlhal->fw_ready) in _rtl88ee_poweroff_adapter()
1420 u1b_tmp = rtl_read_byte(rtlpriv, REG_SYS_FUNC_EN+1); in _rtl88ee_poweroff_adapter()
1421 rtl_write_byte(rtlpriv, REG_SYS_FUNC_EN + 1, (u1b_tmp & (~BIT(2)))); in _rtl88ee_poweroff_adapter()
1422 rtl_write_byte(rtlpriv, REG_MCUFWDL, 0x00); in _rtl88ee_poweroff_adapter()
1424 u1b_tmp = rtl_read_byte(rtlpriv, REG_32K_CTRL); in _rtl88ee_poweroff_adapter()
1425 rtl_write_byte(rtlpriv, REG_32K_CTRL, (u1b_tmp & (~BIT(0)))); in _rtl88ee_poweroff_adapter()
1427 rtl_hal_pwrseqcmdparsing(rtlpriv, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, in _rtl88ee_poweroff_adapter()
1430 u1b_tmp = rtl_read_byte(rtlpriv, REG_RSV_CTRL+1); in _rtl88ee_poweroff_adapter()
1431 rtl_write_byte(rtlpriv, REG_RSV_CTRL+1, (u1b_tmp & (~BIT(3)))); in _rtl88ee_poweroff_adapter()
1432 u1b_tmp = rtl_read_byte(rtlpriv, REG_RSV_CTRL+1); in _rtl88ee_poweroff_adapter()
1433 rtl_write_byte(rtlpriv, REG_RSV_CTRL+1, (u1b_tmp | BIT(3))); in _rtl88ee_poweroff_adapter()
1435 rtl_write_byte(rtlpriv, REG_RSV_CTRL, 0x0E); in _rtl88ee_poweroff_adapter()
1437 u1b_tmp = rtl_read_byte(rtlpriv, GPIO_IN); in _rtl88ee_poweroff_adapter()
1438 rtl_write_byte(rtlpriv, GPIO_OUT, u1b_tmp); in _rtl88ee_poweroff_adapter()
1439 rtl_write_byte(rtlpriv, GPIO_IO_SEL, 0x7F); in _rtl88ee_poweroff_adapter()
1441 u1b_tmp = rtl_read_byte(rtlpriv, REG_GPIO_IO_SEL); in _rtl88ee_poweroff_adapter()
1442 rtl_write_byte(rtlpriv, REG_GPIO_IO_SEL, (u1b_tmp << 4) | u1b_tmp); in _rtl88ee_poweroff_adapter()
1443 u1b_tmp = rtl_read_byte(rtlpriv, REG_GPIO_IO_SEL+1); in _rtl88ee_poweroff_adapter()
1444 rtl_write_byte(rtlpriv, REG_GPIO_IO_SEL+1, u1b_tmp | 0x0F); in _rtl88ee_poweroff_adapter()
1446 rtl_write_dword(rtlpriv, REG_GPIO_IO_SEL_2+2, 0x00080808); in _rtl88ee_poweroff_adapter()
1451 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_card_disable() local
1456 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "RTL8188ee card disable\n"); in rtl88ee_card_disable()
1463 if (rtlpriv->rtlhal.driver_is_goingto_unload || in rtl88ee_card_disable()
1465 rtlpriv->cfg->ops->led_control(hw, LED_CTL_POWER_OFF); in rtl88ee_card_disable()
1471 rtlpriv->phy.iqk_initialized = false; in rtl88ee_card_disable()
1477 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_interrupt_recognized() local
1480 intvec->inta = rtl_read_dword(rtlpriv, ISR) & rtlpci->irq_mask[0]; in rtl88ee_interrupt_recognized()
1481 rtl_write_dword(rtlpriv, ISR, intvec->inta); in rtl88ee_interrupt_recognized()
1483 intvec->intb = rtl_read_dword(rtlpriv, REG_HISRE) & rtlpci->irq_mask[1]; in rtl88ee_interrupt_recognized()
1484 rtl_write_dword(rtlpriv, REG_HISRE, intvec->intb); in rtl88ee_interrupt_recognized()
1490 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_set_beacon_related_registers() local
1498 rtl_write_word(rtlpriv, REG_ATIMWND, atim_window); in rtl88ee_set_beacon_related_registers()
1499 rtl_write_word(rtlpriv, REG_BCN_INTERVAL, bcn_interval); in rtl88ee_set_beacon_related_registers()
1500 rtl_write_word(rtlpriv, REG_BCNTCFG, 0x660f); in rtl88ee_set_beacon_related_registers()
1501 rtl_write_byte(rtlpriv, REG_RXTSF_OFFSET_CCK, 0x18); in rtl88ee_set_beacon_related_registers()
1502 rtl_write_byte(rtlpriv, REG_RXTSF_OFFSET_OFDM, 0x18); in rtl88ee_set_beacon_related_registers()
1503 rtl_write_byte(rtlpriv, 0x606, 0x30); in rtl88ee_set_beacon_related_registers()
1505 rtl_write_byte(rtlpriv, REG_BCN_CTRL, (u8) rtlpci->reg_bcn_ctrl_val); in rtl88ee_set_beacon_related_registers()
1511 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_set_beacon_interval() local
1515 RT_TRACE(rtlpriv, COMP_BEACON, DBG_DMESG, in rtl88ee_set_beacon_interval()
1518 rtl_write_word(rtlpriv, REG_BCN_INTERVAL, bcn_interval); in rtl88ee_set_beacon_interval()
1525 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_update_interrupt_mask() local
1528 RT_TRACE(rtlpriv, COMP_INTR, DBG_LOUD, in rtl88ee_update_interrupt_mask()
1585 struct rtl_priv *rtlpriv = rtl_priv(hw); in read_power_value_fromprom() local
1588 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, in read_power_value_fromprom()
1595 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, in read_power_value_fromprom()
1774 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_read_txpower_info_from_hwpg() local
1799 RTPRINT(rtlpriv, FINIT, INIT_TXPOWER, in _rtl88ee_read_txpower_info_from_hwpg()
1819 RTPRINT(rtlpriv, FINIT, INIT_TXPOWER, in _rtl88ee_read_txpower_info_from_hwpg()
1830 RTPRINT(rtlpriv, FINIT, INIT_TXPOWER, in _rtl88ee_read_txpower_info_from_hwpg()
1836 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_read_adapter_info() local
1849 if (rtl_get_hwinfo(hw, rtlpriv, HWSET_MAX_SIZE, hwinfo, params)) in _rtl88ee_read_adapter_info()
1855 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, in _rtl88ee_read_adapter_info()
1885 if (rtlpriv->btcoexist.eeprom_bt_coexist != 0 && in _rtl88ee_read_adapter_info()
1886 rtlpriv->btcoexist.eeprom_bt_ant_num == ANT_X1) in _rtl88ee_read_adapter_info()
1936 struct rtl_priv *rtlpriv = rtl_priv(hw); in _rtl88ee_hal_customized_behavior() local
1939 rtlpriv->ledctl.led_opendrain = true; in _rtl88ee_hal_customized_behavior()
1943 rtlpriv->ledctl.led_opendrain = true; in _rtl88ee_hal_customized_behavior()
1954 RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, in _rtl88ee_hal_customized_behavior()
1960 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_read_eeprom_info() local
1962 struct rtl_phy *rtlphy = &(rtlpriv->phy); in rtl88ee_read_eeprom_info()
1968 rtlpriv->dm.rfpath_rxenable[0] = true; in rtl88ee_read_eeprom_info()
1970 rtlpriv->dm.rfpath_rxenable[0] = in rtl88ee_read_eeprom_info()
1971 rtlpriv->dm.rfpath_rxenable[1] = true; in rtl88ee_read_eeprom_info()
1972 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "VersionID = 0x%4x\n", in rtl88ee_read_eeprom_info()
1974 tmp_u1b = rtl_read_byte(rtlpriv, REG_9346CR); in rtl88ee_read_eeprom_info()
1976 RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, "Boot from EEPROM\n"); in rtl88ee_read_eeprom_info()
1979 RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, "Boot from EFUSE\n"); in rtl88ee_read_eeprom_info()
1983 RT_TRACE(rtlpriv, COMP_INIT, DBG_LOUD, "Autoload OK\n"); in rtl88ee_read_eeprom_info()
1995 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_update_hal_rate_table() local
1996 struct rtl_phy *rtlphy = &(rtlpriv->phy); in rtl88ee_update_hal_rate_table()
2051 if ((rtlpriv->btcoexist.bt_coexistence) && in rtl88ee_update_hal_rate_table()
2052 (rtlpriv->btcoexist.bt_coexist_type == BT_CSR_BC4) && in rtl88ee_update_hal_rate_table()
2053 (rtlpriv->btcoexist.bt_cur_state) && in rtl88ee_update_hal_rate_table()
2054 (rtlpriv->btcoexist.bt_ant_isolation) && in rtl88ee_update_hal_rate_table()
2055 ((rtlpriv->btcoexist.bt_service == BT_SCO) || in rtl88ee_update_hal_rate_table()
2056 (rtlpriv->btcoexist.bt_service == BT_BUSY))) in rtl88ee_update_hal_rate_table()
2076 rtl_write_dword(rtlpriv, REG_ARFR0 + ratr_index * 4, ratr_value); in rtl88ee_update_hal_rate_table()
2078 RT_TRACE(rtlpriv, COMP_RATR, DBG_DMESG, in rtl88ee_update_hal_rate_table()
2079 "%x\n", rtl_read_dword(rtlpriv, REG_ARFR0)); in rtl88ee_update_hal_rate_table()
2085 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_update_hal_rate_mask() local
2086 struct rtl_phy *rtlphy = &(rtlpriv->phy); in rtl88ee_update_hal_rate_mask()
2198 RT_TRACE(rtlpriv, COMP_RATR, DBG_DMESG, in rtl88ee_update_hal_rate_mask()
2203 RT_TRACE(rtlpriv, COMP_RATR, DBG_DMESG, in rtl88ee_update_hal_rate_mask()
2216 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_update_hal_rate_tbl() local
2218 if (rtlpriv->dm.useramask) in rtl88ee_update_hal_rate_tbl()
2226 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_update_channel_access_setting() local
2230 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SLOT_TIME, &mac->slot_time); in rtl88ee_update_channel_access_setting()
2235 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_SIFS, (u8 *)&sifs_timer); in rtl88ee_update_channel_access_setting()
2240 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_gpio_radio_on_off_checking() local
2246 if (rtlpriv->rtlhal.being_init_adapter) in rtl88ee_gpio_radio_on_off_checking()
2252 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking()
2254 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking()
2258 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking()
2261 u4tmp = rtl_read_dword(rtlpriv, REG_GPIO_OUTPUT); in rtl88ee_gpio_radio_on_off_checking()
2265 RT_TRACE(rtlpriv, COMP_RF, DBG_DMESG, in rtl88ee_gpio_radio_on_off_checking()
2273 RT_TRACE(rtlpriv, COMP_RF, DBG_DMESG, in rtl88ee_gpio_radio_on_off_checking()
2282 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking()
2284 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking()
2289 spin_lock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking()
2291 spin_unlock(&rtlpriv->locks.rf_ps_lock); in rtl88ee_gpio_radio_on_off_checking()
2303 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88ee_set_key() local
2324 RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, "clear_all\n"); in rtl88ee_set_key()
2331 memset(rtlpriv->sec.key_buf[idx], 0, in rtl88ee_set_key()
2333 rtlpriv->sec.key_len[idx] = 0; in rtl88ee_set_key()
2358 if (is_wepkey || rtlpriv->sec.use_defaultkey) { in rtl88ee_set_key()
2382 if (rtlpriv->sec.key_len[key_index] == 0) { in rtl88ee_set_key()
2383 RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, in rtl88ee_set_key()
2391 RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, in rtl88ee_set_key()
2394 RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, in rtl88ee_set_key()
2400 rtlpriv->sec.key_buf[key_index]); in rtl88ee_set_key()
2402 RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, in rtl88ee_set_key()
2412 rtlpriv->sec.key_buf in rtl88ee_set_key()
2419 rtlpriv->sec.key_buf[entry_id]); in rtl88ee_set_key()
2428 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8188ee_bt_var_init() local
2430 rtlpriv->btcoexist.bt_coexistence = in rtl8188ee_bt_var_init()
2431 rtlpriv->btcoexist.eeprom_bt_coexist; in rtl8188ee_bt_var_init()
2432 rtlpriv->btcoexist.bt_ant_num = rtlpriv->btcoexist.eeprom_bt_ant_num; in rtl8188ee_bt_var_init()
2433 rtlpriv->btcoexist.bt_coexist_type = rtlpriv->btcoexist.eeprom_bt_type; in rtl8188ee_bt_var_init()
2435 if (rtlpriv->btcoexist.reg_bt_iso == 2) in rtl8188ee_bt_var_init()
2436 rtlpriv->btcoexist.bt_ant_isolation = in rtl8188ee_bt_var_init()
2437 rtlpriv->btcoexist.eeprom_bt_ant_isol; in rtl8188ee_bt_var_init()
2439 rtlpriv->btcoexist.bt_ant_isolation = in rtl8188ee_bt_var_init()
2440 rtlpriv->btcoexist.reg_bt_iso; in rtl8188ee_bt_var_init()
2442 rtlpriv->btcoexist.bt_radio_shared_type = in rtl8188ee_bt_var_init()
2443 rtlpriv->btcoexist.eeprom_bt_radio_shared; in rtl8188ee_bt_var_init()
2445 if (rtlpriv->btcoexist.bt_coexistence) { in rtl8188ee_bt_var_init()
2446 if (rtlpriv->btcoexist.reg_bt_sco == 1) in rtl8188ee_bt_var_init()
2447 rtlpriv->btcoexist.bt_service = BT_OTHER_ACTION; in rtl8188ee_bt_var_init()
2448 else if (rtlpriv->btcoexist.reg_bt_sco == 2) in rtl8188ee_bt_var_init()
2449 rtlpriv->btcoexist.bt_service = BT_SCO; in rtl8188ee_bt_var_init()
2450 else if (rtlpriv->btcoexist.reg_bt_sco == 4) in rtl8188ee_bt_var_init()
2451 rtlpriv->btcoexist.bt_service = BT_BUSY; in rtl8188ee_bt_var_init()
2452 else if (rtlpriv->btcoexist.reg_bt_sco == 5) in rtl8188ee_bt_var_init()
2453 rtlpriv->btcoexist.bt_service = BT_OTHERBUSY; in rtl8188ee_bt_var_init()
2455 rtlpriv->btcoexist.bt_service = BT_IDLE; in rtl8188ee_bt_var_init()
2457 rtlpriv->btcoexist.bt_edca_ul = 0; in rtl8188ee_bt_var_init()
2458 rtlpriv->btcoexist.bt_edca_dl = 0; in rtl8188ee_bt_var_init()
2459 rtlpriv->btcoexist.bt_rssi_state = 0xff; in rtl8188ee_bt_var_init()
2466 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8188ee_read_bt_coexist_info_from_hwpg() local
2470 rtlpriv->btcoexist.eeprom_bt_coexist = in rtl8188ee_read_bt_coexist_info_from_hwpg()
2473 rtlpriv->btcoexist.eeprom_bt_coexist = 0; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2475 rtlpriv->btcoexist.eeprom_bt_type = ((value & 0xe) >> 1); in rtl8188ee_read_bt_coexist_info_from_hwpg()
2476 rtlpriv->btcoexist.eeprom_bt_ant_num = (value & 0x1); in rtl8188ee_read_bt_coexist_info_from_hwpg()
2477 rtlpriv->btcoexist.eeprom_bt_ant_isol = ((value & 0x10) >> 4); in rtl8188ee_read_bt_coexist_info_from_hwpg()
2478 rtlpriv->btcoexist.eeprom_bt_radio_shared = in rtl8188ee_read_bt_coexist_info_from_hwpg()
2481 rtlpriv->btcoexist.eeprom_bt_coexist = 0; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2482 rtlpriv->btcoexist.eeprom_bt_type = BT_2WIRE; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2483 rtlpriv->btcoexist.eeprom_bt_ant_num = ANT_X2; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2484 rtlpriv->btcoexist.eeprom_bt_ant_isol = 0; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2485 rtlpriv->btcoexist.eeprom_bt_radio_shared = BT_RADIO_SHARED; in rtl8188ee_read_bt_coexist_info_from_hwpg()
2493 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8188ee_bt_reg_init() local
2496 rtlpriv->btcoexist.reg_bt_iso = 2; in rtl8188ee_bt_reg_init()
2498 rtlpriv->btcoexist.reg_bt_sco = 3; in rtl8188ee_bt_reg_init()
2500 rtlpriv->btcoexist.reg_bt_sco = 0; in rtl8188ee_bt_reg_init()
2505 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8188ee_bt_hw_init() local
2506 struct rtl_phy *rtlphy = &rtlpriv->phy; in rtl8188ee_bt_hw_init()
2509 if (rtlpriv->btcoexist.bt_coexistence && in rtl8188ee_bt_hw_init()
2510 ((rtlpriv->btcoexist.bt_coexist_type == BT_CSR_BC4) || in rtl8188ee_bt_hw_init()
2511 rtlpriv->btcoexist.bt_coexist_type == BT_CSR_BC8)) { in rtl8188ee_bt_hw_init()
2512 if (rtlpriv->btcoexist.bt_ant_isolation) in rtl8188ee_bt_hw_init()
2513 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, 0xa0); in rtl8188ee_bt_hw_init()
2515 u1_tmp = rtl_read_byte(rtlpriv, 0x4fd) & in rtl8188ee_bt_hw_init()
2518 ((rtlpriv->btcoexist.bt_ant_isolation == 1) ? in rtl8188ee_bt_hw_init()
2520 ((rtlpriv->btcoexist.bt_service == BT_SCO) ? in rtl8188ee_bt_hw_init()
2522 rtl_write_byte(rtlpriv, 0x4fd, u1_tmp); in rtl8188ee_bt_hw_init()
2524 rtl_write_dword(rtlpriv, REG_BT_COEX_TABLE+4, 0xaaaa9aaa); in rtl8188ee_bt_hw_init()
2525 rtl_write_dword(rtlpriv, REG_BT_COEX_TABLE+8, 0xffbd0040); in rtl8188ee_bt_hw_init()
2526 rtl_write_dword(rtlpriv, REG_BT_COEX_TABLE+0xc, 0x40000010); in rtl8188ee_bt_hw_init()
2530 u1_tmp = rtl_read_byte(rtlpriv, ROFDM0_TRXPATHENABLE); in rtl8188ee_bt_hw_init()
2532 rtl_write_byte(rtlpriv, ROFDM0_TRXPATHENABLE, u1_tmp); in rtl8188ee_bt_hw_init()
2534 u1_tmp = rtl_read_byte(rtlpriv, ROFDM1_TRXPATHENABLE); in rtl8188ee_bt_hw_init()
2536 rtl_write_byte(rtlpriv, ROFDM1_TRXPATHENABLE, u1_tmp); in rtl8188ee_bt_hw_init()