| /linux/drivers/net/wireless/realtek/rtw89/ |
| H A D | rtw8851b_rfk.c | 143 static void _set_ch(struct rtw89_dev *rtwdev, u32 val); 145 static u8 _kpath(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx) in _kpath() argument 150 static void _adc_fifo_rst(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx, in _adc_fifo_rst() argument 153 rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_RXK, 0x0101); in _adc_fifo_rst() 155 rtw89_phy_write32_mask(rtwdev, R_ADC_FIFO, B_ADC_FIFO_RXK, 0x1111); in _adc_fifo_rst() 158 static void _rfk_rf_direct_cntrl(struct rtw89_dev *rtwdev, in _rfk_rf_direct_cntrl() argument 162 rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x1); in _rfk_rf_direct_cntrl() 164 rtw89_write_rf(rtwdev, path, RR_RSV1, RR_RSV1_RST, 0x0); in _rfk_rf_direct_cntrl() 167 static void _rfk_drf_direct_cntrl(struct rtw89_dev *rtwdev, in _rfk_drf_direct_cntrl() argument 171 rtw89_write_rf(rtwdev, path, RR_BBDC, RR_BBDC_SEL, 0x1); in _rfk_drf_direct_cntrl() [all …]
|
| H A D | rtw8852b_rfk.c | 177 static void _rfk_backup_bb_reg(struct rtw89_dev *rtwdev, u32 backup_bb_reg_val[]) in _rfk_backup_bb_reg() argument 183 rtw89_phy_read32_mask(rtwdev, rtw8852b_backup_bb_regs[i], in _rfk_backup_bb_reg() 185 rtw89_debug(rtwdev, RTW89_DBG_RFK, in _rfk_backup_bb_reg() 191 static void _rfk_backup_rf_reg(struct rtw89_dev *rtwdev, u32 backup_rf_reg_val[], in _rfk_backup_rf_reg() argument 198 rtw89_read_rf(rtwdev, rf_path, in _rfk_backup_rf_reg() 200 rtw89_debug(rtwdev, RTW89_DBG_RFK, in _rfk_backup_rf_reg() 206 static void _rfk_restore_bb_reg(struct rtw89_dev *rtwdev, in _rfk_restore_bb_reg() argument 212 rtw89_phy_write32_mask(rtwdev, rtw8852b_backup_bb_regs[i], in _rfk_restore_bb_reg() 214 rtw89_debug(rtwdev, RTW89_DBG_RFK, in _rfk_restore_bb_reg() 220 static void _rfk_restore_rf_reg(struct rtw89_dev *rtwdev, in _rfk_restore_rf_reg() argument [all …]
|
| H A D | rtw8852a_rfk.c | 15 static u8 _kpath(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx) in _kpath() argument 17 rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RFK]dbcc_en: %x, PHY%d\n", in _kpath() 18 rtwdev->dbcc_en, phy_idx); in _kpath() 20 if (!rtwdev->dbcc_en) in _kpath() 34 static void _rfk_backup_bb_reg(struct rtw89_dev *rtwdev, u32 backup_bb_reg_val[]) in _rfk_backup_bb_reg() argument 40 rtw89_phy_read32_mask(rtwdev, rtw8852a_backup_bb_regs[i], in _rfk_backup_bb_reg() 42 rtw89_debug(rtwdev, RTW89_DBG_RFK, in _rfk_backup_bb_reg() 48 static void _rfk_backup_rf_reg(struct rtw89_dev *rtwdev, u32 backup_rf_reg_val[], in _rfk_backup_rf_reg() argument 55 rtw89_read_rf(rtwdev, rf_path, in _rfk_backup_rf_reg() 57 rtw89_debug(rtwdev, RTW89_DBG_RFK, in _rfk_backup_rf_reg() [all …]
|
| H A D | mac_be.c | 71 static int rtw89_mac_check_mac_en_be(struct rtw89_dev *rtwdev, u8 mac_idx, in rtw89_mac_check_mac_en_be() argument 75 test_bit(RTW89_FLAG_DMAC_FUNC, rtwdev->flags)) in rtw89_mac_check_mac_en_be() 78 test_bit(RTW89_FLAG_CMAC0_FUNC, rtwdev->flags)) in rtw89_mac_check_mac_en_be() 81 test_bit(RTW89_FLAG_CMAC1_FUNC, rtwdev->flags)) in rtw89_mac_check_mac_en_be() 87 static bool is_qta_poh(struct rtw89_dev *rtwdev) in is_qta_poh() argument 89 return rtwdev->hci.type == RTW89_HCI_TYPE_PCIE; in is_qta_poh() 92 static void hfc_get_mix_info_be(struct rtw89_dev *rtwdev) in hfc_get_mix_info_be() argument 94 struct rtw89_hfc_param *param = &rtwdev->mac.hfc_param; in hfc_get_mix_info_be() 98 const struct rtw89_chip_info *chip = rtwdev->chip; in hfc_get_mix_info_be() 101 val = rtw89_read32(rtwdev, R_BE_PUB_PAGE_INFO1); in hfc_get_mix_info_be() [all …]
|
| H A D | mac.c | 42 static void rtw89_mac_mem_write(struct rtw89_dev *rtwdev, u32 offset, in rtw89_mac_mem_write() argument 45 const struct rtw89_mac_gen_def *mac = rtwdev->chip->mac_def; in rtw89_mac_mem_write() 46 u32 addr = rtw89_mac_mem_base_addrs(rtwdev, sel) + offset; in rtw89_mac_mem_write() 48 rtw89_write32(rtwdev, mac->filter_model_addr, addr); in rtw89_mac_mem_write() 49 rtw89_write32(rtwdev, mac->indir_access_addr, val); in rtw89_mac_mem_write() 52 static u32 rtw89_mac_mem_read(struct rtw89_dev *rtwdev, u32 offset, in rtw89_mac_mem_read() argument 55 const struct rtw89_mac_gen_def *mac = rtwdev->chip->mac_def; in rtw89_mac_mem_read() 56 u32 addr = rtw89_mac_mem_base_addrs(rtwdev, sel) + offset; in rtw89_mac_mem_read() 58 rtw89_write32(rtwdev, mac->filter_model_addr, addr); in rtw89_mac_mem_read() 59 return rtw89_read32(rtwdev, mac->indir_access_addr); in rtw89_mac_mem_read() [all …]
|
| H A D | rtw8852c_rfk.c | 80 static u8 _kpath(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx) in _kpath() argument 82 rtw89_debug(rtwdev, RTW89_DBG_RFK, "[RFK]dbcc_en: %x, PHY%d\n", in _kpath() 83 rtwdev->dbcc_en, phy_idx); in _kpath() 85 if (!rtwdev->dbcc_en) in _kpath() 94 static void _rfk_backup_bb_reg(struct rtw89_dev *rtwdev, u32 backup_bb_reg_val[]) in _rfk_backup_bb_reg() argument 100 rtw89_phy_read32_mask(rtwdev, rtw8852c_backup_bb_regs[i], in _rfk_backup_bb_reg() 102 rtw89_debug(rtwdev, RTW89_DBG_RFK, in _rfk_backup_bb_reg() 108 static void _rfk_backup_rf_reg(struct rtw89_dev *rtwdev, u32 backup_rf_reg_val[], in _rfk_backup_rf_reg() argument 115 rtw89_read_rf(rtwdev, rf_path, in _rfk_backup_rf_reg() 117 rtw89_debug(rtwdev, RTW89_DBG_RFK, in _rfk_backup_rf_reg() [all …]
|
| H A D | pci_be.c | 22 static void rtw89_pci_aspm_set_be(struct rtw89_dev *rtwdev, bool enable) in rtw89_pci_aspm_set_be() argument 24 struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv; in rtw89_pci_aspm_set_be() 31 rtw89_warn(rtwdev, "failed to read ASPM Delay\n"); in rtw89_pci_aspm_set_be() 37 rtw89_warn(rtwdev, "failed to write ASPM Delay\n"); in rtw89_pci_aspm_set_be() 40 rtw89_write32_set(rtwdev, R_AX_PCIE_MIX_CFG_V1, in rtw89_pci_aspm_set_be() 43 rtw89_write32_clr(rtwdev, R_AX_PCIE_MIX_CFG_V1, in rtw89_pci_aspm_set_be() 47 static void rtw89_pci_l1ss_set_be(struct rtw89_dev *rtwdev, bool enable) in rtw89_pci_l1ss_set_be() argument 49 enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id; in rtw89_pci_l1ss_set_be() 50 struct rtw89_hal *hal = &rtwdev->hal; in rtw89_pci_l1ss_set_be() 53 rtw89_write32_set(rtwdev, R_BE_PCIE_PS_CTRL, in rtw89_pci_l1ss_set_be() [all …]
|
| H A D | rtw8852b_common.c | 175 static void rtw8852bx_efuse_parsing_tssi(struct rtw89_dev *rtwdev, in rtw8852bx_efuse_parsing_tssi() argument 178 struct rtw89_tssi_info *tssi = &rtwdev->tssi; in rtw8852bx_efuse_parsing_tssi() 190 rtw89_debug(rtwdev, RTW89_DBG_TSSI, in rtw8852bx_efuse_parsing_tssi() 200 rtw89_debug(rtwdev, RTW89_DBG_TSSI, in rtw8852bx_efuse_parsing_tssi() 216 static void rtw8852bx_efuse_parsing_gain_offset(struct rtw89_dev *rtwdev, in rtw8852bx_efuse_parsing_gain_offset() argument 219 struct rtw89_phy_efuse_gain *gain = &rtwdev->efuse_gain; in rtw8852bx_efuse_parsing_gain_offset() 241 static int __rtw8852bx_read_efuse(struct rtw89_dev *rtwdev, u8 *log_map, in __rtw8852bx_read_efuse() argument 244 struct rtw89_efuse *efuse = &rtwdev->efuse; in __rtw8852bx_read_efuse() 251 rtw8852bx_efuse_parsing_tssi(rtwdev, map); in __rtw8852bx_read_efuse() 252 rtw8852bx_efuse_parsing_gain_offset(rtwdev, map); in __rtw8852bx_read_efuse() [all …]
|
| H A D | pci.c | 22 static int rtw89_pci_get_phy_offset_by_link_speed(struct rtw89_dev *rtwdev, in rtw89_pci_get_phy_offset_by_link_speed() argument 25 struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv; in rtw89_pci_get_phy_offset_by_link_speed() 40 rtw89_warn(rtwdev, "Unknown PCI link speed %d\n", val); in rtw89_pci_get_phy_offset_by_link_speed() 47 static int rtw89_pci_rst_bdram_ax(struct rtw89_dev *rtwdev) in rtw89_pci_rst_bdram_ax() argument 52 rtw89_write32_set(rtwdev, R_AX_PCIE_INIT_CFG1, B_AX_RST_BDRAM); in rtw89_pci_rst_bdram_ax() 56 rtwdev, R_AX_PCIE_INIT_CFG1); in rtw89_pci_rst_bdram_ax() 61 static u32 rtw89_pci_dma_recalc(struct rtw89_dev *rtwdev, in rtw89_pci_dma_recalc() argument 65 const struct rtw89_pci_info *info = rtwdev->pci_info; in rtw89_pci_dma_recalc() 87 static u32 rtw89_pci_txbd_recalc(struct rtw89_dev *rtwdev, in rtw89_pci_txbd_recalc() argument 94 idx = rtw89_read32(rtwdev, addr_idx); in rtw89_pci_txbd_recalc() [all …]
|
| H A D | rtw8852c.c | 321 static void rtw8852c_ctrl_btg_bt_rx(struct rtw89_dev *rtwdev, bool en, 324 static void rtw8852c_ctrl_tx_path_tmac(struct rtw89_dev *rtwdev, u8 tx_path, 327 static int rtw8852c_pwr_on_func(struct rtw89_dev *rtwdev) in rtw8852c_pwr_on_func() argument 332 val32 = rtw89_read32_mask(rtwdev, R_AX_SYS_STATUS1, B_AX_PAD_HCI_SEL_V2_MASK); in rtw8852c_pwr_on_func() 334 rtwdev->hci.type == RTW89_HCI_TYPE_USB) in rtw8852c_pwr_on_func() 335 rtw89_write32_set(rtwdev, R_AX_LDO_AON_CTRL0, B_AX_PD_REGU_L); in rtw8852c_pwr_on_func() 337 rtw89_write32_clr(rtwdev, R_AX_SYS_PW_CTRL, B_AX_AFSM_WLSUS_EN | in rtw8852c_pwr_on_func() 339 rtw89_write32_set(rtwdev, R_AX_SYS_PW_CTRL, B_AX_DIS_WLBT_PDNSUSEN_SOPC); in rtw8852c_pwr_on_func() 340 rtw89_write32_set(rtwdev, R_AX_WLLPS_CTRL, B_AX_DIS_WLBT_LPSEN_LOPC); in rtw8852c_pwr_on_func() 341 rtw89_write32_clr(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APDM_HPDN); in rtw8852c_pwr_on_func() [all …]
|
| H A D | phy_be.c | 238 static u32 rtw89_phy0_phy1_offset_be(struct rtw89_dev *rtwdev, u32 addr) in rtw89_phy0_phy1_offset_be() argument 256 static u32 rtw89_phy0_phy1_offset_be_v1(struct rtw89_dev *rtwdev, u32 addr) in rtw89_phy0_phy1_offset_be_v1() argument 290 rtw89_phy_cfg_bb_gain_error_be(struct rtw89_dev *rtwdev, in rtw89_phy_cfg_bb_gain_error_be() argument 293 struct rtw89_phy_bb_gain_info_be *gain = &rtwdev->bb_gain.be; in rtw89_phy_cfg_bb_gain_error_be() 314 rtw89_warn(rtwdev, in rtw89_phy_cfg_bb_gain_error_be() 322 rtw89_phy_cfg_bb_rpl_ofst_be(struct rtw89_dev *rtwdev, in rtw89_phy_cfg_bb_rpl_ofst_be() argument 325 struct rtw89_phy_bb_gain_info_be *gain = &rtwdev->bb_gain.be; in rtw89_phy_cfg_bb_rpl_ofst_be() 355 rtw89_warn(rtwdev, in rtw89_phy_cfg_bb_rpl_ofst_be() 363 rtw89_phy_cfg_bb_gain_op1db_be(struct rtw89_dev *rtwdev, in rtw89_phy_cfg_bb_gain_op1db_be() argument 366 struct rtw89_phy_bb_gain_info_be *gain = &rtwdev->bb_gain.be; in rtw89_phy_cfg_bb_gain_op1db_be() [all …]
|
| H A D | rtw8852b_common.h | 117 int (*mac_enable_bb_rf)(struct rtw89_dev *rtwdev); 118 int (*mac_disable_bb_rf)(struct rtw89_dev *rtwdev); 119 void (*bb_sethw)(struct rtw89_dev *rtwdev); 120 void (*bb_reset_all)(struct rtw89_dev *rtwdev, enum rtw89_phy_idx phy_idx); 121 void (*bb_cfg_txrx_path)(struct rtw89_dev *rtwdev); 122 void (*bb_cfg_tx_path)(struct rtw89_dev *rtwdev, u8 tx_path); 123 void (*bb_ctrl_rx_path)(struct rtw89_dev *rtwdev, 126 void (*bb_set_plcp_tx)(struct rtw89_dev *rtwdev); 127 void (*bb_set_power)(struct rtw89_dev *rtwdev, s16 pwr_dbm, 129 void (*bb_set_pmac_pkt_tx)(struct rtw89_dev *rtwdev, u8 enable, [all …]
|
| H A D | rtw8851b.c | 404 static int rtw8851b_pwr_on_func(struct rtw89_dev *rtwdev) in rtw8851b_pwr_on_func() argument 410 rtw89_write32_clr(rtwdev, R_AX_SYS_PW_CTRL, B_AX_AFSM_WLSUS_EN | in rtw8851b_pwr_on_func() 412 rtw89_write32_set(rtwdev, R_AX_SYS_PW_CTRL, B_AX_DIS_WLBT_PDNSUSEN_SOPC); in rtw8851b_pwr_on_func() 413 rtw89_write32_set(rtwdev, R_AX_WLLPS_CTRL, B_AX_DIS_WLBT_LPSEN_LOPC); in rtw8851b_pwr_on_func() 414 rtw89_write32_clr(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APDM_HPDN); in rtw8851b_pwr_on_func() 415 rtw89_write32_clr(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APFM_SWLPS); in rtw8851b_pwr_on_func() 418 1000, 20000, false, rtwdev, R_AX_SYS_PW_CTRL); in rtw8851b_pwr_on_func() 422 rtw89_write32_set(rtwdev, R_AX_SYS_PW_CTRL, B_AX_EN_WLON); in rtw8851b_pwr_on_func() 423 rtw89_write32_set(rtwdev, R_AX_SYS_PW_CTRL, B_AX_APFN_ONMAC); in rtw8851b_pwr_on_func() 426 1000, 20000, false, rtwdev, R_AX_SYS_PW_CTRL); in rtw8851b_pwr_on_func() [all …]
|
| H A D | mac80211.c | 23 struct rtw89_dev *rtwdev = hw->priv; in rtw89_ops_tx() local 34 rtw89_debug(rtwdev, RTW89_DBG_TXRX, "ops_tx during offchan\n"); in rtw89_ops_tx() 39 ret = rtw89_core_tx_write(rtwdev, vif, sta, skb, &qsel); in rtw89_ops_tx() 41 rtw89_err(rtwdev, "failed to transmit skb: %d\n", ret); in rtw89_ops_tx() 45 rtw89_core_tx_kick_off(rtwdev, qsel); in rtw89_ops_tx() 51 struct rtw89_dev *rtwdev = hw->priv; in rtw89_ops_wake_tx_queue() local 54 queue_work(rtwdev->txq_wq, &rtwdev->txq_work); in rtw89_ops_wake_tx_queue() 59 struct rtw89_dev *rtwdev = hw->priv; in rtw89_ops_start() local 63 return rtw89_core_start(rtwdev); in rtw89_ops_start() 68 struct rtw89_dev *rtwdev = hw->priv; in rtw89_ops_stop() local [all …]
|
| H A D | wow.c | 15 void __rtw89_wow_parse_akm(struct rtw89_dev *rtwdev, struct sk_buff *skb) in __rtw89_wow_parse_akm() argument 18 struct rtw89_wow_param *rtw_wow = &rtwdev->wow; in __rtw89_wow_parse_akm() 62 static int _pn_to_iv(struct rtw89_dev *rtwdev, struct ieee80211_key_conf *key, in _pn_to_iv() argument 92 static int rtw89_rx_pn_to_iv(struct rtw89_dev *rtwdev, in rtw89_rx_pn_to_iv() argument 123 err = _pn_to_iv(rtwdev, key, iv, pn, key->keyidx); in rtw89_rx_pn_to_iv() 127 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%llx to iv-%*ph\n", in rtw89_rx_pn_to_iv() 133 static int rtw89_tx_pn_to_iv(struct rtw89_dev *rtwdev, in rtw89_tx_pn_to_iv() argument 141 err = _pn_to_iv(rtwdev, key, iv, pn, key->keyidx); in rtw89_tx_pn_to_iv() 145 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%llx to iv-%*ph\n", in rtw89_tx_pn_to_iv() 151 static int _iv_to_pn(struct rtw89_dev *rtwdev, u8 *iv, u64 *pn, u8 *key_id, in _iv_to_pn() argument [all …]
|
| H A D | rtw8922a.c | 445 static void rtw8922a_ctrl_btg_bt_rx(struct rtw89_dev *rtwdev, bool en, in rtw8922a_ctrl_btg_bt_rx() argument 449 rtw89_phy_write32_idx(rtwdev, R_BT_SHARE_A, B_BT_SHARE_A, 0x1, phy_idx); in rtw8922a_ctrl_btg_bt_rx() 450 rtw89_phy_write32_idx(rtwdev, R_BT_SHARE_A, B_BTG_PATH_A, 0x0, phy_idx); in rtw8922a_ctrl_btg_bt_rx() 451 rtw89_phy_write32_idx(rtwdev, R_BT_SHARE_B, B_BT_SHARE_B, 0x1, phy_idx); in rtw8922a_ctrl_btg_bt_rx() 452 rtw89_phy_write32_idx(rtwdev, R_BT_SHARE_B, B_BTG_PATH_B, 0x1, phy_idx); in rtw8922a_ctrl_btg_bt_rx() 453 rtw89_phy_write32_idx(rtwdev, R_LNA_OP, B_LNA6, 0x20, phy_idx); in rtw8922a_ctrl_btg_bt_rx() 454 rtw89_phy_write32_idx(rtwdev, R_LNA_TIA, B_TIA0_B, 0x30, phy_idx); in rtw8922a_ctrl_btg_bt_rx() 455 rtw89_phy_write32_idx(rtwdev, R_PMAC_GNT, B_PMAC_GNT_P1, 0x0, phy_idx); in rtw8922a_ctrl_btg_bt_rx() 456 rtw89_phy_write32_idx(rtwdev, R_ANT_CHBW, B_ANT_BT_SHARE, 0x1, phy_idx); in rtw8922a_ctrl_btg_bt_rx() 457 rtw89_phy_write32_idx(rtwdev, R_FC0INV_SBW, B_RX_BT_SG0, 0x2, phy_idx); in rtw8922a_ctrl_btg_bt_rx() [all …]
|
| /linux/drivers/net/wireless/realtek/rtw88/ |
| H A D | ps.c | 13 static int rtw_ips_pwr_up(struct rtw_dev *rtwdev) in rtw_ips_pwr_up() argument 17 ret = rtw_core_start(rtwdev); in rtw_ips_pwr_up() 19 rtw_err(rtwdev, "leave idle state failed\n"); in rtw_ips_pwr_up() 21 rtw_coex_ips_notify(rtwdev, COEX_IPS_LEAVE); in rtw_ips_pwr_up() 22 rtw_set_channel(rtwdev); in rtw_ips_pwr_up() 27 int rtw_enter_ips(struct rtw_dev *rtwdev) in rtw_enter_ips() argument 29 if (!test_bit(RTW_FLAG_POWERON, rtwdev->flags)) in rtw_enter_ips() 32 rtw_coex_ips_notify(rtwdev, COEX_IPS_ENTER); in rtw_enter_ips() 34 rtw_core_stop(rtwdev); in rtw_enter_ips() 35 rtw_hci_link_ps(rtwdev, true); in rtw_enter_ips() [all …]
|
| H A D | rtw8814a.c | 19 static void rtw8814a_efuse_grant(struct rtw_dev *rtwdev, bool on) in rtw8814a_efuse_grant() argument 22 rtw_write8(rtwdev, REG_EFUSE_ACCESS, EFUSE_ACCESS_ON); in rtw8814a_efuse_grant() 24 rtw_write16_set(rtwdev, REG_SYS_FUNC_EN, BIT_FEN_ELDR); in rtw8814a_efuse_grant() 25 rtw_write16_set(rtwdev, REG_SYS_CLKR, in rtw8814a_efuse_grant() 28 rtw_write8(rtwdev, REG_EFUSE_ACCESS, EFUSE_ACCESS_OFF); in rtw8814a_efuse_grant() 32 static void rtw8814a_read_rfe_type(struct rtw_dev *rtwdev) in rtw8814a_read_rfe_type() argument 34 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8814a_read_rfe_type() 39 if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE) in rtw8814a_read_rfe_type() 41 else if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB) in rtw8814a_read_rfe_type() 45 static void rtw8814a_read_amplifier_type(struct rtw_dev *rtwdev) in rtw8814a_read_amplifier_type() argument [all …]
|
| H A D | rtw88xxa.c | 18 void rtw88xxa_efuse_grant(struct rtw_dev *rtwdev, bool on) in rtw88xxa_efuse_grant() argument 21 rtw_write8(rtwdev, REG_EFUSE_ACCESS, EFUSE_ACCESS_ON); in rtw88xxa_efuse_grant() 23 rtw_write16_set(rtwdev, REG_SYS_FUNC_EN, BIT_FEN_ELDR); in rtw88xxa_efuse_grant() 24 rtw_write16_set(rtwdev, REG_SYS_CLKR, in rtw88xxa_efuse_grant() 27 rtw_write8(rtwdev, REG_EFUSE_ACCESS, EFUSE_ACCESS_OFF); in rtw88xxa_efuse_grant() 32 static void rtw8812a_read_amplifier_type(struct rtw_dev *rtwdev) in rtw8812a_read_amplifier_type() argument 34 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8812a_read_amplifier_type() 80 static void rtw8812a_read_rfe_type(struct rtw_dev *rtwdev, in rtw8812a_read_rfe_type() argument 83 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8812a_read_rfe_type() 86 if (rtwdev->hci.type == RTW_HCI_TYPE_USB) in rtw8812a_read_rfe_type() [all …]
|
| H A D | wow.c | 13 static void rtw_wow_show_wakeup_reason(struct rtw_dev *rtwdev) in rtw_wow_show_wakeup_reason() argument 21 reason = rtw_read8(rtwdev, REG_WOWLAN_WAKE_REASON); in rtw_wow_show_wakeup_reason() 26 rtw_dbg(rtwdev, RTW_DBG_WOW, "WOW: Rx deauth\n"); in rtw_wow_show_wakeup_reason() 30 rtw_dbg(rtwdev, RTW_DBG_WOW, "WOW: AP is off\n"); in rtw_wow_show_wakeup_reason() 34 rtw_dbg(rtwdev, RTW_DBG_WOW, "WOW: Rx magic packet\n"); in rtw_wow_show_wakeup_reason() 38 rtw_dbg(rtwdev, RTW_DBG_WOW, "WOW: Rx gtk rekey\n"); in rtw_wow_show_wakeup_reason() 45 rtw_dbg(rtwdev, RTW_DBG_WOW, "WOW: Rx pattern match packet\n"); in rtw_wow_show_wakeup_reason() 53 rtw_dbg(rtwdev, RTW_DBG_WOW, "Rx NLO\n"); in rtw_wow_show_wakeup_reason() 56 rtw_warn(rtwdev, "Unknown wakeup reason %x\n", reason); in rtw_wow_show_wakeup_reason() 57 ieee80211_report_wowlan_wakeup(rtwdev->wow.wow_vif, NULL, in rtw_wow_show_wakeup_reason() [all …]
|
| H A D | mac.c | 12 void rtw_set_channel_mac(struct rtw_dev *rtwdev, u8 channel, u8 bw, in rtw_set_channel_mac() argument 26 rtw_write8(rtwdev, REG_DATA_SC, in rtw_set_channel_mac() 29 value32 = rtw_read32(rtwdev, REG_WMAC_TRXPTCL_CTL); in rtw_set_channel_mac() 42 rtw_write32(rtwdev, REG_WMAC_TRXPTCL_CTL, value32); in rtw_set_channel_mac() 44 if (rtw_chip_wcpu_8051(rtwdev)) in rtw_set_channel_mac() 47 value32 = rtw_read32(rtwdev, REG_AFE_CTRL1) & ~(BIT_MAC_CLK_SEL); in rtw_set_channel_mac() 49 rtw_write32(rtwdev, REG_AFE_CTRL1, value32); in rtw_set_channel_mac() 51 rtw_write8(rtwdev, REG_USTIME_TSF, MAC_CLK_SPEED); in rtw_set_channel_mac() 52 rtw_write8(rtwdev, REG_USTIME_EDCA, MAC_CLK_SPEED); in rtw_set_channel_mac() 54 value8 = rtw_read8(rtwdev, REG_CCK_CHECK); in rtw_set_channel_mac() [all …]
|
| H A D | rtw8812a.c | 14 static void rtw8812a_power_off(struct rtw_dev *rtwdev) in rtw8812a_power_off() argument 16 rtw88xxa_power_off(rtwdev, enter_lps_flow_8812a); in rtw8812a_power_off() 58 static void rtw8812a_query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status, in rtw8812a_query_phy_status() argument 61 rtw88xxa_query_phy_status(rtwdev, phy_status, pkt_stat, in rtw8812a_query_phy_status() 67 if (rtwdev->hal.cck_high_power) in rtw8812a_query_phy_status() 77 static void rtw8812a_cfg_ldo25(struct rtw_dev *rtwdev, bool enable) in rtw8812a_cfg_ldo25() argument 81 static void rtw8812a_do_lck(struct rtw_dev *rtwdev) in rtw8812a_do_lck() argument 85 cont_tx = rtw_read32_mask(rtwdev, REG_SINGLE_TONE_CONT_TX, 0x70000); in rtw8812a_do_lck() 87 lc_cal = rtw_read_rf(rtwdev, RF_PATH_A, RF_CFGCH, RFREG_MASK); in rtw8812a_do_lck() 90 rtw_write8(rtwdev, REG_TXPAUSE, 0xff); in rtw8812a_do_lck() [all …]
|
| H A D | rtw8822c.c | 23 static void rtw8822c_config_trx_mode(struct rtw_dev *rtwdev, u8 tx_path, 44 static int rtw8822c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map) in rtw8822c_read_efuse() argument 46 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8822c_read_efuse() 70 switch (rtw_hci_type(rtwdev)) { in rtw8822c_read_efuse() 88 static void rtw8822c_header_file_init(struct rtw_dev *rtwdev, bool pre) in rtw8822c_header_file_init() argument 90 rtw_write32_set(rtwdev, REG_3WIRE, BIT_3WIRE_TX_EN | BIT_3WIRE_RX_EN); in rtw8822c_header_file_init() 91 rtw_write32_set(rtwdev, REG_3WIRE, BIT_3WIRE_PI_ON); in rtw8822c_header_file_init() 92 rtw_write32_set(rtwdev, REG_3WIRE2, BIT_3WIRE_TX_EN | BIT_3WIRE_RX_EN); in rtw8822c_header_file_init() 93 rtw_write32_set(rtwdev, REG_3WIRE2, BIT_3WIRE_PI_ON); in rtw8822c_header_file_init() 96 rtw_write32_clr(rtwdev, REG_ENCCK, BIT_CCK_OFDM_BLK_EN); in rtw8822c_header_file_init() [all …]
|
| H A D | mac80211.c | 22 struct rtw_dev *rtwdev = hw->priv; in rtw_ops_tx() local 24 if (!test_bit(RTW_FLAG_RUNNING, rtwdev->flags)) { in rtw_ops_tx() 29 rtw_tx(rtwdev, control, skb); in rtw_ops_tx() 35 struct rtw_dev *rtwdev = hw->priv; in rtw_ops_wake_tx_queue() local 38 if (!test_bit(RTW_FLAG_RUNNING, rtwdev->flags)) in rtw_ops_wake_tx_queue() 41 spin_lock_bh(&rtwdev->txq_lock); in rtw_ops_wake_tx_queue() 43 list_add_tail(&rtwtxq->list, &rtwdev->txqs); in rtw_ops_wake_tx_queue() 44 spin_unlock_bh(&rtwdev->txq_lock); in rtw_ops_wake_tx_queue() 48 __rtw_tx_work(rtwdev); in rtw_ops_wake_tx_queue() 50 queue_work(rtwdev->tx_wq, &rtwdev->tx_work); in rtw_ops_wake_tx_queue() [all …]
|
| H A D | rtw8821c.c | 48 static int rtw8821c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map) in rtw8821c_read_efuse() argument 50 struct rtw_hal *hal = &rtwdev->hal; in rtw8821c_read_efuse() 51 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8821c_read_efuse() 90 if (rtwdev->efuse.rfe_option == 2 || rtwdev->efuse.rfe_option == 4) in rtw8821c_read_efuse() 93 switch (rtw_hci_type(rtwdev)) { in rtw8821c_read_efuse() 118 static u8 rtw8821c_get_swing_index(struct rtw_dev *rtwdev) in rtw8821c_get_swing_index() argument 123 swing = rtw_read32_mask(rtwdev, REG_TXSCALE_A, 0xffe00000); in rtw8821c_get_swing_index() 133 static void rtw8821c_pwrtrack_init(struct rtw_dev *rtwdev) in rtw8821c_pwrtrack_init() argument 135 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8821c_pwrtrack_init() 136 u8 swing_idx = rtw8821c_get_swing_index(rtwdev); in rtw8821c_pwrtrack_init() [all …]
|