rtwdev             12 drivers/net/wireless/realtek/rtw88/coex.c static u8 rtw_coex_next_rssi_state(struct rtw_dev *rtwdev, u8 pre_state,
rtwdev             15 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev             35 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_limited_tx(struct rtw_dev *rtwdev,
rtwdev             38 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev             39 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev             52 drivers/net/wireless/realtek/rtw88/coex.c 		coex_stat->darfrc = rtw_read32(rtwdev, REG_DARFRC);
rtwdev             53 drivers/net/wireless/realtek/rtw88/coex.c 		coex_stat->darfrch = rtw_read32(rtwdev, REG_DARFRCH);
rtwdev             54 drivers/net/wireless/realtek/rtw88/coex.c 		coex_stat->retry_limit = rtw_read16(rtwdev, REG_RETRY_LIMIT);
rtwdev             59 drivers/net/wireless/realtek/rtw88/coex.c 				rtw_read8(rtwdev, REG_AMPDU_MAX_TIME_V1);
rtwdev             68 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write8_set(rtwdev, REG_TX_HANG_CTRL, BIT_EN_GNT_BT_AWAKE);
rtwdev             73 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write8_set(rtwdev, REG_LIFETIME_EN, 0xf);
rtwdev             74 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write16(rtwdev, REG_RETRY_LIMIT, 0x0808);
rtwdev             78 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_write32(rtwdev, REG_DARFRC, 0x1000000);
rtwdev             79 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_write32(rtwdev, REG_DARFRCH, 0x1010101);
rtwdev             81 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_write32(rtwdev, REG_DARFRC, 0x1000000);
rtwdev             82 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_write32(rtwdev, REG_DARFRCH, 0x4030201);
rtwdev             85 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write8_clr(rtwdev, REG_TX_HANG_CTRL, BIT_EN_GNT_BT_AWAKE);
rtwdev             86 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write8_clr(rtwdev, REG_LIFETIME_EN, 0xf);
rtwdev             88 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write16(rtwdev, REG_RETRY_LIMIT, coex_stat->retry_limit);
rtwdev             89 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write32(rtwdev, REG_DARFRC, coex_stat->darfrc);
rtwdev             90 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write32(rtwdev, REG_DARFRCH, coex_stat->darfrch);
rtwdev             94 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write8(rtwdev, REG_AMPDU_MAX_TIME_V1, 0x20);
rtwdev             96 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write8(rtwdev, REG_AMPDU_MAX_TIME_V1,
rtwdev            100 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_limited_wl(struct rtw_dev *rtwdev)
rtwdev            102 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            118 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_limited_tx(rtwdev, tx_limit, tx_agg_ctrl);
rtwdev            121 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_wl_ccklock_action(struct rtw_dev *rtwdev)
rtwdev            123 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            134 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_fw_bt_wifi_control(rtwdev, para[0], &para[1]);
rtwdev            149 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_fw_bt_wifi_control(rtwdev, para[0], &para[1]);
rtwdev            155 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_fw_bt_wifi_control(rtwdev, para[0], &para[1]);
rtwdev            160 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_wl_ccklock_detect(struct rtw_dev *rtwdev)
rtwdev            162 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            171 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_wl_noisy_detect(struct rtw_dev *rtwdev)
rtwdev            173 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            175 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            217 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_tdma_timer_base(struct rtw_dev *rtwdev, u8 type)
rtwdev            219 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            235 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_fw_bt_wifi_control(rtwdev, para[0], &para[1]);
rtwdev            239 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_wl_ccklock_action(rtwdev);
rtwdev            242 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_wl_pri_mask(struct rtw_dev *rtwdev, u8 bitmap,
rtwdev            250 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_write8_mask(rtwdev, addr, BIT(bitmap), data);
rtwdev            253 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_write_scbd(struct rtw_dev *rtwdev, u16 bitpos, bool set)
rtwdev            255 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            256 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            283 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write16(rtwdev, REG_WIFI_BT_INFO, val);
rtwdev            287 drivers/net/wireless/realtek/rtw88/coex.c static u16 rtw_coex_read_scbd(struct rtw_dev *rtwdev)
rtwdev            289 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            294 drivers/net/wireless/realtek/rtw88/coex.c 	return (rtw_read16(rtwdev, REG_WIFI_BT_INFO)) & ~(BIT_BT_INT_EN);
rtwdev            297 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_check_rfk(struct rtw_dev *rtwdev)
rtwdev            299 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            300 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            312 drivers/net/wireless/realtek/rtw88/coex.c 			btk = !!(rtw_coex_read_scbd(rtwdev) & COEX_SCBD_BT_RFK);
rtwdev            315 drivers/net/wireless/realtek/rtw88/coex.c 			wlk = !!(rtw_read8(rtwdev, REG_ARFR4) & BIT_WL_RFK);
rtwdev            328 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_query_bt_info(struct rtw_dev *rtwdev)
rtwdev            330 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            336 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_fw_query_bt_info(rtwdev);
rtwdev            339 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_monitor_bt_enable(struct rtw_dev *rtwdev)
rtwdev            341 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            342 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            349 drivers/net/wireless/realtek/rtw88/coex.c 		score_board = rtw_coex_read_scbd(rtwdev);
rtwdev            354 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_dbg(rtwdev, RTW_DBG_COEX, "coex: BT state changed (%d) -> (%d)\n",
rtwdev            364 drivers/net/wireless/realtek/rtw88/coex.c 		ieee80211_queue_delayed_work(rtwdev->hw,
rtwdev            372 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_update_wl_link_info(struct rtw_dev *rtwdev, u8 reason)
rtwdev            374 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            377 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            378 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_traffic_stats *stats = &rtwdev->stats;
rtwdev            386 drivers/net/wireless/realtek/rtw88/coex.c 	scan = rtw_flag_check(rtwdev, RTW_FLAG_SCANNING);
rtwdev            387 drivers/net/wireless/realtek/rtw88/coex.c 	coex_stat->wl_connected = !!rtwdev->sta_cnt;
rtwdev            388 drivers/net/wireless/realtek/rtw88/coex.c 	coex_stat->wl_gl_busy = rtw_flag_check(rtwdev, RTW_FLAG_BUSY_TRAFFIC);
rtwdev            401 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_wl_noisy_detect(rtwdev);
rtwdev            406 drivers/net/wireless/realtek/rtw88/coex.c 		rssi = rtwdev->dm_info.min_rssi;
rtwdev            407 drivers/net/wireless/realtek/rtw88/coex.c 		rssi_state = rtw_coex_next_rssi_state(rtwdev, rssi_state,
rtwdev            426 drivers/net/wireless/realtek/rtw88/coex.c 		if (rtwdev->hal.current_band_type == RTW_BAND_5G)
rtwdev            447 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_info_response(struct rtw_dev *rtwdev, struct sk_buff *skb)
rtwdev            449 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            459 drivers/net/wireless/realtek/rtw88/coex.c static struct sk_buff *rtw_coex_info_request(struct rtw_dev *rtwdev,
rtwdev            462 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            467 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_fw_query_bt_mp_info(rtwdev, req);
rtwdev            471 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_err(rtwdev, "coex request time out\n");
rtwdev            477 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_err(rtwdev, "failed to get coex info response\n");
rtwdev            486 drivers/net/wireless/realtek/rtw88/coex.c static bool rtw_coex_get_bt_scan_type(struct rtw_dev *rtwdev, u8 *scan_type)
rtwdev            494 drivers/net/wireless/realtek/rtw88/coex.c 	skb = rtw_coex_info_request(rtwdev, &req);
rtwdev            507 drivers/net/wireless/realtek/rtw88/coex.c static bool rtw_coex_set_lna_constrain_level(struct rtw_dev *rtwdev,
rtwdev            516 drivers/net/wireless/realtek/rtw88/coex.c 	skb = rtw_coex_info_request(rtwdev, &req);
rtwdev            527 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_update_bt_link_info(struct rtw_dev *rtwdev)
rtwdev            529 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            532 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            543 drivers/net/wireless/realtek/rtw88/coex.c 		rssi_state = rtw_coex_next_rssi_state(rtwdev, rssi_state,
rtwdev            551 drivers/net/wireless/realtek/rtw88/coex.c 		rssi = rtwdev->dm_info.min_rssi;
rtwdev            552 drivers/net/wireless/realtek/rtw88/coex.c 		rssi_state = rtw_coex_next_rssi_state(rtwdev, rssi_state,
rtwdev            561 drivers/net/wireless/realtek/rtw88/coex.c 		if (rtw_coex_get_bt_scan_type(rtwdev, &scan_type)) {
rtwdev            631 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_dbg(rtwdev, RTW_DBG_COEX, "coex: bt status(%d)\n", coex_dm->bt_status);
rtwdev            634 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_update_wl_ch_info(struct rtw_dev *rtwdev, u8 type)
rtwdev            636 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            637 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex_dm *coex_dm = &rtwdev->coex.dm;
rtwdev            638 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            644 drivers/net/wireless/realtek/rtw88/coex.c 	bw = rtwdev->hal.current_band_width;
rtwdev            647 drivers/net/wireless/realtek/rtw88/coex.c 		center_chan = rtwdev->hal.current_channel;
rtwdev            673 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_fw_wl_ch_info(rtwdev, link, center_chan, bw);
rtwdev            676 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_bt_tx_power(struct rtw_dev *rtwdev, u8 bt_pwr_dec_lvl)
rtwdev            678 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            686 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_fw_force_bt_tx_power(rtwdev, bt_pwr_dec_lvl);
rtwdev            689 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_bt_rx_gain(struct rtw_dev *rtwdev, u8 bt_lna_lvl)
rtwdev            691 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            701 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_lna_constrain_level(rtwdev, bt_lna_lvl);
rtwdev            702 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_RXGAIN, true);
rtwdev            704 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_RXGAIN, false);
rtwdev            708 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_rf_para(struct rtw_dev *rtwdev,
rtwdev            711 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            718 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_wl_tx_power(rtwdev, para.wl_pwr_dec_lvl);
rtwdev            719 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_bt_tx_power(rtwdev, para.bt_pwr_dec_lvl + offset);
rtwdev            720 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_wl_rx_gain(rtwdev, para.wl_low_gain_en);
rtwdev            721 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_bt_rx_gain(rtwdev, para.bt_lna_lvl);
rtwdev            724 drivers/net/wireless/realtek/rtw88/coex.c u32 rtw_coex_read_indirect_reg(struct rtw_dev *rtwdev, u16 addr)
rtwdev            728 drivers/net/wireless/realtek/rtw88/coex.c 	if (!ltecoex_read_reg(rtwdev, addr, &val)) {
rtwdev            729 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_err(rtwdev, "failed to read indirect register\n");
rtwdev            736 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_write_indirect_reg(struct rtw_dev *rtwdev, u16 addr,
rtwdev            742 drivers/net/wireless/realtek/rtw88/coex.c 	tmp = rtw_coex_read_indirect_reg(rtwdev, addr);
rtwdev            745 drivers/net/wireless/realtek/rtw88/coex.c 	if (!ltecoex_reg_write(rtwdev, addr, tmp))
rtwdev            746 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_err(rtwdev, "failed to write indirect register\n");
rtwdev            749 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_coex_ctrl_owner(struct rtw_dev *rtwdev, bool wifi_control)
rtwdev            752 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write32_set(rtwdev, REG_SYS_SDIO_CTRL, BIT_LTE_MUX_CTRL_PATH);
rtwdev            754 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write32_clr(rtwdev, REG_SYS_SDIO_CTRL, BIT_LTE_MUX_CTRL_PATH);
rtwdev            757 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_gnt_bt(struct rtw_dev *rtwdev, u8 state)
rtwdev            759 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_write_indirect_reg(rtwdev, 0x38, 0xc000, state);
rtwdev            760 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_write_indirect_reg(rtwdev, 0x38, 0x0c00, state);
rtwdev            763 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_gnt_wl(struct rtw_dev *rtwdev, u8 state)
rtwdev            765 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_write_indirect_reg(rtwdev, 0x38, 0x3000, state);
rtwdev            766 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_write_indirect_reg(rtwdev, 0x38, 0x0300, state);
rtwdev            769 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_table(struct rtw_dev *rtwdev, u32 table0, u32 table1)
rtwdev            772 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_write32(rtwdev, REG_BT_COEX_TABLE0, table0);
rtwdev            773 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_write32(rtwdev, REG_BT_COEX_TABLE1, table1);
rtwdev            774 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_write32(rtwdev, REG_BT_COEX_BRK_TABLE, DEF_BRK_TABLE_VAL);
rtwdev            777 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_table(struct rtw_dev *rtwdev, u8 type)
rtwdev            779 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            781 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            782 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            788 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_set_table(rtwdev,
rtwdev            794 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_set_table(rtwdev,
rtwdev            800 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_ignore_wlan_act(struct rtw_dev *rtwdev, bool enable)
rtwdev            802 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            807 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_fw_bt_ignore_wlan_action(rtwdev, enable);
rtwdev            810 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_power_save_state(struct rtw_dev *rtwdev, u8 ps_type,
rtwdev            813 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_lps_conf *lps_conf = &rtwdev->lps_conf;
rtwdev            815 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            819 drivers/net/wireless/realtek/rtw88/coex.c 	lps_mode = rtwdev->lps_conf.mode;
rtwdev            827 drivers/net/wireless/realtek/rtw88/coex.c 		if (rtwvif && rtw_in_lps(rtwdev))
rtwdev            828 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_leave_lps(rtwdev, rtwvif);
rtwdev            833 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_fw_coex_tdma_type(rtwdev, 0x8, 0, 0, 0, 0);
rtwdev            836 drivers/net/wireless/realtek/rtw88/coex.c 		if (rtwvif && rtw_in_lps(rtwdev))
rtwdev            837 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_leave_lps(rtwdev, rtwvif);
rtwdev            844 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_tdma(struct rtw_dev *rtwdev, u8 byte1, u8 byte2,
rtwdev            847 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            849 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            861 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_power_save_state(rtwdev, ps_type, 0x0, 0x0);
rtwdev            867 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_power_save_state(rtwdev, ps_type, 0x50, 0x4);
rtwdev            870 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_power_save_state(rtwdev, ps_type, 0x0, 0x0);
rtwdev            879 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_fw_coex_tdma_type(rtwdev, byte1, byte2, byte3, byte4, byte5);
rtwdev            882 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_tdma(struct rtw_dev *rtwdev, bool force, u32 tcase)
rtwdev            884 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            886 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            887 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            892 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_tdma_timer_base(rtwdev, 3);
rtwdev            894 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_tdma_timer_base(rtwdev, 0);
rtwdev            909 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_write8_set(rtwdev, REG_BCN_CTRL, BIT_EN_BCN_FUNCTION);
rtwdev            910 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_TDMA, true);
rtwdev            912 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_TDMA, false);
rtwdev            917 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_set_tdma(rtwdev,
rtwdev            926 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_set_tdma(rtwdev,
rtwdev            938 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_dbg(rtwdev, RTW_DBG_COEX, "coex: coex tdma type (%d)\n", type);
rtwdev            941 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_set_ant_path(struct rtw_dev *rtwdev, bool force, u8 phase)
rtwdev            943 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            955 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_check_rfk(rtwdev);
rtwdev            961 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_coex_ctrl_owner(rtwdev, true);
rtwdev            963 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_coex_ctrl_owner(rtwdev, false);
rtwdev            971 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_set_gnt_bt(rtwdev, COEX_GNT_SET_SW_LOW);
rtwdev            974 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_set_gnt_wl(rtwdev, COEX_GNT_SET_SW_HIGH);
rtwdev            977 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_set_gnt_bt(rtwdev, COEX_GNT_SET_SW_HIGH);
rtwdev            980 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_set_gnt_wl(rtwdev, COEX_GNT_SET_SW_LOW);
rtwdev            984 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_coex_ctrl_owner(rtwdev, true);
rtwdev            991 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_bt(rtwdev, COEX_GNT_SET_SW_LOW);
rtwdev            994 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_wl(rtwdev, COEX_GNT_SET_SW_HIGH);
rtwdev            997 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_coex_ctrl_owner(rtwdev, true);
rtwdev           1004 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_coex_ctrl_owner(rtwdev, false);
rtwdev           1011 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_bt(rtwdev, COEX_GNT_SET_HW_PTA);
rtwdev           1014 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_wl(rtwdev, COEX_GNT_SET_HW_PTA);
rtwdev           1017 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_coex_ctrl_owner(rtwdev, true);
rtwdev           1024 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_bt(rtwdev, COEX_GNT_SET_SW_HIGH);
rtwdev           1027 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_wl(rtwdev, COEX_GNT_SET_SW_HIGH);
rtwdev           1030 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_coex_ctrl_owner(rtwdev, true);
rtwdev           1037 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_bt(rtwdev, COEX_GNT_SET_SW_HIGH);
rtwdev           1040 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_wl(rtwdev, COEX_GNT_SET_SW_HIGH);
rtwdev           1043 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_coex_ctrl_owner(rtwdev, true);
rtwdev           1050 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_bt(rtwdev, COEX_GNT_SET_HW_PTA);
rtwdev           1053 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_gnt_wl(rtwdev, COEX_GNT_SET_HW_PTA);
rtwdev           1056 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_coex_ctrl_owner(rtwdev, true);
rtwdev           1067 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_switch(rtwdev, ctrl_type, pos_type);
rtwdev           1070 drivers/net/wireless/realtek/rtw88/coex.c static u8 rtw_coex_algorithm(struct rtw_dev *rtwdev)
rtwdev           1072 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1133 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_coex_all_off(struct rtw_dev *rtwdev)
rtwdev           1135 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1136 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1149 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1150 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1151 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1154 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_freerun(struct rtw_dev *rtwdev)
rtwdev           1156 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1159 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1160 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1169 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_update_wl_ch_info(rtwdev, COEX_MEDIA_CONNECT);
rtwdev           1171 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G_FREERUN);
rtwdev           1173 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_write_scbd(rtwdev, COEX_SCBD_FIX2M, false);
rtwdev           1188 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_tx[level]);
rtwdev           1190 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[level]);
rtwdev           1192 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, 100);
rtwdev           1193 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, 100);
rtwdev           1196 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_whql_test(struct rtw_dev *rtwdev)
rtwdev           1198 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1199 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1212 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1213 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1214 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1215 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1218 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_relink(struct rtw_dev *rtwdev)
rtwdev           1220 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1221 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1234 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1235 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1236 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1237 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1240 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_idle(struct rtw_dev *rtwdev)
rtwdev           1242 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1245 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1246 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1263 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G_FREERUN);
rtwdev           1264 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_table(rtwdev, table_case);
rtwdev           1265 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1269 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1298 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1299 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1300 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1303 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_inquiry(struct rtw_dev *rtwdev)
rtwdev           1305 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1307 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1308 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1361 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_dbg(rtwdev, RTW_DBG_COEX, "coex: wifi hi(%d), bt page(%d)\n",
rtwdev           1364 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1365 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1366 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1367 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case | slot_type);
rtwdev           1370 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_hfp(struct rtw_dev *rtwdev)
rtwdev           1372 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1374 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1375 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1398 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1399 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1400 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1401 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1404 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_hid(struct rtw_dev *rtwdev)
rtwdev           1406 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1408 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1409 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1413 drivers/net/wireless/realtek/rtw88/coex.c 	wl_bw = rtwdev->hal.current_band_width;
rtwdev           1463 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1464 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1465 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1466 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1469 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_a2dp(struct rtw_dev *rtwdev)
rtwdev           1471 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1474 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1475 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1502 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1503 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1504 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1505 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case | slot_type);
rtwdev           1508 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_a2dpsink(struct rtw_dev *rtwdev)
rtwdev           1510 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1512 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1513 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1538 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1539 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1540 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1541 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1544 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_pan(struct rtw_dev *rtwdev)
rtwdev           1546 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1548 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1549 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1573 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1574 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1575 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1576 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1579 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_a2dp_hid(struct rtw_dev *rtwdev)
rtwdev           1581 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1584 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1585 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1616 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1617 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1618 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1619 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case | slot_type);
rtwdev           1622 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_a2dp_pan(struct rtw_dev *rtwdev)
rtwdev           1624 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1626 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1627 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1652 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1653 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1654 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1655 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1658 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_pan_hid(struct rtw_dev *rtwdev)
rtwdev           1660 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1662 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1663 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1684 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1685 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1686 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1687 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1690 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_bt_a2dp_pan_hid(struct rtw_dev *rtwdev)
rtwdev           1692 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1694 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1695 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1716 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, false, COEX_SET_ANT_2G);
rtwdev           1717 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1718 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1719 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1722 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_wl_under5g(struct rtw_dev *rtwdev)
rtwdev           1724 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1725 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1728 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_write_scbd(rtwdev, COEX_SCBD_FIX2M, false);
rtwdev           1740 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_5G);
rtwdev           1741 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1742 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1743 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1746 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_wl_only(struct rtw_dev *rtwdev)
rtwdev           1748 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1749 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1762 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_2G);
rtwdev           1763 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1764 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1765 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1768 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_wl_native_lps(struct rtw_dev *rtwdev)
rtwdev           1770 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1771 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1772 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1788 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_2G);
rtwdev           1789 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1790 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1791 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1794 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_wl_linkscan(struct rtw_dev *rtwdev)
rtwdev           1796 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1798 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1799 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1824 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_2G);
rtwdev           1825 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1826 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1827 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case | slot_type);
rtwdev           1830 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_wl_not_connected(struct rtw_dev *rtwdev)
rtwdev           1832 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1833 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1846 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_2G);
rtwdev           1847 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
rtwdev           1848 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, table_case);
rtwdev           1849 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, false, tdma_case);
rtwdev           1852 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_action_wl_connected(struct rtw_dev *rtwdev)
rtwdev           1854 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1857 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1864 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_freerun(rtwdev);
rtwdev           1868 drivers/net/wireless/realtek/rtw88/coex.c 	algorithm = rtw_coex_algorithm(rtwdev);
rtwdev           1872 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_hfp(rtwdev);
rtwdev           1875 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_hid(rtwdev);
rtwdev           1879 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_action_bt_a2dpsink(rtwdev);
rtwdev           1881 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_action_bt_a2dp(rtwdev);
rtwdev           1884 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_pan(rtwdev);
rtwdev           1887 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_a2dp_hid(rtwdev);
rtwdev           1890 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_a2dp_pan(rtwdev);
rtwdev           1893 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_pan_hid(rtwdev);
rtwdev           1896 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_a2dp_pan_hid(rtwdev);
rtwdev           1900 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_idle(rtwdev);
rtwdev           1905 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_run_coex(struct rtw_dev *rtwdev, u8 reason)
rtwdev           1907 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1911 drivers/net/wireless/realtek/rtw88/coex.c 	lockdep_assert_held(&rtwdev->mutex);
rtwdev           1916 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_update_wl_link_info(rtwdev, reason);
rtwdev           1918 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_monitor_bt_enable(rtwdev);
rtwdev           1935 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_wl_under5g(rtwdev);
rtwdev           1940 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_write_scbd(rtwdev, COEX_SCBD_FIX2M, false);
rtwdev           1942 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_wl_only(rtwdev);
rtwdev           1947 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_wl_native_lps(rtwdev);
rtwdev           1952 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_whql_test(rtwdev);
rtwdev           1957 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_relink(rtwdev);
rtwdev           1962 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_inquiry(rtwdev);
rtwdev           1969 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_bt_idle(rtwdev);
rtwdev           1974 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_wl_linkscan(rtwdev);
rtwdev           1979 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_wl_connected(rtwdev);
rtwdev           1981 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_wl_not_connected(rtwdev);
rtwdev           1984 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_gnt_fix(rtwdev);
rtwdev           1985 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_limited_wl(rtwdev);
rtwdev           1988 drivers/net/wireless/realtek/rtw88/coex.c static void rtw_coex_init_coex_var(struct rtw_dev *rtwdev)
rtwdev           1990 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2013 drivers/net/wireless/realtek/rtw88/coex.c static void __rtw_coex_init_hw_config(struct rtw_dev *rtwdev, bool wifi_only)
rtwdev           2015 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2017 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_init_coex_var(rtwdev);
rtwdev           2018 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_monitor_bt_enable(rtwdev);
rtwdev           2019 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rfe_type(rtwdev);
rtwdev           2020 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_init(rtwdev);
rtwdev           2023 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_wl_pri_mask(rtwdev, COEX_WLPRI_TX_RSP, 1);
rtwdev           2026 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_wl_pri_mask(rtwdev, COEX_WLPRI_TX_BEACON, 1);
rtwdev           2029 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_wl_pri_mask(rtwdev, COEX_WLPRI_TX_BEACONQ, 1);
rtwdev           2033 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_WOFF);
rtwdev           2034 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ALL, false);
rtwdev           2037 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_WONLY);
rtwdev           2038 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE | COEX_SCBD_SCAN,
rtwdev           2042 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_INIT);
rtwdev           2043 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE | COEX_SCBD_SCAN,
rtwdev           2050 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_table(rtwdev, 0);
rtwdev           2051 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_tdma(rtwdev, true, 0);
rtwdev           2052 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_query_bt_info(rtwdev);
rtwdev           2055 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_power_on_setting(struct rtw_dev *rtwdev)
rtwdev           2057 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2063 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_write8_set(rtwdev, REG_SYS_FUNC_EN, BIT(0) | BIT(1));
rtwdev           2065 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_monitor_bt_enable(rtwdev);
rtwdev           2066 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_rfe_type(rtwdev);
rtwdev           2069 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_POWERON);
rtwdev           2072 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_write8(rtwdev, 0xff1a, 0x0);
rtwdev           2075 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_init_hw_config(struct rtw_dev *rtwdev, bool wifi_only)
rtwdev           2077 drivers/net/wireless/realtek/rtw88/coex.c 	__rtw_coex_init_hw_config(rtwdev, wifi_only);
rtwdev           2080 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_ips_notify(struct rtw_dev *rtwdev, u8 type)
rtwdev           2082 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2092 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ALL, false);
rtwdev           2094 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_WOFF);
rtwdev           2095 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_action_coex_all_off(rtwdev);
rtwdev           2097 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE | COEX_SCBD_ONOFF, true);
rtwdev           2100 drivers/net/wireless/realtek/rtw88/coex.c 		__rtw_coex_init_hw_config(rtwdev, false);
rtwdev           2107 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_lps_notify(struct rtw_dev *rtwdev, u8 type)
rtwdev           2109 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2120 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE, true);
rtwdev           2123 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE, false);
rtwdev           2125 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_run_coex(rtwdev, COEX_RSN_LPS);
rtwdev           2131 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE, true);
rtwdev           2134 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_query_bt_info(rtwdev);
rtwdev           2138 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_scan_notify(struct rtw_dev *rtwdev, u8 type)
rtwdev           2140 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2149 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE | COEX_SCBD_SCAN |
rtwdev           2153 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_5G);
rtwdev           2154 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_5GSCANSTART);
rtwdev           2159 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_2G);
rtwdev           2160 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_2GSCANSTART);
rtwdev           2163 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_SCANFINISH);
rtwdev           2167 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_switchband_notify(struct rtw_dev *rtwdev, u8 type)
rtwdev           2169 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2175 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_5GSWITCHBAND);
rtwdev           2177 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_2GSWITCHBAND);
rtwdev           2179 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_scan_notify(rtwdev, COEX_SCAN_START_2G);
rtwdev           2182 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_connect_notify(struct rtw_dev *rtwdev, u8 type)
rtwdev           2184 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2190 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE | COEX_SCBD_SCAN |
rtwdev           2194 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_5G);
rtwdev           2195 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_5GCONSTART);
rtwdev           2197 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_5G);
rtwdev           2198 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_5GCONFINISH);
rtwdev           2204 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_2G);
rtwdev           2206 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_2GCONSTART);
rtwdev           2212 drivers/net/wireless/realtek/rtw88/coex.c 		ieee80211_queue_delayed_work(rtwdev->hw, &coex->defreeze_work,
rtwdev           2218 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_2GCONFINISH);
rtwdev           2222 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_media_status_notify(struct rtw_dev *rtwdev, u8 type)
rtwdev           2224 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2232 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE, true);
rtwdev           2234 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_5G);
rtwdev           2235 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_5GMEDIA);
rtwdev           2237 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE, true);
rtwdev           2240 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_ant_path(rtwdev, true, COEX_SET_ANT_2G);
rtwdev           2243 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_wl_pri_mask(rtwdev, COEX_WLPRI_RX_CCK, 1);
rtwdev           2248 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_fw_bt_wifi_control(rtwdev, para[0], &para[1]);
rtwdev           2250 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_2GMEDIA);
rtwdev           2252 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_ACTIVE, false);
rtwdev           2254 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_set_wl_pri_mask(rtwdev, COEX_WLPRI_RX_CCK, 0);
rtwdev           2256 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_MEDIADISCON);
rtwdev           2259 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_update_wl_ch_info(rtwdev, type);
rtwdev           2262 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_bt_info_notify(struct rtw_dev *rtwdev, u8 *buf, u8 length)
rtwdev           2264 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2266 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           2285 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_monitor_bt_enable(rtwdev);
rtwdev           2288 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_run_coex(rtwdev, COEX_RSN_BTINFO);
rtwdev           2298 drivers/net/wireless/realtek/rtw88/coex.c 			ieee80211_queue_delayed_work(rtwdev->hw,
rtwdev           2312 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_update_bt_link_info(rtwdev);
rtwdev           2313 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_run_coex(rtwdev, COEX_RSN_BTINFO);
rtwdev           2352 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_write_scbd(rtwdev, COEX_SCBD_SCAN, true);
rtwdev           2354 drivers/net/wireless/realtek/rtw88/coex.c 			rtw_coex_write_scbd(rtwdev, COEX_SCBD_SCAN, false);
rtwdev           2356 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_SCAN, false);
rtwdev           2383 drivers/net/wireless/realtek/rtw88/coex.c 		ieee80211_queue_delayed_work(rtwdev->hw,
rtwdev           2403 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_update_wl_ch_info(rtwdev, type);
rtwdev           2409 drivers/net/wireless/realtek/rtw88/coex.c 		rtw_coex_ignore_wlan_act(rtwdev, false);
rtwdev           2431 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_update_bt_link_info(rtwdev);
rtwdev           2432 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_run_coex(rtwdev, COEX_RSN_BTINFO);
rtwdev           2435 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_wl_fwdbginfo_notify(struct rtw_dev *rtwdev, u8 *buf, u8 length)
rtwdev           2437 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2459 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_wl_ccklock_action(rtwdev);
rtwdev           2460 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_wl_ccklock_detect(rtwdev);
rtwdev           2463 drivers/net/wireless/realtek/rtw88/coex.c void rtw_coex_wl_status_change_notify(struct rtw_dev *rtwdev)
rtwdev           2465 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2470 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_run_coex(rtwdev, COEX_RSN_WLSTATUS);
rtwdev           2475 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_dev *rtwdev = container_of(work, struct rtw_dev,
rtwdev           2477 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat;
rtwdev           2479 drivers/net/wireless/realtek/rtw88/coex.c 	mutex_lock(&rtwdev->mutex);
rtwdev           2481 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_run_coex(rtwdev, COEX_RSN_WLSTATUS);
rtwdev           2482 drivers/net/wireless/realtek/rtw88/coex.c 	mutex_unlock(&rtwdev->mutex);
rtwdev           2487 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_dev *rtwdev = container_of(work, struct rtw_dev,
rtwdev           2489 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat;
rtwdev           2491 drivers/net/wireless/realtek/rtw88/coex.c 	mutex_lock(&rtwdev->mutex);
rtwdev           2493 drivers/net/wireless/realtek/rtw88/coex.c 	mutex_unlock(&rtwdev->mutex);
rtwdev           2498 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_dev *rtwdev = container_of(work, struct rtw_dev,
rtwdev           2500 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2501 drivers/net/wireless/realtek/rtw88/coex.c 	struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat;
rtwdev           2503 drivers/net/wireless/realtek/rtw88/coex.c 	mutex_lock(&rtwdev->mutex);
rtwdev           2506 drivers/net/wireless/realtek/rtw88/coex.c 	rtw_coex_run_coex(rtwdev, COEX_RSN_WLSTATUS);
rtwdev           2507 drivers/net/wireless/realtek/rtw88/coex.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            294 drivers/net/wireless/realtek/rtw88/coex.h static inline void rtw_coex_set_init(struct rtw_dev *rtwdev)
rtwdev            296 drivers/net/wireless/realtek/rtw88/coex.h 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            298 drivers/net/wireless/realtek/rtw88/coex.h 	chip->ops->coex_set_init(rtwdev);
rtwdev            302 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_set_ant_switch(struct rtw_dev *rtwdev, u8 ctrl_type, u8 pos_type)
rtwdev            304 drivers/net/wireless/realtek/rtw88/coex.h 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            309 drivers/net/wireless/realtek/rtw88/coex.h 	chip->ops->coex_set_ant_switch(rtwdev, ctrl_type, pos_type);
rtwdev            312 drivers/net/wireless/realtek/rtw88/coex.h static inline void rtw_coex_set_gnt_fix(struct rtw_dev *rtwdev)
rtwdev            314 drivers/net/wireless/realtek/rtw88/coex.h 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            316 drivers/net/wireless/realtek/rtw88/coex.h 	chip->ops->coex_set_gnt_fix(rtwdev);
rtwdev            319 drivers/net/wireless/realtek/rtw88/coex.h static inline void rtw_coex_set_gnt_debug(struct rtw_dev *rtwdev)
rtwdev            321 drivers/net/wireless/realtek/rtw88/coex.h 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            323 drivers/net/wireless/realtek/rtw88/coex.h 	chip->ops->coex_set_gnt_debug(rtwdev);
rtwdev            326 drivers/net/wireless/realtek/rtw88/coex.h static inline  void rtw_coex_set_rfe_type(struct rtw_dev *rtwdev)
rtwdev            328 drivers/net/wireless/realtek/rtw88/coex.h 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            330 drivers/net/wireless/realtek/rtw88/coex.h 	chip->ops->coex_set_rfe_type(rtwdev);
rtwdev            333 drivers/net/wireless/realtek/rtw88/coex.h static inline void rtw_coex_set_wl_tx_power(struct rtw_dev *rtwdev, u8 wl_pwr)
rtwdev            335 drivers/net/wireless/realtek/rtw88/coex.h 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            337 drivers/net/wireless/realtek/rtw88/coex.h 	chip->ops->coex_set_wl_tx_power(rtwdev, wl_pwr);
rtwdev            341 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_set_wl_rx_gain(struct rtw_dev *rtwdev, bool low_gain)
rtwdev            343 drivers/net/wireless/realtek/rtw88/coex.h 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            345 drivers/net/wireless/realtek/rtw88/coex.h 	chip->ops->coex_set_wl_rx_gain(rtwdev, low_gain);
rtwdev            348 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_info_response(struct rtw_dev *rtwdev, struct sk_buff *skb);
rtwdev            349 drivers/net/wireless/realtek/rtw88/coex.h u32 rtw_coex_read_indirect_reg(struct rtw_dev *rtwdev, u16 addr);
rtwdev            350 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_write_indirect_reg(struct rtw_dev *rtwdev, u16 addr,
rtwdev            352 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_write_scbd(struct rtw_dev *rtwdev, u16 bitpos, bool set);
rtwdev            358 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_power_on_setting(struct rtw_dev *rtwdev);
rtwdev            359 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_init_hw_config(struct rtw_dev *rtwdev, bool wifi_only);
rtwdev            360 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_ips_notify(struct rtw_dev *rtwdev, u8 type);
rtwdev            361 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_lps_notify(struct rtw_dev *rtwdev, u8 type);
rtwdev            362 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_scan_notify(struct rtw_dev *rtwdev, u8 type);
rtwdev            363 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_connect_notify(struct rtw_dev *rtwdev, u8 action);
rtwdev            364 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_media_status_notify(struct rtw_dev *rtwdev, u8 status);
rtwdev            365 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_bt_info_notify(struct rtw_dev *rtwdev, u8 *buf, u8 len);
rtwdev            366 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_wl_fwdbginfo_notify(struct rtw_dev *rtwdev, u8 *buf, u8 length);
rtwdev            367 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_switchband_notify(struct rtw_dev *rtwdev, u8 type);
rtwdev            368 drivers/net/wireless/realtek/rtw88/coex.h void rtw_coex_wl_status_change_notify(struct rtw_dev *rtwdev);
rtwdev             16 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev;
rtwdev            102 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            109 drivers/net/wireless/realtek/rtw88/debug.c 		val = rtw_read8(rtwdev, addr);
rtwdev            113 drivers/net/wireless/realtek/rtw88/debug.c 		val = rtw_read16(rtwdev, addr);
rtwdev            117 drivers/net/wireless/realtek/rtw88/debug.c 		val = rtw_read32(rtwdev, addr);
rtwdev            127 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            135 drivers/net/wireless/realtek/rtw88/debug.c 	val = rtw_read_rf(rtwdev, path, addr, mask);
rtwdev            168 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            181 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_warn(rtwdev, "read reg setting wrong len\n");
rtwdev            193 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            202 drivers/net/wireless/realtek/rtw88/debug.c 	mutex_lock(&rtwdev->mutex);
rtwdev            205 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_write32(rtwdev, RTW_SEC_CMD_REG, command);
rtwdev            206 drivers/net/wireless/realtek/rtw88/debug.c 		val = rtw_read32(rtwdev, RTW_SEC_READ_REG);
rtwdev            212 drivers/net/wireless/realtek/rtw88/debug.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            219 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            220 drivers/net/wireless/realtek/rtw88/debug.c 	u8 page_size = rtwdev->chip->page_size;
rtwdev            231 drivers/net/wireless/realtek/rtw88/debug.c 	ret = rtw_dump_drv_rsvd_page(rtwdev, offset, buf_size, (u32 *)buf);
rtwdev            233 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_err(rtwdev, "failed to dump rsvd page\n");
rtwdev            258 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            268 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_warn(rtwdev, "invalid arguments\n");
rtwdev            284 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            294 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_warn(rtwdev, "kstrtoint failed\n");
rtwdev            308 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            323 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_dbg(rtwdev, RTW_DBG_DEBUGFS,
rtwdev            325 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_write8(rtwdev, addr, (u8)val);
rtwdev            328 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_dbg(rtwdev, RTW_DBG_DEBUGFS,
rtwdev            330 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_write16(rtwdev, addr, (u16)val);
rtwdev            333 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_dbg(rtwdev, RTW_DBG_DEBUGFS,
rtwdev            335 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_write32(rtwdev, addr, (u32)val);
rtwdev            338 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_dbg(rtwdev, RTW_DBG_DEBUGFS,
rtwdev            351 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            361 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_warn(rtwdev, "invalid args, [path] [addr] [mask] [val]\n");
rtwdev            365 drivers/net/wireless/realtek/rtw88/debug.c 	rtw_write_rf(rtwdev, path, addr, mask, val);
rtwdev            366 drivers/net/wireless/realtek/rtw88/debug.c 	rtw_dbg(rtwdev, RTW_DBG_DEBUGFS,
rtwdev            379 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            389 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_warn(rtwdev, "invalid args, [path] [addr] [mask] [val]\n");
rtwdev            403 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            409 drivers/net/wireless/realtek/rtw88/debug.c 	val = rtw_read32(rtwdev, debugfs_priv->cb_data);
rtwdev            414 drivers/net/wireless/realtek/rtw88/debug.c 				   rtw_read32(rtwdev, (page | n)));
rtwdev            423 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            429 drivers/net/wireless/realtek/rtw88/debug.c 	val = rtw_read32(rtwdev, debugfs_priv->cb_data);
rtwdev            434 drivers/net/wireless/realtek/rtw88/debug.c 				   rtw_read32(rtwdev, (page | n)));
rtwdev            443 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            447 drivers/net/wireless/realtek/rtw88/debug.c 	for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
rtwdev            452 drivers/net/wireless/realtek/rtw88/debug.c 				data = rtw_read_rf(rtwdev, path, addr + offset,
rtwdev            504 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
rtwdev            505 drivers/net/wireless/realtek/rtw88/debug.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            511 drivers/net/wireless/realtek/rtw88/debug.c 	u8 regd = rtwdev->regd.txpwr_regd;
rtwdev            549 drivers/net/wireless/realtek/rtw88/debug.c 			rtw_get_tx_power_params(rtwdev, path, rate, bw,
rtwdev            658 drivers/net/wireless/realtek/rtw88/debug.c 		rtw_debug_priv_ ##name.rtwdev = rtwdev;			\
rtwdev            673 drivers/net/wireless/realtek/rtw88/debug.c void rtw_debugfs_init(struct rtw_dev *rtwdev)
rtwdev            678 drivers/net/wireless/realtek/rtw88/debug.c 					    rtwdev->hw->wiphy->debugfsdir);
rtwdev            717 drivers/net/wireless/realtek/rtw88/debug.c 	if (rtwdev->chip->id == RTW_CHIP_TYPE_8822C) {
rtwdev            731 drivers/net/wireless/realtek/rtw88/debug.c void __rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask,
rtwdev            743 drivers/net/wireless/realtek/rtw88/debug.c 		dev_printk(KERN_DEBUG, rtwdev->dev, "%pV", &vaf);
rtwdev             25 drivers/net/wireless/realtek/rtw88/debug.h void rtw_debugfs_init(struct rtw_dev *rtwdev);
rtwdev             29 drivers/net/wireless/realtek/rtw88/debug.h static inline void rtw_debugfs_init(struct rtw_dev *rtwdev) {}
rtwdev             36 drivers/net/wireless/realtek/rtw88/debug.h void __rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask,
rtwdev             39 drivers/net/wireless/realtek/rtw88/debug.h #define rtw_dbg(rtwdev, a...) __rtw_dbg(rtwdev, ##a)
rtwdev             43 drivers/net/wireless/realtek/rtw88/debug.h static inline void rtw_dbg(struct rtw_dev *rtwdev, enum rtw_debug_mask mask,
rtwdev             48 drivers/net/wireless/realtek/rtw88/debug.h #define rtw_info(rtwdev, a...) dev_info(rtwdev->dev, ##a)
rtwdev             49 drivers/net/wireless/realtek/rtw88/debug.h #define rtw_warn(rtwdev, a...) dev_warn(rtwdev->dev, ##a)
rtwdev             50 drivers/net/wireless/realtek/rtw88/debug.h #define rtw_err(rtwdev, a...) dev_err(rtwdev->dev, ##a)
rtwdev             12 drivers/net/wireless/realtek/rtw88/efuse.c static void switch_efuse_bank(struct rtw_dev *rtwdev)
rtwdev             14 drivers/net/wireless/realtek/rtw88/efuse.c 	rtw_write32_mask(rtwdev, REG_LDO_EFUSE_CTRL, BIT_MASK_EFUSE_BANK_SEL,
rtwdev             38 drivers/net/wireless/realtek/rtw88/efuse.c static int rtw_dump_logical_efuse_map(struct rtw_dev *rtwdev, u8 *phy_map,
rtwdev             41 drivers/net/wireless/realtek/rtw88/efuse.c 	u32 physical_size = rtwdev->efuse.physical_size;
rtwdev             42 drivers/net/wireless/realtek/rtw88/efuse.c 	u32 protect_size = rtwdev->efuse.protect_size;
rtwdev             43 drivers/net/wireless/realtek/rtw88/efuse.c 	u32 logical_size = rtwdev->efuse.logical_size;
rtwdev             85 drivers/net/wireless/realtek/rtw88/efuse.c static int rtw_dump_physical_efuse_map(struct rtw_dev *rtwdev, u8 *map)
rtwdev             87 drivers/net/wireless/realtek/rtw88/efuse.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev             88 drivers/net/wireless/realtek/rtw88/efuse.c 	u32 size = rtwdev->efuse.physical_size;
rtwdev             93 drivers/net/wireless/realtek/rtw88/efuse.c 	switch_efuse_bank(rtwdev);
rtwdev             96 drivers/net/wireless/realtek/rtw88/efuse.c 	chip->ops->cfg_ldo25(rtwdev, false);
rtwdev             98 drivers/net/wireless/realtek/rtw88/efuse.c 	efuse_ctl = rtw_read32(rtwdev, REG_EFUSE_CTRL);
rtwdev            103 drivers/net/wireless/realtek/rtw88/efuse.c 		rtw_write32(rtwdev, REG_EFUSE_CTRL, efuse_ctl & (~BIT_EF_FLAG));
rtwdev            108 drivers/net/wireless/realtek/rtw88/efuse.c 			efuse_ctl = rtw_read32(rtwdev, REG_EFUSE_CTRL);
rtwdev            119 drivers/net/wireless/realtek/rtw88/efuse.c int rtw_parse_efuse_map(struct rtw_dev *rtwdev)
rtwdev            121 drivers/net/wireless/realtek/rtw88/efuse.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            122 drivers/net/wireless/realtek/rtw88/efuse.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            136 drivers/net/wireless/realtek/rtw88/efuse.c 	ret = rtw_dump_physical_efuse_map(rtwdev, phy_map);
rtwdev            138 drivers/net/wireless/realtek/rtw88/efuse.c 		rtw_err(rtwdev, "failed to dump efuse physical map\n");
rtwdev            143 drivers/net/wireless/realtek/rtw88/efuse.c 	ret = rtw_dump_logical_efuse_map(rtwdev, phy_map, log_map);
rtwdev            145 drivers/net/wireless/realtek/rtw88/efuse.c 		rtw_err(rtwdev, "failed to dump efuse logical map\n");
rtwdev            149 drivers/net/wireless/realtek/rtw88/efuse.c 	ret = chip->ops->read_efuse(rtwdev, log_map);
rtwdev            151 drivers/net/wireless/realtek/rtw88/efuse.c 		rtw_err(rtwdev, "failed to read efuse map\n");
rtwdev             24 drivers/net/wireless/realtek/rtw88/efuse.h int rtw_parse_efuse_map(struct rtw_dev *rtwdev);
rtwdev             12 drivers/net/wireless/realtek/rtw88/fw.c static void rtw_fw_c2h_cmd_handle_ext(struct rtw_dev *rtwdev,
rtwdev             23 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_tx_report_handle(rtwdev, skb);
rtwdev             30 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_c2h_cmd_handle(struct rtw_dev *rtwdev, struct sk_buff *skb)
rtwdev             40 drivers/net/wireless/realtek/rtw88/fw.c 	mutex_lock(&rtwdev->mutex);
rtwdev             44 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_coex_bt_info_notify(rtwdev, c2h->payload, len);
rtwdev             47 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_coex_wl_fwdbginfo_notify(rtwdev, c2h->payload, len);
rtwdev             50 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_fw_c2h_cmd_handle_ext(rtwdev, skb);
rtwdev             56 drivers/net/wireless/realtek/rtw88/fw.c 	mutex_unlock(&rtwdev->mutex);
rtwdev             59 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_c2h_cmd_rx_irqsafe(struct rtw_dev *rtwdev, u32 pkt_offset,
rtwdev             69 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "recv C2H, id=0x%02x, seq=0x%02x, len=%d\n",
rtwdev             74 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_coex_info_response(rtwdev, skb);
rtwdev             79 drivers/net/wireless/realtek/rtw88/fw.c 		skb_queue_tail(&rtwdev->c2h_queue, skb);
rtwdev             80 drivers/net/wireless/realtek/rtw88/fw.c 		ieee80211_queue_work(rtwdev->hw, &rtwdev->c2h_work);
rtwdev             86 drivers/net/wireless/realtek/rtw88/fw.c static void rtw_fw_send_h2c_command(struct rtw_dev *rtwdev,
rtwdev             95 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_dbg(rtwdev, RTW_DBG_FW,
rtwdev            100 drivers/net/wireless/realtek/rtw88/fw.c 	spin_lock(&rtwdev->h2c.lock);
rtwdev            102 drivers/net/wireless/realtek/rtw88/fw.c 	box = rtwdev->h2c.last_box_num;
rtwdev            127 drivers/net/wireless/realtek/rtw88/fw.c 		box_state = rtw_read8(rtwdev, REG_HMETFR);
rtwdev            131 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "failed to send h2c command\n");
rtwdev            136 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_write8(rtwdev, box_reg + idx, h2c[idx]);
rtwdev            138 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_write8(rtwdev, box_ex_reg + idx, h2c[idx + 4]);
rtwdev            140 drivers/net/wireless/realtek/rtw88/fw.c 	if (++rtwdev->h2c.last_box_num >= 4)
rtwdev            141 drivers/net/wireless/realtek/rtw88/fw.c 		rtwdev->h2c.last_box_num = 0;
rtwdev            144 drivers/net/wireless/realtek/rtw88/fw.c 	spin_unlock(&rtwdev->h2c.lock);
rtwdev            147 drivers/net/wireless/realtek/rtw88/fw.c static void rtw_fw_send_h2c_packet(struct rtw_dev *rtwdev, u8 *h2c_pkt)
rtwdev            151 drivers/net/wireless/realtek/rtw88/fw.c 	spin_lock(&rtwdev->h2c.lock);
rtwdev            153 drivers/net/wireless/realtek/rtw88/fw.c 	FW_OFFLOAD_H2C_SET_SEQ_NUM(h2c_pkt, rtwdev->h2c.seq);
rtwdev            154 drivers/net/wireless/realtek/rtw88/fw.c 	ret = rtw_hci_write_data_h2c(rtwdev, h2c_pkt, H2C_PKT_SIZE);
rtwdev            156 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "failed to send h2c packet\n");
rtwdev            157 drivers/net/wireless/realtek/rtw88/fw.c 	rtwdev->h2c.seq++;
rtwdev            159 drivers/net/wireless/realtek/rtw88/fw.c 	spin_unlock(&rtwdev->h2c.lock);
rtwdev            163 drivers/net/wireless/realtek/rtw88/fw.c rtw_fw_send_general_info(struct rtw_dev *rtwdev)
rtwdev            165 drivers/net/wireless/realtek/rtw88/fw.c 	struct rtw_fifo_conf *fifo = &rtwdev->fifo;
rtwdev            177 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);
rtwdev            181 drivers/net/wireless/realtek/rtw88/fw.c rtw_fw_send_phydm_info(struct rtw_dev *rtwdev)
rtwdev            183 drivers/net/wireless/realtek/rtw88/fw.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            184 drivers/net/wireless/realtek/rtw88/fw.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            203 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);
rtwdev            206 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_do_iqk(struct rtw_dev *rtwdev, struct rtw_iqk_para *para)
rtwdev            216 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_packet(rtwdev, h2c_pkt);
rtwdev            219 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_query_bt_info(struct rtw_dev *rtwdev)
rtwdev            227 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            230 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_wl_ch_info(struct rtw_dev *rtwdev, u8 link, u8 ch, u8 bw)
rtwdev            240 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            243 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_query_bt_mp_info(struct rtw_dev *rtwdev,
rtwdev            256 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            259 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_force_bt_tx_power(struct rtw_dev *rtwdev, u8 bt_pwr_dec_lvl)
rtwdev            268 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            271 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_bt_ignore_wlan_action(struct rtw_dev *rtwdev, bool enable)
rtwdev            279 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            282 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_coex_tdma_type(struct rtw_dev *rtwdev,
rtwdev            295 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            298 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_bt_wifi_control(struct rtw_dev *rtwdev, u8 op_code, u8 *data)
rtwdev            312 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            315 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_send_rssi_info(struct rtw_dev *rtwdev, struct rtw_sta_info *si)
rtwdev            327 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            330 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_send_ra_info(struct rtw_dev *rtwdev, struct rtw_sta_info *si)
rtwdev            355 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            358 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_media_status_report(struct rtw_dev *rtwdev, u8 mac_id, bool connect)
rtwdev            366 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            369 drivers/net/wireless/realtek/rtw88/fw.c void rtw_fw_set_pwr_mode(struct rtw_dev *rtwdev)
rtwdev            371 drivers/net/wireless/realtek/rtw88/fw.c 	struct rtw_lps_conf *conf = &rtwdev->lps_conf;
rtwdev            383 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            386 drivers/net/wireless/realtek/rtw88/fw.c static u8 rtw_get_rsvd_page_location(struct rtw_dev *rtwdev,
rtwdev            392 drivers/net/wireless/realtek/rtw88/fw.c 	list_for_each_entry(rsvd_pkt, &rtwdev->rsvd_page_list, list) {
rtwdev            400 drivers/net/wireless/realtek/rtw88/fw.c void rtw_send_rsvd_page_h2c(struct rtw_dev *rtwdev)
rtwdev            407 drivers/net/wireless/realtek/rtw88/fw.c 	location = rtw_get_rsvd_page_location(rtwdev, RSVD_PROBE_RESP);
rtwdev            409 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "RSVD_PROBE_RESP loc: %d\n", location);
rtwdev            411 drivers/net/wireless/realtek/rtw88/fw.c 	location = rtw_get_rsvd_page_location(rtwdev, RSVD_PS_POLL);
rtwdev            413 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "RSVD_PS_POLL loc: %d\n", location);
rtwdev            415 drivers/net/wireless/realtek/rtw88/fw.c 	location = rtw_get_rsvd_page_location(rtwdev, RSVD_NULL);
rtwdev            417 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "RSVD_NULL loc: %d\n", location);
rtwdev            419 drivers/net/wireless/realtek/rtw88/fw.c 	location = rtw_get_rsvd_page_location(rtwdev, RSVD_QOS_NULL);
rtwdev            421 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "RSVD_QOS_NULL loc: %d\n", location);
rtwdev            423 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_fw_send_h2c_command(rtwdev, h2c_pkt);
rtwdev            477 drivers/net/wireless/realtek/rtw88/fw.c static void rtw_fill_rsvd_page_desc(struct rtw_dev *rtwdev, struct sk_buff *skb)
rtwdev            480 drivers/net/wireless/realtek/rtw88/fw.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            484 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_rsvd_page_pkt_info_update(rtwdev, &pkt_info, skb);
rtwdev            495 drivers/net/wireless/realtek/rtw88/fw.c static void rtw_rsvd_page_list_to_buf(struct rtw_dev *rtwdev, u8 page_size,
rtwdev            508 drivers/net/wireless/realtek/rtw88/fw.c void rtw_add_rsvd_page(struct rtw_dev *rtwdev, enum rtw_rsvd_packet_type type,
rtwdev            513 drivers/net/wireless/realtek/rtw88/fw.c 	lockdep_assert_held(&rtwdev->mutex);
rtwdev            515 drivers/net/wireless/realtek/rtw88/fw.c 	list_for_each_entry(rsvd_pkt, &rtwdev->rsvd_page_list, list) {
rtwdev            526 drivers/net/wireless/realtek/rtw88/fw.c 	list_add_tail(&rsvd_pkt->list, &rtwdev->rsvd_page_list);
rtwdev            529 drivers/net/wireless/realtek/rtw88/fw.c void rtw_reset_rsvd_page(struct rtw_dev *rtwdev)
rtwdev            533 drivers/net/wireless/realtek/rtw88/fw.c 	lockdep_assert_held(&rtwdev->mutex);
rtwdev            535 drivers/net/wireless/realtek/rtw88/fw.c 	list_for_each_entry_safe(rsvd_pkt, tmp, &rtwdev->rsvd_page_list, list) {
rtwdev            543 drivers/net/wireless/realtek/rtw88/fw.c int rtw_fw_write_data_rsvd_page(struct rtw_dev *rtwdev, u16 pg_addr,
rtwdev            551 drivers/net/wireless/realtek/rtw88/fw.c 	lockdep_assert_held(&rtwdev->mutex);
rtwdev            557 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write16(rtwdev, REG_FIFOPAGE_CTRL_2, pg_addr | BIT_BCN_VALID_V1);
rtwdev            559 drivers/net/wireless/realtek/rtw88/fw.c 	val = rtw_read8(rtwdev, REG_CR + 1);
rtwdev            562 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write8(rtwdev, REG_CR + 1, val);
rtwdev            564 drivers/net/wireless/realtek/rtw88/fw.c 	val = rtw_read8(rtwdev, REG_FWHW_TXQ_CTRL + 2);
rtwdev            567 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write8(rtwdev, REG_FWHW_TXQ_CTRL + 2, val);
rtwdev            569 drivers/net/wireless/realtek/rtw88/fw.c 	ret = rtw_hci_write_data_rsvd_page(rtwdev, buf, size);
rtwdev            571 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "failed to write data to rsvd page\n");
rtwdev            575 drivers/net/wireless/realtek/rtw88/fw.c 	if (!check_hw_ready(rtwdev, REG_FIFOPAGE_CTRL_2, BIT_BCN_VALID_V1, 1)) {
rtwdev            576 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "error beacon valid\n");
rtwdev            581 drivers/net/wireless/realtek/rtw88/fw.c 	rsvd_pg_head = rtwdev->fifo.rsvd_boundary;
rtwdev            582 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write16(rtwdev, REG_FIFOPAGE_CTRL_2,
rtwdev            584 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write8(rtwdev, REG_FWHW_TXQ_CTRL + 2, bckp[1]);
rtwdev            585 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write8(rtwdev, REG_CR + 1, bckp[0]);
rtwdev            590 drivers/net/wireless/realtek/rtw88/fw.c static int rtw_download_drv_rsvd_page(struct rtw_dev *rtwdev, u8 *buf, u32 size)
rtwdev            596 drivers/net/wireless/realtek/rtw88/fw.c 	pg_size = rtwdev->chip->page_size;
rtwdev            598 drivers/net/wireless/realtek/rtw88/fw.c 	if (pg_num > rtwdev->fifo.rsvd_drv_pg_num)
rtwdev            601 drivers/net/wireless/realtek/rtw88/fw.c 	pg_addr = rtwdev->fifo.rsvd_drv_addr;
rtwdev            603 drivers/net/wireless/realtek/rtw88/fw.c 	return rtw_fw_write_data_rsvd_page(rtwdev, pg_addr, buf, size);
rtwdev            606 drivers/net/wireless/realtek/rtw88/fw.c static u8 *rtw_build_rsvd_page(struct rtw_dev *rtwdev,
rtwdev            609 drivers/net/wireless/realtek/rtw88/fw.c 	struct ieee80211_hw *hw = rtwdev->hw;
rtwdev            610 drivers/net/wireless/realtek/rtw88/fw.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            622 drivers/net/wireless/realtek/rtw88/fw.c 	list_for_each_entry(rsvd_pkt, &rtwdev->rsvd_page_list, list) {
rtwdev            625 drivers/net/wireless/realtek/rtw88/fw.c 			rtw_err(rtwdev, "failed to build rsvd packet\n");
rtwdev            633 drivers/net/wireless/realtek/rtw88/fw.c 			rtw_fill_rsvd_page_desc(rtwdev, iter);
rtwdev            648 drivers/net/wireless/realtek/rtw88/fw.c 				rtw_err(rtwdev, "first page should be a beacon\n");
rtwdev            658 drivers/net/wireless/realtek/rtw88/fw.c 	if (total_page > rtwdev->fifo.rsvd_drv_pg_num) {
rtwdev            659 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "rsvd page over size: %d\n", total_page);
rtwdev            675 drivers/net/wireless/realtek/rtw88/fw.c 	list_for_each_entry(rsvd_pkt, &rtwdev->rsvd_page_list, list) {
rtwdev            676 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_rsvd_page_list_to_buf(rtwdev, page_size, page_margin,
rtwdev            690 drivers/net/wireless/realtek/rtw88/fw.c 	list_for_each_entry(rsvd_pkt, &rtwdev->rsvd_page_list, list)
rtwdev            697 drivers/net/wireless/realtek/rtw88/fw.c rtw_download_beacon(struct rtw_dev *rtwdev, struct ieee80211_vif *vif)
rtwdev            699 drivers/net/wireless/realtek/rtw88/fw.c 	struct ieee80211_hw *hw = rtwdev->hw;
rtwdev            705 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "failed to get beacon skb\n");
rtwdev            710 drivers/net/wireless/realtek/rtw88/fw.c 	ret = rtw_download_drv_rsvd_page(rtwdev, skb->data, skb->len);
rtwdev            712 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "failed to download drv rsvd page\n");
rtwdev            720 drivers/net/wireless/realtek/rtw88/fw.c int rtw_fw_download_rsvd_page(struct rtw_dev *rtwdev, struct ieee80211_vif *vif)
rtwdev            726 drivers/net/wireless/realtek/rtw88/fw.c 	buf = rtw_build_rsvd_page(rtwdev, vif, &size);
rtwdev            728 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "failed to build rsvd page pkt\n");
rtwdev            732 drivers/net/wireless/realtek/rtw88/fw.c 	ret = rtw_download_drv_rsvd_page(rtwdev, buf, size);
rtwdev            734 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "failed to download drv rsvd page\n");
rtwdev            743 drivers/net/wireless/realtek/rtw88/fw.c 	ret = rtw_download_beacon(rtwdev, vif);
rtwdev            745 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_err(rtwdev, "failed to download beacon\n");
rtwdev            755 drivers/net/wireless/realtek/rtw88/fw.c int rtw_dump_drv_rsvd_page(struct rtw_dev *rtwdev,
rtwdev            758 drivers/net/wireless/realtek/rtw88/fw.c 	struct rtw_fifo_conf *fifo = &rtwdev->fifo;
rtwdev            766 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_warn(rtwdev, "should be 4-byte aligned\n");
rtwdev            775 drivers/net/wireless/realtek/rtw88/fw.c 	rcr = rtw_read8(rtwdev, REG_RCR + 2);
rtwdev            776 drivers/net/wireless/realtek/rtw88/fw.c 	ctl = rtw_read16(rtwdev, REG_PKTBUF_DBG_CTRL) & 0xf000;
rtwdev            779 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write8(rtwdev, REG_RCR, rcr | BIT(3));
rtwdev            782 drivers/net/wireless/realtek/rtw88/fw.c 		rtw_write16(rtwdev, REG_PKTBUF_DBG_CTRL, start_pg | ctl);
rtwdev            786 drivers/net/wireless/realtek/rtw88/fw.c 			buf[idx++] = rtw_read32(rtwdev, i);
rtwdev            797 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write16(rtwdev, REG_PKTBUF_DBG_CTRL, ctl);
rtwdev            798 drivers/net/wireless/realtek/rtw88/fw.c 	rtw_write8(rtwdev, REG_RCR + 2, rcr);
rtwdev            265 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_c2h_cmd_rx_irqsafe(struct rtw_dev *rtwdev, u32 pkt_offset,
rtwdev            267 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_c2h_cmd_handle(struct rtw_dev *rtwdev, struct sk_buff *skb);
rtwdev            268 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_send_general_info(struct rtw_dev *rtwdev);
rtwdev            269 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_send_phydm_info(struct rtw_dev *rtwdev);
rtwdev            271 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_do_iqk(struct rtw_dev *rtwdev, struct rtw_iqk_para *para);
rtwdev            272 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_set_pwr_mode(struct rtw_dev *rtwdev);
rtwdev            273 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_query_bt_info(struct rtw_dev *rtwdev);
rtwdev            274 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_wl_ch_info(struct rtw_dev *rtwdev, u8 link, u8 ch, u8 bw);
rtwdev            275 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_query_bt_mp_info(struct rtw_dev *rtwdev,
rtwdev            277 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_force_bt_tx_power(struct rtw_dev *rtwdev, u8 bt_pwr_dec_lvl);
rtwdev            278 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_bt_ignore_wlan_action(struct rtw_dev *rtwdev, bool enable);
rtwdev            279 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_coex_tdma_type(struct rtw_dev *rtwdev,
rtwdev            281 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_bt_wifi_control(struct rtw_dev *rtwdev, u8 op_code, u8 *data);
rtwdev            282 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_send_rssi_info(struct rtw_dev *rtwdev, struct rtw_sta_info *si);
rtwdev            283 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_send_ra_info(struct rtw_dev *rtwdev, struct rtw_sta_info *si);
rtwdev            284 drivers/net/wireless/realtek/rtw88/fw.h void rtw_fw_media_status_report(struct rtw_dev *rtwdev, u8 mac_id, bool conn);
rtwdev            285 drivers/net/wireless/realtek/rtw88/fw.h void rtw_add_rsvd_page(struct rtw_dev *rtwdev, enum rtw_rsvd_packet_type type,
rtwdev            287 drivers/net/wireless/realtek/rtw88/fw.h int rtw_fw_write_data_rsvd_page(struct rtw_dev *rtwdev, u16 pg_addr,
rtwdev            289 drivers/net/wireless/realtek/rtw88/fw.h void rtw_reset_rsvd_page(struct rtw_dev *rtwdev);
rtwdev            290 drivers/net/wireless/realtek/rtw88/fw.h int rtw_fw_download_rsvd_page(struct rtw_dev *rtwdev,
rtwdev            292 drivers/net/wireless/realtek/rtw88/fw.h void rtw_send_rsvd_page_h2c(struct rtw_dev *rtwdev);
rtwdev            293 drivers/net/wireless/realtek/rtw88/fw.h int rtw_dump_drv_rsvd_page(struct rtw_dev *rtwdev,
rtwdev             10 drivers/net/wireless/realtek/rtw88/hci.h 	int (*tx)(struct rtw_dev *rtwdev,
rtwdev             13 drivers/net/wireless/realtek/rtw88/hci.h 	int (*setup)(struct rtw_dev *rtwdev);
rtwdev             14 drivers/net/wireless/realtek/rtw88/hci.h 	int (*start)(struct rtw_dev *rtwdev);
rtwdev             15 drivers/net/wireless/realtek/rtw88/hci.h 	void (*stop)(struct rtw_dev *rtwdev);
rtwdev             17 drivers/net/wireless/realtek/rtw88/hci.h 	int (*write_data_rsvd_page)(struct rtw_dev *rtwdev, u8 *buf, u32 size);
rtwdev             18 drivers/net/wireless/realtek/rtw88/hci.h 	int (*write_data_h2c)(struct rtw_dev *rtwdev, u8 *buf, u32 size);
rtwdev             20 drivers/net/wireless/realtek/rtw88/hci.h 	u8 (*read8)(struct rtw_dev *rtwdev, u32 addr);
rtwdev             21 drivers/net/wireless/realtek/rtw88/hci.h 	u16 (*read16)(struct rtw_dev *rtwdev, u32 addr);
rtwdev             22 drivers/net/wireless/realtek/rtw88/hci.h 	u32 (*read32)(struct rtw_dev *rtwdev, u32 addr);
rtwdev             23 drivers/net/wireless/realtek/rtw88/hci.h 	void (*write8)(struct rtw_dev *rtwdev, u32 addr, u8 val);
rtwdev             24 drivers/net/wireless/realtek/rtw88/hci.h 	void (*write16)(struct rtw_dev *rtwdev, u32 addr, u16 val);
rtwdev             25 drivers/net/wireless/realtek/rtw88/hci.h 	void (*write32)(struct rtw_dev *rtwdev, u32 addr, u32 val);
rtwdev             28 drivers/net/wireless/realtek/rtw88/hci.h static inline int rtw_hci_tx(struct rtw_dev *rtwdev,
rtwdev             32 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.ops->tx(rtwdev, pkt_info, skb);
rtwdev             35 drivers/net/wireless/realtek/rtw88/hci.h static inline int rtw_hci_setup(struct rtw_dev *rtwdev)
rtwdev             37 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.ops->setup(rtwdev);
rtwdev             40 drivers/net/wireless/realtek/rtw88/hci.h static inline int rtw_hci_start(struct rtw_dev *rtwdev)
rtwdev             42 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.ops->start(rtwdev);
rtwdev             45 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_hci_stop(struct rtw_dev *rtwdev)
rtwdev             47 drivers/net/wireless/realtek/rtw88/hci.h 	rtwdev->hci.ops->stop(rtwdev);
rtwdev             51 drivers/net/wireless/realtek/rtw88/hci.h rtw_hci_write_data_rsvd_page(struct rtw_dev *rtwdev, u8 *buf, u32 size)
rtwdev             53 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.ops->write_data_rsvd_page(rtwdev, buf, size);
rtwdev             57 drivers/net/wireless/realtek/rtw88/hci.h rtw_hci_write_data_h2c(struct rtw_dev *rtwdev, u8 *buf, u32 size)
rtwdev             59 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.ops->write_data_h2c(rtwdev, buf, size);
rtwdev             62 drivers/net/wireless/realtek/rtw88/hci.h static inline u8 rtw_read8(struct rtw_dev *rtwdev, u32 addr)
rtwdev             64 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.ops->read8(rtwdev, addr);
rtwdev             67 drivers/net/wireless/realtek/rtw88/hci.h static inline u16 rtw_read16(struct rtw_dev *rtwdev, u32 addr)
rtwdev             69 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.ops->read16(rtwdev, addr);
rtwdev             72 drivers/net/wireless/realtek/rtw88/hci.h static inline u32 rtw_read32(struct rtw_dev *rtwdev, u32 addr)
rtwdev             74 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.ops->read32(rtwdev, addr);
rtwdev             77 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write8(struct rtw_dev *rtwdev, u32 addr, u8 val)
rtwdev             79 drivers/net/wireless/realtek/rtw88/hci.h 	rtwdev->hci.ops->write8(rtwdev, addr, val);
rtwdev             82 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write16(struct rtw_dev *rtwdev, u32 addr, u16 val)
rtwdev             84 drivers/net/wireless/realtek/rtw88/hci.h 	rtwdev->hci.ops->write16(rtwdev, addr, val);
rtwdev             87 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write32(struct rtw_dev *rtwdev, u32 addr, u32 val)
rtwdev             89 drivers/net/wireless/realtek/rtw88/hci.h 	rtwdev->hci.ops->write32(rtwdev, addr, val);
rtwdev             92 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write8_set(struct rtw_dev *rtwdev, u32 addr, u8 bit)
rtwdev             96 drivers/net/wireless/realtek/rtw88/hci.h 	val = rtw_read8(rtwdev, addr);
rtwdev             97 drivers/net/wireless/realtek/rtw88/hci.h 	rtw_write8(rtwdev, addr, val | bit);
rtwdev            100 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write16_set(struct rtw_dev *rtwdev, u32 addr, u16 bit)
rtwdev            104 drivers/net/wireless/realtek/rtw88/hci.h 	val = rtw_read16(rtwdev, addr);
rtwdev            105 drivers/net/wireless/realtek/rtw88/hci.h 	rtw_write16(rtwdev, addr, val | bit);
rtwdev            108 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write32_set(struct rtw_dev *rtwdev, u32 addr, u32 bit)
rtwdev            112 drivers/net/wireless/realtek/rtw88/hci.h 	val = rtw_read32(rtwdev, addr);
rtwdev            113 drivers/net/wireless/realtek/rtw88/hci.h 	rtw_write32(rtwdev, addr, val | bit);
rtwdev            116 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write8_clr(struct rtw_dev *rtwdev, u32 addr, u8 bit)
rtwdev            120 drivers/net/wireless/realtek/rtw88/hci.h 	val = rtw_read8(rtwdev, addr);
rtwdev            121 drivers/net/wireless/realtek/rtw88/hci.h 	rtw_write8(rtwdev, addr, val & ~bit);
rtwdev            124 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write16_clr(struct rtw_dev *rtwdev, u32 addr, u16 bit)
rtwdev            128 drivers/net/wireless/realtek/rtw88/hci.h 	val = rtw_read16(rtwdev, addr);
rtwdev            129 drivers/net/wireless/realtek/rtw88/hci.h 	rtw_write16(rtwdev, addr, val & ~bit);
rtwdev            132 drivers/net/wireless/realtek/rtw88/hci.h static inline void rtw_write32_clr(struct rtw_dev *rtwdev, u32 addr, u32 bit)
rtwdev            136 drivers/net/wireless/realtek/rtw88/hci.h 	val = rtw_read32(rtwdev, addr);
rtwdev            137 drivers/net/wireless/realtek/rtw88/hci.h 	rtw_write32(rtwdev, addr, val & ~bit);
rtwdev            141 drivers/net/wireless/realtek/rtw88/hci.h rtw_read_rf(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev            147 drivers/net/wireless/realtek/rtw88/hci.h 	spin_lock_irqsave(&rtwdev->rf_lock, flags);
rtwdev            148 drivers/net/wireless/realtek/rtw88/hci.h 	val = rtwdev->chip->ops->read_rf(rtwdev, rf_path, addr, mask);
rtwdev            149 drivers/net/wireless/realtek/rtw88/hci.h 	spin_unlock_irqrestore(&rtwdev->rf_lock, flags);
rtwdev            155 drivers/net/wireless/realtek/rtw88/hci.h rtw_write_rf(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev            160 drivers/net/wireless/realtek/rtw88/hci.h 	spin_lock_irqsave(&rtwdev->rf_lock, flags);
rtwdev            161 drivers/net/wireless/realtek/rtw88/hci.h 	rtwdev->chip->ops->write_rf(rtwdev, rf_path, addr, mask, data);
rtwdev            162 drivers/net/wireless/realtek/rtw88/hci.h 	spin_unlock_irqrestore(&rtwdev->rf_lock, flags);
rtwdev            166 drivers/net/wireless/realtek/rtw88/hci.h rtw_read32_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask)
rtwdev            172 drivers/net/wireless/realtek/rtw88/hci.h 	orig = rtw_read32(rtwdev, addr);
rtwdev            179 drivers/net/wireless/realtek/rtw88/hci.h rtw_write32_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 data)
rtwdev            187 drivers/net/wireless/realtek/rtw88/hci.h 	orig = rtw_read32(rtwdev, addr);
rtwdev            189 drivers/net/wireless/realtek/rtw88/hci.h 	rtw_write32(rtwdev, addr, set);
rtwdev            193 drivers/net/wireless/realtek/rtw88/hci.h rtw_write8_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u8 data)
rtwdev            201 drivers/net/wireless/realtek/rtw88/hci.h 	orig = rtw_read8(rtwdev, addr);
rtwdev            203 drivers/net/wireless/realtek/rtw88/hci.h 	rtw_write8(rtwdev, addr, set);
rtwdev            206 drivers/net/wireless/realtek/rtw88/hci.h static inline enum rtw_hci_type rtw_hci_type(struct rtw_dev *rtwdev)
rtwdev            208 drivers/net/wireless/realtek/rtw88/hci.h 	return rtwdev->hci.type;
rtwdev             11 drivers/net/wireless/realtek/rtw88/mac.c void rtw_set_channel_mac(struct rtw_dev *rtwdev, u8 channel, u8 bw,
rtwdev             23 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_DATA_SC,
rtwdev             26 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_WMAC_TRXPTCL_CTL);
rtwdev             39 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_WMAC_TRXPTCL_CTL, value32);
rtwdev             41 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_AFE_CTRL1) & ~(BIT_MAC_CLK_SEL);
rtwdev             43 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_AFE_CTRL1, value32);
rtwdev             45 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_USTIME_TSF, MAC_CLK_SPEED);
rtwdev             46 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_USTIME_EDCA, MAC_CLK_SPEED);
rtwdev             48 drivers/net/wireless/realtek/rtw88/mac.c 	value8 = rtw_read8(rtwdev, REG_CCK_CHECK);
rtwdev             52 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_CCK_CHECK, value8);
rtwdev             55 drivers/net/wireless/realtek/rtw88/mac.c static int rtw_mac_pre_system_cfg(struct rtw_dev *rtwdev)
rtwdev             60 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_RSV_CTRL, 0);
rtwdev             62 drivers/net/wireless/realtek/rtw88/mac.c 	switch (rtw_hci_type(rtwdev)) {
rtwdev             64 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write32_set(rtwdev, REG_HCI_OPT_CTRL, BIT_BT_DIG_CLK_EN);
rtwdev             73 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_PAD_CTRL1);
rtwdev             75 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_PAD_CTRL1, value32);
rtwdev             77 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_LED_CFG);
rtwdev             79 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_LED_CFG, value32);
rtwdev             81 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_GPIO_MUXCFG);
rtwdev             83 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_GPIO_MUXCFG, value32);
rtwdev             86 drivers/net/wireless/realtek/rtw88/mac.c 	value8 = rtw_read8(rtwdev, REG_SYS_FUNC_EN);
rtwdev             88 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_SYS_FUNC_EN, value8);
rtwdev             90 drivers/net/wireless/realtek/rtw88/mac.c 	value8 = rtw_read8(rtwdev, REG_RF_CTRL);
rtwdev             92 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_RF_CTRL, value8);
rtwdev             94 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_WLRF1);
rtwdev             96 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_WLRF1, value32);
rtwdev            101 drivers/net/wireless/realtek/rtw88/mac.c static int rtw_pwr_cmd_polling(struct rtw_dev *rtwdev,
rtwdev            116 drivers/net/wireless/realtek/rtw88/mac.c 		value = rtw_read8(rtwdev, offset);
rtwdev            121 drivers/net/wireless/realtek/rtw88/mac.c 			if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_PCIE &&
rtwdev            123 drivers/net/wireless/realtek/rtw88/mac.c 				value = rtw_read8(rtwdev, REG_SYS_PW_CTRL);
rtwdev            125 drivers/net/wireless/realtek/rtw88/mac.c 				rtw_write8(rtwdev, REG_SYS_PW_CTRL, value);
rtwdev            127 drivers/net/wireless/realtek/rtw88/mac.c 				rtw_write8(rtwdev, REG_SYS_PW_CTRL, value);
rtwdev            139 drivers/net/wireless/realtek/rtw88/mac.c static int rtw_sub_pwr_seq_parser(struct rtw_dev *rtwdev, u8 intf_mask,
rtwdev            158 drivers/net/wireless/realtek/rtw88/mac.c 			value = rtw_read8(rtwdev, offset);
rtwdev            161 drivers/net/wireless/realtek/rtw88/mac.c 			rtw_write8(rtwdev, offset, value);
rtwdev            164 drivers/net/wireless/realtek/rtw88/mac.c 			if (rtw_pwr_cmd_polling(rtwdev, cur_cmd))
rtwdev            183 drivers/net/wireless/realtek/rtw88/mac.c static int rtw_pwr_seq_parser(struct rtw_dev *rtwdev,
rtwdev            193 drivers/net/wireless/realtek/rtw88/mac.c 	cut = rtwdev->hal.cut_version;
rtwdev            195 drivers/net/wireless/realtek/rtw88/mac.c 	switch (rtw_hci_type(rtwdev)) {
rtwdev            211 drivers/net/wireless/realtek/rtw88/mac.c 		ret = rtw_sub_pwr_seq_parser(rtwdev, intf_mask, cut_mask, cmd);
rtwdev            221 drivers/net/wireless/realtek/rtw88/mac.c static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
rtwdev            223 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            228 drivers/net/wireless/realtek/rtw88/mac.c 	rpwm = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr);
rtwdev            231 drivers/net/wireless/realtek/rtw88/mac.c 	if (rtw_read16(rtwdev, REG_MCUFW_CTRL) == 0xC078) {
rtwdev            233 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write8(rtwdev, rtwdev->hci.rpwm_addr, rpwm);
rtwdev            236 drivers/net/wireless/realtek/rtw88/mac.c 	if (rtw_read8(rtwdev, REG_CR) == 0xea)
rtwdev            238 drivers/net/wireless/realtek/rtw88/mac.c 	else if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB &&
rtwdev            239 drivers/net/wireless/realtek/rtw88/mac.c 		 (rtw_read8(rtwdev, REG_SYS_STATUS1 + 1) & BIT(0)))
rtwdev            248 drivers/net/wireless/realtek/rtw88/mac.c 	if (rtw_pwr_seq_parser(rtwdev, pwr_seq))
rtwdev            254 drivers/net/wireless/realtek/rtw88/mac.c static int rtw_mac_init_system_cfg(struct rtw_dev *rtwdev)
rtwdev            256 drivers/net/wireless/realtek/rtw88/mac.c 	u8 sys_func_en = rtwdev->chip->sys_func_en;
rtwdev            260 drivers/net/wireless/realtek/rtw88/mac.c 	value = rtw_read32(rtwdev, REG_CPU_DMEM_CON);
rtwdev            262 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_CPU_DMEM_CON, value);
rtwdev            264 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_SYS_FUNC_EN + 1, sys_func_en);
rtwdev            265 drivers/net/wireless/realtek/rtw88/mac.c 	value8 = (rtw_read8(rtwdev, REG_CR_EXT + 3) & 0xF0) | 0x0C;
rtwdev            266 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_CR_EXT + 3, value8);
rtwdev            269 drivers/net/wireless/realtek/rtw88/mac.c 	tmp = rtw_read32(rtwdev, REG_MCUFW_CTRL);
rtwdev            271 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write32(rtwdev, REG_MCUFW_CTRL, tmp & (~BIT_BOOT_FSPI_EN));
rtwdev            272 drivers/net/wireless/realtek/rtw88/mac.c 		value = rtw_read32(rtwdev, REG_GPIO_MUXCFG) & (~BIT_FSPI_EN);
rtwdev            273 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write32(rtwdev, REG_GPIO_MUXCFG, value);
rtwdev            279 drivers/net/wireless/realtek/rtw88/mac.c int rtw_mac_power_on(struct rtw_dev *rtwdev)
rtwdev            283 drivers/net/wireless/realtek/rtw88/mac.c 	ret = rtw_mac_pre_system_cfg(rtwdev);
rtwdev            287 drivers/net/wireless/realtek/rtw88/mac.c 	ret = rtw_mac_power_switch(rtwdev, true);
rtwdev            289 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_mac_power_switch(rtwdev, false);
rtwdev            290 drivers/net/wireless/realtek/rtw88/mac.c 		ret = rtw_mac_power_switch(rtwdev, true);
rtwdev            297 drivers/net/wireless/realtek/rtw88/mac.c 	ret = rtw_mac_init_system_cfg(rtwdev);
rtwdev            304 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_err(rtwdev, "mac power on failed");
rtwdev            308 drivers/net/wireless/realtek/rtw88/mac.c void rtw_mac_power_off(struct rtw_dev *rtwdev)
rtwdev            310 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_mac_power_switch(rtwdev, false);
rtwdev            335 drivers/net/wireless/realtek/rtw88/mac.c static void wlan_cpu_enable(struct rtw_dev *rtwdev, bool enable)
rtwdev            339 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write8_set(rtwdev, REG_RSV_CTRL + 1, BIT_WLMCU_IOIF);
rtwdev            342 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write8_set(rtwdev, REG_SYS_FUNC_EN + 1, BIT_FEN_CPUEN);
rtwdev            345 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write8_clr(rtwdev, REG_SYS_FUNC_EN + 1, BIT_FEN_CPUEN);
rtwdev            348 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write8_clr(rtwdev, REG_RSV_CTRL + 1, BIT_WLMCU_IOIF);
rtwdev            354 drivers/net/wireless/realtek/rtw88/mac.c static void download_firmware_reg_backup(struct rtw_dev *rtwdev,
rtwdev            363 drivers/net/wireless/realtek/rtw88/mac.c 	bckp[bckp_idx].val = rtw_read8(rtwdev, REG_TXDMA_PQ_MAP + 1);
rtwdev            366 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_TXDMA_PQ_MAP + 1, tmp);
rtwdev            371 drivers/net/wireless/realtek/rtw88/mac.c 	bckp[bckp_idx].val = rtw_read8(rtwdev, REG_CR);
rtwdev            378 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_CR, tmp);
rtwdev            379 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_H2CQ_CSR, BIT_H2CQ_FULL);
rtwdev            384 drivers/net/wireless/realtek/rtw88/mac.c 	bckp[bckp_idx].val = rtw_read16(rtwdev, REG_FIFOPAGE_INFO_1);
rtwdev            388 drivers/net/wireless/realtek/rtw88/mac.c 	bckp[bckp_idx].val = rtw_read32(rtwdev, REG_RQPN_CTRL_2) | BIT_LD_RQPN;
rtwdev            390 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_FIFOPAGE_INFO_1, 0x200);
rtwdev            391 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_RQPN_CTRL_2, bckp[bckp_idx - 1].val);
rtwdev            394 drivers/net/wireless/realtek/rtw88/mac.c 	tmp = rtw_read8(rtwdev, REG_BCN_CTRL);
rtwdev            400 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_BCN_CTRL, tmp);
rtwdev            405 drivers/net/wireless/realtek/rtw88/mac.c static void download_firmware_reset_platform(struct rtw_dev *rtwdev)
rtwdev            407 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8_clr(rtwdev, REG_CPU_DMEM_CON + 2, BIT_WL_PLATFORM_RST >> 16);
rtwdev            408 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8_clr(rtwdev, REG_SYS_CLK_CTRL + 1, BIT_CPU_CLK_EN >> 8);
rtwdev            409 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8_set(rtwdev, REG_CPU_DMEM_CON + 2, BIT_WL_PLATFORM_RST >> 16);
rtwdev            410 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8_set(rtwdev, REG_SYS_CLK_CTRL + 1, BIT_CPU_CLK_EN >> 8);
rtwdev            413 drivers/net/wireless/realtek/rtw88/mac.c static void download_firmware_reg_restore(struct rtw_dev *rtwdev,
rtwdev            417 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_restore_reg(rtwdev, bckp, bckp_num);
rtwdev            422 drivers/net/wireless/realtek/rtw88/mac.c static int send_firmware_pkt_rsvd_page(struct rtw_dev *rtwdev, u16 pg_addr,
rtwdev            432 drivers/net/wireless/realtek/rtw88/mac.c 	ret = rtw_fw_write_data_rsvd_page(rtwdev, pg_addr, buf, size);
rtwdev            438 drivers/net/wireless/realtek/rtw88/mac.c send_firmware_pkt(struct rtw_dev *rtwdev, u16 pg_addr, const u8 *data, u32 size)
rtwdev            442 drivers/net/wireless/realtek/rtw88/mac.c 	if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB &&
rtwdev            446 drivers/net/wireless/realtek/rtw88/mac.c 	ret = send_firmware_pkt_rsvd_page(rtwdev, pg_addr, data, size);
rtwdev            448 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_err(rtwdev, "failed to download rsvd page\n");
rtwdev            454 drivers/net/wireless/realtek/rtw88/mac.c iddma_enable(struct rtw_dev *rtwdev, u32 src, u32 dst, u32 ctrl)
rtwdev            456 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_DDMA_CH0SA, src);
rtwdev            457 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_DDMA_CH0DA, dst);
rtwdev            458 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_DDMA_CH0CTRL, ctrl);
rtwdev            460 drivers/net/wireless/realtek/rtw88/mac.c 	if (!check_hw_ready(rtwdev, REG_DDMA_CH0CTRL, BIT_DDMACH0_OWN, 0))
rtwdev            466 drivers/net/wireless/realtek/rtw88/mac.c static int iddma_download_firmware(struct rtw_dev *rtwdev, u32 src, u32 dst,
rtwdev            471 drivers/net/wireless/realtek/rtw88/mac.c 	if (!check_hw_ready(rtwdev, REG_DDMA_CH0CTRL, BIT_DDMACH0_OWN, 0))
rtwdev            478 drivers/net/wireless/realtek/rtw88/mac.c 	if (iddma_enable(rtwdev, src, dst, ch0_ctrl))
rtwdev            485 drivers/net/wireless/realtek/rtw88/mac.c check_fw_checksum(struct rtw_dev *rtwdev, u32 addr)
rtwdev            489 drivers/net/wireless/realtek/rtw88/mac.c 	fw_ctrl = rtw_read8(rtwdev, REG_MCUFW_CTRL);
rtwdev            491 drivers/net/wireless/realtek/rtw88/mac.c 	if (rtw_read32(rtwdev, REG_DDMA_CH0CTRL) & BIT_DDMACH0_CHKSUM_STS) {
rtwdev            495 drivers/net/wireless/realtek/rtw88/mac.c 			rtw_write8(rtwdev, REG_MCUFW_CTRL, fw_ctrl);
rtwdev            499 drivers/net/wireless/realtek/rtw88/mac.c 			rtw_write8(rtwdev, REG_MCUFW_CTRL, fw_ctrl);
rtwdev            502 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_err(rtwdev, "invalid fw checksum\n");
rtwdev            509 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write8(rtwdev, REG_MCUFW_CTRL, fw_ctrl);
rtwdev            512 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_write8(rtwdev, REG_MCUFW_CTRL, fw_ctrl);
rtwdev            519 drivers/net/wireless/realtek/rtw88/mac.c download_firmware_to_mem(struct rtw_dev *rtwdev, const u8 *data,
rtwdev            522 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            536 drivers/net/wireless/realtek/rtw88/mac.c 	val = rtw_read32(rtwdev, REG_DDMA_CH0CTRL);
rtwdev            538 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_DDMA_CH0CTRL, val);
rtwdev            546 drivers/net/wireless/realtek/rtw88/mac.c 		ret = send_firmware_pkt(rtwdev, (u16)(src >> 7),
rtwdev            551 drivers/net/wireless/realtek/rtw88/mac.c 		ret = iddma_download_firmware(rtwdev, OCPBASE_TXBUF_88XX +
rtwdev            563 drivers/net/wireless/realtek/rtw88/mac.c 	if (!check_fw_checksum(rtwdev, dst))
rtwdev            569 drivers/net/wireless/realtek/rtw88/mac.c static void update_firmware_info(struct rtw_dev *rtwdev,
rtwdev            581 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "fw h2c version: %x\n", fw->h2c_version);
rtwdev            582 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "fw version:     %x\n", fw->version);
rtwdev            583 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "fw sub version: %x\n", fw->sub_version);
rtwdev            584 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_dbg(rtwdev, RTW_DBG_FW, "fw sub index:   %x\n", fw->sub_index);
rtwdev            588 drivers/net/wireless/realtek/rtw88/mac.c start_download_firmware(struct rtw_dev *rtwdev, const u8 *data, u32 size)
rtwdev            606 drivers/net/wireless/realtek/rtw88/mac.c 	val = (u16)(rtw_read16(rtwdev, REG_MCUFW_CTRL) & 0x3800);
rtwdev            608 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_MCUFW_CTRL, val);
rtwdev            613 drivers/net/wireless/realtek/rtw88/mac.c 	ret = download_firmware_to_mem(rtwdev, cur_fw, 0, addr, dmem_size);
rtwdev            620 drivers/net/wireless/realtek/rtw88/mac.c 	ret = download_firmware_to_mem(rtwdev, cur_fw, 0, addr, imem_size);
rtwdev            628 drivers/net/wireless/realtek/rtw88/mac.c 		ret = download_firmware_to_mem(rtwdev, cur_fw, 0, addr,
rtwdev            637 drivers/net/wireless/realtek/rtw88/mac.c static int download_firmware_validate(struct rtw_dev *rtwdev)
rtwdev            641 drivers/net/wireless/realtek/rtw88/mac.c 	if (!check_hw_ready(rtwdev, REG_MCUFW_CTRL, FW_READY_MASK, FW_READY)) {
rtwdev            642 drivers/net/wireless/realtek/rtw88/mac.c 		fw_key = rtw_read32(rtwdev, REG_FW_DBG7) & FW_KEY_MASK;
rtwdev            644 drivers/net/wireless/realtek/rtw88/mac.c 			rtw_err(rtwdev, "invalid fw key\n");
rtwdev            651 drivers/net/wireless/realtek/rtw88/mac.c static void download_firmware_end_flow(struct rtw_dev *rtwdev)
rtwdev            655 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_TXDMA_STATUS, BTI_PAGE_OVF);
rtwdev            658 drivers/net/wireless/realtek/rtw88/mac.c 	fw_ctrl = rtw_read16(rtwdev, REG_MCUFW_CTRL);
rtwdev            663 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_MCUFW_CTRL, fw_ctrl);
rtwdev            666 drivers/net/wireless/realtek/rtw88/mac.c int rtw_download_firmware(struct rtw_dev *rtwdev, struct rtw_fw_state *fw)
rtwdev            677 drivers/net/wireless/realtek/rtw88/mac.c 	if (!ltecoex_read_reg(rtwdev, 0x38, &ltecoex_bckp))
rtwdev            680 drivers/net/wireless/realtek/rtw88/mac.c 	wlan_cpu_enable(rtwdev, false);
rtwdev            682 drivers/net/wireless/realtek/rtw88/mac.c 	download_firmware_reg_backup(rtwdev, bckp);
rtwdev            683 drivers/net/wireless/realtek/rtw88/mac.c 	download_firmware_reset_platform(rtwdev);
rtwdev            685 drivers/net/wireless/realtek/rtw88/mac.c 	ret = start_download_firmware(rtwdev, data, size);
rtwdev            689 drivers/net/wireless/realtek/rtw88/mac.c 	download_firmware_reg_restore(rtwdev, bckp, DLFW_RESTORE_REG_NUM);
rtwdev            691 drivers/net/wireless/realtek/rtw88/mac.c 	download_firmware_end_flow(rtwdev);
rtwdev            693 drivers/net/wireless/realtek/rtw88/mac.c 	wlan_cpu_enable(rtwdev, true);
rtwdev            695 drivers/net/wireless/realtek/rtw88/mac.c 	if (!ltecoex_reg_write(rtwdev, 0x38, ltecoex_bckp))
rtwdev            698 drivers/net/wireless/realtek/rtw88/mac.c 	ret = download_firmware_validate(rtwdev);
rtwdev            702 drivers/net/wireless/realtek/rtw88/mac.c 	update_firmware_info(rtwdev, fw);
rtwdev            705 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_hci_setup(rtwdev);
rtwdev            707 drivers/net/wireless/realtek/rtw88/mac.c 	rtwdev->h2c.last_box_num = 0;
rtwdev            708 drivers/net/wireless/realtek/rtw88/mac.c 	rtwdev->h2c.seq = 0;
rtwdev            710 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_flag_set(rtwdev, RTW_FLAG_FW_RUNNING);
rtwdev            716 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8_clr(rtwdev, REG_MCUFW_CTRL, BIT_MCUFWDL_EN);
rtwdev            717 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8_set(rtwdev, REG_SYS_FUNC_EN + 1, BIT_FEN_CPUEN);
rtwdev            722 drivers/net/wireless/realtek/rtw88/mac.c static int txdma_queue_mapping(struct rtw_dev *rtwdev)
rtwdev            724 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            728 drivers/net/wireless/realtek/rtw88/mac.c 	switch (rtw_hci_type(rtwdev)) {
rtwdev            733 drivers/net/wireless/realtek/rtw88/mac.c 		if (rtwdev->hci.bulkout_num == 2)
rtwdev            735 drivers/net/wireless/realtek/rtw88/mac.c 		else if (rtwdev->hci.bulkout_num == 3)
rtwdev            737 drivers/net/wireless/realtek/rtw88/mac.c 		else if (rtwdev->hci.bulkout_num == 4)
rtwdev            752 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_TXDMA_PQ_MAP, txdma_pq_map);
rtwdev            754 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_CR, 0);
rtwdev            755 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_CR, MAC_TRX_ENABLE);
rtwdev            756 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_H2CQ_CSR, BIT_H2CQ_FULL);
rtwdev            761 drivers/net/wireless/realtek/rtw88/mac.c static int set_trx_fifo_info(struct rtw_dev *rtwdev)
rtwdev            763 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_fifo_conf *fifo = &rtwdev->fifo;
rtwdev            764 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            802 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_err(rtwdev, "wrong rsvd driver address\n");
rtwdev            809 drivers/net/wireless/realtek/rtw88/mac.c static int priority_queue_cfg(struct rtw_dev *rtwdev)
rtwdev            811 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_fifo_conf *fifo = &rtwdev->fifo;
rtwdev            812 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            817 drivers/net/wireless/realtek/rtw88/mac.c 	ret = set_trx_fifo_info(rtwdev);
rtwdev            821 drivers/net/wireless/realtek/rtw88/mac.c 	switch (rtw_hci_type(rtwdev)) {
rtwdev            826 drivers/net/wireless/realtek/rtw88/mac.c 		if (rtwdev->hci.bulkout_num == 2)
rtwdev            828 drivers/net/wireless/realtek/rtw88/mac.c 		else if (rtwdev->hci.bulkout_num == 3)
rtwdev            830 drivers/net/wireless/realtek/rtw88/mac.c 		else if (rtwdev->hci.bulkout_num == 4)
rtwdev            841 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_FIFOPAGE_INFO_1, pg_tbl->hq_num);
rtwdev            842 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_FIFOPAGE_INFO_2, pg_tbl->lq_num);
rtwdev            843 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_FIFOPAGE_INFO_3, pg_tbl->nq_num);
rtwdev            844 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_FIFOPAGE_INFO_4, pg_tbl->exq_num);
rtwdev            845 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_FIFOPAGE_INFO_5, pubq_num);
rtwdev            846 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32_set(rtwdev, REG_RQPN_CTRL_2, BIT_LD_RQPN);
rtwdev            848 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_FIFOPAGE_CTRL_2, fifo->rsvd_boundary);
rtwdev            849 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8_set(rtwdev, REG_FWHW_TXQ_CTRL + 2, BIT_EN_WR_FREE_TAIL >> 16);
rtwdev            851 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_BCNQ_BDNY_V1, fifo->rsvd_boundary);
rtwdev            852 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_FIFOPAGE_CTRL_2 + 2, fifo->rsvd_boundary);
rtwdev            853 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write16(rtwdev, REG_BCNQ1_BDNY_V1, fifo->rsvd_boundary);
rtwdev            854 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_RXFF_BNDY, chip->rxff_size - C2H_PKT_BUF - 1);
rtwdev            855 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8_set(rtwdev, REG_AUTO_LLT_V1, BIT_AUTO_INIT_LLT_V1);
rtwdev            857 drivers/net/wireless/realtek/rtw88/mac.c 	if (!check_hw_ready(rtwdev, REG_AUTO_LLT_V1, BIT_AUTO_INIT_LLT_V1, 0))
rtwdev            860 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_CR + 3, 0);
rtwdev            865 drivers/net/wireless/realtek/rtw88/mac.c static int init_h2c(struct rtw_dev *rtwdev)
rtwdev            867 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_fifo_conf *fifo = &rtwdev->fifo;
rtwdev            878 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_H2C_HEAD);
rtwdev            880 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_H2C_HEAD, value32);
rtwdev            882 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_H2C_READ_ADDR);
rtwdev            884 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_H2C_READ_ADDR, value32);
rtwdev            886 drivers/net/wireless/realtek/rtw88/mac.c 	value32 = rtw_read32(rtwdev, REG_H2C_TAIL);
rtwdev            889 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32(rtwdev, REG_H2C_TAIL, value32);
rtwdev            891 drivers/net/wireless/realtek/rtw88/mac.c 	value8 = rtw_read8(rtwdev, REG_H2C_INFO);
rtwdev            893 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_H2C_INFO, value8);
rtwdev            895 drivers/net/wireless/realtek/rtw88/mac.c 	value8 = rtw_read8(rtwdev, REG_H2C_INFO);
rtwdev            897 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_H2C_INFO, value8);
rtwdev            899 drivers/net/wireless/realtek/rtw88/mac.c 	value8 = rtw_read8(rtwdev, REG_TXDMA_OFFSET_CHK + 1);
rtwdev            901 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_TXDMA_OFFSET_CHK + 1, value8);
rtwdev            903 drivers/net/wireless/realtek/rtw88/mac.c 	wp = rtw_read32(rtwdev, REG_H2C_PKT_WRITEADDR) & 0x3FFFF;
rtwdev            904 drivers/net/wireless/realtek/rtw88/mac.c 	rp = rtw_read32(rtwdev, REG_H2C_PKT_READADDR) & 0x3FFFF;
rtwdev            908 drivers/net/wireless/realtek/rtw88/mac.c 		rtw_err(rtwdev, "H2C queue mismatch\n");
rtwdev            915 drivers/net/wireless/realtek/rtw88/mac.c static int rtw_init_trx_cfg(struct rtw_dev *rtwdev)
rtwdev            919 drivers/net/wireless/realtek/rtw88/mac.c 	ret = txdma_queue_mapping(rtwdev);
rtwdev            923 drivers/net/wireless/realtek/rtw88/mac.c 	ret = priority_queue_cfg(rtwdev);
rtwdev            927 drivers/net/wireless/realtek/rtw88/mac.c 	ret = init_h2c(rtwdev);
rtwdev            934 drivers/net/wireless/realtek/rtw88/mac.c static int rtw_drv_info_cfg(struct rtw_dev *rtwdev)
rtwdev            938 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_RX_DRVINFO_SZ, PHY_STATUS_SIZE);
rtwdev            939 drivers/net/wireless/realtek/rtw88/mac.c 	value8 = rtw_read8(rtwdev, REG_TRXFF_BNDY + 1);
rtwdev            943 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write8(rtwdev, REG_TRXFF_BNDY + 1, value8);
rtwdev            944 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32_set(rtwdev, REG_RCR, BIT_APP_PHYSTS);
rtwdev            945 drivers/net/wireless/realtek/rtw88/mac.c 	rtw_write32_clr(rtwdev, REG_WMAC_OPTION_FUNCTION + 4, BIT(8) | BIT(9));
rtwdev            950 drivers/net/wireless/realtek/rtw88/mac.c int rtw_mac_init(struct rtw_dev *rtwdev)
rtwdev            952 drivers/net/wireless/realtek/rtw88/mac.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            955 drivers/net/wireless/realtek/rtw88/mac.c 	ret = rtw_init_trx_cfg(rtwdev);
rtwdev            959 drivers/net/wireless/realtek/rtw88/mac.c 	ret = chip->ops->mac_init(rtwdev);
rtwdev            963 drivers/net/wireless/realtek/rtw88/mac.c 	ret = rtw_drv_info_cfg(rtwdev);
rtwdev             28 drivers/net/wireless/realtek/rtw88/mac.h void rtw_set_channel_mac(struct rtw_dev *rtwdev, u8 channel, u8 bw,
rtwdev             30 drivers/net/wireless/realtek/rtw88/mac.h int rtw_mac_power_on(struct rtw_dev *rtwdev);
rtwdev             31 drivers/net/wireless/realtek/rtw88/mac.h void rtw_mac_power_off(struct rtw_dev *rtwdev);
rtwdev             32 drivers/net/wireless/realtek/rtw88/mac.h int rtw_download_firmware(struct rtw_dev *rtwdev, struct rtw_fw_state *fw);
rtwdev             33 drivers/net/wireless/realtek/rtw88/mac.h int rtw_mac_init(struct rtw_dev *rtwdev);
rtwdev             19 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev             22 drivers/net/wireless/realtek/rtw88/mac80211.c 	if (!rtw_flag_check(rtwdev, RTW_FLAG_RUNNING))
rtwdev             25 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_tx_pkt_info_update(rtwdev, &pkt_info, control, skb);
rtwdev             26 drivers/net/wireless/realtek/rtw88/mac80211.c 	if (rtw_hci_tx(rtwdev, &pkt_info, skb))
rtwdev             37 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev             40 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev             41 drivers/net/wireless/realtek/rtw88/mac80211.c 	ret = rtw_core_start(rtwdev);
rtwdev             42 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev             49 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev             51 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev             52 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_core_stop(rtwdev);
rtwdev             53 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev             58 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev             61 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev             65 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_enter_ips(rtwdev);
rtwdev             67 drivers/net/wireless/realtek/rtw88/mac80211.c 			ret = rtw_leave_ips(rtwdev);
rtwdev             69 drivers/net/wireless/realtek/rtw88/mac80211.c 				rtw_err(rtwdev, "failed to leave idle state\n");
rtwdev             76 drivers/net/wireless/realtek/rtw88/mac80211.c 		rtw_set_channel(rtwdev);
rtwdev             79 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            124 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            140 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            165 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_vif_port_config(rtwdev, rtwvif, config);
rtwdev            167 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            169 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_info(rtwdev, "start vif %pM on port %d\n", vif->addr, rtwvif->port);
rtwdev            176 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            180 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_info(rtwdev, "stop vif %pM on port %d\n", vif->addr, rtwvif->port);
rtwdev            182 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            190 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_vif_port_config(rtwdev, rtwvif, config);
rtwdev            192 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            200 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            205 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            209 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtwdev->hal.rcr |= BIT_AM | BIT_AB;
rtwdev            211 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtwdev->hal.rcr &= ~(BIT_AM | BIT_AB);
rtwdev            215 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtwdev->hal.rcr |= BIT_ACRC32;
rtwdev            217 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtwdev->hal.rcr &= ~(BIT_ACRC32);
rtwdev            221 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtwdev->hal.rcr |= BIT_AAP;
rtwdev            223 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtwdev->hal.rcr &= ~(BIT_AAP);
rtwdev            227 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtwdev->hal.rcr &= ~(BIT_CBSSID_BCN | BIT_CBSSID_DATA);
rtwdev            229 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtwdev->hal.rcr |= BIT_CBSSID_BCN;
rtwdev            232 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_dbg(rtwdev, RTW_DBG_RX,
rtwdev            234 drivers/net/wireless/realtek/rtw88/mac80211.c 		changed_flags, *new_flags, rtwdev->hal.rcr);
rtwdev            236 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_write32(rtwdev, REG_RCR, rtwdev->hal.rcr);
rtwdev            238 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            246 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            250 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            253 drivers/net/wireless/realtek/rtw88/mac80211.c 		struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            257 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_coex_connect_notify(rtwdev, COEX_ASSOCIATE_FINISH);
rtwdev            259 drivers/net/wireless/realtek/rtw88/mac80211.c 			chip->ops->phy_calibration(rtwdev);
rtwdev            262 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_add_rsvd_page(rtwdev, RSVD_PS_POLL, true);
rtwdev            263 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_add_rsvd_page(rtwdev, RSVD_QOS_NULL, true);
rtwdev            264 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_add_rsvd_page(rtwdev, RSVD_NULL, true);
rtwdev            265 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_fw_download_rsvd_page(rtwdev, vif);
rtwdev            266 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_send_rsvd_page_h2c(rtwdev);
rtwdev            267 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_coex_media_status_notify(rtwdev, conf->assoc);
rtwdev            271 drivers/net/wireless/realtek/rtw88/mac80211.c 			rtw_reset_rsvd_page(rtwdev);
rtwdev            285 drivers/net/wireless/realtek/rtw88/mac80211.c 		rtw_fw_download_rsvd_page(rtwdev, vif);
rtwdev            287 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_vif_port_config(rtwdev, rtwvif, config);
rtwdev            289 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            292 drivers/net/wireless/realtek/rtw88/mac80211.c static u8 rtw_acquire_macid(struct rtw_dev *rtwdev)
rtwdev            296 drivers/net/wireless/realtek/rtw88/mac80211.c 	mac_id = find_first_zero_bit(rtwdev->mac_id_map, RTW_MAX_MAC_ID_NUM);
rtwdev            298 drivers/net/wireless/realtek/rtw88/mac80211.c 		set_bit(mac_id, rtwdev->mac_id_map);
rtwdev            303 drivers/net/wireless/realtek/rtw88/mac80211.c static void rtw_release_macid(struct rtw_dev *rtwdev, u8 mac_id)
rtwdev            305 drivers/net/wireless/realtek/rtw88/mac80211.c 	clear_bit(mac_id, rtwdev->mac_id_map);
rtwdev            312 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            316 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            318 drivers/net/wireless/realtek/rtw88/mac80211.c 	si->mac_id = rtw_acquire_macid(rtwdev);
rtwdev            329 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_update_sta_info(rtwdev, si);
rtwdev            330 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_fw_media_status_report(rtwdev, si->mac_id, true);
rtwdev            332 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtwdev->sta_cnt++;
rtwdev            334 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_info(rtwdev, "sta %pM joined with macid %d\n",
rtwdev            338 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            346 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            349 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            351 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_release_macid(rtwdev, si->mac_id);
rtwdev            352 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_fw_media_status_report(rtwdev, si->mac_id, false);
rtwdev            354 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtwdev->sta_cnt--;
rtwdev            356 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_info(rtwdev, "sta %pM with macid %d left\n",
rtwdev            359 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            367 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            368 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_sec_desc *sec = &rtwdev->sec;
rtwdev            398 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            417 drivers/net/wireless/realtek/rtw88/mac80211.c 		rtw_sec_write_cam(rtwdev, sec, sta, key,
rtwdev            421 drivers/net/wireless/realtek/rtw88/mac80211.c 		rtw_sec_clear_cam(rtwdev, sec, key->hw_key_idx);
rtwdev            426 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            463 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            467 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_leave_lps(rtwdev, rtwvif);
rtwdev            469 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            473 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_vif_port_config(rtwdev, rtwvif, config);
rtwdev            475 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_coex_scan_notify(rtwdev, COEX_SCAN_START);
rtwdev            477 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_flag_set(rtwdev, RTW_FLAG_DIG_DISABLE);
rtwdev            478 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_flag_set(rtwdev, RTW_FLAG_SCANNING);
rtwdev            480 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            486 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            490 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            492 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_flag_clear(rtwdev, RTW_FLAG_SCANNING);
rtwdev            493 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_flag_clear(rtwdev, RTW_FLAG_DIG_DISABLE);
rtwdev            497 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_vif_port_config(rtwdev, rtwvif, config);
rtwdev            499 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_coex_scan_notify(rtwdev, COEX_SCAN_FINISH);
rtwdev            501 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            508 drivers/net/wireless/realtek/rtw88/mac80211.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            510 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_lock(&rtwdev->mutex);
rtwdev            511 drivers/net/wireless/realtek/rtw88/mac80211.c 	rtw_coex_connect_notify(rtwdev, COEX_ASSOCIATE_START);
rtwdev            512 drivers/net/wireless/realtek/rtw88/mac80211.c 	mutex_unlock(&rtwdev->mutex);
rtwdev            150 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_dev *rtwdev = container_of(work, struct rtw_dev,
rtwdev            153 drivers/net/wireless/realtek/rtw88/main.c 	bool busy_traffic = rtw_flag_check(rtwdev, RTW_FLAG_BUSY_TRAFFIC);
rtwdev            155 drivers/net/wireless/realtek/rtw88/main.c 	if (!rtw_flag_check(rtwdev, RTW_FLAG_RUNNING))
rtwdev            158 drivers/net/wireless/realtek/rtw88/main.c 	ieee80211_queue_delayed_work(rtwdev->hw, &rtwdev->watch_dog_work,
rtwdev            161 drivers/net/wireless/realtek/rtw88/main.c 	if (rtwdev->stats.tx_cnt > 100 || rtwdev->stats.rx_cnt > 100)
rtwdev            162 drivers/net/wireless/realtek/rtw88/main.c 		rtw_flag_set(rtwdev, RTW_FLAG_BUSY_TRAFFIC);
rtwdev            164 drivers/net/wireless/realtek/rtw88/main.c 		rtw_flag_clear(rtwdev, RTW_FLAG_BUSY_TRAFFIC);
rtwdev            166 drivers/net/wireless/realtek/rtw88/main.c 	if (busy_traffic != rtw_flag_check(rtwdev, RTW_FLAG_BUSY_TRAFFIC))
rtwdev            167 drivers/net/wireless/realtek/rtw88/main.c 		rtw_coex_wl_status_change_notify(rtwdev);
rtwdev            170 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->stats.tx_unicast = 0;
rtwdev            171 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->stats.rx_unicast = 0;
rtwdev            172 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->stats.tx_cnt = 0;
rtwdev            173 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->stats.rx_cnt = 0;
rtwdev            176 drivers/net/wireless/realtek/rtw88/main.c 	rtw_iterate_vifs_atomic(rtwdev, rtw_vif_watch_dog_iter, &data);
rtwdev            184 drivers/net/wireless/realtek/rtw88/main.c 		rtw_enter_lps(rtwdev, data.rtwvif);
rtwdev            186 drivers/net/wireless/realtek/rtw88/main.c 	if (rtw_flag_check(rtwdev, RTW_FLAG_SCANNING))
rtwdev            189 drivers/net/wireless/realtek/rtw88/main.c 	rtw_phy_dynamic_mechanism(rtwdev);
rtwdev            191 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->watch_dog_cnt++;
rtwdev            196 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_dev *rtwdev = container_of(work, struct rtw_dev, c2h_work);
rtwdev            199 drivers/net/wireless/realtek/rtw88/main.c 	skb_queue_walk_safe(&rtwdev->c2h_queue, skb, tmp) {
rtwdev            200 drivers/net/wireless/realtek/rtw88/main.c 		skb_unlink(skb, &rtwdev->c2h_queue);
rtwdev            201 drivers/net/wireless/realtek/rtw88/main.c 		rtw_fw_c2h_cmd_handle(rtwdev, skb);
rtwdev            285 drivers/net/wireless/realtek/rtw88/main.c void rtw_set_channel(struct rtw_dev *rtwdev)
rtwdev            287 drivers/net/wireless/realtek/rtw88/main.c 	struct ieee80211_hw *hw = rtwdev->hw;
rtwdev            288 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            289 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            309 drivers/net/wireless/realtek/rtw88/main.c 	chip->ops->set_channel(rtwdev, center_chan, bandwidth, primary_chan_idx);
rtwdev            312 drivers/net/wireless/realtek/rtw88/main.c 		rtw_coex_switchband_notify(rtwdev, COEX_SWITCH_TO_5G);
rtwdev            314 drivers/net/wireless/realtek/rtw88/main.c 		if (rtw_flag_check(rtwdev, RTW_FLAG_SCANNING))
rtwdev            315 drivers/net/wireless/realtek/rtw88/main.c 			rtw_coex_switchband_notify(rtwdev, COEX_SWITCH_TO_24G);
rtwdev            317 drivers/net/wireless/realtek/rtw88/main.c 			rtw_coex_switchband_notify(rtwdev, COEX_SWITCH_TO_24G_NOFORSCAN);
rtwdev            320 drivers/net/wireless/realtek/rtw88/main.c 	rtw_phy_set_tx_power_level(rtwdev, center_chan);
rtwdev            323 drivers/net/wireless/realtek/rtw88/main.c static void rtw_vif_write_addr(struct rtw_dev *rtwdev, u32 start, u8 *addr)
rtwdev            328 drivers/net/wireless/realtek/rtw88/main.c 		rtw_write8(rtwdev, start + i, addr[i]);
rtwdev            331 drivers/net/wireless/realtek/rtw88/main.c void rtw_vif_port_config(struct rtw_dev *rtwdev,
rtwdev            339 drivers/net/wireless/realtek/rtw88/main.c 		rtw_vif_write_addr(rtwdev, addr, rtwvif->mac_addr);
rtwdev            343 drivers/net/wireless/realtek/rtw88/main.c 		rtw_vif_write_addr(rtwdev, addr, rtwvif->bssid);
rtwdev            348 drivers/net/wireless/realtek/rtw88/main.c 		rtw_write32_mask(rtwdev, addr, mask, rtwvif->net_type);
rtwdev            353 drivers/net/wireless/realtek/rtw88/main.c 		rtw_write32_mask(rtwdev, addr, mask, rtwvif->aid);
rtwdev            358 drivers/net/wireless/realtek/rtw88/main.c 		rtw_write8_mask(rtwdev, addr, mask, rtwvif->bcn_ctrl);
rtwdev            382 drivers/net/wireless/realtek/rtw88/main.c static void rtw_hw_config_rf_ant_num(struct rtw_dev *rtwdev, u8 hw_ant_num)
rtwdev            384 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            532 drivers/net/wireless/realtek/rtw88/main.c void rtw_update_sta_info(struct rtw_dev *rtwdev, struct rtw_sta_info *si)
rtwdev            535 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            536 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            602 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "Unknown band type\n");
rtwdev            654 drivers/net/wireless/realtek/rtw88/main.c 	rtw_fw_send_ra_info(rtwdev, si);
rtwdev            657 drivers/net/wireless/realtek/rtw88/main.c static int rtw_power_on(struct rtw_dev *rtwdev)
rtwdev            659 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            660 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_fw_state *fw = &rtwdev->fw;
rtwdev            664 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_hci_setup(rtwdev);
rtwdev            666 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to setup hci\n");
rtwdev            671 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_mac_power_on(rtwdev);
rtwdev            673 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to power on mac\n");
rtwdev            680 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to load firmware\n");
rtwdev            684 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_download_firmware(rtwdev, fw);
rtwdev            686 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to download firmware\n");
rtwdev            691 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_mac_init(rtwdev);
rtwdev            693 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to configure mac\n");
rtwdev            697 drivers/net/wireless/realtek/rtw88/main.c 	chip->ops->phy_set_param(rtwdev);
rtwdev            699 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_hci_start(rtwdev);
rtwdev            701 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to start hci\n");
rtwdev            706 drivers/net/wireless/realtek/rtw88/main.c 	rtw_fw_send_general_info(rtwdev);
rtwdev            707 drivers/net/wireless/realtek/rtw88/main.c 	rtw_fw_send_phydm_info(rtwdev);
rtwdev            709 drivers/net/wireless/realtek/rtw88/main.c 	wifi_only = !rtwdev->efuse.btcoex;
rtwdev            710 drivers/net/wireless/realtek/rtw88/main.c 	rtw_coex_power_on_setting(rtwdev);
rtwdev            711 drivers/net/wireless/realtek/rtw88/main.c 	rtw_coex_init_hw_config(rtwdev, wifi_only);
rtwdev            716 drivers/net/wireless/realtek/rtw88/main.c 	rtw_mac_power_off(rtwdev);
rtwdev            722 drivers/net/wireless/realtek/rtw88/main.c int rtw_core_start(struct rtw_dev *rtwdev)
rtwdev            726 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_power_on(rtwdev);
rtwdev            730 drivers/net/wireless/realtek/rtw88/main.c 	rtw_sec_enable_sec_engine(rtwdev);
rtwdev            733 drivers/net/wireless/realtek/rtw88/main.c 	rtw_write32(rtwdev, REG_RCR, rtwdev->hal.rcr);
rtwdev            735 drivers/net/wireless/realtek/rtw88/main.c 	ieee80211_queue_delayed_work(rtwdev->hw, &rtwdev->watch_dog_work,
rtwdev            738 drivers/net/wireless/realtek/rtw88/main.c 	rtw_flag_set(rtwdev, RTW_FLAG_RUNNING);
rtwdev            743 drivers/net/wireless/realtek/rtw88/main.c static void rtw_power_off(struct rtw_dev *rtwdev)
rtwdev            745 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->hci.ops->stop(rtwdev);
rtwdev            746 drivers/net/wireless/realtek/rtw88/main.c 	rtw_mac_power_off(rtwdev);
rtwdev            749 drivers/net/wireless/realtek/rtw88/main.c void rtw_core_stop(struct rtw_dev *rtwdev)
rtwdev            751 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev            753 drivers/net/wireless/realtek/rtw88/main.c 	rtw_flag_clear(rtwdev, RTW_FLAG_RUNNING);
rtwdev            754 drivers/net/wireless/realtek/rtw88/main.c 	rtw_flag_clear(rtwdev, RTW_FLAG_FW_RUNNING);
rtwdev            756 drivers/net/wireless/realtek/rtw88/main.c 	cancel_delayed_work_sync(&rtwdev->watch_dog_work);
rtwdev            761 drivers/net/wireless/realtek/rtw88/main.c 	rtw_power_off(rtwdev);
rtwdev            764 drivers/net/wireless/realtek/rtw88/main.c static void rtw_init_ht_cap(struct rtw_dev *rtwdev,
rtwdev            767 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            795 drivers/net/wireless/realtek/rtw88/main.c static void rtw_init_vht_cap(struct rtw_dev *rtwdev,
rtwdev            798 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            839 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            847 drivers/net/wireless/realtek/rtw88/main.c 			rtw_init_ht_cap(rtwdev, &sband->ht_cap);
rtwdev            856 drivers/net/wireless/realtek/rtw88/main.c 			rtw_init_ht_cap(rtwdev, &sband->ht_cap);
rtwdev            858 drivers/net/wireless/realtek/rtw88/main.c 			rtw_init_vht_cap(rtwdev, &sband->vht_cap);
rtwdev            865 drivers/net/wireless/realtek/rtw88/main.c 	rtw_err(rtwdev, "failed to set supported band\n");
rtwdev            878 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_dev *rtwdev = context;
rtwdev            879 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_fw_state *fw = &rtwdev->fw;
rtwdev            882 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to request firmware\n");
rtwdev            888 drivers/net/wireless/realtek/rtw88/main.c static int rtw_load_firmware(struct rtw_dev *rtwdev, const char *fw_name)
rtwdev            890 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_fw_state *fw = &rtwdev->fw;
rtwdev            895 drivers/net/wireless/realtek/rtw88/main.c 	ret = request_firmware_nowait(THIS_MODULE, true, fw_name, rtwdev->dev,
rtwdev            896 drivers/net/wireless/realtek/rtw88/main.c 				      GFP_KERNEL, rtwdev, rtw_load_firmware_cb);
rtwdev            898 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "async firmware request failed\n");
rtwdev            905 drivers/net/wireless/realtek/rtw88/main.c static int rtw_chip_parameter_setup(struct rtw_dev *rtwdev)
rtwdev            907 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            908 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            909 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            912 drivers/net/wireless/realtek/rtw88/main.c 	switch (rtw_hci_type(rtwdev)) {
rtwdev            914 drivers/net/wireless/realtek/rtw88/main.c 		rtwdev->hci.rpwm_addr = 0x03d9;
rtwdev            917 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "unsupported hci type\n");
rtwdev            921 drivers/net/wireless/realtek/rtw88/main.c 	hal->chip_version = rtw_read32(rtwdev, REG_SYS_CFG1);
rtwdev            947 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->hal.rcr |= BIT_VHT_DACK;
rtwdev            952 drivers/net/wireless/realtek/rtw88/main.c static int rtw_chip_efuse_enable(struct rtw_dev *rtwdev)
rtwdev            954 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_fw_state *fw = &rtwdev->fw;
rtwdev            957 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_hci_setup(rtwdev);
rtwdev            959 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to setup hci\n");
rtwdev            963 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_mac_power_on(rtwdev);
rtwdev            965 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to power on mac\n");
rtwdev            969 drivers/net/wireless/realtek/rtw88/main.c 	rtw_write8(rtwdev, REG_C2HEVT, C2H_HW_FEATURE_DUMP);
rtwdev            974 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to load firmware\n");
rtwdev            978 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_download_firmware(rtwdev, fw);
rtwdev            980 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to download firmware\n");
rtwdev            987 drivers/net/wireless/realtek/rtw88/main.c 	rtw_mac_power_off(rtwdev);
rtwdev            993 drivers/net/wireless/realtek/rtw88/main.c static int rtw_dump_hw_feature(struct rtw_dev *rtwdev)
rtwdev            995 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1001 drivers/net/wireless/realtek/rtw88/main.c 	id = rtw_read8(rtwdev, REG_C2HEVT);
rtwdev           1003 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to read hw feature report\n");
rtwdev           1008 drivers/net/wireless/realtek/rtw88/main.c 		hw_feature[i] = rtw_read8(rtwdev, REG_C2HEVT + 2 + i);
rtwdev           1010 drivers/net/wireless/realtek/rtw88/main.c 	rtw_write8(rtwdev, REG_C2HEVT, 0);
rtwdev           1019 drivers/net/wireless/realtek/rtw88/main.c 	rtw_hw_config_rf_ant_num(rtwdev, efuse->hw_cap.ant_num);
rtwdev           1022 drivers/net/wireless/realtek/rtw88/main.c 	    efuse->hw_cap.nss > rtwdev->hal.rf_path_num)
rtwdev           1023 drivers/net/wireless/realtek/rtw88/main.c 		efuse->hw_cap.nss = rtwdev->hal.rf_path_num;
rtwdev           1025 drivers/net/wireless/realtek/rtw88/main.c 	rtw_dbg(rtwdev, RTW_DBG_EFUSE,
rtwdev           1033 drivers/net/wireless/realtek/rtw88/main.c static void rtw_chip_efuse_disable(struct rtw_dev *rtwdev)
rtwdev           1035 drivers/net/wireless/realtek/rtw88/main.c 	rtw_hci_stop(rtwdev);
rtwdev           1036 drivers/net/wireless/realtek/rtw88/main.c 	rtw_mac_power_off(rtwdev);
rtwdev           1039 drivers/net/wireless/realtek/rtw88/main.c static int rtw_chip_efuse_info_setup(struct rtw_dev *rtwdev)
rtwdev           1041 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1044 drivers/net/wireless/realtek/rtw88/main.c 	mutex_lock(&rtwdev->mutex);
rtwdev           1047 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_chip_efuse_enable(rtwdev);
rtwdev           1051 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_parse_efuse_map(rtwdev);
rtwdev           1055 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_dump_hw_feature(rtwdev);
rtwdev           1059 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_check_supported_rfe(rtwdev);
rtwdev           1089 drivers/net/wireless/realtek/rtw88/main.c 	rtw_chip_efuse_disable(rtwdev);
rtwdev           1092 drivers/net/wireless/realtek/rtw88/main.c 	mutex_unlock(&rtwdev->mutex);
rtwdev           1096 drivers/net/wireless/realtek/rtw88/main.c static int rtw_chip_board_info_setup(struct rtw_dev *rtwdev)
rtwdev           1098 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1099 drivers/net/wireless/realtek/rtw88/main.c 	const struct rtw_rfe_def *rfe_def = rtw_get_rfe_def(rtwdev);
rtwdev           1104 drivers/net/wireless/realtek/rtw88/main.c 	rtw_phy_setup_phy_cond(rtwdev, 0);
rtwdev           1106 drivers/net/wireless/realtek/rtw88/main.c 	rtw_phy_init_tx_power(rtwdev);
rtwdev           1107 drivers/net/wireless/realtek/rtw88/main.c 	rtw_load_table(rtwdev, rfe_def->phy_pg_tbl);
rtwdev           1108 drivers/net/wireless/realtek/rtw88/main.c 	rtw_load_table(rtwdev, rfe_def->txpwr_lmt_tbl);
rtwdev           1115 drivers/net/wireless/realtek/rtw88/main.c int rtw_chip_info_setup(struct rtw_dev *rtwdev)
rtwdev           1119 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_chip_parameter_setup(rtwdev);
rtwdev           1121 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to setup chip parameters\n");
rtwdev           1125 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_chip_efuse_info_setup(rtwdev);
rtwdev           1127 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to setup chip efuse info\n");
rtwdev           1131 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_chip_board_info_setup(rtwdev);
rtwdev           1133 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to setup chip board info\n");
rtwdev           1144 drivers/net/wireless/realtek/rtw88/main.c int rtw_core_init(struct rtw_dev *rtwdev)
rtwdev           1146 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1149 drivers/net/wireless/realtek/rtw88/main.c 	INIT_LIST_HEAD(&rtwdev->rsvd_page_list);
rtwdev           1151 drivers/net/wireless/realtek/rtw88/main.c 	timer_setup(&rtwdev->tx_report.purge_timer,
rtwdev           1154 drivers/net/wireless/realtek/rtw88/main.c 	INIT_DELAYED_WORK(&rtwdev->watch_dog_work, rtw_watch_dog_work);
rtwdev           1155 drivers/net/wireless/realtek/rtw88/main.c 	INIT_DELAYED_WORK(&rtwdev->lps_work, rtw_lps_work);
rtwdev           1159 drivers/net/wireless/realtek/rtw88/main.c 	INIT_WORK(&rtwdev->c2h_work, rtw_c2h_work);
rtwdev           1160 drivers/net/wireless/realtek/rtw88/main.c 	skb_queue_head_init(&rtwdev->c2h_queue);
rtwdev           1161 drivers/net/wireless/realtek/rtw88/main.c 	skb_queue_head_init(&rtwdev->coex.queue);
rtwdev           1162 drivers/net/wireless/realtek/rtw88/main.c 	skb_queue_head_init(&rtwdev->tx_report.queue);
rtwdev           1164 drivers/net/wireless/realtek/rtw88/main.c 	spin_lock_init(&rtwdev->dm_lock);
rtwdev           1165 drivers/net/wireless/realtek/rtw88/main.c 	spin_lock_init(&rtwdev->rf_lock);
rtwdev           1166 drivers/net/wireless/realtek/rtw88/main.c 	spin_lock_init(&rtwdev->h2c.lock);
rtwdev           1167 drivers/net/wireless/realtek/rtw88/main.c 	spin_lock_init(&rtwdev->tx_report.q_lock);
rtwdev           1169 drivers/net/wireless/realtek/rtw88/main.c 	mutex_init(&rtwdev->mutex);
rtwdev           1170 drivers/net/wireless/realtek/rtw88/main.c 	mutex_init(&rtwdev->coex.mutex);
rtwdev           1171 drivers/net/wireless/realtek/rtw88/main.c 	mutex_init(&rtwdev->hal.tx_power_mutex);
rtwdev           1173 drivers/net/wireless/realtek/rtw88/main.c 	init_waitqueue_head(&rtwdev->coex.wait);
rtwdev           1175 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->sec.total_cam_num = 32;
rtwdev           1176 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->hal.current_channel = 1;
rtwdev           1177 drivers/net/wireless/realtek/rtw88/main.c 	set_bit(RTW_BC_MC_MACID, rtwdev->mac_id_map);
rtwdev           1179 drivers/net/wireless/realtek/rtw88/main.c 	mutex_lock(&rtwdev->mutex);
rtwdev           1180 drivers/net/wireless/realtek/rtw88/main.c 	rtw_add_rsvd_page(rtwdev, RSVD_BEACON, false);
rtwdev           1181 drivers/net/wireless/realtek/rtw88/main.c 	mutex_unlock(&rtwdev->mutex);
rtwdev           1184 drivers/net/wireless/realtek/rtw88/main.c 	rtwdev->hal.rcr = BIT_APP_FCS | BIT_APP_MIC | BIT_APP_ICV |
rtwdev           1188 drivers/net/wireless/realtek/rtw88/main.c 	ret = rtw_load_firmware(rtwdev, rtwdev->chip->fw_name);
rtwdev           1190 drivers/net/wireless/realtek/rtw88/main.c 		rtw_warn(rtwdev, "no firmware loaded\n");
rtwdev           1198 drivers/net/wireless/realtek/rtw88/main.c void rtw_core_deinit(struct rtw_dev *rtwdev)
rtwdev           1200 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_fw_state *fw = &rtwdev->fw;
rtwdev           1207 drivers/net/wireless/realtek/rtw88/main.c 	spin_lock_irqsave(&rtwdev->tx_report.q_lock, flags);
rtwdev           1208 drivers/net/wireless/realtek/rtw88/main.c 	skb_queue_purge(&rtwdev->tx_report.queue);
rtwdev           1209 drivers/net/wireless/realtek/rtw88/main.c 	spin_unlock_irqrestore(&rtwdev->tx_report.q_lock, flags);
rtwdev           1211 drivers/net/wireless/realtek/rtw88/main.c 	list_for_each_entry_safe(rsvd_pkt, tmp, &rtwdev->rsvd_page_list, list) {
rtwdev           1216 drivers/net/wireless/realtek/rtw88/main.c 	mutex_destroy(&rtwdev->mutex);
rtwdev           1217 drivers/net/wireless/realtek/rtw88/main.c 	mutex_destroy(&rtwdev->coex.mutex);
rtwdev           1218 drivers/net/wireless/realtek/rtw88/main.c 	mutex_destroy(&rtwdev->hal.tx_power_mutex);
rtwdev           1222 drivers/net/wireless/realtek/rtw88/main.c int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw)
rtwdev           1228 drivers/net/wireless/realtek/rtw88/main.c 	max_tx_headroom = rtwdev->chip->tx_pkt_desc_sz;
rtwdev           1255 drivers/net/wireless/realtek/rtw88/main.c 	rtw_set_supported_band(hw, rtwdev->chip);
rtwdev           1256 drivers/net/wireless/realtek/rtw88/main.c 	SET_IEEE80211_PERM_ADDR(hw, rtwdev->efuse.addr);
rtwdev           1258 drivers/net/wireless/realtek/rtw88/main.c 	rtw_regd_init(rtwdev, rtw_regd_notifier);
rtwdev           1262 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "failed to register hw\n");
rtwdev           1266 drivers/net/wireless/realtek/rtw88/main.c 	if (regulatory_hint(hw->wiphy, rtwdev->regd.alpha2))
rtwdev           1267 drivers/net/wireless/realtek/rtw88/main.c 		rtw_err(rtwdev, "regulatory_hint fail\n");
rtwdev           1269 drivers/net/wireless/realtek/rtw88/main.c 	rtw_debugfs_init(rtwdev);
rtwdev           1275 drivers/net/wireless/realtek/rtw88/main.c void rtw_unregister_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw)
rtwdev           1277 drivers/net/wireless/realtek/rtw88/main.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            624 drivers/net/wireless/realtek/rtw88/main.h 	int (*mac_init)(struct rtw_dev *rtwdev);
rtwdev            625 drivers/net/wireless/realtek/rtw88/main.h 	int (*read_efuse)(struct rtw_dev *rtwdev, u8 *map);
rtwdev            626 drivers/net/wireless/realtek/rtw88/main.h 	void (*phy_set_param)(struct rtw_dev *rtwdev);
rtwdev            627 drivers/net/wireless/realtek/rtw88/main.h 	void (*set_channel)(struct rtw_dev *rtwdev, u8 channel,
rtwdev            629 drivers/net/wireless/realtek/rtw88/main.h 	void (*query_rx_desc)(struct rtw_dev *rtwdev, u8 *rx_desc,
rtwdev            632 drivers/net/wireless/realtek/rtw88/main.h 	u32 (*read_rf)(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev            634 drivers/net/wireless/realtek/rtw88/main.h 	bool (*write_rf)(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev            636 drivers/net/wireless/realtek/rtw88/main.h 	void (*set_tx_power_index)(struct rtw_dev *rtwdev);
rtwdev            637 drivers/net/wireless/realtek/rtw88/main.h 	int (*rsvd_page_dump)(struct rtw_dev *rtwdev, u8 *buf, u32 offset,
rtwdev            639 drivers/net/wireless/realtek/rtw88/main.h 	void (*set_antenna)(struct rtw_dev *rtwdev, u8 antenna_tx,
rtwdev            641 drivers/net/wireless/realtek/rtw88/main.h 	void (*cfg_ldo25)(struct rtw_dev *rtwdev, bool enable);
rtwdev            642 drivers/net/wireless/realtek/rtw88/main.h 	void (*false_alarm_statistics)(struct rtw_dev *rtwdev);
rtwdev            643 drivers/net/wireless/realtek/rtw88/main.h 	void (*phy_calibration)(struct rtw_dev *rtwdev);
rtwdev            644 drivers/net/wireless/realtek/rtw88/main.h 	void (*dpk_track)(struct rtw_dev *rtwdev);
rtwdev            645 drivers/net/wireless/realtek/rtw88/main.h 	void (*cck_pd_set)(struct rtw_dev *rtwdev, u8 level);
rtwdev            648 drivers/net/wireless/realtek/rtw88/main.h 	void (*coex_set_init)(struct rtw_dev *rtwdev);
rtwdev            649 drivers/net/wireless/realtek/rtw88/main.h 	void (*coex_set_ant_switch)(struct rtw_dev *rtwdev,
rtwdev            651 drivers/net/wireless/realtek/rtw88/main.h 	void (*coex_set_gnt_fix)(struct rtw_dev *rtwdev);
rtwdev            652 drivers/net/wireless/realtek/rtw88/main.h 	void (*coex_set_gnt_debug)(struct rtw_dev *rtwdev);
rtwdev            653 drivers/net/wireless/realtek/rtw88/main.h 	void (*coex_set_rfe_type)(struct rtw_dev *rtwdev);
rtwdev            654 drivers/net/wireless/realtek/rtw88/main.h 	void (*coex_set_wl_tx_power)(struct rtw_dev *rtwdev, u8 wl_pwr);
rtwdev            655 drivers/net/wireless/realtek/rtw88/main.h 	void (*coex_set_wl_rx_gain)(struct rtw_dev *rtwdev, bool low_gain);
rtwdev            792 drivers/net/wireless/realtek/rtw88/main.h 	void (*parse)(struct rtw_dev *rtwdev, const struct rtw_table *tbl);
rtwdev            793 drivers/net/wireless/realtek/rtw88/main.h 	void (*do_cfg)(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev            798 drivers/net/wireless/realtek/rtw88/main.h static inline void rtw_load_table(struct rtw_dev *rtwdev,
rtwdev            801 drivers/net/wireless/realtek/rtw88/main.h 	(*tbl->parse)(rtwdev, tbl);
rtwdev           1381 drivers/net/wireless/realtek/rtw88/main.h static inline bool rtw_flag_check(struct rtw_dev *rtwdev, enum rtw_flags flag)
rtwdev           1383 drivers/net/wireless/realtek/rtw88/main.h 	return test_bit(flag, rtwdev->flags);
rtwdev           1386 drivers/net/wireless/realtek/rtw88/main.h static inline void rtw_flag_clear(struct rtw_dev *rtwdev, enum rtw_flags flag)
rtwdev           1388 drivers/net/wireless/realtek/rtw88/main.h 	clear_bit(flag, rtwdev->flags);
rtwdev           1391 drivers/net/wireless/realtek/rtw88/main.h static inline void rtw_flag_set(struct rtw_dev *rtwdev, enum rtw_flags flag)
rtwdev           1393 drivers/net/wireless/realtek/rtw88/main.h 	set_bit(flag, rtwdev->flags);
rtwdev           1396 drivers/net/wireless/realtek/rtw88/main.h static inline bool rtw_is_assoc(struct rtw_dev *rtwdev)
rtwdev           1398 drivers/net/wireless/realtek/rtw88/main.h 	return !!rtwdev->sta_cnt;
rtwdev           1403 drivers/net/wireless/realtek/rtw88/main.h bool check_hw_ready(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 target);
rtwdev           1404 drivers/net/wireless/realtek/rtw88/main.h bool ltecoex_read_reg(struct rtw_dev *rtwdev, u16 offset, u32 *val);
rtwdev           1405 drivers/net/wireless/realtek/rtw88/main.h bool ltecoex_reg_write(struct rtw_dev *rtwdev, u16 offset, u32 value);
rtwdev           1406 drivers/net/wireless/realtek/rtw88/main.h void rtw_restore_reg(struct rtw_dev *rtwdev,
rtwdev           1408 drivers/net/wireless/realtek/rtw88/main.h void rtw_set_channel(struct rtw_dev *rtwdev);
rtwdev           1409 drivers/net/wireless/realtek/rtw88/main.h void rtw_vif_port_config(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif,
rtwdev           1412 drivers/net/wireless/realtek/rtw88/main.h void rtw_update_sta_info(struct rtw_dev *rtwdev, struct rtw_sta_info *si);
rtwdev           1413 drivers/net/wireless/realtek/rtw88/main.h int rtw_core_start(struct rtw_dev *rtwdev);
rtwdev           1414 drivers/net/wireless/realtek/rtw88/main.h void rtw_core_stop(struct rtw_dev *rtwdev);
rtwdev           1415 drivers/net/wireless/realtek/rtw88/main.h int rtw_chip_info_setup(struct rtw_dev *rtwdev);
rtwdev           1416 drivers/net/wireless/realtek/rtw88/main.h int rtw_core_init(struct rtw_dev *rtwdev);
rtwdev           1417 drivers/net/wireless/realtek/rtw88/main.h void rtw_core_deinit(struct rtw_dev *rtwdev);
rtwdev           1418 drivers/net/wireless/realtek/rtw88/main.h int rtw_register_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw);
rtwdev           1419 drivers/net/wireless/realtek/rtw88/main.h void rtw_unregister_hw(struct rtw_dev *rtwdev, struct ieee80211_hw *hw);
rtwdev             44 drivers/net/wireless/realtek/rtw88/pci.c static u8 rtw_pci_read8(struct rtw_dev *rtwdev, u32 addr)
rtwdev             46 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev             51 drivers/net/wireless/realtek/rtw88/pci.c static u16 rtw_pci_read16(struct rtw_dev *rtwdev, u32 addr)
rtwdev             53 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev             58 drivers/net/wireless/realtek/rtw88/pci.c static u32 rtw_pci_read32(struct rtw_dev *rtwdev, u32 addr)
rtwdev             60 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev             65 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_write8(struct rtw_dev *rtwdev, u32 addr, u8 val)
rtwdev             67 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev             72 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_write16(struct rtw_dev *rtwdev, u32 addr, u16 val)
rtwdev             74 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev             79 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_write32(struct rtw_dev *rtwdev, u32 addr, u32 val)
rtwdev             81 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev             93 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_free_tx_ring_skbs(struct rtw_dev *rtwdev,
rtwdev             96 drivers/net/wireless/realtek/rtw88/pci.c 	struct pci_dev *pdev = to_pci_dev(rtwdev->dev);
rtwdev            112 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_free_tx_ring(struct rtw_dev *rtwdev,
rtwdev            115 drivers/net/wireless/realtek/rtw88/pci.c 	struct pci_dev *pdev = to_pci_dev(rtwdev->dev);
rtwdev            120 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_free_tx_ring_skbs(rtwdev, tx_ring);
rtwdev            127 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_free_rx_ring_skbs(struct rtw_dev *rtwdev,
rtwdev            130 drivers/net/wireless/realtek/rtw88/pci.c 	struct pci_dev *pdev = to_pci_dev(rtwdev->dev);
rtwdev            148 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_free_rx_ring(struct rtw_dev *rtwdev,
rtwdev            151 drivers/net/wireless/realtek/rtw88/pci.c 	struct pci_dev *pdev = to_pci_dev(rtwdev->dev);
rtwdev            155 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_free_rx_ring_skbs(rtwdev, rx_ring);
rtwdev            160 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_free_trx_ring(struct rtw_dev *rtwdev)
rtwdev            162 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            169 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_free_tx_ring(rtwdev, tx_ring);
rtwdev            174 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_free_rx_ring(rtwdev, rx_ring);
rtwdev            178 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_init_tx_ring(struct rtw_dev *rtwdev,
rtwdev            182 drivers/net/wireless/realtek/rtw88/pci.c 	struct pci_dev *pdev = to_pci_dev(rtwdev->dev);
rtwdev            189 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to allocate tx ring\n");
rtwdev            204 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_reset_rx_desc(struct rtw_dev *rtwdev, struct sk_buff *skb,
rtwdev            208 drivers/net/wireless/realtek/rtw88/pci.c 	struct pci_dev *pdev = to_pci_dev(rtwdev->dev);
rtwdev            230 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_sync_rx_desc_device(struct rtw_dev *rtwdev, dma_addr_t dma,
rtwdev            234 drivers/net/wireless/realtek/rtw88/pci.c 	struct device *dev = rtwdev->dev;
rtwdev            247 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_init_rx_ring(struct rtw_dev *rtwdev,
rtwdev            251 drivers/net/wireless/realtek/rtw88/pci.c 	struct pci_dev *pdev = to_pci_dev(rtwdev->dev);
rtwdev            262 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to allocate rx ring\n");
rtwdev            277 drivers/net/wireless/realtek/rtw88/pci.c 		ret = rtw_pci_reset_rx_desc(rtwdev, skb, rx_ring, i, desc_size);
rtwdev            305 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_err(rtwdev, "failed to init rx buffer\n");
rtwdev            310 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_init_trx_ring(struct rtw_dev *rtwdev)
rtwdev            312 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            315 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            326 drivers/net/wireless/realtek/rtw88/pci.c 		ret = rtw_pci_init_tx_ring(rtwdev, tx_ring, tx_desc_size, len);
rtwdev            335 drivers/net/wireless/realtek/rtw88/pci.c 		ret = rtw_pci_init_rx_ring(rtwdev, rx_ring, rx_desc_size,
rtwdev            347 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_free_tx_ring(rtwdev, tx_ring);
rtwdev            353 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_free_rx_ring(rtwdev, rx_ring);
rtwdev            359 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_deinit(struct rtw_dev *rtwdev)
rtwdev            361 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_free_trx_ring(rtwdev);
rtwdev            364 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_init(struct rtw_dev *rtwdev)
rtwdev            366 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            383 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_pci_init_trx_ring(rtwdev);
rtwdev            388 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_reset_buf_desc(struct rtw_dev *rtwdev)
rtwdev            390 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            395 drivers/net/wireless/realtek/rtw88/pci.c 	tmp = rtw_read8(rtwdev, RTK_PCI_CTRL + 3);
rtwdev            396 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write8(rtwdev, RTK_PCI_CTRL + 3, tmp | 0xf7);
rtwdev            399 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_DESA_BCNQ, dma);
rtwdev            405 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_TXBD_NUM_H2CQ, len);
rtwdev            406 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_DESA_H2CQ, dma);
rtwdev            412 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_TXBD_NUM_BKQ, len);
rtwdev            413 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_DESA_BKQ, dma);
rtwdev            419 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_TXBD_NUM_BEQ, len);
rtwdev            420 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_DESA_BEQ, dma);
rtwdev            426 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_TXBD_NUM_VOQ, len);
rtwdev            427 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_DESA_VOQ, dma);
rtwdev            433 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_TXBD_NUM_VIQ, len);
rtwdev            434 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_DESA_VIQ, dma);
rtwdev            440 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_TXBD_NUM_MGMTQ, len);
rtwdev            441 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_DESA_MGMTQ, dma);
rtwdev            447 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_TXBD_NUM_HI0Q, len);
rtwdev            448 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_DESA_HI0Q, dma);
rtwdev            454 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_RXBD_NUM_MPDUQ, len & 0xfff);
rtwdev            455 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_RXBD_DESA_MPDUQ, dma);
rtwdev            458 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_TXBD_RWPTR_CLR, 0xffffffff);
rtwdev            461 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32_set(rtwdev, RTK_PCI_TXBD_H2CQ_CSR, BIT_CLR_H2CQ_HOST_IDX);
rtwdev            462 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32_set(rtwdev, RTK_PCI_TXBD_H2CQ_CSR, BIT_CLR_H2CQ_HW_IDX);
rtwdev            465 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_reset_trx_ring(struct rtw_dev *rtwdev)
rtwdev            467 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_reset_buf_desc(rtwdev);
rtwdev            470 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_enable_interrupt(struct rtw_dev *rtwdev,
rtwdev            473 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HIMR0, rtwpci->irq_mask[0]);
rtwdev            474 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HIMR1, rtwpci->irq_mask[1]);
rtwdev            475 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HIMR3, rtwpci->irq_mask[3]);
rtwdev            479 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_disable_interrupt(struct rtw_dev *rtwdev,
rtwdev            482 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HIMR0, 0);
rtwdev            483 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HIMR1, 0);
rtwdev            484 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HIMR3, 0);
rtwdev            488 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_setup(struct rtw_dev *rtwdev)
rtwdev            490 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_reset_trx_ring(rtwdev);
rtwdev            495 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_dma_reset(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci)
rtwdev            498 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32_set(rtwdev, RTK_PCI_CTRL,
rtwdev            503 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_dma_release(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci)
rtwdev            510 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_free_tx_ring_skbs(rtwdev, tx_ring);
rtwdev            514 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_start(struct rtw_dev *rtwdev)
rtwdev            516 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            519 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_dma_reset(rtwdev, rtwpci);
rtwdev            522 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_enable_interrupt(rtwdev, rtwpci);
rtwdev            528 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_stop(struct rtw_dev *rtwdev)
rtwdev            530 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            534 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_disable_interrupt(rtwdev, rtwpci);
rtwdev            535 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_dma_release(rtwdev, rtwpci);
rtwdev            582 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_dma_check(struct rtw_dev *rtwdev,
rtwdev            586 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            587 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            598 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_warn(rtwdev, "pci bus timeout, check dma status\n");
rtwdev            603 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_xmit(struct rtw_dev *rtwdev,
rtwdev            607 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            608 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            661 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_write16(rtwdev, bd_idx, ring->r.wp & 0xfff);
rtwdev            665 drivers/net/wireless/realtek/rtw88/pci.c 		reg_bcn_work = rtw_read8(rtwdev, RTK_PCI_TXBD_BCN_WORK);
rtwdev            667 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_write8(rtwdev, RTK_PCI_TXBD_BCN_WORK, reg_bcn_work);
rtwdev            673 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_write_data_rsvd_page(struct rtw_dev *rtwdev, u8 *buf,
rtwdev            681 drivers/net/wireless/realtek/rtw88/pci.c 	tx_pkt_desc_sz = rtwdev->chip->tx_pkt_desc_sz;
rtwdev            693 drivers/net/wireless/realtek/rtw88/pci.c 	return rtw_pci_xmit(rtwdev, &pkt_info, skb, RTW_TX_QUEUE_BCN);
rtwdev            696 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_write_data_h2c(struct rtw_dev *rtwdev, u8 *buf, u32 size)
rtwdev            703 drivers/net/wireless/realtek/rtw88/pci.c 	tx_pkt_desc_sz = rtwdev->chip->tx_pkt_desc_sz;
rtwdev            714 drivers/net/wireless/realtek/rtw88/pci.c 	return rtw_pci_xmit(rtwdev, &pkt_info, skb, RTW_TX_QUEUE_H2C);
rtwdev            717 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_tx(struct rtw_dev *rtwdev,
rtwdev            721 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            726 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_pci_xmit(rtwdev, pkt_info, skb, queue);
rtwdev            732 drivers/net/wireless/realtek/rtw88/pci.c 		ieee80211_stop_queue(rtwdev->hw, skb_get_queue_mapping(skb));
rtwdev            739 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_tx_isr(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci,
rtwdev            742 drivers/net/wireless/realtek/rtw88/pci.c 	struct ieee80211_hw *hw = rtwdev->hw;
rtwdev            755 drivers/net/wireless/realtek/rtw88/pci.c 	bd_idx = rtw_read32(rtwdev, bd_idx_addr);
rtwdev            766 drivers/net/wireless/realtek/rtw88/pci.c 			rtw_err(rtwdev, "failed to dequeue %d skb TX queue %d, BD=0x%08x, rp %d -> %d\n",
rtwdev            787 drivers/net/wireless/realtek/rtw88/pci.c 		skb_pull(skb, rtwdev->chip->tx_pkt_desc_sz);
rtwdev            793 drivers/net/wireless/realtek/rtw88/pci.c 			rtw_tx_report_enqueue(rtwdev, skb, tx_data->sn);
rtwdev            810 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_rx_isr(struct rtw_dev *rtwdev, struct rtw_pci *rtwpci,
rtwdev            813 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            829 drivers/net/wireless/realtek/rtw88/pci.c 	tmp = rtw_read32(rtwdev, RTK_PCI_RXBD_IDX_MPDUQ);
rtwdev            839 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_dma_check(rtwdev, ring, cur_rp);
rtwdev            842 drivers/net/wireless/realtek/rtw88/pci.c 		dma_sync_single_for_cpu(rtwdev->dev, dma, RTK_PCI_RX_BUF_SIZE,
rtwdev            845 drivers/net/wireless/realtek/rtw88/pci.c 		chip->ops->query_rx_desc(rtwdev, rx_desc, &pkt_stat, &rx_status);
rtwdev            863 drivers/net/wireless/realtek/rtw88/pci.c 			rtw_fw_c2h_cmd_rx_irqsafe(rtwdev, pkt_offset, new);
rtwdev            868 drivers/net/wireless/realtek/rtw88/pci.c 			rtw_rx_stats(rtwdev, pkt_stat.vif, new);
rtwdev            870 drivers/net/wireless/realtek/rtw88/pci.c 			ieee80211_rx_irqsafe(rtwdev->hw, new);
rtwdev            875 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_sync_rx_desc_device(rtwdev, dma, ring, cur_rp,
rtwdev            885 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, RTK_PCI_RXBD_IDX_MPDUQ, ring->r.rp);
rtwdev            888 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_irq_recognized(struct rtw_dev *rtwdev,
rtwdev            891 drivers/net/wireless/realtek/rtw88/pci.c 	irq_status[0] = rtw_read32(rtwdev, RTK_PCI_HISR0);
rtwdev            892 drivers/net/wireless/realtek/rtw88/pci.c 	irq_status[1] = rtw_read32(rtwdev, RTK_PCI_HISR1);
rtwdev            893 drivers/net/wireless/realtek/rtw88/pci.c 	irq_status[3] = rtw_read32(rtwdev, RTK_PCI_HISR3);
rtwdev            897 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HISR0, irq_status[0]);
rtwdev            898 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HISR1, irq_status[1]);
rtwdev            899 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32(rtwdev, RTK_PCI_HISR3, irq_status[3]);
rtwdev            904 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_dev *rtwdev = dev;
rtwdev            905 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            919 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_disable_interrupt(rtwdev, rtwpci);
rtwdev            928 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_dev *rtwdev = dev;
rtwdev            929 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            934 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_irq_recognized(rtwdev, rtwpci, irq_status);
rtwdev            937 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_MGMT);
rtwdev            939 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_HI0);
rtwdev            941 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_BE);
rtwdev            943 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_BK);
rtwdev            945 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_VO);
rtwdev            947 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_VI);
rtwdev            949 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_tx_isr(rtwdev, rtwpci, RTW_TX_QUEUE_H2C);
rtwdev            951 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_pci_rx_isr(rtwdev, rtwpci, RTW_RX_QUEUE_MPDU);
rtwdev            954 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_enable_interrupt(rtwdev, rtwpci);
rtwdev            960 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_io_mapping(struct rtw_dev *rtwdev,
rtwdev            963 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            970 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to request pci regions\n");
rtwdev            977 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to map pci memory\n");
rtwdev            984 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_io_unmapping(struct rtw_dev *rtwdev,
rtwdev            987 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_pci *rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev            995 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_dbi_write8(struct rtw_dev *rtwdev, u16 addr, u8 data)
rtwdev           1003 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write8(rtwdev, REG_DBI_WDATA_V1 + remainder, data);
rtwdev           1004 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, REG_DBI_FLAG_V1, write_addr);
rtwdev           1005 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write8(rtwdev, REG_DBI_FLAG_V1 + 2, 0x01);
rtwdev           1007 drivers/net/wireless/realtek/rtw88/pci.c 	flag = rtw_read8(rtwdev, REG_DBI_FLAG_V1 + 2);
rtwdev           1010 drivers/net/wireless/realtek/rtw88/pci.c 		flag = rtw_read8(rtwdev, REG_DBI_FLAG_V1 + 2);
rtwdev           1017 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_mdio_write(struct rtw_dev *rtwdev, u8 addr, u16 data, bool g1)
rtwdev           1023 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write16(rtwdev, REG_MDIO_V1, data);
rtwdev           1027 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write8(rtwdev, REG_PCIE_MIX_CFG, addr & 0x1f);
rtwdev           1028 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write8(rtwdev, REG_PCIE_MIX_CFG + 3, page);
rtwdev           1030 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_write32_mask(rtwdev, REG_PCIE_MIX_CFG, BIT_MDIO_WFLAG_V1, 1);
rtwdev           1031 drivers/net/wireless/realtek/rtw88/pci.c 	wflag = rtw_read32_mask(rtwdev, REG_PCIE_MIX_CFG, BIT_MDIO_WFLAG_V1);
rtwdev           1036 drivers/net/wireless/realtek/rtw88/pci.c 		wflag = rtw_read32_mask(rtwdev, REG_PCIE_MIX_CFG,
rtwdev           1044 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_phy_cfg(struct rtw_dev *rtwdev)
rtwdev           1046 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1053 drivers/net/wireless/realtek/rtw88/pci.c 	cut = BIT(0) << rtwdev->hal.cut_version;
rtwdev           1064 drivers/net/wireless/realtek/rtw88/pci.c 			rtw_mdio_write(rtwdev, offset, value, true);
rtwdev           1066 drivers/net/wireless/realtek/rtw88/pci.c 			rtw_dbi_write8(rtwdev, offset, value);
rtwdev           1078 drivers/net/wireless/realtek/rtw88/pci.c 			rtw_mdio_write(rtwdev, offset, value, false);
rtwdev           1080 drivers/net/wireless/realtek/rtw88/pci.c 			rtw_dbi_write8(rtwdev, offset, value);
rtwdev           1084 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_claim(struct rtw_dev *rtwdev, struct pci_dev *pdev)
rtwdev           1090 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to enable pci device\n");
rtwdev           1095 drivers/net/wireless/realtek/rtw88/pci.c 	pci_set_drvdata(pdev, rtwdev->hw);
rtwdev           1096 drivers/net/wireless/realtek/rtw88/pci.c 	SET_IEEE80211_DEV(rtwdev->hw, &pdev->dev);
rtwdev           1101 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_declaim(struct rtw_dev *rtwdev, struct pci_dev *pdev)
rtwdev           1107 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_setup_resource(struct rtw_dev *rtwdev, struct pci_dev *pdev)
rtwdev           1112 drivers/net/wireless/realtek/rtw88/pci.c 	rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev           1116 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_pci_io_mapping(rtwdev, pdev);
rtwdev           1118 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to request pci io region\n");
rtwdev           1122 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_pci_init(rtwdev);
rtwdev           1124 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to allocate pci resources\n");
rtwdev           1128 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_phy_cfg(rtwdev);
rtwdev           1133 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_io_unmapping(rtwdev, pdev);
rtwdev           1139 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_destroy(struct rtw_dev *rtwdev, struct pci_dev *pdev)
rtwdev           1141 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_deinit(rtwdev);
rtwdev           1142 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_io_unmapping(rtwdev, pdev);
rtwdev           1161 drivers/net/wireless/realtek/rtw88/pci.c static int rtw_pci_request_irq(struct rtw_dev *rtwdev, struct pci_dev *pdev)
rtwdev           1171 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to alloc PCI irq vectors\n");
rtwdev           1175 drivers/net/wireless/realtek/rtw88/pci.c 	ret = devm_request_threaded_irq(rtwdev->dev, pdev->irq,
rtwdev           1178 drivers/net/wireless/realtek/rtw88/pci.c 					IRQF_SHARED, KBUILD_MODNAME, rtwdev);
rtwdev           1180 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to request irq %d\n", ret);
rtwdev           1187 drivers/net/wireless/realtek/rtw88/pci.c static void rtw_pci_free_irq(struct rtw_dev *rtwdev, struct pci_dev *pdev)
rtwdev           1189 drivers/net/wireless/realtek/rtw88/pci.c 	devm_free_irq(rtwdev->dev, pdev->irq, rtwdev);
rtwdev           1197 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_dev *rtwdev;
rtwdev           1208 drivers/net/wireless/realtek/rtw88/pci.c 	rtwdev = hw->priv;
rtwdev           1209 drivers/net/wireless/realtek/rtw88/pci.c 	rtwdev->hw = hw;
rtwdev           1210 drivers/net/wireless/realtek/rtw88/pci.c 	rtwdev->dev = &pdev->dev;
rtwdev           1211 drivers/net/wireless/realtek/rtw88/pci.c 	rtwdev->chip = (struct rtw_chip_info *)id->driver_data;
rtwdev           1212 drivers/net/wireless/realtek/rtw88/pci.c 	rtwdev->hci.ops = &rtw_pci_ops;
rtwdev           1213 drivers/net/wireless/realtek/rtw88/pci.c 	rtwdev->hci.type = RTW_HCI_TYPE_PCIE;
rtwdev           1215 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_core_init(rtwdev);
rtwdev           1219 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_dbg(rtwdev, RTW_DBG_PCI,
rtwdev           1223 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_pci_claim(rtwdev, pdev);
rtwdev           1225 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to claim pci device\n");
rtwdev           1229 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_pci_setup_resource(rtwdev, pdev);
rtwdev           1231 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to setup pci resources\n");
rtwdev           1235 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_chip_info_setup(rtwdev);
rtwdev           1237 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to setup chip information\n");
rtwdev           1241 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_register_hw(rtwdev, hw);
rtwdev           1243 drivers/net/wireless/realtek/rtw88/pci.c 		rtw_err(rtwdev, "failed to register hw\n");
rtwdev           1247 drivers/net/wireless/realtek/rtw88/pci.c 	ret = rtw_pci_request_irq(rtwdev, pdev);
rtwdev           1256 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_destroy(rtwdev, pdev);
rtwdev           1259 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_declaim(rtwdev, pdev);
rtwdev           1262 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_core_deinit(rtwdev);
rtwdev           1273 drivers/net/wireless/realtek/rtw88/pci.c 	struct rtw_dev *rtwdev;
rtwdev           1279 drivers/net/wireless/realtek/rtw88/pci.c 	rtwdev = hw->priv;
rtwdev           1280 drivers/net/wireless/realtek/rtw88/pci.c 	rtwpci = (struct rtw_pci *)rtwdev->priv;
rtwdev           1282 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_unregister_hw(rtwdev, hw);
rtwdev           1283 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_disable_interrupt(rtwdev, rtwpci);
rtwdev           1284 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_destroy(rtwdev, pdev);
rtwdev           1285 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_declaim(rtwdev, pdev);
rtwdev           1286 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_pci_free_irq(rtwdev, pdev);
rtwdev           1287 drivers/net/wireless/realtek/rtw88/pci.c 	rtw_core_deinit(rtwdev);
rtwdev            114 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_cck_pd_init(struct rtw_dev *rtwdev)
rtwdev            116 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            127 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_init(struct rtw_dev *rtwdev)
rtwdev            129 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            130 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            144 drivers/net/wireless/realtek/rtw88/phy.c 	dm_info->igi_history[0] = rtw_read32_mask(rtwdev, addr, mask);
rtwdev            145 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_cck_pd_init(rtwdev);
rtwdev            148 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_dig_write(struct rtw_dev *rtwdev, u8 igi)
rtwdev            150 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            151 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            158 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_write32_mask(rtwdev, addr, mask, igi);
rtwdev            162 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_stat_false_alarm(struct rtw_dev *rtwdev)
rtwdev            164 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            166 drivers/net/wireless/realtek/rtw88/phy.c 	chip->ops->false_alarm_statistics(rtwdev);
rtwdev            193 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dev *rtwdev;
rtwdev            200 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dev *rtwdev = iter_data->rtwdev;
rtwdev            207 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_fw_send_rssi_info(rtwdev, si);
rtwdev            212 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_stat_rssi(struct rtw_dev *rtwdev)
rtwdev            214 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            217 drivers/net/wireless/realtek/rtw88/phy.c 	data.rtwdev = rtwdev;
rtwdev            219 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_iterate_stas_atomic(rtwdev, rtw_phy_stat_rssi_iter, &data);
rtwdev            225 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_statistics(struct rtw_dev *rtwdev)
rtwdev            227 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_stat_rssi(rtwdev);
rtwdev            228 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_stat_false_alarm(rtwdev);
rtwdev            387 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_dig(struct rtw_dev *rtwdev)
rtwdev            389 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            397 drivers/net/wireless/realtek/rtw88/phy.c 	if (rtw_flag_check(rtwdev, RTW_FLAG_DIG_DISABLE))
rtwdev            403 drivers/net/wireless/realtek/rtw88/phy.c 	linked = !!rtwdev->sta_cnt;
rtwdev            437 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_phy_dig_write(rtwdev, cur_igi);
rtwdev            442 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dev *rtwdev = data;
rtwdev            445 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_update_sta_info(rtwdev, si);
rtwdev            448 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_ra_info_update(struct rtw_dev *rtwdev)
rtwdev            450 drivers/net/wireless/realtek/rtw88/phy.c 	if (rtwdev->watch_dog_cnt & 0x3)
rtwdev            453 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_iterate_stas_atomic(rtwdev, rtw_phy_ra_info_update_iter, rtwdev);
rtwdev            456 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_dpk_track(struct rtw_dev *rtwdev)
rtwdev            458 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            461 drivers/net/wireless/realtek/rtw88/phy.c 		chip->ops->dpk_track(rtwdev);
rtwdev            467 drivers/net/wireless/realtek/rtw88/phy.c static u8 rtw_phy_cck_pd_lv_unlink(struct rtw_dev *rtwdev)
rtwdev            469 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            488 drivers/net/wireless/realtek/rtw88/phy.c static u8 rtw_phy_cck_pd_lv_link(struct rtw_dev *rtwdev)
rtwdev            490 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            509 drivers/net/wireless/realtek/rtw88/phy.c static u8 rtw_phy_cck_pd_lv(struct rtw_dev *rtwdev)
rtwdev            511 drivers/net/wireless/realtek/rtw88/phy.c 	if (!rtw_is_assoc(rtwdev))
rtwdev            512 drivers/net/wireless/realtek/rtw88/phy.c 		return rtw_phy_cck_pd_lv_unlink(rtwdev);
rtwdev            514 drivers/net/wireless/realtek/rtw88/phy.c 		return rtw_phy_cck_pd_lv_link(rtwdev);
rtwdev            517 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_cck_pd(struct rtw_dev *rtwdev)
rtwdev            519 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            520 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            524 drivers/net/wireless/realtek/rtw88/phy.c 	if (rtwdev->hal.current_band_type != RTW_BAND_2G)
rtwdev            532 drivers/net/wireless/realtek/rtw88/phy.c 	level = rtw_phy_cck_pd_lv(rtwdev);
rtwdev            538 drivers/net/wireless/realtek/rtw88/phy.c 		chip->ops->cck_pd_set(rtwdev, level);
rtwdev            541 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_dynamic_mechanism(struct rtw_dev *rtwdev)
rtwdev            544 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_statistics(rtwdev);
rtwdev            545 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_dig(rtwdev);
rtwdev            546 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_cck_pd(rtwdev);
rtwdev            547 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_ra_info_update(rtwdev);
rtwdev            548 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_dpk_track(rtwdev);
rtwdev            668 drivers/net/wireless/realtek/rtw88/phy.c u32 rtw_phy_read_rf(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev            671 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            672 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            677 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_err(rtwdev, "unsupported rf path (%d)\n", rf_path);
rtwdev            685 drivers/net/wireless/realtek/rtw88/phy.c 	val = rtw_read32_mask(rtwdev, direct_addr, mask);
rtwdev            690 drivers/net/wireless/realtek/rtw88/phy.c bool rtw_phy_write_rf_reg_sipi(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev            693 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            694 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            701 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_err(rtwdev, "unsupported rf path (%d)\n", rf_path);
rtwdev            709 drivers/net/wireless/realtek/rtw88/phy.c 		old_data = rtw_phy_read_rf(rtwdev, rf_path, addr, RFREG_MASK);
rtwdev            712 drivers/net/wireless/realtek/rtw88/phy.c 			rtw_err(rtwdev, "Write fail, rf is disabled\n");
rtwdev            722 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write32(rtwdev, sipi_addr[rf_path], data_and_addr);
rtwdev            729 drivers/net/wireless/realtek/rtw88/phy.c bool rtw_phy_write_rf_reg(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev            732 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            733 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            738 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_err(rtwdev, "unsupported rf path (%d)\n", rf_path);
rtwdev            747 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_write32_mask(rtwdev, REG_RSV_CTRL, BITS_RFC_DIRECT, DISABLE_PI);
rtwdev            748 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_write32_mask(rtwdev, REG_WLRF1, BITS_RFC_DIRECT, DISABLE_PI);
rtwdev            751 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write32_mask(rtwdev, direct_addr, mask, data);
rtwdev            756 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_write32_mask(rtwdev, REG_RSV_CTRL, BITS_RFC_DIRECT, ENABLE_PI);
rtwdev            757 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_write32_mask(rtwdev, REG_WLRF1, BITS_RFC_DIRECT, ENABLE_PI);
rtwdev            763 drivers/net/wireless/realtek/rtw88/phy.c bool rtw_phy_write_rf_reg_mix(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev            767 drivers/net/wireless/realtek/rtw88/phy.c 		return rtw_phy_write_rf_reg(rtwdev, rf_path, addr, mask, data);
rtwdev            769 drivers/net/wireless/realtek/rtw88/phy.c 	return rtw_phy_write_rf_reg_sipi(rtwdev, rf_path, addr, mask, data);
rtwdev            772 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_setup_phy_cond(struct rtw_dev *rtwdev, u32 pkg)
rtwdev            774 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            775 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            783 drivers/net/wireless/realtek/rtw88/phy.c 	switch (rtw_hci_type(rtwdev)) {
rtwdev            798 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_dbg(rtwdev, RTW_DBG_PHY, "phy cond=0x%08x\n", *((u32 *)&hal->phy_cond));
rtwdev            801 drivers/net/wireless/realtek/rtw88/phy.c static bool check_positive(struct rtw_dev *rtwdev, struct rtw_phy_cond cond)
rtwdev            803 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            821 drivers/net/wireless/realtek/rtw88/phy.c void rtw_parse_tbl_phy_cond(struct rtw_dev *rtwdev, const struct rtw_table *tbl)
rtwdev            848 drivers/net/wireless/realtek/rtw88/phy.c 				if (check_positive(rtwdev, pos_cond)) {
rtwdev            859 drivers/net/wireless/realtek/rtw88/phy.c 			(*tbl->do_cfg)(rtwdev, tbl, p->cfg.addr, p->cfg.data);
rtwdev            866 drivers/net/wireless/realtek/rtw88/phy.c static u8 tbl_to_dec_pwr_by_rate(struct rtw_dev *rtwdev, u32 hex, u8 i)
rtwdev            868 drivers/net/wireless/realtek/rtw88/phy.c 	if (rtwdev->chip->is_pwr_by_rate_dec)
rtwdev            875 drivers/net/wireless/realtek/rtw88/phy.c rtw_phy_get_rate_values_of_txpwr_by_rate(struct rtw_dev *rtwdev,
rtwdev            889 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev            899 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev            914 drivers/net/wireless/realtek/rtw88/phy.c 					tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev            929 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev            939 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev            949 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev            959 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev            967 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i - 1] = tbl_to_dec_pwr_by_rate(rtwdev,
rtwdev            980 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev            992 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1004 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1016 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1028 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1040 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1052 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1064 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1076 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1088 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1100 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1112 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1124 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1136 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1148 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1160 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1170 drivers/net/wireless/realtek/rtw88/phy.c 			pwr_by_rate[i] = tbl_to_dec_pwr_by_rate(rtwdev, val, i);
rtwdev           1174 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_warn(rtwdev, "invalid tx power index addr 0x%08x\n", addr);
rtwdev           1179 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_store_tx_power_by_rate(struct rtw_dev *rtwdev,
rtwdev           1183 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1191 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_phy_get_rate_values_of_txpwr_by_rate(rtwdev, regaddr, bitmask, data,
rtwdev           1211 drivers/net/wireless/realtek/rtw88/phy.c void rtw_parse_tbl_bb_pg(struct rtw_dev *rtwdev, const struct rtw_table *tbl)
rtwdev           1223 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_phy_store_tx_power_by_rate(rtwdev, p->band, p->rf_path,
rtwdev           1261 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_set_tx_power_limit(struct rtw_dev *rtwdev, u8 regd, u8 band,
rtwdev           1264 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1265 drivers/net/wireless/realtek/rtw88/phy.c 	u8 max_power_index = rtwdev->chip->max_power_index;
rtwdev           1296 drivers/net/wireless/realtek/rtw88/phy.c rtw_xref_5g_txpwr_lmt(struct rtw_dev *rtwdev, u8 regd,
rtwdev           1299 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1300 drivers/net/wireless/realtek/rtw88/phy.c 	u8 max_power_index = rtwdev->chip->max_power_index;
rtwdev           1316 drivers/net/wireless/realtek/rtw88/phy.c rtw_xref_txpwr_lmt_by_rs(struct rtw_dev *rtwdev, u8 regd, u8 bw, u8 ch_idx)
rtwdev           1326 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_xref_5g_txpwr_lmt(rtwdev, regd, bw, ch_idx, rs_ht, rs_vht);
rtwdev           1332 drivers/net/wireless/realtek/rtw88/phy.c rtw_xref_5g_txpwr_lmt_by_ch(struct rtw_dev *rtwdev, u8 regd, u8 bw)
rtwdev           1337 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_xref_txpwr_lmt_by_rs(rtwdev, regd, bw, ch_idx);
rtwdev           1342 drivers/net/wireless/realtek/rtw88/phy.c rtw_xref_txpwr_lmt_by_bw(struct rtw_dev *rtwdev, u8 regd)
rtwdev           1347 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_xref_5g_txpwr_lmt_by_ch(rtwdev, regd, bw);
rtwdev           1351 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_xref_txpwr_lmt(struct rtw_dev *rtwdev)
rtwdev           1356 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_xref_txpwr_lmt_by_bw(rtwdev, regd);
rtwdev           1359 drivers/net/wireless/realtek/rtw88/phy.c void rtw_parse_tbl_txpwr_lmt(struct rtw_dev *rtwdev,
rtwdev           1366 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_phy_set_tx_power_limit(rtwdev, p->regd, p->band,
rtwdev           1370 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_xref_txpwr_lmt(rtwdev);
rtwdev           1373 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_cfg_mac(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev           1376 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write8(rtwdev, addr, data);
rtwdev           1379 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_cfg_agc(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev           1382 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write32(rtwdev, addr, data);
rtwdev           1385 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_cfg_bb(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev           1401 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_write32(rtwdev, addr, data);
rtwdev           1404 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_cfg_rf(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev           1412 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_write_rf(rtwdev, tbl->rf_path, addr, RFREG_MASK, data);
rtwdev           1417 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_load_rfk_table(struct rtw_dev *rtwdev)
rtwdev           1419 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1420 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           1425 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write32_mask(rtwdev, 0x1e24, BIT(17), 0x1);
rtwdev           1426 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write32_mask(rtwdev, 0x1cd0, BIT(28), 0x1);
rtwdev           1427 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write32_mask(rtwdev, 0x1cd0, BIT(29), 0x1);
rtwdev           1428 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write32_mask(rtwdev, 0x1cd0, BIT(30), 0x1);
rtwdev           1429 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_write32_mask(rtwdev, 0x1cd0, BIT(31), 0x0);
rtwdev           1431 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_load_table(rtwdev, chip->rfk_init_tbl);
rtwdev           1436 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_load_tables(struct rtw_dev *rtwdev)
rtwdev           1438 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1441 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_load_table(rtwdev, chip->mac_tbl);
rtwdev           1442 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_load_table(rtwdev, chip->bb_tbl);
rtwdev           1443 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_load_table(rtwdev, chip->agc_tbl);
rtwdev           1444 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_load_rfk_table(rtwdev);
rtwdev           1446 drivers/net/wireless/realtek/rtw88/phy.c 	for (rf_path = 0; rf_path < rtwdev->hal.rf_path_num; rf_path++) {
rtwdev           1450 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_load_table(rtwdev, tbl);
rtwdev           1543 drivers/net/wireless/realtek/rtw88/phy.c static s8 rtw_phy_get_dis_dpd_by_rate_diff(struct rtw_dev *rtwdev, u16 rate)
rtwdev           1545 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1574 drivers/net/wireless/realtek/rtw88/phy.c static u8 rtw_phy_get_2g_tx_power_index(struct rtw_dev *rtwdev,
rtwdev           1579 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1621 drivers/net/wireless/realtek/rtw88/phy.c static u8 rtw_phy_get_5g_tx_power_index(struct rtw_dev *rtwdev,
rtwdev           1626 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1675 drivers/net/wireless/realtek/rtw88/phy.c static s8 rtw_phy_get_tx_power_limit(struct rtw_dev *rtwdev, u8 band,
rtwdev           1679 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1681 drivers/net/wireless/realtek/rtw88/phy.c 	s8 power_limit = (s8)rtwdev->chip->max_power_index;
rtwdev           1733 drivers/net/wireless/realtek/rtw88/phy.c 	return (s8)rtwdev->chip->max_power_index;
rtwdev           1736 drivers/net/wireless/realtek/rtw88/phy.c void rtw_get_tx_power_params(struct rtw_dev *rtwdev, u8 path, u8 rate, u8 bw,
rtwdev           1739 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1746 drivers/net/wireless/realtek/rtw88/phy.c 	pwr_idx = &rtwdev->efuse.txpwr_idx_table[path];
rtwdev           1752 drivers/net/wireless/realtek/rtw88/phy.c 		*base = rtw_phy_get_2g_tx_power_index(rtwdev,
rtwdev           1758 drivers/net/wireless/realtek/rtw88/phy.c 		*base = rtw_phy_get_5g_tx_power_index(rtwdev,
rtwdev           1764 drivers/net/wireless/realtek/rtw88/phy.c 	*limit = rtw_phy_get_tx_power_limit(rtwdev, band, bw, path,
rtwdev           1769 drivers/net/wireless/realtek/rtw88/phy.c rtw_phy_get_tx_power_index(struct rtw_dev *rtwdev, u8 rf_path, u8 rate,
rtwdev           1776 drivers/net/wireless/realtek/rtw88/phy.c 	rtw_get_tx_power_params(rtwdev, rf_path, rate, bandwidth,
rtwdev           1782 drivers/net/wireless/realtek/rtw88/phy.c 	if (rtwdev->chip->en_dis_dpd)
rtwdev           1783 drivers/net/wireless/realtek/rtw88/phy.c 		offset += rtw_phy_get_dis_dpd_by_rate_diff(rtwdev, rate);
rtwdev           1787 drivers/net/wireless/realtek/rtw88/phy.c 	if (tx_power > rtwdev->chip->max_power_index)
rtwdev           1788 drivers/net/wireless/realtek/rtw88/phy.c 		tx_power = rtwdev->chip->max_power_index;
rtwdev           1793 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_set_tx_power_index_by_rs(struct rtw_dev *rtwdev,
rtwdev           1796 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1797 drivers/net/wireless/realtek/rtw88/phy.c 	u8 regd = rtwdev->regd.txpwr_regd;
rtwdev           1813 drivers/net/wireless/realtek/rtw88/phy.c 		pwr_idx = rtw_phy_get_tx_power_index(rtwdev, path, rate,
rtwdev           1824 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_set_tx_power_level_by_path(struct rtw_dev *rtwdev,
rtwdev           1827 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1837 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_phy_set_tx_power_index_by_rs(rtwdev, ch, path, rs);
rtwdev           1840 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_set_tx_power_level(struct rtw_dev *rtwdev, u8 channel)
rtwdev           1842 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev           1843 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1849 drivers/net/wireless/realtek/rtw88/phy.c 		rtw_phy_set_tx_power_level_by_path(rtwdev, channel, path);
rtwdev           1851 drivers/net/wireless/realtek/rtw88/phy.c 	chip->ops->set_tx_power_index(rtwdev);
rtwdev           1934 drivers/net/wireless/realtek/rtw88/phy.c static void rtw_phy_init_tx_power_limit(struct rtw_dev *rtwdev,
rtwdev           1937 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1938 drivers/net/wireless/realtek/rtw88/phy.c 	s8 max_power_index = (s8)rtwdev->chip->max_power_index;
rtwdev           1950 drivers/net/wireless/realtek/rtw88/phy.c void rtw_phy_init_tx_power(struct rtw_dev *rtwdev)
rtwdev           1952 drivers/net/wireless/realtek/rtw88/phy.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1967 drivers/net/wireless/realtek/rtw88/phy.c 				rtw_phy_init_tx_power_limit(rtwdev, regd, bw,
rtwdev             19 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_init(struct rtw_dev *rtwdev);
rtwdev             20 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_dynamic_mechanism(struct rtw_dev *rtwdev);
rtwdev             22 drivers/net/wireless/realtek/rtw88/phy.h u32 rtw_phy_read_rf(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev             24 drivers/net/wireless/realtek/rtw88/phy.h bool rtw_phy_write_rf_reg_sipi(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev             26 drivers/net/wireless/realtek/rtw88/phy.h bool rtw_phy_write_rf_reg(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev             28 drivers/net/wireless/realtek/rtw88/phy.h bool rtw_phy_write_rf_reg_mix(struct rtw_dev *rtwdev, enum rtw_rf_path rf_path,
rtwdev             30 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_setup_phy_cond(struct rtw_dev *rtwdev, u32 pkg);
rtwdev             31 drivers/net/wireless/realtek/rtw88/phy.h void rtw_parse_tbl_phy_cond(struct rtw_dev *rtwdev, const struct rtw_table *tbl);
rtwdev             32 drivers/net/wireless/realtek/rtw88/phy.h void rtw_parse_tbl_bb_pg(struct rtw_dev *rtwdev, const struct rtw_table *tbl);
rtwdev             33 drivers/net/wireless/realtek/rtw88/phy.h void rtw_parse_tbl_txpwr_lmt(struct rtw_dev *rtwdev, const struct rtw_table *tbl);
rtwdev             34 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_cfg_mac(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev             36 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_cfg_agc(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev             38 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_cfg_bb(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev             40 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_cfg_rf(struct rtw_dev *rtwdev, const struct rtw_table *tbl,
rtwdev             42 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_init_tx_power(struct rtw_dev *rtwdev);
rtwdev             43 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_load_tables(struct rtw_dev *rtwdev);
rtwdev             44 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_set_tx_power_level(struct rtw_dev *rtwdev, u8 channel);
rtwdev             86 drivers/net/wireless/realtek/rtw88/phy.h static inline const struct rtw_rfe_def *rtw_get_rfe_def(struct rtw_dev *rtwdev)
rtwdev             88 drivers/net/wireless/realtek/rtw88/phy.h 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev             89 drivers/net/wireless/realtek/rtw88/phy.h 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev             98 drivers/net/wireless/realtek/rtw88/phy.h 	rtw_dbg(rtwdev, RTW_DBG_PHY, "use rfe_def[%d]\n", efuse->rfe_option);
rtwdev            102 drivers/net/wireless/realtek/rtw88/phy.h static inline int rtw_check_supported_rfe(struct rtw_dev *rtwdev)
rtwdev            104 drivers/net/wireless/realtek/rtw88/phy.h 	const struct rtw_rfe_def *rfe_def = rtw_get_rfe_def(rtwdev);
rtwdev            107 drivers/net/wireless/realtek/rtw88/phy.h 		rtw_err(rtwdev, "rfe %d isn't supported\n",
rtwdev            108 drivers/net/wireless/realtek/rtw88/phy.h 			rtwdev->efuse.rfe_option);
rtwdev            115 drivers/net/wireless/realtek/rtw88/phy.h void rtw_phy_dig_write(struct rtw_dev *rtwdev, u8 igi);
rtwdev            124 drivers/net/wireless/realtek/rtw88/phy.h rtw_get_tx_power_params(struct rtw_dev *rtwdev, u8 path,
rtwdev             12 drivers/net/wireless/realtek/rtw88/ps.c static int rtw_ips_pwr_up(struct rtw_dev *rtwdev)
rtwdev             16 drivers/net/wireless/realtek/rtw88/ps.c 	ret = rtw_core_start(rtwdev);
rtwdev             18 drivers/net/wireless/realtek/rtw88/ps.c 		rtw_err(rtwdev, "leave idle state failed\n");
rtwdev             20 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_set_channel(rtwdev);
rtwdev             21 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_flag_clear(rtwdev, RTW_FLAG_INACTIVE_PS);
rtwdev             26 drivers/net/wireless/realtek/rtw88/ps.c int rtw_enter_ips(struct rtw_dev *rtwdev)
rtwdev             28 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_flag_set(rtwdev, RTW_FLAG_INACTIVE_PS);
rtwdev             30 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_coex_ips_notify(rtwdev, COEX_IPS_ENTER);
rtwdev             32 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_core_stop(rtwdev);
rtwdev             40 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_dev *rtwdev = data;
rtwdev             44 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_vif_port_config(rtwdev, rtwvif, config);
rtwdev             47 drivers/net/wireless/realtek/rtw88/ps.c int rtw_leave_ips(struct rtw_dev *rtwdev)
rtwdev             51 drivers/net/wireless/realtek/rtw88/ps.c 	ret = rtw_ips_pwr_up(rtwdev);
rtwdev             53 drivers/net/wireless/realtek/rtw88/ps.c 		rtw_err(rtwdev, "failed to leave ips state\n");
rtwdev             57 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_iterate_vifs_atomic(rtwdev, rtw_restore_port_cfg_iter, rtwdev);
rtwdev             59 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_coex_ips_notify(rtwdev, COEX_IPS_LEAVE);
rtwdev             64 drivers/net/wireless/realtek/rtw88/ps.c static void rtw_leave_lps_core(struct rtw_dev *rtwdev)
rtwdev             66 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_lps_conf *conf = &rtwdev->lps_conf;
rtwdev             73 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_fw_set_pwr_mode(rtwdev);
rtwdev             74 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_flag_clear(rtwdev, RTW_FLAG_LEISURE_PS);
rtwdev             76 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_coex_lps_notify(rtwdev, COEX_LPS_DISABLE);
rtwdev             79 drivers/net/wireless/realtek/rtw88/ps.c static void rtw_enter_lps_core(struct rtw_dev *rtwdev)
rtwdev             81 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_lps_conf *conf = &rtwdev->lps_conf;
rtwdev             88 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_coex_lps_notify(rtwdev, COEX_LPS_ENABLE);
rtwdev             90 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_fw_set_pwr_mode(rtwdev);
rtwdev             91 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_flag_set(rtwdev, RTW_FLAG_LEISURE_PS);
rtwdev             96 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_dev *rtwdev = container_of(work, struct rtw_dev,
rtwdev             98 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_lps_conf *conf = &rtwdev->lps_conf;
rtwdev            105 drivers/net/wireless/realtek/rtw88/ps.c 		rtw_enter_lps_core(rtwdev);
rtwdev            107 drivers/net/wireless/realtek/rtw88/ps.c 		rtw_leave_lps_core(rtwdev);
rtwdev            110 drivers/net/wireless/realtek/rtw88/ps.c void rtw_enter_lps_irqsafe(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif)
rtwdev            112 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_lps_conf *conf = &rtwdev->lps_conf;
rtwdev            121 drivers/net/wireless/realtek/rtw88/ps.c 	ieee80211_queue_delayed_work(rtwdev->hw, &rtwdev->lps_work, 0);
rtwdev            124 drivers/net/wireless/realtek/rtw88/ps.c void rtw_leave_lps_irqsafe(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif)
rtwdev            126 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_lps_conf *conf = &rtwdev->lps_conf;
rtwdev            135 drivers/net/wireless/realtek/rtw88/ps.c 	ieee80211_queue_delayed_work(rtwdev->hw, &rtwdev->lps_work, 0);
rtwdev            138 drivers/net/wireless/realtek/rtw88/ps.c bool rtw_in_lps(struct rtw_dev *rtwdev)
rtwdev            140 drivers/net/wireless/realtek/rtw88/ps.c 	return rtw_flag_check(rtwdev, RTW_FLAG_LEISURE_PS);
rtwdev            143 drivers/net/wireless/realtek/rtw88/ps.c void rtw_enter_lps(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif)
rtwdev            145 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_lps_conf *conf = &rtwdev->lps_conf;
rtwdev            157 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_enter_lps_core(rtwdev);
rtwdev            160 drivers/net/wireless/realtek/rtw88/ps.c void rtw_leave_lps(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif)
rtwdev            162 drivers/net/wireless/realtek/rtw88/ps.c 	struct rtw_lps_conf *conf = &rtwdev->lps_conf;
rtwdev            174 drivers/net/wireless/realtek/rtw88/ps.c 	rtw_leave_lps_core(rtwdev);
rtwdev             10 drivers/net/wireless/realtek/rtw88/ps.h int rtw_enter_ips(struct rtw_dev *rtwdev);
rtwdev             11 drivers/net/wireless/realtek/rtw88/ps.h int rtw_leave_ips(struct rtw_dev *rtwdev);
rtwdev             14 drivers/net/wireless/realtek/rtw88/ps.h void rtw_enter_lps_irqsafe(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
rtwdev             15 drivers/net/wireless/realtek/rtw88/ps.h void rtw_leave_lps_irqsafe(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
rtwdev             16 drivers/net/wireless/realtek/rtw88/ps.h void rtw_enter_lps(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
rtwdev             17 drivers/net/wireless/realtek/rtw88/ps.h void rtw_leave_lps(struct rtw_dev *rtwdev, struct rtw_vif *rtwvif);
rtwdev             18 drivers/net/wireless/realtek/rtw88/ps.h bool rtw_in_lps(struct rtw_dev *rtwdev);
rtwdev            297 drivers/net/wireless/realtek/rtw88/regd.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            298 drivers/net/wireless/realtek/rtw88/regd.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            342 drivers/net/wireless/realtek/rtw88/regd.c static int rtw_regd_notifier_apply(struct rtw_dev *rtwdev,
rtwdev            348 drivers/net/wireless/realtek/rtw88/regd.c 	rtwdev->regd = rtw_regd_find_reg_by_name(request->alpha2);
rtwdev            370 drivers/net/wireless/realtek/rtw88/regd.c int rtw_regd_init(struct rtw_dev *rtwdev,
rtwdev            374 drivers/net/wireless/realtek/rtw88/regd.c 	struct wiphy *wiphy = rtwdev->hw->wiphy;
rtwdev            379 drivers/net/wireless/realtek/rtw88/regd.c 	rtwdev->regd = rtw_regd_find_reg_by_name(rtwdev->efuse.country_code);
rtwdev            380 drivers/net/wireless/realtek/rtw88/regd.c 	rtw_regd_init_wiphy(&rtwdev->regd, wiphy, reg_notifier);
rtwdev            388 drivers/net/wireless/realtek/rtw88/regd.c 	struct rtw_dev *rtwdev = hw->priv;
rtwdev            389 drivers/net/wireless/realtek/rtw88/regd.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            391 drivers/net/wireless/realtek/rtw88/regd.c 	rtw_regd_notifier_apply(rtwdev, wiphy, request);
rtwdev            392 drivers/net/wireless/realtek/rtw88/regd.c 	rtw_dbg(rtwdev, RTW_DBG_REGD,
rtwdev            395 drivers/net/wireless/realtek/rtw88/regd.c 		rtwdev->regd.chplan, rtwdev->regd.txpwr_regd);
rtwdev            397 drivers/net/wireless/realtek/rtw88/regd.c 	rtw_phy_set_tx_power_level(rtwdev, hal->current_channel);
rtwdev             67 drivers/net/wireless/realtek/rtw88/regd.h int rtw_regd_init(struct rtw_dev *rtwdev,
rtwdev             17 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_config_trx_mode(struct rtw_dev *rtwdev, u8 tx_path,
rtwdev             26 drivers/net/wireless/realtek/rtw88/rtw8822b.c static int rtw8822b_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
rtwdev             28 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev             50 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	switch (rtw_hci_type(rtwdev)) {
rtwdev             62 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_phy_rfe_init(struct rtw_dev *rtwdev)
rtwdev             65 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x64, BIT(29) | BIT(28), 0x3);
rtwdev             66 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x4c, BIT(26) | BIT(25), 0x0);
rtwdev             67 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x40, BIT(2), 0x1);
rtwdev             70 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x1990, 0x3f, 0x30);
rtwdev             71 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x1990, (BIT(11) | BIT(10)), 0x3);
rtwdev             74 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x974, 0x3f, 0x3f);
rtwdev             75 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x974, (BIT(11) | BIT(10)), 0x3);
rtwdev             78 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_phy_set_param(struct rtw_dev *rtwdev)
rtwdev             80 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev             85 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_set(rtwdev, REG_SYS_FUNC_EN,
rtwdev             87 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_set(rtwdev, REG_RF_CTRL,
rtwdev             89 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_set(rtwdev, REG_WLRF1, BIT_WLRF1_BBRF_EN);
rtwdev             92 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_clr(rtwdev, REG_RXPSEL, BIT_RX_PSEL_RST);
rtwdev             94 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_phy_load_tables(rtwdev);
rtwdev             96 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	crystal_cap = rtwdev->efuse.crystal_cap & 0x3F;
rtwdev             97 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x24, 0x7e000000, crystal_cap);
rtwdev             98 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, 0x28, 0x7e, crystal_cap);
rtwdev            101 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_set(rtwdev, REG_RXPSEL, BIT_RX_PSEL_RST);
rtwdev            104 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_config_trx_mode(rtwdev, hal->antenna_tx, hal->antenna_rx,
rtwdev            106 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_phy_init(rtwdev);
rtwdev            108 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_phy_rfe_init(rtwdev);
rtwdev            163 drivers/net/wireless/realtek/rtw88/rtw8822b.c static int rtw8822b_mac_init(struct rtw_dev *rtwdev)
rtwdev            168 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_clr(rtwdev, REG_SW_AMPDU_BURST_MODE_CTRL, BIT_PRE_TX_CMD);
rtwdev            169 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_AMPDU_MAX_TIME_V1, WLAN_AMPDU_MAX_TIME);
rtwdev            170 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_set(rtwdev, REG_TX_HANG_CTRL, BIT_EN_EOF_V1);
rtwdev            174 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32(rtwdev, REG_PROT_MODE_CTRL, value32);
rtwdev            175 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write16(rtwdev, REG_BAR_MODE_CTRL + 2,
rtwdev            177 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_FAST_EDCA_VOVI_SETTING, FAST_EDCA_VO_TH);
rtwdev            178 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_FAST_EDCA_VOVI_SETTING + 2, FAST_EDCA_VI_TH);
rtwdev            179 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_FAST_EDCA_BEBK_SETTING, FAST_EDCA_BE_TH);
rtwdev            180 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_FAST_EDCA_BEBK_SETTING + 2, FAST_EDCA_BK_TH);
rtwdev            182 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_clr(rtwdev, REG_TIMER0_SRC_SEL, BIT_TSFT_SEL_TIMER0);
rtwdev            183 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write16(rtwdev, REG_TXPAUSE, 0x0000);
rtwdev            184 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_SLOT, WLAN_SLOT_TIME);
rtwdev            185 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_PIFS, WLAN_PIFS_TIME);
rtwdev            186 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32(rtwdev, REG_SIFS, WLAN_SIFS_CFG);
rtwdev            187 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write16(rtwdev, REG_EDCA_VO_PARAM + 2, WLAN_VO_TXOP_LIMIT);
rtwdev            188 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write16(rtwdev, REG_EDCA_VI_PARAM + 2, WLAN_VI_TXOP_LIMIT);
rtwdev            189 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32(rtwdev, REG_RD_NAV_NXT, WLAN_NAV_CFG);
rtwdev            190 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write16(rtwdev, REG_RXTSF_OFFSET_CCK, WLAN_RX_TSF_CFG);
rtwdev            192 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_set(rtwdev, REG_BCN_CTRL, BIT_EN_BCN_FUNCTION);
rtwdev            194 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32(rtwdev, REG_TBTT_PROHIBIT, WLAN_TBTT_TIME);
rtwdev            195 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_DRVERLYINT, WLAN_DRV_EARLY_INT);
rtwdev            196 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_BCNDMATIM, WLAN_BCN_DMA_TIME);
rtwdev            197 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_clr(rtwdev, REG_TX_PTCL_CTRL + 1, BIT_SIFS_BK_EN >> 8);
rtwdev            199 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32(rtwdev, REG_RXFLTMAP0, WLAN_RX_FILTER0);
rtwdev            200 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write16(rtwdev, REG_RXFLTMAP2, WLAN_RX_FILTER2);
rtwdev            201 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32(rtwdev, REG_RCR, WLAN_RCR_CFG);
rtwdev            202 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_RX_PKT_LIMIT, WLAN_RXPKT_MAX_SZ_512);
rtwdev            203 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_TCR + 2, WLAN_TX_FUNC_CFG2);
rtwdev            204 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_TCR + 1, WLAN_TX_FUNC_CFG1);
rtwdev            205 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32(rtwdev, REG_WMAC_OPTION_FUNCTION + 8, WLAN_MAC_OPT_FUNC2);
rtwdev            206 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_WMAC_OPTION_FUNCTION + 4, WLAN_MAC_OPT_NORM_FUNC1);
rtwdev            211 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_channel_rfe_efem(struct rtw_dev *rtwdev, u8 channel)
rtwdev            213 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            217 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFESEL0, 0xffffff, 0x705770);
rtwdev            218 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFESEL8, MASKBYTE1, 0x57);
rtwdev            219 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFECTL, BIT(4), 0);
rtwdev            221 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFESEL0, 0xffffff, 0x177517);
rtwdev            222 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFESEL8, MASKBYTE1, 0x75);
rtwdev            223 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFECTL, BIT(5), 0);
rtwdev            226 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32s_mask(rtwdev, REG_RFEINV, BIT(11) | BIT(10) | 0x3f, 0x0);
rtwdev            231 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_TRSW, MASKLWORD, 0xa501);
rtwdev            234 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_TRSW, MASKLWORD, 0xa500);
rtwdev            237 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_TRSW, MASKLWORD, 0xa005);
rtwdev            241 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_channel_rfe_ifem(struct rtw_dev *rtwdev, u8 channel)
rtwdev            243 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            248 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFESEL0, 0xffffff, 0x745774);
rtwdev            249 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFESEL8, MASKBYTE1, 0x57);
rtwdev            252 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFESEL0, 0xffffff, 0x477547);
rtwdev            253 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_RFESEL8, MASKBYTE1, 0x75);
rtwdev            256 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32s_mask(rtwdev, REG_RFEINV, BIT(11) | BIT(10) | 0x3f, 0x0);
rtwdev            262 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32s_mask(rtwdev, REG_TRSW, MASKLWORD, 0xa501);
rtwdev            265 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32s_mask(rtwdev, REG_TRSW, MASKLWORD, 0xa500);
rtwdev            268 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32s_mask(rtwdev, REG_TRSW, MASKLWORD, 0xa005);
rtwdev            271 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_TRSW, MASKLWORD, 0xa5a5);
rtwdev            320 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	void (*rtw_set_channel_rfe)(struct rtw_dev *rtwdev, u8 channel);
rtwdev            343 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_channel_cca(struct rtw_dev *rtwdev, u8 channel, u8 bw,
rtwdev            346 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            347 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            401 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_CCASEL, MASKDWORD, reg82c);
rtwdev            402 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_PDMFTH, MASKDWORD, reg830);
rtwdev            403 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_CCA2ND, MASKDWORD, reg838);
rtwdev            406 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_L1WT, MASKDWORD, 0x9194b2b9);
rtwdev            411 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_CCA2ND, 0xf0, 0x4);
rtwdev            422 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_channel_rf(struct rtw_dev *rtwdev, u8 channel, u8 bw)
rtwdev            437 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            440 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rf_reg18 = rtw_read_rf(rtwdev, RF_PATH_A, 0x18, RFREG_MASK);
rtwdev            478 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_MALSEL, RFBE_MASK, rf_reg_be);
rtwdev            482 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTDBG, BIT(18), 0x1);
rtwdev            484 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTDBG, BIT(18), 0x0);
rtwdev            486 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, 0x18, RFREG_MASK, rf_reg18);
rtwdev            488 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_B, 0x18, RFREG_MASK, rf_reg18);
rtwdev            490 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_XTALX2, BIT(19), 0);
rtwdev            491 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_XTALX2, BIT(19), 1);
rtwdev            499 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_toggle_igi(struct rtw_dev *rtwdev)
rtwdev            501 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            504 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	igi = rtw_read32_mask(rtwdev, REG_RXIGI_A, 0x7f);
rtwdev            505 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXIGI_A, 0x7f, igi - 2);
rtwdev            506 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXIGI_A, 0x7f, igi);
rtwdev            507 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXIGI_B, 0x7f, igi - 2);
rtwdev            508 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXIGI_B, 0x7f, igi);
rtwdev            510 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXPSEL, MASKBYTE0, 0x0);
rtwdev            511 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXPSEL, MASKBYTE0,
rtwdev            515 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_channel_rxdfir(struct rtw_dev *rtwdev, u8 bw)
rtwdev            519 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ACBB0, BIT(29) | BIT(28), 0x1);
rtwdev            520 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ACBBRXFIR, BIT(29) | BIT(28), 0x0);
rtwdev            521 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_TXDFIR, BIT(31), 0x0);
rtwdev            524 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ACBB0, BIT(29) | BIT(28), 0x2);
rtwdev            525 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ACBBRXFIR, BIT(29) | BIT(28), 0x1);
rtwdev            526 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_TXDFIR, BIT(31), 0x0);
rtwdev            529 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ACBB0, BIT(29) | BIT(28), 0x2);
rtwdev            530 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ACBBRXFIR, BIT(29) | BIT(28), 0x2);
rtwdev            531 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32s_mask(rtwdev, REG_TXDFIR, BIT(31), 0x1);
rtwdev            535 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_channel_bb(struct rtw_dev *rtwdev, u8 channel, u8 bw,
rtwdev            538 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            543 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_RXPSEL, BIT(28), 0x1);
rtwdev            544 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_CCK_CHECK, BIT(7), 0x0);
rtwdev            545 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ENTXCCK, BIT(18), 0x0);
rtwdev            546 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_RXCCAMSK, 0x0000FC00, 15);
rtwdev            548 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ACGG2TBL, 0x1f, 0x0);
rtwdev            549 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_CLKTRK, 0x1ffe0000, 0x96a);
rtwdev            551 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_TXSF2, MASKDWORD, 0x00006577);
rtwdev            552 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_TXSF6, MASKLWORD, 0x0000);
rtwdev            554 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_TXSF2, MASKDWORD, 0x384f6577);
rtwdev            555 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_TXSF6, MASKLWORD, 0x1525);
rtwdev            558 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_RFEINV, 0x300, 0x2);
rtwdev            560 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ENTXCCK, BIT(18), 0x1);
rtwdev            561 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_CCK_CHECK, BIT(7), 0x1);
rtwdev            562 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_RXPSEL, BIT(28), 0x0);
rtwdev            563 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_RXCCAMSK, 0x0000FC00, 34);
rtwdev            566 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_ACGG2TBL, 0x1f, 0x1);
rtwdev            568 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_ACGG2TBL, 0x1f, 0x2);
rtwdev            570 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_ACGG2TBL, 0x1f, 0x3);
rtwdev            573 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_CLKTRK, 0x1ffe0000, 0x494);
rtwdev            575 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_CLKTRK, 0x1ffe0000, 0x453);
rtwdev            577 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_CLKTRK, 0x1ffe0000, 0x452);
rtwdev            579 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_CLKTRK, 0x1ffe0000, 0x412);
rtwdev            581 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, 0xcbc, 0x300, 0x1);
rtwdev            587 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		val32 = rtw_read32_mask(rtwdev, REG_ADCCLK, MASKDWORD);
rtwdev            590 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCCLK, MASKDWORD, val32);
rtwdev            592 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADC160, BIT(30), 0x1);
rtwdev            596 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_set(rtwdev, REG_RXSB, BIT(4));
rtwdev            598 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_clr(rtwdev, REG_RXSB, BIT(4));
rtwdev            600 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		val32 = rtw_read32_mask(rtwdev, REG_ADCCLK, MASKDWORD);
rtwdev            603 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCCLK, MASKDWORD, val32);
rtwdev            605 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADC160, BIT(30), 0x1);
rtwdev            608 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		val32 = rtw_read32_mask(rtwdev, REG_ADCCLK, MASKDWORD);
rtwdev            611 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCCLK, MASKDWORD, val32);
rtwdev            613 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADC160, BIT(30), 0x1);
rtwdev            616 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_L1PKWT, 0x0000f000, 0x6);
rtwdev            617 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_ADC40, BIT(10), 0x1);
rtwdev            621 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		val32 = rtw_read32_mask(rtwdev, REG_ADCCLK, MASKDWORD);
rtwdev            624 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCCLK, MASKDWORD, val32);
rtwdev            626 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADC160, BIT(30), 0x0);
rtwdev            627 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADC40, BIT(31), 0x1);
rtwdev            630 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		val32 = rtw_read32_mask(rtwdev, REG_ADCCLK, MASKDWORD);
rtwdev            633 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCCLK, MASKDWORD, val32);
rtwdev            635 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADC160, BIT(30), 0x0);
rtwdev            636 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADC40, BIT(31), 0x1);
rtwdev            641 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_channel(struct rtw_dev *rtwdev, u8 channel, u8 bw,
rtwdev            644 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            653 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_set_channel_bb(rtwdev, channel, bw, primary_chan_idx);
rtwdev            654 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_set_channel_mac(rtwdev, channel, bw, primary_chan_idx);
rtwdev            655 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_set_channel_rf(rtwdev, channel, bw);
rtwdev            656 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_set_channel_rxdfir(rtwdev, bw);
rtwdev            657 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_toggle_igi(rtwdev);
rtwdev            658 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_set_channel_cca(rtwdev, channel, bw, rfe_info);
rtwdev            659 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	(*rfe_info->rtw_set_channel_rfe)(rtwdev, channel);
rtwdev            662 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_config_trx_mode(struct rtw_dev *rtwdev, u8 tx_path,
rtwdev            665 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            667 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	u8 ch = rtwdev->hal.current_channel;
rtwdev            678 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_AGCTR_A, MASKLWORD, 0x3231);
rtwdev            680 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_AGCTR_A, MASKLWORD, 0x1111);
rtwdev            683 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_AGCTR_B, MASKLWORD, 0x3231);
rtwdev            685 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_AGCTR_B, MASKLWORD, 0x1111);
rtwdev            687 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_CDDTXP, (BIT(19) | BIT(18)), 0x3);
rtwdev            688 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_TXPSEL, (BIT(29) | BIT(28)), 0x1);
rtwdev            689 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_TXPSEL, BIT(30), 0x1);
rtwdev            692 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_CDDTXP, 0xfff00000, 0x001);
rtwdev            693 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCINI, 0xf0000000, 0x8);
rtwdev            695 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_CDDTXP, 0xfff00000, 0x002);
rtwdev            696 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCINI, 0xf0000000, 0x4);
rtwdev            700 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_TXPSEL1, 0xfff0, 0x01);
rtwdev            702 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_TXPSEL1, 0xfff0, 0x43);
rtwdev            705 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_TXPSEL, MASKBYTE0, tx_path_sel);
rtwdev            708 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		if (is_tx2_path || rtwdev->mp_mode) {
rtwdev            709 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_CDDTXP, 0xfff00000, 0x043);
rtwdev            710 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32_mask(rtwdev, REG_ADCINI, 0xf0000000, 0xc);
rtwdev            714 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXDESC, BIT(22), 0x0);
rtwdev            715 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXDESC, BIT(18), 0x0);
rtwdev            718 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCINI, 0x0f000000, 0x0);
rtwdev            720 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ADCINI, 0x0f000000, 0x5);
rtwdev            723 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_mask(rtwdev, REG_RXPSEL, MASKBYTE0, rx_path_sel);
rtwdev            726 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ANTWT, BIT(16), 0x0);
rtwdev            727 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_HTSTFWT, BIT(28), 0x0);
rtwdev            728 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_MRC, BIT(23), 0x0);
rtwdev            730 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_ANTWT, BIT(16), 0x1);
rtwdev            731 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_HTSTFWT, BIT(28), 0x1);
rtwdev            732 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write32_mask(rtwdev, REG_MRC, BIT(23), 0x1);
rtwdev            738 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWE, RFREG_MASK, 0x80000);
rtwdev            739 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWA, RFREG_MASK, 0x00001);
rtwdev            742 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rf_reg33 = rtw_read_rf(rtwdev, RF_PATH_A, 0x33, RFREG_MASK);
rtwdev            751 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWE, RFREG_MASK, 0x80000);
rtwdev            752 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWA, RFREG_MASK, 0x00001);
rtwdev            753 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWD1, RFREG_MASK, 0x00034);
rtwdev            754 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWD0, RFREG_MASK, 0x4080c);
rtwdev            755 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWE, RFREG_MASK, 0x00000);
rtwdev            756 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWE, RFREG_MASK, 0x00000);
rtwdev            758 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_toggle_igi(rtwdev);
rtwdev            759 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_set_channel_cca(rtwdev, 1, RTW_CHANNEL_WIDTH_20, rfe_info);
rtwdev            760 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	(*rfe_info->rtw_set_channel_rfe)(rtwdev, ch);
rtwdev            763 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void query_phy_status_page0(struct rtw_dev *rtwdev, u8 *phy_status,
rtwdev            777 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void query_phy_status_page1(struct rtw_dev *rtwdev, u8 *phy_status,
rtwdev            806 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status,
rtwdev            815 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		query_phy_status_page0(rtwdev, phy_status, pkt_stat);
rtwdev            818 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		query_phy_status_page1(rtwdev, phy_status, pkt_stat);
rtwdev            821 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_warn(rtwdev, "unused phy status page (%d)\n", page);
rtwdev            826 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_query_rx_desc(struct rtw_dev *rtwdev, u8 *rx_desc,
rtwdev            831 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	u32 desc_sz = rtwdev->chip->rx_pkt_desc_sz;
rtwdev            860 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		query_phy_status(rtwdev, phy_status, pkt_stat);
rtwdev            863 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_rx_fill_rx_status(rtwdev, pkt_stat, hdr, rx_status, phy_status);
rtwdev            867 drivers/net/wireless/realtek/rtw88/rtw8822b.c rtw8822b_set_tx_power_index_by_rate(struct rtw_dev *rtwdev, u8 path, u8 rs)
rtwdev            869 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            882 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32(rtwdev, offset_txagc[path] + rate_idx,
rtwdev            889 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_tx_power_index(struct rtw_dev *rtwdev)
rtwdev            891 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            896 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw8822b_set_tx_power_index_by_rate(rtwdev, path, rs);
rtwdev            912 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_set_antenna(struct rtw_dev *rtwdev, u8 antenna_tx,
rtwdev            915 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev            917 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_dbg(rtwdev, RTW_DBG_PHY, "config RF path, tx=0x%x rx=0x%x\n",
rtwdev            921 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_info(rtwdev, "unsupport tx path, set to default path ab\n");
rtwdev            925 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_info(rtwdev, "unsupport rx path, set to default path ab\n");
rtwdev            930 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_config_trx_mode(rtwdev, antenna_tx, antenna_rx, false);
rtwdev            933 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_cfg_ldo25(struct rtw_dev *rtwdev, bool enable)
rtwdev            937 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	ldo_pwr = rtw_read8(rtwdev, REG_LDO_EFUSE_CTRL + 3);
rtwdev            939 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_LDO_EFUSE_CTRL + 3, ldo_pwr);
rtwdev            942 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_false_alarm_statistics(struct rtw_dev *rtwdev)
rtwdev            944 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            950 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	cck_enable = rtw_read32(rtwdev, 0x808) & BIT(28);
rtwdev            951 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	cck_fa_cnt = rtw_read16(rtwdev, 0xa5c);
rtwdev            952 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	ofdm_fa_cnt = rtw_read16(rtwdev, 0xf48);
rtwdev            959 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	crc32_cnt = rtw_read32(rtwdev, 0xf04);
rtwdev            962 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	crc32_cnt = rtw_read32(rtwdev, 0xf14);
rtwdev            965 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	crc32_cnt = rtw_read32(rtwdev, 0xf10);
rtwdev            968 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	crc32_cnt = rtw_read32(rtwdev, 0xf0c);
rtwdev            972 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_set(rtwdev, 0x9a4, BIT(17));
rtwdev            973 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_clr(rtwdev, 0x9a4, BIT(17));
rtwdev            974 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_clr(rtwdev, 0xa2c, BIT(15));
rtwdev            975 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_set(rtwdev, 0xa2c, BIT(15));
rtwdev            976 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_set(rtwdev, 0xb58, BIT(0));
rtwdev            977 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_clr(rtwdev, 0xb58, BIT(0));
rtwdev            980 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_do_iqk(struct rtw_dev *rtwdev)
rtwdev            988 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_fw_do_iqk(rtwdev, &para);
rtwdev            991 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rf_reg = rtw_read_rf(rtwdev, RF_PATH_A, RF_DTXLOK, RFREG_MASK);
rtwdev            996 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_DTXLOK, RFREG_MASK, 0x0);
rtwdev            998 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	reload = !!rtw_read32_mask(rtwdev, REG_IQKFAILMSK, BIT(16));
rtwdev            999 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	iqk_fail_mask = rtw_read32_mask(rtwdev, REG_IQKFAILMSK, GENMASK(7, 0));
rtwdev           1000 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_dbg(rtwdev, RTW_DBG_PHY,
rtwdev           1005 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_phy_calibration(struct rtw_dev *rtwdev)
rtwdev           1007 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw8822b_do_iqk(rtwdev);
rtwdev           1010 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_coex_cfg_init(struct rtw_dev *rtwdev)
rtwdev           1013 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_set(rtwdev, REG_BCN_CTRL, BIT_EN_BCN_FUNCTION);
rtwdev           1017 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_set(rtwdev, REG_BT_TDMA_TIME, 0x05);
rtwdev           1020 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_BT_STAT_CTRL, 0x1);
rtwdev           1023 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_set(rtwdev, REG_GPIO_MUXCFG, BIT_BT_PTA_EN);
rtwdev           1024 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write32_set(rtwdev, REG_GPIO_MUXCFG, BIT_BT_AOD_GPIO3);
rtwdev           1027 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_set(rtwdev, REG_QUEUE_CTRL, BIT_PTA_WL_TX_EN);
rtwdev           1029 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_clr(rtwdev, REG_QUEUE_CTRL, BIT_PTA_EDCCA_EN);
rtwdev           1031 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_set(rtwdev, REG_BT_COEX_V2, BIT_GNT_BT_POLARITY);
rtwdev           1034 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_coex_cfg_ant_switch(struct rtw_dev *rtwdev,
rtwdev           1037 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1058 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 2, BIT_DPDT_SEL_EN >> 16, 0x0);
rtwdev           1060 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 3, BIT_DPDT_WL_SEL >> 24, 0x1);
rtwdev           1062 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_RFE_CTRL8, BIT_MASK_RFE_SEL89, 0x77);
rtwdev           1076 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_RFE_INV8, BIT_MASK_RFE_INV89, regval);
rtwdev           1080 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 2, BIT_DPDT_SEL_EN >> 16, 0x0);
rtwdev           1082 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 3, BIT_DPDT_WL_SEL >> 24, 0x1);
rtwdev           1084 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_RFE_CTRL8, BIT_MASK_RFE_SEL89, 0x66);
rtwdev           1087 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_RFE_INV8, BIT_MASK_RFE_INV89, regval);
rtwdev           1091 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 2, BIT_DPDT_SEL_EN >> 16, 0x0);
rtwdev           1093 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 3, BIT_DPDT_WL_SEL >> 24, 0x1);
rtwdev           1094 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_RFE_CTRL8, BIT_MASK_RFE_SEL89, 0x88);
rtwdev           1098 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 2, BIT_DPDT_SEL_EN >> 16, 0x1);
rtwdev           1101 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_PAD_CTRL1, BIT_SW_DPDT_SEL_DATA, regval);
rtwdev           1105 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 2, BIT_DPDT_SEL_EN >> 16, 0x0);
rtwdev           1107 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 3, BIT_DPDT_WL_SEL >> 24, 0x1);
rtwdev           1111 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 2, BIT_DPDT_SEL_EN >> 16, 0x0);
rtwdev           1113 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, REG_LED_CFG + 3, BIT_DPDT_WL_SEL >> 24, 0x0);
rtwdev           1118 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_coex_cfg_gnt_fix(struct rtw_dev *rtwdev)
rtwdev           1122 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_coex_cfg_gnt_debug(struct rtw_dev *rtwdev)
rtwdev           1124 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_mask(rtwdev, REG_PAD_CTRL1 + 2, BIT_BTGP_SPI_EN >> 16, 0);
rtwdev           1125 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_mask(rtwdev, REG_PAD_CTRL1 + 3, BIT_BTGP_JTAG_EN >> 24, 0);
rtwdev           1126 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_mask(rtwdev, REG_GPIO_MUXCFG + 2, BIT_FSPI_EN >> 16, 0);
rtwdev           1127 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_mask(rtwdev, REG_PAD_CTRL1 + 1, BIT_LED1DIS >> 8, 0);
rtwdev           1128 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_mask(rtwdev, REG_SYS_SDIO_CTRL + 3, BIT_DBG_GNT_WL_BT >> 24, 0);
rtwdev           1131 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_coex_cfg_rfe_type(struct rtw_dev *rtwdev)
rtwdev           1133 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1135 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1138 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	coex_rfe->rfe_module_type = rtwdev->efuse.rfe_option;
rtwdev           1150 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_EXTFEM, true);
rtwdev           1153 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_coex_write_scbd(rtwdev, COEX_SCBD_EXTFEM, false);
rtwdev           1165 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8(rtwdev, REG_RFE_CTRL_E, 0xff);
rtwdev           1166 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_mask(rtwdev, REG_RFESEL_CTRL + 1, 0x3, 0x0);
rtwdev           1167 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_write8_mask(rtwdev, REG_RFE_INV16, BIT_RFE_BUF_EN, 0x0);
rtwdev           1170 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_coex_write_indirect_reg(rtwdev, LTE_COEX_CTRL, BIT_LTE_COEX_EN, 0);
rtwdev           1173 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_coex_write_indirect_reg(rtwdev, LTE_WL_TRX_CTRL, MASKLWORD, 0xffff);
rtwdev           1176 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	rtw_coex_write_indirect_reg(rtwdev, LTE_BT_TRX_CTRL, MASKLWORD, 0xffff);
rtwdev           1179 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_coex_cfg_wl_tx_power(struct rtw_dev *rtwdev, u8 wl_pwr)
rtwdev           1181 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1198 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write8_mask(rtwdev, reg_addr[i], 0xff, pwr);
rtwdev           1201 drivers/net/wireless/realtek/rtw88/rtw8822b.c static void rtw8822b_coex_cfg_wl_rx_gain(struct rtw_dev *rtwdev, bool low_gain)
rtwdev           1203 drivers/net/wireless/realtek/rtw88/rtw8822b.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1239 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32(rtwdev, REG_RX_GAIN_EN, wl_rx_low_gain_on[i]);
rtwdev           1242 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_A, RF_RCKD, 0x2, 0x1);
rtwdev           1243 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_A, RF_RCK, 0x3f, 0x3f);
rtwdev           1244 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_B, RF_RCKD, 0x2, 0x1);
rtwdev           1245 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_B, RF_RCK, 0x3f, 0x3f);
rtwdev           1248 drivers/net/wireless/realtek/rtw88/rtw8822b.c 			rtw_write32(rtwdev, 0x81c, wl_rx_low_gain_off[i]);
rtwdev           1251 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_A, RF_RCK, 0x3f, 0x4);
rtwdev           1252 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_A, RF_RCKD, 0x2, 0x0);
rtwdev           1253 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_B, RF_RCK, 0x3f, 0x4);
rtwdev           1254 drivers/net/wireless/realtek/rtw88/rtw8822b.c 		rtw_write_rf(rtwdev, RF_PATH_B, RF_RCKD, 0x2, 0x0);
rtwdev            101 drivers/net/wireless/realtek/rtw88/rtw8822b.h _rtw_write32s_mask(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 data)
rtwdev            104 drivers/net/wireless/realtek/rtw88/rtw8822b.h 	rtw_write32_mask(rtwdev, addr, mask, data);
rtwdev            105 drivers/net/wireless/realtek/rtw88/rtw8822b.h 	rtw_write32_mask(rtwdev, addr + 0x200, mask, data);
rtwdev            108 drivers/net/wireless/realtek/rtw88/rtw8822b.h #define rtw_write32s_mask(rtwdev, addr, mask, data)			       \
rtwdev            112 drivers/net/wireless/realtek/rtw88/rtw8822b.h 		_rtw_write32s_mask(rtwdev, addr, mask, data);		       \
rtwdev             18 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_config_trx_mode(struct rtw_dev *rtwdev, u8 tx_path,
rtwdev             27 drivers/net/wireless/realtek/rtw88/rtw8822c.c static int rtw8822c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
rtwdev             29 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev             47 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	switch (rtw_hci_type(rtwdev)) {
rtwdev             59 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_header_file_init(struct rtw_dev *rtwdev, bool pre)
rtwdev             61 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_3WIRE, BIT_3WIRE_TX_EN | BIT_3WIRE_RX_EN);
rtwdev             62 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_3WIRE, BIT_3WIRE_PI_ON);
rtwdev             63 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_3WIRE2, BIT_3WIRE_TX_EN | BIT_3WIRE_RX_EN);
rtwdev             64 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_3WIRE2, BIT_3WIRE_PI_ON);
rtwdev             67 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_clr(rtwdev, REG_ENCCK, BIT_CCK_OFDM_BLK_EN);
rtwdev             69 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_set(rtwdev, REG_ENCCK, BIT_CCK_OFDM_BLK_EN);
rtwdev             72 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_backup_reg(struct rtw_dev *rtwdev,
rtwdev             88 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		backup[i].val = rtw_read32(rtwdev, addrs[i]);
rtwdev             94 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			val = rtw_read_rf(rtwdev, path, reg, RFREG_MASK);
rtwdev            101 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_restore_reg(struct rtw_dev *rtwdev,
rtwdev            109 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_restore_reg(rtwdev, backup, DACK_REG_8822C);
rtwdev            115 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write_rf(rtwdev, path, reg, RFREG_MASK, val);
rtwdev            120 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_rf_minmax_cmp(struct rtw_dev *rtwdev, u32 value,
rtwdev            158 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void __rtw8822c_dac_iq_sort(struct rtw_dev *rtwdev, u32 *v1, u32 *v2)
rtwdev            171 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_iq_sort(struct rtw_dev *rtwdev, u32 *iv, u32 *qv)
rtwdev            177 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			__rtw8822c_dac_iq_sort(rtwdev, &iv[j], &iv[j + 1]);
rtwdev            178 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			__rtw8822c_dac_iq_sort(rtwdev, &qv[j], &qv[j + 1]);
rtwdev            183 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_iq_offset(struct rtw_dev *rtwdev, u32 *vec, u32 *val)
rtwdev            247 drivers/net/wireless/realtek/rtw88/rtw8822c.c static bool rtw8822c_dac_iq_check(struct rtw_dev *rtwdev, u32 value)
rtwdev            254 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] Error overflow\n");
rtwdev            260 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_iq_sample(struct rtw_dev *rtwdev, u32 *iv, u32 *qv)
rtwdev            267 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		temp = rtw_read32_mask(rtwdev, 0x2dbc, 0x3fffff);
rtwdev            271 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		if (rtw8822c_dac_iq_check(rtwdev, iv[i]) &&
rtwdev            272 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		    rtw8822c_dac_iq_check(rtwdev, qv[i]))
rtwdev            277 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_iq_search(struct rtw_dev *rtwdev,
rtwdev            292 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw8822c_rf_minmax_cmp(rtwdev, iv[i], &i_min, &i_max);
rtwdev            293 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw8822c_rf_minmax_cmp(rtwdev, qv[i], &q_min, &q_max);
rtwdev            310 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK,
rtwdev            313 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK,
rtwdev            317 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_iq_sort(rtwdev, iv, qv);
rtwdev            320 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			temp = rtw_read32_mask(rtwdev, 0x2dbc, 0x3fffff);
rtwdev            323 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			temp = rtw_read32_mask(rtwdev, 0x2dbc, 0x3fffff);
rtwdev            331 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_iq_offset(rtwdev, iv, i_value);
rtwdev            332 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_iq_offset(rtwdev, qv, q_value);
rtwdev            335 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_rf_mode(struct rtw_dev *rtwdev,
rtwdev            341 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rf_a = rtw_read_rf(rtwdev, RF_PATH_A, 0x0, RFREG_MASK);
rtwdev            342 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rf_b = rtw_read_rf(rtwdev, RF_PATH_B, 0x0, RFREG_MASK);
rtwdev            344 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] RF path-A=0x%05x\n", rf_a);
rtwdev            345 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] RF path-B=0x%05x\n", rf_b);
rtwdev            347 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_iq_sample(rtwdev, iv, qv);
rtwdev            348 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_iq_search(rtwdev, iv, qv, i_value, q_value);
rtwdev            351 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_bb_setting(struct rtw_dev *rtwdev)
rtwdev            353 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1d58, 0xff8, 0x1ff);
rtwdev            354 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1a00, 0x3, 0x2);
rtwdev            355 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1a14, 0x300, 0x3);
rtwdev            356 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1d70, 0x7e7e7e7e);
rtwdev            357 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x180c, 0x3, 0x0);
rtwdev            358 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x410c, 0x3, 0x0);
rtwdev            359 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1b00, 0x00000008);
rtwdev            360 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, 0x1bcc, 0x3f);
rtwdev            361 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1b00, 0x0000000a);
rtwdev            362 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, 0x1bcc, 0x3f);
rtwdev            363 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1e24, BIT(31), 0x0);
rtwdev            364 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1e28, 0xf, 0x3);
rtwdev            367 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_adc(struct rtw_dev *rtwdev,
rtwdev            370 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            376 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] ADCK path(%d)\n", path);
rtwdev            392 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0x30, BIT(30), 0x0);
rtwdev            394 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, base_addr + 0x30, 0x30db8041);
rtwdev            395 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x60, 0xf0040ff0);
rtwdev            396 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x0c, 0xdff00220);
rtwdev            397 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x10, 0x02dd08c4);
rtwdev            398 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x0c, 0x10000260);
rtwdev            399 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_A, 0x0, RFREG_MASK, 0x10000);
rtwdev            400 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_B, 0x0, RFREG_MASK, 0x10000);
rtwdev            402 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] ADCK count=%d\n", i);
rtwdev            403 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, 0x1c3c, path_sel + 0x8003);
rtwdev            404 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, 0x1c24, 0x00010002);
rtwdev            405 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_cal_rf_mode(rtwdev, &ic, &qc);
rtwdev            406 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK,
rtwdev            419 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, base_addr + 0x68, temp);
rtwdev            421 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] ADCK 0x%08x=0x08%x\n",
rtwdev            424 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, 0x1c3c, path_sel + 0x8103);
rtwdev            425 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_cal_rf_mode(rtwdev, &ic, &qc);
rtwdev            426 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK,
rtwdev            437 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1c3c, 0x00000003);
rtwdev            438 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x0c, 0x10000260);
rtwdev            439 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x10, 0x02d508c4);
rtwdev            442 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, 0x8f, BIT(13), 0x1);
rtwdev            445 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_step1(struct rtw_dev *rtwdev, u8 path)
rtwdev            447 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            454 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x68, dm_info->dack_adck[path]);
rtwdev            455 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x0c, 0xdff00220);
rtwdev            457 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, base_addr + 0x60, 0xf0040ff0);
rtwdev            458 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, 0x1c38, 0xffffffff);
rtwdev            460 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x10, 0x02d508c5);
rtwdev            461 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x9b4, 0xdb66db00);
rtwdev            462 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb0, 0x0a11fb88);
rtwdev            463 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xbc, 0x0008ff81);
rtwdev            464 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xc0, 0x0003d208);
rtwdev            465 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xcc, 0x0a11fb88);
rtwdev            466 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xd8, 0x0008ff81);
rtwdev            467 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xdc, 0x0003d208);
rtwdev            468 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb8, 0x60000000);
rtwdev            470 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xbc, 0x000aff8d);
rtwdev            472 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb0, 0x0a11fb89);
rtwdev            473 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xcc, 0x0a11fb89);
rtwdev            475 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb8, 0x62000000);
rtwdev            476 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xd4, 0x62000000);
rtwdev            478 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!check_hw_ready(rtwdev, read_addr + 0x08, 0x7fff80, 0xffff) ||
rtwdev            479 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	    !check_hw_ready(rtwdev, read_addr + 0x34, 0x7fff80, 0xffff))
rtwdev            480 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_err(rtwdev, "failed to wait for dack ready\n");
rtwdev            481 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb8, 0x02000000);
rtwdev            483 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xbc, 0x0008ff87);
rtwdev            484 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x9b4, 0xdb6db600);
rtwdev            485 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x10, 0x02d508c5);
rtwdev            486 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xbc, 0x0008ff87);
rtwdev            487 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x60, 0xf0000000);
rtwdev            490 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_step2(struct rtw_dev *rtwdev,
rtwdev            497 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xbc, 0xf0000000, 0x0);
rtwdev            498 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xc0, 0xf, 0x8);
rtwdev            499 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xd8, 0xf0000000, 0x0);
rtwdev            500 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xdc, 0xf, 0x8);
rtwdev            502 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1b00, 0x00000008);
rtwdev            503 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, 0x1bcc, 0x03f);
rtwdev            504 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x0c, 0xdff00220);
rtwdev            505 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x10, 0x02d508c5);
rtwdev            506 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1c3c, 0x00088103);
rtwdev            508 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_rf_mode(rtwdev, &ic_in, &qc_in);
rtwdev            535 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] before i=0x%x, q=0x%x\n", ic_in, qc_in);
rtwdev            536 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] after  i=0x%x, q=0x%x\n", ic, qc);
rtwdev            539 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_step3(struct rtw_dev *rtwdev, u8 path,
rtwdev            554 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x0c, 0xdff00220);
rtwdev            555 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x10, 0x02d508c5);
rtwdev            556 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x9b4, 0xdb66db00);
rtwdev            557 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb0, 0x0a11fb88);
rtwdev            558 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xbc, 0xc008ff81);
rtwdev            559 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xc0, 0x0003d208);
rtwdev            560 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xbc, 0xf0000000, ic & 0xf);
rtwdev            561 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xc0, 0xf, (ic & 0xf0) >> 4);
rtwdev            562 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xcc, 0x0a11fb88);
rtwdev            563 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xd8, 0xe008ff81);
rtwdev            564 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xdc, 0x0003d208);
rtwdev            565 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xd8, 0xf0000000, qc & 0xf);
rtwdev            566 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xdc, 0xf, (qc & 0xf0) >> 4);
rtwdev            567 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb8, 0x60000000);
rtwdev            569 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xbc, 0xe, 0x6);
rtwdev            571 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb0, 0x0a11fb89);
rtwdev            572 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xcc, 0x0a11fb89);
rtwdev            574 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb8, 0x62000000);
rtwdev            575 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xd4, 0x62000000);
rtwdev            577 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!check_hw_ready(rtwdev, read_addr + 0x24, 0x07f80000, ic) ||
rtwdev            578 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	    !check_hw_ready(rtwdev, read_addr + 0x50, 0x07f80000, qc))
rtwdev            579 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_err(rtwdev, "failed to write IQ vector to hardware\n");
rtwdev            580 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0xb8, 0x02000000);
rtwdev            582 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xbc, 0xe, 0x3);
rtwdev            583 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x9b4, 0xdb6db600);
rtwdev            587 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x68, temp);
rtwdev            588 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x10, 0x02d508c5);
rtwdev            589 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x60, 0xf0000000);
rtwdev            590 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_rf_mode(rtwdev, &ic, &qc);
rtwdev            612 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK,
rtwdev            616 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_step4(struct rtw_dev *rtwdev, u8 path)
rtwdev            620 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x68, 0x0);
rtwdev            621 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, base_addr + 0x10, 0x02d508c4);
rtwdev            622 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0xbc, 0x1, 0x0);
rtwdev            623 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, base_addr + 0x30, BIT(30), 0x1);
rtwdev            626 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_backup_vec(struct rtw_dev *rtwdev,
rtwdev            629 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            637 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_addr, 0xf0000000, i);
rtwdev            638 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		val = (u16)rtw_read32_mask(rtwdev, r_addr, 0x7fc0000);
rtwdev            643 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_backup_path(struct rtw_dev *rtwdev, u8 path)
rtwdev            655 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_backup_vec(rtwdev, path, 0, w_addr, r_addr);
rtwdev            660 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_backup_vec(rtwdev, path, 1, w_addr, r_addr);
rtwdev            663 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_backup_dck(struct rtw_dev *rtwdev)
rtwdev            665 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            668 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	val = (u8)rtw_read32_mask(rtwdev, REG_DCKA_I_0, 0xf0000000);
rtwdev            670 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	val = (u8)rtw_read32_mask(rtwdev, REG_DCKA_I_1, 0xf);
rtwdev            672 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	val = (u8)rtw_read32_mask(rtwdev, REG_DCKA_Q_0, 0xf0000000);
rtwdev            674 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	val = (u8)rtw_read32_mask(rtwdev, REG_DCKA_Q_1, 0xf);
rtwdev            677 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	val = (u8)rtw_read32_mask(rtwdev, REG_DCKB_I_0, 0xf0000000);
rtwdev            679 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	val = (u8)rtw_read32_mask(rtwdev, REG_DCKB_I_1, 0xf);
rtwdev            681 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	val = (u8)rtw_read32_mask(rtwdev, REG_DCKB_Q_0, 0xf0000000);
rtwdev            683 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	val = (u8)rtw_read32_mask(rtwdev, REG_DCKB_Q_1, 0xf);
rtwdev            687 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_backup(struct rtw_dev *rtwdev)
rtwdev            691 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	temp[0] = rtw_read32(rtwdev, 0x1860);
rtwdev            692 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	temp[1] = rtw_read32(rtwdev, 0x4160);
rtwdev            693 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	temp[2] = rtw_read32(rtwdev, 0x9b4);
rtwdev            696 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x9b4, 0xdb66db00);
rtwdev            699 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_clr(rtwdev, 0x1830, BIT(30));
rtwdev            700 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1860, 0xfc000000, 0x3c);
rtwdev            701 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_backup_path(rtwdev, RF_PATH_A);
rtwdev            704 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_clr(rtwdev, 0x4130, BIT(30));
rtwdev            705 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x4160, 0xfc000000, 0x3c);
rtwdev            706 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_backup_path(rtwdev, RF_PATH_B);
rtwdev            708 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_backup_dck(rtwdev);
rtwdev            709 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, 0x1830, BIT(30));
rtwdev            710 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, 0x4130, BIT(30));
rtwdev            712 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1860, temp[0]);
rtwdev            713 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x4160, temp[1]);
rtwdev            714 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x9b4, temp[2]);
rtwdev            717 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_restore_dck(struct rtw_dev *rtwdev)
rtwdev            719 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            722 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_DCKA_I_0, BIT(19));
rtwdev            724 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DCKA_I_0, 0xf0000000, val);
rtwdev            726 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DCKA_I_1, 0xf, val);
rtwdev            728 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_DCKA_Q_0, BIT(19));
rtwdev            730 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DCKA_Q_0, 0xf0000000, val);
rtwdev            732 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DCKA_Q_1, 0xf, val);
rtwdev            734 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_DCKB_I_0, BIT(19));
rtwdev            736 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DCKB_I_0, 0xf0000000, val);
rtwdev            738 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DCKB_I_1, 0xf, val);
rtwdev            740 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_DCKB_Q_0, BIT(19));
rtwdev            742 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DCKB_Q_0, 0xf0000000, val);
rtwdev            744 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DCKB_Q_1, 0xf, val);
rtwdev            747 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dac_cal_restore_prepare(struct rtw_dev *rtwdev)
rtwdev            749 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x9b4, 0xdb66db00);
rtwdev            751 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18b0, BIT(27), 0x0);
rtwdev            752 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18cc, BIT(27), 0x0);
rtwdev            753 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41b0, BIT(27), 0x0);
rtwdev            754 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41cc, BIT(27), 0x0);
rtwdev            756 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1830, BIT(30), 0x0);
rtwdev            757 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1860, 0xfc000000, 0x3c);
rtwdev            758 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18b4, BIT(0), 0x1);
rtwdev            759 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18d0, BIT(0), 0x1);
rtwdev            761 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x4130, BIT(30), 0x0);
rtwdev            762 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x4160, 0xfc000000, 0x3c);
rtwdev            763 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41b4, BIT(0), 0x1);
rtwdev            764 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41d0, BIT(0), 0x1);
rtwdev            766 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18b0, 0xf00, 0x0);
rtwdev            767 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18c0, BIT(14), 0x0);
rtwdev            768 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18cc, 0xf00, 0x0);
rtwdev            769 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18dc, BIT(14), 0x0);
rtwdev            771 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18b0, BIT(0), 0x0);
rtwdev            772 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18cc, BIT(0), 0x0);
rtwdev            773 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18b0, BIT(0), 0x1);
rtwdev            774 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18cc, BIT(0), 0x1);
rtwdev            776 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_restore_dck(rtwdev);
rtwdev            778 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18c0, 0x38000, 0x7);
rtwdev            779 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18dc, 0x38000, 0x7);
rtwdev            780 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41c0, 0x38000, 0x7);
rtwdev            781 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41dc, 0x38000, 0x7);
rtwdev            783 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18b8, BIT(26) | BIT(25), 0x1);
rtwdev            784 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18d4, BIT(26) | BIT(25), 0x1);
rtwdev            786 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41b0, 0xf00, 0x0);
rtwdev            787 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41c0, BIT(14), 0x0);
rtwdev            788 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41cc, 0xf00, 0x0);
rtwdev            789 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41dc, BIT(14), 0x0);
rtwdev            791 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41b0, BIT(0), 0x0);
rtwdev            792 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41cc, BIT(0), 0x0);
rtwdev            793 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41b0, BIT(0), 0x1);
rtwdev            794 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41cc, BIT(0), 0x1);
rtwdev            796 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41b8, BIT(26) | BIT(25), 0x1);
rtwdev            797 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41d4, BIT(26) | BIT(25), 0x1);
rtwdev            800 drivers/net/wireless/realtek/rtw88/rtw8822c.c static bool rtw8822c_dac_cal_restore_wait(struct rtw_dev *rtwdev,
rtwdev            806 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, toggle_addr, BIT(26) | BIT(25), 0x0);
rtwdev            807 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, toggle_addr, BIT(26) | BIT(25), 0x2);
rtwdev            809 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		if (rtw_read32_mask(rtwdev, target_addr, 0xf) == 0x6)
rtwdev            817 drivers/net/wireless/realtek/rtw88/rtw8822c.c static bool rtw8822c_dac_cal_restore_path(struct rtw_dev *rtwdev, u8 path)
rtwdev            819 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            831 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!rtw8822c_dac_cal_restore_wait(rtwdev, r_i, w_i + 0x8))
rtwdev            835 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_i + 0x4, BIT(2), 0x0);
rtwdev            837 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_i + 0x4, 0xff8, value);
rtwdev            838 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_i, 0xf0000000, i);
rtwdev            839 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_i + 0x4, BIT(2), 0x1);
rtwdev            842 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, w_i + 0x4, BIT(2), 0x0);
rtwdev            844 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!rtw8822c_dac_cal_restore_wait(rtwdev, r_q, w_q + 0x8))
rtwdev            848 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_q + 0x4, BIT(2), 0x0);
rtwdev            850 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_q + 0x4, 0xff8, value);
rtwdev            851 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_q, 0xf0000000, i);
rtwdev            852 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, w_q + 0x4, BIT(2), 0x1);
rtwdev            854 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, w_q + 0x4, BIT(2), 0x0);
rtwdev            856 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, w_i + 0x8, BIT(26) | BIT(25), 0x0);
rtwdev            857 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, w_q + 0x8, BIT(26) | BIT(25), 0x0);
rtwdev            858 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, w_i + 0x4, BIT(0), 0x0);
rtwdev            859 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, w_q + 0x4, BIT(0), 0x0);
rtwdev            864 drivers/net/wireless/realtek/rtw88/rtw8822c.c static bool __rtw8822c_dac_cal_restore(struct rtw_dev *rtwdev)
rtwdev            866 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!rtw8822c_dac_cal_restore_path(rtwdev, RF_PATH_A))
rtwdev            869 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!rtw8822c_dac_cal_restore_path(rtwdev, RF_PATH_B))
rtwdev            875 drivers/net/wireless/realtek/rtw88/rtw8822c.c static bool rtw8822c_dac_cal_restore(struct rtw_dev *rtwdev)
rtwdev            877 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev            887 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	temp[0] = rtw_read32(rtwdev, 0x1860);
rtwdev            888 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	temp[1] = rtw_read32(rtwdev, 0x4160);
rtwdev            889 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	temp[2] = rtw_read32(rtwdev, 0x9b4);
rtwdev            891 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_restore_prepare(rtwdev);
rtwdev            892 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!check_hw_ready(rtwdev, 0x2808, 0x7fff80, 0xffff) ||
rtwdev            893 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	    !check_hw_ready(rtwdev, 0x2834, 0x7fff80, 0xffff) ||
rtwdev            894 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	    !check_hw_ready(rtwdev, 0x4508, 0x7fff80, 0xffff) ||
rtwdev            895 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	    !check_hw_ready(rtwdev, 0x4534, 0x7fff80, 0xffff))
rtwdev            898 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!__rtw8822c_dac_cal_restore(rtwdev)) {
rtwdev            899 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_err(rtwdev, "failed to restore dack vectors\n");
rtwdev            903 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1830, BIT(30), 0x1);
rtwdev            904 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x4130, BIT(30), 0x1);
rtwdev            905 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1860, temp[0]);
rtwdev            906 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x4160, temp[1]);
rtwdev            907 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18b0, BIT(27), 0x1);
rtwdev            908 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x18cc, BIT(27), 0x1);
rtwdev            909 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41b0, BIT(27), 0x1);
rtwdev            910 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x41cc, BIT(27), 0x1);
rtwdev            911 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x9b4, temp[2]);
rtwdev            916 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_rf_dac_cal(struct rtw_dev *rtwdev)
rtwdev            925 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (rtw8822c_dac_cal_restore(rtwdev))
rtwdev            930 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_backup_reg(rtwdev, backup, backup_rf);
rtwdev            932 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_bb_setting(rtwdev);
rtwdev            935 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_adc(rtwdev, RF_PATH_A, &adc_ic_a, &adc_qc_a);
rtwdev            937 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_cal_step1(rtwdev, RF_PATH_A);
rtwdev            938 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_cal_step2(rtwdev, RF_PATH_A, &ic, &qc);
rtwdev            942 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_cal_step3(rtwdev, RF_PATH_A, adc_ic_a, adc_qc_a,
rtwdev            948 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_step4(rtwdev, RF_PATH_A);
rtwdev            951 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_adc(rtwdev, RF_PATH_B, &adc_ic_b, &adc_qc_b);
rtwdev            953 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_cal_step1(rtwdev, RF_PATH_B);
rtwdev            954 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_cal_step2(rtwdev, RF_PATH_B, &ic, &qc);
rtwdev            958 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dac_cal_step3(rtwdev, RF_PATH_B, adc_ic_b, adc_qc_b,
rtwdev            964 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_step4(rtwdev, RF_PATH_B);
rtwdev            966 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1b00, 0x00000008);
rtwdev            967 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x4130, BIT(30), 0x1);
rtwdev            968 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, 0x1bcc, 0x0);
rtwdev            969 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1b00, 0x0000000a);
rtwdev            970 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, 0x1bcc, 0x0);
rtwdev            972 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_restore_reg(rtwdev, backup, backup_rf);
rtwdev            975 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dac_cal_backup(rtwdev);
rtwdev            977 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] path A: ic=0x%x, qc=0x%x\n", ic_a, qc_a);
rtwdev            978 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] path B: ic=0x%x, qc=0x%x\n", ic_b, qc_b);
rtwdev            979 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] path A: i=0x%x, q=0x%x\n", i_a, q_a);
rtwdev            980 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DACK] path B: i=0x%x, q=0x%x\n", i_b, q_b);
rtwdev            983 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_rf_x2_check(struct rtw_dev *rtwdev)
rtwdev            988 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	x2k_busy = rtw_read_rf(rtwdev, RF_PATH_A, 0xb8, BIT(15));
rtwdev            990 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_A, 0xb8, RFREG_MASK, 0xC4440);
rtwdev            991 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_A, 0xba, RFREG_MASK, 0x6840D);
rtwdev            992 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_A, 0xb8, RFREG_MASK, 0x80440);
rtwdev            997 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_rf_init(struct rtw_dev *rtwdev)
rtwdev            999 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_rf_dac_cal(rtwdev);
rtwdev           1000 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_rf_x2_check(rtwdev);
rtwdev           1003 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_phy_set_param(struct rtw_dev *rtwdev)
rtwdev           1005 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev           1006 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1015 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_SYS_FUNC_EN,
rtwdev           1017 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_RF_CTRL,
rtwdev           1019 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_WLRF1, BIT_WLRF1_BBRF_EN);
rtwdev           1022 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DIS_DPD, DIS_DPD_MASK, DIS_DPD_RATEALL);
rtwdev           1025 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_header_file_init(rtwdev, true);
rtwdev           1027 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_phy_load_tables(rtwdev);
rtwdev           1029 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	crystal_cap = rtwdev->efuse.crystal_cap & 0x7f;
rtwdev           1030 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_ANAPAR_XTAL_0, 0xfffc00,
rtwdev           1034 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_header_file_init(rtwdev, false);
rtwdev           1037 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_config_trx_mode(rtwdev, hal->antenna_tx, hal->antenna_rx,
rtwdev           1039 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_phy_init(rtwdev);
rtwdev           1041 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	cck_gi_u_bnd_msb = (u8)rtw_read32_mask(rtwdev, 0x1a98, 0xc000);
rtwdev           1042 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	cck_gi_u_bnd_lsb = (u8)rtw_read32_mask(rtwdev, 0x1aa8, 0xf0000);
rtwdev           1043 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	cck_gi_l_bnd_msb = (u8)rtw_read32_mask(rtwdev, 0x1a98, 0xc0);
rtwdev           1044 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	cck_gi_l_bnd_lsb = (u8)rtw_read32_mask(rtwdev, 0x1a70, 0x0f000000);
rtwdev           1049 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_rf_init(rtwdev);
rtwdev           1140 drivers/net/wireless/realtek/rtw88/rtw8822c.c static int rtw8822c_mac_init(struct rtw_dev *rtwdev)
rtwdev           1148 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	value8 = rtw_read8(rtwdev, REG_FWHW_TXQ_CTRL);
rtwdev           1150 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_FWHW_TXQ_CTRL, value8);
rtwdev           1151 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_FWHW_TXQ_CTRL + 1, WLAN_TXQ_RPT_EN);
rtwdev           1153 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_SPEC_SIFS, WLAN_SIFS_DUR_TUNE);
rtwdev           1154 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_SIFS, WLAN_SIFS_CFG);
rtwdev           1155 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_RESP_SIFS_CCK,
rtwdev           1157 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_RESP_SIFS_OFDM,
rtwdev           1160 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_DARFRC, WLAN_DATA_RATE_FB_CNT_1_4);
rtwdev           1161 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_DARFRCH, WLAN_DATA_RATE_FB_CNT_5_8);
rtwdev           1162 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RARFRCH, WLAN_RTS_RATE_FB_CNT_5_8);
rtwdev           1163 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_ARFR0, WLAN_DATA_RATE_FB_RATE0);
rtwdev           1164 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_ARFRH0, WLAN_DATA_RATE_FB_RATE0_H);
rtwdev           1165 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_ARFR1_V1, WLAN_RTS_RATE_FB_RATE1);
rtwdev           1166 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_ARFRH1_V1, WLAN_RTS_RATE_FB_RATE1_H);
rtwdev           1167 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_ARFR4, WLAN_RTS_RATE_FB_RATE4);
rtwdev           1168 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_ARFRH4, WLAN_RTS_RATE_FB_RATE4_H);
rtwdev           1169 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_ARFR5, WLAN_RTS_RATE_FB_RATE5);
rtwdev           1170 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_ARFRH5, WLAN_RTS_RATE_FB_RATE5_H);
rtwdev           1172 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_AMPDU_MAX_TIME_V1, WLAN_AMPDU_MAX_TIME);
rtwdev           1173 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_TX_HANG_CTRL, BIT_EN_EOF_V1);
rtwdev           1175 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_PRECNT_CTRL, (u8)(pre_txcnt & 0xFF));
rtwdev           1176 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_PRECNT_CTRL + 1, (u8)(pre_txcnt >> 8));
rtwdev           1180 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_PROT_MODE_CTRL, value32);
rtwdev           1181 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_BAR_MODE_CTRL + 2,
rtwdev           1183 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_FAST_EDCA_VOVI_SETTING, FAST_EDCA_VO_TH);
rtwdev           1184 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_FAST_EDCA_VOVI_SETTING + 2, FAST_EDCA_VI_TH);
rtwdev           1185 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_FAST_EDCA_BEBK_SETTING, FAST_EDCA_BE_TH);
rtwdev           1186 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_FAST_EDCA_BEBK_SETTING + 2, FAST_EDCA_BK_TH);
rtwdev           1188 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_clr(rtwdev, REG_LIFETIME_EN, BIT_BA_PARSER_EN);
rtwdev           1189 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_clr(rtwdev, REG_RRSR, BITS_RRSR_RSC);
rtwdev           1192 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_EDCA_VO_PARAM, WLAN_EDCA_VO_PARAM);
rtwdev           1193 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_EDCA_VI_PARAM, WLAN_EDCA_VI_PARAM);
rtwdev           1194 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_EDCA_BE_PARAM, WLAN_EDCA_BE_PARAM);
rtwdev           1195 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_EDCA_BK_PARAM, WLAN_EDCA_BK_PARAM);
rtwdev           1196 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_PIFS, WLAN_PIFS_TIME);
rtwdev           1197 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_clr(rtwdev, REG_TX_PTCL_CTRL + 1, BIT_SIFS_BK_EN >> 8);
rtwdev           1198 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_RD_CTRL + 1,
rtwdev           1203 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_clr(rtwdev, REG_AFE_CTRL1, BIT_MAC_CLK_SEL);
rtwdev           1204 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_USTIME_TSF, MAC_CLK_SPEED);
rtwdev           1205 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_USTIME_EDCA, MAC_CLK_SPEED);
rtwdev           1207 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_MISC_CTRL,
rtwdev           1209 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_clr(rtwdev, REG_TIMER0_SRC_SEL, BIT_TSFT_SEL_TIMER0);
rtwdev           1210 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_TXPAUSE, 0x0000);
rtwdev           1211 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_SLOT, WLAN_SLOT_TIME);
rtwdev           1212 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RD_NAV_NXT, WLAN_NAV_CFG);
rtwdev           1213 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_RXTSF_OFFSET_CCK, WLAN_RX_TSF_CFG);
rtwdev           1215 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_BCN_CTRL, BIT_EN_BCN_FUNCTION);
rtwdev           1217 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_TBTT_PROHIBIT, WLAN_TBTT_TIME);
rtwdev           1218 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_DRVERLYINT, WLAN_DRV_EARLY_INT);
rtwdev           1219 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_BCN_CTRL_CLINT0, WLAN_BCN_CTRL_CLT0);
rtwdev           1220 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_BCNDMATIM, WLAN_BCN_DMA_TIME);
rtwdev           1221 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_BCN_MAX_ERR, WLAN_BCN_MAX_ERR);
rtwdev           1224 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_BBPSF_CTRL + 2, WLAN_RESP_TXRATE);
rtwdev           1225 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_ACKTO, WLAN_ACK_TO);
rtwdev           1226 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_ACKTO_CCK, WLAN_ACK_TO_CCK);
rtwdev           1227 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_EIFS, WLAN_EIFS_DUR_TUNE);
rtwdev           1228 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_NAV_CTRL + 2, WLAN_NAV_MAX);
rtwdev           1229 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_WMAC_TRXPTCL_CTL_H  + 2, WLAN_BAR_ACK_TYPE);
rtwdev           1230 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RXFLTMAP0, WLAN_RX_FILTER0);
rtwdev           1231 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_RXFLTMAP2, WLAN_RX_FILTER2);
rtwdev           1232 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RCR, WLAN_RCR_CFG);
rtwdev           1233 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_RX_PKT_LIMIT, WLAN_RXPKT_MAX_SZ_512);
rtwdev           1234 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_TCR + 2, WLAN_TX_FUNC_CFG2);
rtwdev           1235 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_TCR + 1, WLAN_TX_FUNC_CFG1);
rtwdev           1236 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_GENERAL_OPTION, BIT_DUMMY_FCS_READY_MASK_EN);
rtwdev           1237 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_WMAC_OPTION_FUNCTION + 8, WLAN_MAC_OPT_FUNC2);
rtwdev           1238 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_WMAC_OPTION_FUNCTION_1, WLAN_MAC_OPT_NORM_FUNC1);
rtwdev           1241 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	value16 = rtw_read16(rtwdev, REG_RXPSF_CTRL + 2) & 0xF00F;
rtwdev           1244 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_RXPSF_CTRL + 2, value16);
rtwdev           1250 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_RXPSF_CTRL, value16);
rtwdev           1251 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RXPSF_TYPE_CTRL, 0xFFFFFFFF);
rtwdev           1253 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	value16 = rtw_read16(rtwdev, REG_RXPSF_CTRL);
rtwdev           1257 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write16(rtwdev, REG_RXPSF_CTRL, value16);
rtwdev           1260 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_INT_MIG, WLAN_MAC_INT_MIG_CFG);
rtwdev           1265 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_set_channel_rf(struct rtw_dev *rtwdev, u8 channel, u8 bw)
rtwdev           1282 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rf_reg18 = rtw_read_rf(rtwdev, RF_PATH_A, 0x18, RFREG_MASK);
rtwdev           1313 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWE2, 0x04, 0x01);
rtwdev           1314 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWA, 0x1f, 0x12);
rtwdev           1315 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWD0, 0xfffff, rf_rxbb);
rtwdev           1316 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_LUTWE2, 0x04, 0x00);
rtwdev           1318 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_B, RF_LUTWE2, 0x04, 0x01);
rtwdev           1319 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_B, RF_LUTWA, 0x1f, 0x12);
rtwdev           1320 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_B, RF_LUTWD0, 0xfffff, rf_rxbb);
rtwdev           1321 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_B, RF_LUTWE2, 0x04, 0x00);
rtwdev           1323 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_A, RF_CFGCH, RFREG_MASK, rf_reg18);
rtwdev           1324 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_B, RF_CFGCH, RFREG_MASK, rf_reg18);
rtwdev           1327 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_toggle_igi(struct rtw_dev *rtwdev)
rtwdev           1331 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	igi = rtw_read32_mask(rtwdev, REG_RXIGI, 0x7f);
rtwdev           1332 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_RXIGI, 0x7f, igi - 2);
rtwdev           1333 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_RXIGI, 0x7f00, igi - 2);
rtwdev           1334 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_RXIGI, 0x7f, igi);
rtwdev           1335 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_RXIGI, 0x7f00, igi);
rtwdev           1338 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_set_channel_bb(struct rtw_dev *rtwdev, u8 channel, u8 bw,
rtwdev           1342 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_clr(rtwdev, REG_BGCTRL, BITS_RX_IQ_WEIGHT);
rtwdev           1343 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0xf0000000, 0x8);
rtwdev           1344 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_set(rtwdev, REG_TXF4, BIT(20));
rtwdev           1345 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_clr(rtwdev, REG_CCK_CHECK, BIT_CHECK_CCK_EN);
rtwdev           1346 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_clr(rtwdev, REG_CCKTXONLY, BIT_BB_CCK_CHECK_EN);
rtwdev           1347 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCAMSK, 0x3F000000, 0xF);
rtwdev           1351 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL0, BITS_RXAGC_CCK,
rtwdev           1353 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL, BITS_RXAGC_CCK,
rtwdev           1355 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL0, BITS_RXAGC_OFDM,
rtwdev           1357 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL, BITS_RXAGC_OFDM,
rtwdev           1361 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL0, BITS_RXAGC_CCK,
rtwdev           1363 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL, BITS_RXAGC_CCK,
rtwdev           1365 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL0, BITS_RXAGC_OFDM,
rtwdev           1367 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL, BITS_RXAGC_OFDM,
rtwdev           1372 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x969);
rtwdev           1374 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x96a);
rtwdev           1376 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x9aa);
rtwdev           1378 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF0, MASKHWORD, 0x3da0);
rtwdev           1379 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF1, MASKDWORD,
rtwdev           1381 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF2, MASKLWORD, 0x6aa3);
rtwdev           1382 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF3, MASKHWORD, 0xaa7b);
rtwdev           1383 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF4, MASKLWORD, 0xf3d7);
rtwdev           1384 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF5, MASKDWORD, 0x0);
rtwdev           1385 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF6, MASKDWORD,
rtwdev           1387 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF7, MASKDWORD, 0xffff);
rtwdev           1389 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF0, MASKHWORD, 0x5284);
rtwdev           1390 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF1, MASKDWORD,
rtwdev           1392 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF2, MASKLWORD, 0x0a88);
rtwdev           1393 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF3, MASKHWORD, 0xacc4);
rtwdev           1394 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF4, MASKLWORD, 0xc8b2);
rtwdev           1395 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF5, MASKDWORD,
rtwdev           1397 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF6, MASKDWORD,
rtwdev           1399 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXF7, MASKDWORD,
rtwdev           1403 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXDFIR0, 0x70, 0x3);
rtwdev           1405 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXDFIR0, 0x70, 0x1);
rtwdev           1407 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_set(rtwdev, REG_CCKTXONLY, BIT_BB_CCK_CHECK_EN);
rtwdev           1408 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_set(rtwdev, REG_CCK_CHECK, BIT_CHECK_CCK_EN);
rtwdev           1409 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_set(rtwdev, REG_BGCTRL, BITS_RX_IQ_WEIGHT);
rtwdev           1410 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_clr(rtwdev, REG_TXF4, BIT(20));
rtwdev           1411 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0xf0000000, 0x0);
rtwdev           1412 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCAMSK, 0x3F000000, 0x22);
rtwdev           1413 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXDFIR0, 0x70, 0x3);
rtwdev           1415 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL0, BITS_RXAGC_OFDM,
rtwdev           1417 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL, BITS_RXAGC_OFDM,
rtwdev           1420 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL0, BITS_RXAGC_OFDM,
rtwdev           1422 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL, BITS_RXAGC_OFDM,
rtwdev           1425 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL0, BITS_RXAGC_OFDM,
rtwdev           1427 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXAGCCTL, BITS_RXAGC_OFDM,
rtwdev           1432 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x494);
rtwdev           1434 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x493);
rtwdev           1436 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x453);
rtwdev           1438 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x452);
rtwdev           1440 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x412);
rtwdev           1442 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_SCOTRK, 0xfff, 0x411);
rtwdev           1447 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DFIRBW, 0x3FF0, 0x19B);
rtwdev           1448 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xf, 0x0);
rtwdev           1449 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xffc0, 0x0);
rtwdev           1450 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXCLK, 0x700, 0x7);
rtwdev           1451 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXCLK, 0x700000, 0x6);
rtwdev           1452 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCK_SOURCE, BIT_NBI_EN, 0x0);
rtwdev           1453 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_SBD, BITS_SUBTUNE, 0x1);
rtwdev           1454 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_PT_CHSMO, BIT_PT_OPT, 0x0);
rtwdev           1457 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCKSB, BIT(4),
rtwdev           1459 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xf, 0x5);
rtwdev           1460 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xc0, 0x0);
rtwdev           1461 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xff00,
rtwdev           1463 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCK_SOURCE, BIT_NBI_EN, 0x1);
rtwdev           1464 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_SBD, BITS_SUBTUNE, 0x1);
rtwdev           1465 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_PT_CHSMO, BIT_PT_OPT, 0x1);
rtwdev           1468 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xf, 0xa);
rtwdev           1469 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xc0, 0x0);
rtwdev           1470 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xff00,
rtwdev           1472 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_SBD, BITS_SUBTUNE, 0x6);
rtwdev           1473 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_PT_CHSMO, BIT_PT_OPT, 0x1);
rtwdev           1476 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DFIRBW, 0x3FF0, 0x2AB);
rtwdev           1477 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xf, 0x0);
rtwdev           1478 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xffc0, 0x1);
rtwdev           1479 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXCLK, 0x700, 0x4);
rtwdev           1480 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXCLK, 0x700000, 0x4);
rtwdev           1481 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCK_SOURCE, BIT_NBI_EN, 0x0);
rtwdev           1482 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_SBD, BITS_SUBTUNE, 0x1);
rtwdev           1483 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_PT_CHSMO, BIT_PT_OPT, 0x0);
rtwdev           1486 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DFIRBW, 0x3FF0, 0x2AB);
rtwdev           1487 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xf, 0x0);
rtwdev           1488 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXBWCTL, 0xffc0, 0x2);
rtwdev           1489 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXCLK, 0x700, 0x6);
rtwdev           1490 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXCLK, 0x700000, 0x5);
rtwdev           1491 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCK_SOURCE, BIT_NBI_EN, 0x0);
rtwdev           1492 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_SBD, BITS_SUBTUNE, 0x1);
rtwdev           1493 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_PT_CHSMO, BIT_PT_OPT, 0x0);
rtwdev           1498 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_set_channel(struct rtw_dev *rtwdev, u8 channel, u8 bw,
rtwdev           1501 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_set_channel_bb(rtwdev, channel, bw, primary_chan_idx);
rtwdev           1502 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_set_channel_mac(rtwdev, channel, bw, primary_chan_idx);
rtwdev           1503 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_set_channel_rf(rtwdev, channel, bw);
rtwdev           1504 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_toggle_igi(rtwdev);
rtwdev           1507 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_config_cck_rx_path(struct rtw_dev *rtwdev, u8 rx_path)
rtwdev           1510 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCANRX, 0x00060000, 0x0);
rtwdev           1511 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCANRX, 0x00600000, 0x0);
rtwdev           1513 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCANRX, 0x00600000, 0x1);
rtwdev           1514 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_CCANRX, 0x00060000, 0x1);
rtwdev           1518 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0x0f000000, 0x0);
rtwdev           1520 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0x0f000000, 0x5);
rtwdev           1522 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0x0f000000, 0x1);
rtwdev           1525 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_config_ofdm_rx_path(struct rtw_dev *rtwdev, u8 rx_path)
rtwdev           1528 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXFNCTL, 0x300, 0x0);
rtwdev           1529 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXFNCTL, 0x600000, 0x0);
rtwdev           1530 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_AGCSWSH, BIT(17), 0x0);
rtwdev           1531 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_ANTWTPD, BIT(20), 0x0);
rtwdev           1532 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_MRCM, BIT(24), 0x0);
rtwdev           1534 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXFNCTL, 0x300, 0x1);
rtwdev           1535 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXFNCTL, 0x600000, 0x1);
rtwdev           1536 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_AGCSWSH, BIT(17), 0x1);
rtwdev           1537 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_ANTWTPD, BIT(20), 0x1);
rtwdev           1538 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_MRCM, BIT(24), 0x1);
rtwdev           1541 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x824, 0x0f000000, rx_path);
rtwdev           1542 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x824, 0x000f0000, rx_path);
rtwdev           1545 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_config_rx_path(struct rtw_dev *rtwdev, u8 rx_path)
rtwdev           1547 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_config_cck_rx_path(rtwdev, rx_path);
rtwdev           1548 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_config_ofdm_rx_path(rtwdev, rx_path);
rtwdev           1551 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_config_cck_tx_path(struct rtw_dev *rtwdev, u8 tx_path,
rtwdev           1555 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0xf0000000, 0x8);
rtwdev           1557 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0xf0000000, 0x4);
rtwdev           1560 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0xf0000000, 0xc);
rtwdev           1562 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_RXCCKSEL, 0xf0000000, 0x8);
rtwdev           1566 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_config_ofdm_tx_path(struct rtw_dev *rtwdev, u8 tx_path,
rtwdev           1570 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_ANTMAP0, 0xff, 0x11);
rtwdev           1571 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXLGMAP, 0xff, 0x0);
rtwdev           1573 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_ANTMAP0, 0xff, 0x12);
rtwdev           1574 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_TXLGMAP, 0xff, 0x0);
rtwdev           1577 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_ANTMAP0, 0xff, 0x33);
rtwdev           1578 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXLGMAP, 0xffff, 0x0404);
rtwdev           1580 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_ANTMAP0, 0xff, 0x31);
rtwdev           1581 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_TXLGMAP, 0xffff, 0x0400);
rtwdev           1586 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_config_tx_path(struct rtw_dev *rtwdev, u8 tx_path,
rtwdev           1589 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_config_cck_tx_path(rtwdev, tx_path, is_tx2_path);
rtwdev           1590 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_config_ofdm_tx_path(rtwdev, tx_path, is_tx2_path);
rtwdev           1593 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_config_trx_mode(struct rtw_dev *rtwdev, u8 tx_path,
rtwdev           1597 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_ORITXCODE, MASK20BITS, 0x33312);
rtwdev           1599 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_ORITXCODE, MASK20BITS, 0x11111);
rtwdev           1601 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_ORITXCODE2, MASK20BITS, 0x33312);
rtwdev           1603 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_ORITXCODE2, MASK20BITS, 0x11111);
rtwdev           1605 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_config_rx_path(rtwdev, rx_path);
rtwdev           1606 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_config_tx_path(rtwdev, tx_path, is_tx2_path);
rtwdev           1608 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_toggle_igi(rtwdev);
rtwdev           1611 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void query_phy_status_page0(struct rtw_dev *rtwdev, u8 *phy_status,
rtwdev           1614 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev           1647 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void query_phy_status_page1(struct rtw_dev *rtwdev, u8 *phy_status,
rtwdev           1674 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void query_phy_status(struct rtw_dev *rtwdev, u8 *phy_status,
rtwdev           1683 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		query_phy_status_page0(rtwdev, phy_status, pkt_stat);
rtwdev           1686 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		query_phy_status_page1(rtwdev, phy_status, pkt_stat);
rtwdev           1689 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_warn(rtwdev, "unused phy status page (%d)\n", page);
rtwdev           1694 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_query_rx_desc(struct rtw_dev *rtwdev, u8 *rx_desc,
rtwdev           1699 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	u32 desc_sz = rtwdev->chip->rx_pkt_desc_sz;
rtwdev           1728 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		query_phy_status(rtwdev, phy_status, pkt_stat);
rtwdev           1731 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_rx_fill_rx_status(rtwdev, pkt_stat, hdr, rx_status, phy_status);
rtwdev           1735 drivers/net/wireless/realtek/rtw88/rtw8822c.c rtw8822c_set_write_tx_power_ref(struct rtw_dev *rtwdev, u8 *tx_pwr_ref_cck,
rtwdev           1738 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1744 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, 0x1c90, BIT(15), 0);
rtwdev           1745 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, txref_cck[path], 0x7f0000,
rtwdev           1749 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, 0x1c90, BIT(15), 0);
rtwdev           1750 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, txref_ofdm[path], 0x1fc00,
rtwdev           1755 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_set_tx_power_diff(struct rtw_dev *rtwdev, u8 rate,
rtwdev           1772 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1c90, BIT(15), 0x0);
rtwdev           1773 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, offset_txagc + rate_idx, MASKDWORD,
rtwdev           1777 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_set_tx_power_index(struct rtw_dev *rtwdev)
rtwdev           1779 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_hal *hal = &rtwdev->hal;
rtwdev           1789 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_set_write_tx_power_ref(rtwdev, pwr_ref_cck, pwr_ref_ofdm);
rtwdev           1804 drivers/net/wireless/realtek/rtw88/rtw8822c.c 				rtw8822c_set_tx_power_diff(rtwdev, rate - 3,
rtwdev           1810 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_cfg_ldo25(struct rtw_dev *rtwdev, bool enable)
rtwdev           1814 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ldo_pwr = rtw_read8(rtwdev, REG_ANAPARLDO_POW_MAC);
rtwdev           1816 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_ANAPARLDO_POW_MAC, ldo_pwr);
rtwdev           1819 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_false_alarm_statistics(struct rtw_dev *rtwdev)
rtwdev           1821 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev           1830 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	cck_enable = rtw_read32(rtwdev, REG_ENCCK) & BIT_CCK_BLK_EN;
rtwdev           1831 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	cck_fa_cnt = rtw_read16(rtwdev, REG_CCK_FACNT);
rtwdev           1833 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ofdm_fa_cnt1 = rtw_read32(rtwdev, REG_OFDM_FACNT1);
rtwdev           1834 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ofdm_fa_cnt2 = rtw_read32(rtwdev, REG_OFDM_FACNT2);
rtwdev           1835 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ofdm_fa_cnt3 = rtw_read32(rtwdev, REG_OFDM_FACNT3);
rtwdev           1836 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ofdm_fa_cnt4 = rtw_read32(rtwdev, REG_OFDM_FACNT4);
rtwdev           1837 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ofdm_fa_cnt5 = rtw_read32(rtwdev, REG_OFDM_FACNT5);
rtwdev           1856 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	crc32_cnt = rtw_read32(rtwdev, 0x2c04);
rtwdev           1859 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	crc32_cnt = rtw_read32(rtwdev, 0x2c14);
rtwdev           1862 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	crc32_cnt = rtw_read32(rtwdev, 0x2c10);
rtwdev           1865 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	crc32_cnt = rtw_read32(rtwdev, 0x2c0c);
rtwdev           1869 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_CCANRX, BIT_CCK_FA_RST, 0);
rtwdev           1870 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_CCANRX, BIT_CCK_FA_RST, 2);
rtwdev           1871 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_CCANRX, BIT_OFDM_FA_RST, 0);
rtwdev           1872 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_CCANRX, BIT_OFDM_FA_RST, 2);
rtwdev           1875 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_clr(rtwdev, REG_RX_BREAK, BIT_COM_RX_GCK_EN);
rtwdev           1876 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_CNT_CTRL, BIT_ALL_CNT_RST);
rtwdev           1877 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_clr(rtwdev, REG_CNT_CTRL, BIT_ALL_CNT_RST);
rtwdev           1878 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_RX_BREAK, BIT_COM_RX_GCK_EN);
rtwdev           1881 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_do_iqk(struct rtw_dev *rtwdev)
rtwdev           1888 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_fw_do_iqk(rtwdev, &para);
rtwdev           1891 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		iqk_chk = rtw_read8(rtwdev, REG_RPT_CIP);
rtwdev           1896 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_IQKSTAT, 0x0);
rtwdev           1898 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "iqk counter=%d\n", counter);
rtwdev           1902 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_coex_cfg_init(struct rtw_dev *rtwdev)
rtwdev           1905 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_BCN_CTRL, BIT_EN_BCN_FUNCTION);
rtwdev           1909 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_BT_TDMA_TIME, 0x05);
rtwdev           1912 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, REG_BT_STAT_CTRL, 0x1);
rtwdev           1915 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_GPIO_MUXCFG, BIT_BT_PTA_EN);
rtwdev           1916 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_set(rtwdev, REG_GPIO_MUXCFG, BIT_BT_AOD_GPIO3);
rtwdev           1919 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_QUEUE_CTRL, BIT_PTA_WL_TX_EN);
rtwdev           1921 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_clr(rtwdev, REG_QUEUE_CTRL, BIT_PTA_EDCCA_EN);
rtwdev           1923 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_set(rtwdev, REG_BT_COEX_V2, BIT_GNT_BT_POLARITY);
rtwdev           1925 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_clr(rtwdev, REG_DUMMY_PAGE4_V1, BIT_BTCCA_CTRL);
rtwdev           1928 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_B, 0x1, 0xfffff, 0x40000);
rtwdev           1931 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_coex_cfg_gnt_fix(struct rtw_dev *rtwdev)
rtwdev           1933 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           1935 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           1952 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, RF_PATH_B, 0x1, 0xfffff, rf_0x1);
rtwdev           1965 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x1c32, BIT(6), 1);
rtwdev           1966 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x1c39, BIT(4), 0);
rtwdev           1967 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x1c3b, BIT(4), 1);
rtwdev           1968 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x4160, BIT(3), 1);
rtwdev           1976 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write8_mask(rtwdev, 0x1860, BIT(3), 0);
rtwdev           1977 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write8_mask(rtwdev, 0x1ca7, BIT(3), 1);
rtwdev           1979 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write8_mask(rtwdev, 0x1860, BIT(3), 1);
rtwdev           1983 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write8_mask(rtwdev, 0x1860, BIT(3), 0);
rtwdev           1985 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write8_mask(rtwdev, 0x1ca7, BIT(3), 0);
rtwdev           1989 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_coex_cfg_gnt_debug(struct rtw_dev *rtwdev)
rtwdev           1991 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x66, BIT(4), 0);
rtwdev           1992 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x67, BIT(0), 0);
rtwdev           1993 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x42, BIT(3), 0);
rtwdev           1994 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x65, BIT(7), 0);
rtwdev           1995 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8_mask(rtwdev, 0x73, BIT(3), 0);
rtwdev           1998 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_coex_cfg_rfe_type(struct rtw_dev *rtwdev)
rtwdev           2000 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2002 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev           2004 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	coex_rfe->rfe_module_type = rtwdev->efuse.rfe_option;
rtwdev           2016 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_coex_write_indirect_reg(rtwdev, 0x38, BIT_LTE_COEX_EN, 0x0);
rtwdev           2017 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_coex_write_indirect_reg(rtwdev, 0xa0, MASKLWORD, 0xffff);
rtwdev           2018 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_coex_write_indirect_reg(rtwdev, 0xa4, MASKLWORD, 0xffff);
rtwdev           2021 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_coex_cfg_wl_tx_power(struct rtw_dev *rtwdev, u8 wl_pwr)
rtwdev           2023 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2032 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_coex_cfg_wl_rx_gain(struct rtw_dev *rtwdev, bool low_gain)
rtwdev           2034 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_coex *coex = &rtwdev->coex;
rtwdev           2044 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_A, 0xde, 0xfffff, 0x22);
rtwdev           2045 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_A, 0x1d, 0xfffff, 0x36);
rtwdev           2046 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_B, 0xde, 0xfffff, 0x22);
rtwdev           2047 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_B, 0x1d, 0xfffff, 0x36);
rtwdev           2050 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_A, 0xde, 0xfffff, 0x20);
rtwdev           2051 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_A, 0x1d, 0xfffff, 0x0);
rtwdev           2052 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_B, 0x1d, 0xfffff, 0x0);
rtwdev           2062 drivers/net/wireless/realtek/rtw88/rtw8822c.c void rtw8822c_parse_tbl_dpk(struct rtw_dev *rtwdev,
rtwdev           2071 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, p->addr, p->bitmask, p->data);
rtwdev           2074 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_set_gnt_wl(struct rtw_dev *rtwdev, bool is_before_k)
rtwdev           2076 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2079 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		dpk_info->gnt_control = rtw_read32(rtwdev, 0x70);
rtwdev           2080 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		dpk_info->gnt_value = rtw_coex_read_indirect_reg(rtwdev, 0x38);
rtwdev           2081 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, 0x70, BIT(26), 0x1);
rtwdev           2082 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_coex_write_indirect_reg(rtwdev, 0x38, MASKBYTE1, 0x77);
rtwdev           2084 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_coex_write_indirect_reg(rtwdev, 0x38, MASKDWORD,
rtwdev           2086 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, 0x70, dpk_info->gnt_control);
rtwdev           2091 drivers/net/wireless/realtek/rtw88/rtw8822c.c rtw8822c_dpk_restore_registers(struct rtw_dev *rtwdev, u32 reg_num,
rtwdev           2094 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_restore_reg(rtwdev, bckp, reg_num);
rtwdev           2095 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0xc);
rtwdev           2096 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_RXSRAM_CTL, BIT_DPD_CLK, 0x4);
rtwdev           2100 drivers/net/wireless/realtek/rtw88/rtw8822c.c rtw8822c_dpk_backup_registers(struct rtw_dev *rtwdev, u32 *reg,
rtwdev           2108 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		bckp[i].val = rtw_read32(rtwdev, reg[i]);
rtwdev           2112 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_backup_rf_registers(struct rtw_dev *rtwdev,
rtwdev           2119 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rf_reg_bak[i][RF_PATH_A] = rtw_read_rf(rtwdev, RF_PATH_A,
rtwdev           2121 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rf_reg_bak[i][RF_PATH_B] = rtw_read_rf(rtwdev, RF_PATH_B,
rtwdev           2126 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_reload_rf_registers(struct rtw_dev *rtwdev,
rtwdev           2133 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_A, rf_reg[i], RFREG_MASK,
rtwdev           2135 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, RF_PATH_B, rf_reg[i], RFREG_MASK,
rtwdev           2140 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_information(struct rtw_dev *rtwdev)
rtwdev           2142 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2146 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	reg = rtw_read_rf(rtwdev, RF_PATH_A, 0x18, RFREG_MASK);
rtwdev           2154 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_rxbb_dc_cal(struct rtw_dev *rtwdev, u8 path)
rtwdev           2156 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, 0x92, RFREG_MASK, 0x84800);
rtwdev           2158 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, 0x92, RFREG_MASK, 0x84801);
rtwdev           2160 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, 0x92, RFREG_MASK, 0x84800);
rtwdev           2163 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_dc_corr_check(struct rtw_dev *rtwdev, u8 path)
rtwdev           2168 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RXSRAM_CTL, 0x000900f0);
rtwdev           2169 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	dc_i = (u16)rtw_read32_mask(rtwdev, REG_STAT_RPT, GENMASK(27, 16));
rtwdev           2170 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	dc_q = (u16)rtw_read32_mask(rtwdev, REG_STAT_RPT, GENMASK(11, 0));
rtwdev           2177 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RXSRAM_CTL, 0x000000f0);
rtwdev           2178 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	corr_idx = (u8)rtw_read32_mask(rtwdev, REG_STAT_RPT, GENMASK(7, 0));
rtwdev           2179 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	corr_val = (u8)rtw_read32_mask(rtwdev, REG_STAT_RPT, GENMASK(15, 8));
rtwdev           2188 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_tx_pause(struct rtw_dev *rtwdev)
rtwdev           2193 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, 0x522, 0xff);
rtwdev           2194 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1e70, 0xf, 0x2);
rtwdev           2197 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		reg_a = (u8)rtw_read_rf(rtwdev, RF_PATH_A, 0x00, 0xf0000);
rtwdev           2198 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		reg_b = (u8)rtw_read_rf(rtwdev, RF_PATH_B, 0x00, 0xf0000);
rtwdev           2204 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_mac_bb_setting(struct rtw_dev *rtwdev)
rtwdev           2206 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_tx_pause(rtwdev);
rtwdev           2207 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_load_table(rtwdev, &rtw8822c_dpk_mac_bb_tbl);
rtwdev           2210 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_afe_setting(struct rtw_dev *rtwdev, bool is_do_dpk)
rtwdev           2213 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_load_table(rtwdev, &rtw8822c_dpk_afe_is_dpk_tbl);
rtwdev           2215 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_load_table(rtwdev, &rtw8822c_dpk_afe_no_dpk_tbl);
rtwdev           2218 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_pre_setting(struct rtw_dev *rtwdev)
rtwdev           2222 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
rtwdev           2223 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_RXAGC_OFFSET, RFREG_MASK, 0x0);
rtwdev           2224 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_NCTL0, 0x8 | (path << 1));
rtwdev           2225 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		if (rtwdev->dm_info.dpk_info.dpk_band == RTW_BAND_2G)
rtwdev           2226 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32(rtwdev, REG_DPD_LUT3, 0x1f100000);
rtwdev           2228 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32(rtwdev, REG_DPD_LUT3, 0x1f0d0000);
rtwdev           2229 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_LUT0, BIT_GLOSS_DB, 0x4);
rtwdev           2230 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_IQK_CTL1, BIT_TX_CFIR, 0x3);
rtwdev           2232 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0xc);
rtwdev           2233 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_DPD_CTL11, 0x3b23170b);
rtwdev           2234 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_DPD_CTL12, 0x775f5347);
rtwdev           2237 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u32 rtw8822c_dpk_rf_setting(struct rtw_dev *rtwdev, u8 path)
rtwdev           2241 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, RFREG_MASK, 0x50017);
rtwdev           2242 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ori_txbb = rtw_read_rf(rtwdev, path, RF_TX_GAIN, RFREG_MASK);
rtwdev           2244 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TX_GAIN, 0x1);
rtwdev           2245 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_PWR_TRIM, 0x1);
rtwdev           2246 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_TX_GAIN_OFFSET, BIT_TX_OFFSET_VAL, 0x0);
rtwdev           2247 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_TX_GAIN, RFREG_MASK, ori_txbb);
rtwdev           2249 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (rtwdev->dm_info.dpk_info.dpk_band == RTW_BAND_2G) {
rtwdev           2250 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_TX_GAIN_OFFSET, BIT_LB_ATT, 0x1);
rtwdev           2251 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_RXG_GAIN, BIT_RXG_GAIN, 0x0);
rtwdev           2253 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_TXA_LB_ATT, 0x0);
rtwdev           2254 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_LB_ATT, 0x6);
rtwdev           2255 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_TXA_LB_SW, BIT_LB_SW, 0x1);
rtwdev           2256 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_RXA_MIX_GAIN, BIT_RXA_MIX_GAIN, 0);
rtwdev           2259 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, BIT_RXAGC, 0xf);
rtwdev           2260 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_DEBUG, BIT_DE_TRXBW, 0x1);
rtwdev           2261 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_RXBB, 0x0);
rtwdev           2263 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (rtwdev->dm_info.dpk_info.dpk_bw == DPK_CHANNEL_WIDTH_80)
rtwdev           2264 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_TXBB, 0x2);
rtwdev           2266 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, path, RF_BW_TRXBB, BIT_BW_TXBB, 0x1);
rtwdev           2268 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_EXT_TIA_BW, BIT(1), 0x1);
rtwdev           2275 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u16 rtw8822c_dpk_get_cmd(struct rtw_dev *rtwdev, u8 action, u8 path)
rtwdev           2278 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	u8 bw = rtwdev->dm_info.dpk_info.dpk_bw == DPK_CHANNEL_WIDTH_80 ? 2 : 0;
rtwdev           2300 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_one_shot(struct rtw_dev *rtwdev, u8 path, u8 action)
rtwdev           2305 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_set_gnt_wl(rtwdev, true);
rtwdev           2308 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0, BIT(12), 0x1);
rtwdev           2309 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0, BIT(12), 0x0);
rtwdev           2310 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_RXSRAM_CTL, BIT_RPT_SEL, 0x0);
rtwdev           2312 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		if (!check_hw_ready(rtwdev, REG_STAT_RPT, BIT(31), 0x1)) {
rtwdev           2314 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_dbg(rtwdev, RTW_DBG_RFK, "[DPK] one-shot over 20ms\n");
rtwdev           2317 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE,
rtwdev           2319 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_R_CONFIG, BIT_IQ_SWITCH, 0x9);
rtwdev           2321 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		dpk_cmd = rtw8822c_dpk_get_cmd(rtwdev, action, path);
rtwdev           2322 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_NCTL0, dpk_cmd);
rtwdev           2323 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_NCTL0, dpk_cmd + 1);
rtwdev           2325 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		if (!check_hw_ready(rtwdev, 0x2d9c, 0xff, 0x55)) {
rtwdev           2327 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_dbg(rtwdev, RTW_DBG_RFK, "[DPK] one-shot over 20ms\n");
rtwdev           2329 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE,
rtwdev           2331 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_R_CONFIG, BIT_IQ_SWITCH, 0x0);
rtwdev           2334 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_set_gnt_wl(rtwdev, false);
rtwdev           2336 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, 0x1b10, 0x0);
rtwdev           2341 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u16 rtw8822c_dpk_dgain_read(struct rtw_dev *rtwdev, u8 path)
rtwdev           2345 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0xc);
rtwdev           2346 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_RXSRAM_CTL, 0x00ff0000, 0x0);
rtwdev           2348 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	dgain = (u16)rtw_read32_mask(rtwdev, REG_STAT_RPT, GENMASK(27, 16));
rtwdev           2353 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_thermal_read(struct rtw_dev *rtwdev, u8 path)
rtwdev           2355 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_T_METER, BIT(19), 0x1);
rtwdev           2356 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_T_METER, BIT(19), 0x0);
rtwdev           2357 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_T_METER, BIT(19), 0x1);
rtwdev           2360 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	return (u8)rtw_read_rf(rtwdev, path, RF_T_METER, 0x0007e);
rtwdev           2363 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u32 rtw8822c_dpk_pas_read(struct rtw_dev *rtwdev, u8 path)
rtwdev           2367 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_NCTL0, 0x8 | (path << 1));
rtwdev           2368 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1b48, BIT(14), 0x0);
rtwdev           2369 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RXSRAM_CTL, 0x00060001);
rtwdev           2370 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1b4c, 0x00000000);
rtwdev           2371 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1b4c, 0x00080000);
rtwdev           2373 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	q_val = rtw_read32_mask(rtwdev, REG_STAT_RPT, MASKHWORD);
rtwdev           2374 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	i_val = rtw_read32_mask(rtwdev, REG_STAT_RPT, MASKLWORD);
rtwdev           2381 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, 0x1b4c, 0x00000000);
rtwdev           2412 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_gainloss_result(struct rtw_dev *rtwdev, u8 path)
rtwdev           2416 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
rtwdev           2417 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1b48, BIT(14), 0x1);
rtwdev           2418 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RXSRAM_CTL, 0x00060000);
rtwdev           2420 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	result = (u8)rtw_read32_mask(rtwdev, REG_STAT_RPT, 0x000000f0);
rtwdev           2422 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, 0x1b48, BIT(14), 0x0);
rtwdev           2427 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_agc_gain_chk(struct rtw_dev *rtwdev, u8 path,
rtwdev           2433 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DAGC);
rtwdev           2434 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	dgain = rtw8822c_dpk_dgain_read(rtwdev, path);
rtwdev           2444 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_agc_loss_chk(struct rtw_dev *rtwdev, u8 path)
rtwdev           2448 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	loss = rtw8822c_dpk_pas_read(rtwdev, path);
rtwdev           2471 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_gain_check_state(struct rtw_dev *rtwdev,
rtwdev           2476 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	data->txbb = (u8)rtw_read_rf(rtwdev, data->path, RF_TX_GAIN,
rtwdev           2478 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	data->pga = (u8)rtw_read_rf(rtwdev, data->path, RF_MODE_TRXAGC,
rtwdev           2486 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	state = rtw8822c_dpk_agc_gain_chk(rtwdev, data->path,
rtwdev           2501 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_gain_large_state(struct rtw_dev *rtwdev,
rtwdev           2507 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, data->path, RF_MODE_TRXAGC, BIT_RXAGC, 0xc);
rtwdev           2509 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, data->path, RF_MODE_TRXAGC, BIT_RXAGC, 0x0);
rtwdev           2516 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_gain_less_state(struct rtw_dev *rtwdev,
rtwdev           2522 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, data->path, RF_MODE_TRXAGC, BIT_RXAGC, 0xc);
rtwdev           2524 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write_rf(rtwdev, data->path, RF_MODE_TRXAGC, BIT_RXAGC, 0xf);
rtwdev           2531 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_gl_state(struct rtw_dev *rtwdev,
rtwdev           2544 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, data->path, RF_TX_GAIN, BIT_GAIN_TXBB, data->txbb);
rtwdev           2550 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_gl_large_state(struct rtw_dev *rtwdev,
rtwdev           2553 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	return rtw8822c_gl_state(rtwdev, data, 1);
rtwdev           2556 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_gl_less_state(struct rtw_dev *rtwdev,
rtwdev           2559 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	return rtw8822c_gl_state(rtwdev, data, 0);
rtwdev           2562 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_loss_check_state(struct rtw_dev *rtwdev,
rtwdev           2568 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_GAIN_LOSS);
rtwdev           2569 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	state = rtw8822c_dpk_agc_loss_chk(rtwdev, path);
rtwdev           2574 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 (*dpk_state[])(struct rtw_dev *rtwdev,
rtwdev           2580 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_pas_agc(struct rtw_dev *rtwdev, u8 path,
rtwdev           2584 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	u8 (*func)(struct rtw_dev *rtwdev, struct rtw8822c_dpk_data *data);
rtwdev           2593 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		state = func(rtwdev, &data);
rtwdev           2601 drivers/net/wireless/realtek/rtw88/rtw8822c.c static bool rtw8822c_dpk_coef_iq_check(struct rtw_dev *rtwdev,
rtwdev           2611 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u32 rtw8822c_dpk_coef_transfer(struct rtw_dev *rtwdev)
rtwdev           2616 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	reg = rtw_read32(rtwdev, REG_STAT_RPT);
rtwdev           2618 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	coef_i = (u16)rtw_read32_mask(rtwdev, REG_STAT_RPT, MASKHWORD) & 0x1fff;
rtwdev           2619 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	coef_q = (u16)rtw_read32_mask(rtwdev, REG_STAT_RPT, MASKLWORD) & 0x1fff;
rtwdev           2635 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_coef_tbl_apply(struct rtw_dev *rtwdev, u8 path)
rtwdev           2637 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2641 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_RXSRAM_CTL,
rtwdev           2643 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		dpk_info->coef[path][i] = rtw8822c_dpk_coef_transfer(rtwdev);
rtwdev           2647 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_get_coef(struct rtw_dev *rtwdev, u8 path)
rtwdev           2649 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_NCTL0, 0x0000000c);
rtwdev           2652 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0, BIT(24), 0x0);
rtwdev           2653 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL0_S0, 0x30000080);
rtwdev           2655 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0, BIT(24), 0x1);
rtwdev           2656 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL0_S1, 0x30000080);
rtwdev           2659 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_coef_tbl_apply(rtwdev, path);
rtwdev           2662 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_coef_read(struct rtw_dev *rtwdev, u8 path)
rtwdev           2664 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2672 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		if (rtw8822c_dpk_coef_iq_check(rtwdev, coef_i, coef_q)) {
rtwdev           2680 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_coef_write(struct rtw_dev *rtwdev, u8 path, u8 result)
rtwdev           2682 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2687 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_NCTL0, 0x0000000c);
rtwdev           2688 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RXSRAM_CTL, 0x000000f0);
rtwdev           2699 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, reg[path] + addr * 4, coef);
rtwdev           2703 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_fill_result(struct rtw_dev *rtwdev, u32 dpk_txagc,
rtwdev           2706 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2708 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
rtwdev           2711 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write8(rtwdev, REG_DPD_AGC, (u8)(dpk_txagc - 6));
rtwdev           2713 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write8(rtwdev, REG_DPD_AGC, 0x00);
rtwdev           2716 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	dpk_info->dpk_txagc[path] = rtw_read8(rtwdev, REG_DPD_AGC);
rtwdev           2718 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_coef_write(rtwdev, path, result);
rtwdev           2721 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u32 rtw8822c_dpk_gainloss(struct rtw_dev *rtwdev, u8 path)
rtwdev           2723 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2726 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ori_txbb = rtw8822c_dpk_rf_setting(rtwdev, path);
rtwdev           2727 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	ori_txagc = (u8)rtw_read_rf(rtwdev, path, RF_MODE_TRXAGC, BIT_TXAGC);
rtwdev           2729 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_rxbb_dc_cal(rtwdev, path);
rtwdev           2730 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DAGC);
rtwdev           2731 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_dgain_read(rtwdev, path);
rtwdev           2733 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (rtw8822c_dpk_dc_corr_check(rtwdev, path)) {
rtwdev           2734 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dpk_rxbb_dc_cal(rtwdev, path);
rtwdev           2735 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DAGC);
rtwdev           2736 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dpk_dc_corr_check(rtwdev, path);
rtwdev           2739 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	t1 = rtw8822c_dpk_thermal_read(rtwdev, path);
rtwdev           2740 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	tx_bb = rtw8822c_dpk_pas_agc(rtwdev, path, false, true);
rtwdev           2741 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	tx_agc_search = rtw8822c_dpk_gainloss_result(rtwdev, path);
rtwdev           2748 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_TX_GAIN, BIT_GAIN_TXBB, tx_bb);
rtwdev           2752 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	t2 = rtw8822c_dpk_thermal_read(rtwdev, path);
rtwdev           2759 drivers/net/wireless/realtek/rtw88/rtw8822c.c static u8 rtw8822c_dpk_by_path(struct rtw_dev *rtwdev, u32 tx_agc, u8 path)
rtwdev           2763 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	result = rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DO_DPK);
rtwdev           2765 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
rtwdev           2767 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	result = result | (u8)rtw_read32_mask(rtwdev, REG_DPD_CTL1_S0, BIT(26));
rtwdev           2769 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write_rf(rtwdev, path, RF_MODE_TRXAGC, RFREG_MASK, 0x33e14);
rtwdev           2771 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_get_coef(rtwdev, path);
rtwdev           2776 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_cal_gs(struct rtw_dev *rtwdev, u8 path)
rtwdev           2778 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2781 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
rtwdev           2782 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_IQK_CTL1, BIT_BYPASS_DPD, 0x0);
rtwdev           2783 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_IQK_CTL1, BIT_TX_CFIR, 0x0);
rtwdev           2784 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_R_CONFIG, BIT_IQ_SWITCH, 0x9);
rtwdev           2785 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_R_CONFIG, BIT_INNER_LB, 0x1);
rtwdev           2786 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0xc);
rtwdev           2787 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_RXSRAM_CTL, BIT_DPD_CLK, 0xf);
rtwdev           2790 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0, BIT_GS_PWSF,
rtwdev           2792 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL1_S0, BIT_DPD_EN, 0x1);
rtwdev           2794 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S1, BIT_GS_PWSF,
rtwdev           2796 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL1_S1, BIT_DPD_EN, 0x1);
rtwdev           2800 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x80001310);
rtwdev           2801 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x00001310);
rtwdev           2802 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x810000db);
rtwdev           2803 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x010000db);
rtwdev           2804 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x0000b428);
rtwdev           2805 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL15,
rtwdev           2808 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x8200190c);
rtwdev           2809 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x0200190c);
rtwdev           2810 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x8301ee14);
rtwdev           2811 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x0301ee14);
rtwdev           2812 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL16, 0x0000b428);
rtwdev           2813 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32(rtwdev, REG_DPD_CTL15,
rtwdev           2817 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DPD_CTL0, MASKBYTE3, 0x8 | path);
rtwdev           2819 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_CAL_PWR);
rtwdev           2821 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DPD_CTL15, MASKBYTE3, 0x0);
rtwdev           2822 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
rtwdev           2823 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_R_CONFIG, BIT_IQ_SWITCH, 0x0);
rtwdev           2824 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_R_CONFIG, BIT_INNER_LB, 0x0);
rtwdev           2825 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0xc);
rtwdev           2828 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0, BIT_GS_PWSF, 0x5b);
rtwdev           2830 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S1, BIT_GS_PWSF, 0x5b);
rtwdev           2832 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_RXSRAM_CTL, BIT_RPT_SEL, 0x0);
rtwdev           2834 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	tmp_gs = (u16)rtw_read32_mask(rtwdev, REG_STAT_RPT, BIT_RPT_DGAIN);
rtwdev           2839 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0, BIT_GS_PWSF, tmp_gs);
rtwdev           2841 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S1, BIT_GS_PWSF, tmp_gs);
rtwdev           2846 drivers/net/wireless/realtek/rtw88/rtw8822c.c void rtw8822c_dpk_cal_coef1(struct rtw_dev *rtwdev)
rtwdev           2848 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2853 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x0000000c);
rtwdev           2854 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_RXSRAM_CTL, 0x000000f0);
rtwdev           2855 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_NCTL0, 0x00001148);
rtwdev           2856 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32(rtwdev, REG_NCTL0, 0x00001149);
rtwdev           2858 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	check_hw_ready(rtwdev, 0x2d9c, MASKBYTE0, 0x55);
rtwdev           2860 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write8(rtwdev, 0x1b10, 0x0);
rtwdev           2861 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x0000000c);
rtwdev           2863 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
rtwdev           2866 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, 0x1b18 + offset[path], MASKHWORD,
rtwdev           2868 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0 + offset[path],
rtwdev           2870 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0 + offset[path],
rtwdev           2872 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0 + offset[path],
rtwdev           2874 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL1_S0 + offset[path],
rtwdev           2879 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_on(struct rtw_dev *rtwdev, u8 path)
rtwdev           2881 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2883 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DPK_ON);
rtwdev           2885 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0x8 | (path << 1));
rtwdev           2886 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_IQK_CTL1, BIT_TX_CFIR, 0x0);
rtwdev           2889 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dpk_cal_gs(rtwdev, path);
rtwdev           2892 drivers/net/wireless/realtek/rtw88/rtw8822c.c static bool rtw8822c_dpk_check_pass(struct rtw_dev *rtwdev, bool is_fail,
rtwdev           2898 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		if (rtw8822c_dpk_coef_read(rtwdev, path))
rtwdev           2906 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_fill_result(rtwdev, dpk_txagc, path, result);
rtwdev           2911 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_result_reset(struct rtw_dev *rtwdev)
rtwdev           2913 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2916 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
rtwdev           2918 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE,
rtwdev           2920 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, 0x1b58, 0x0000007f, 0x0);
rtwdev           2926 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		dpk_info->thermal_dpk[path] = rtw8822c_dpk_thermal_read(rtwdev,
rtwdev           2931 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_calibrate(struct rtw_dev *rtwdev, u8 path)
rtwdev           2933 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2937 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DPK] s%d dpk start\n", path);
rtwdev           2939 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	dpk_txagc = rtw8822c_dpk_gainloss(rtwdev, path);
rtwdev           2941 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	dpk_fail = rtw8822c_dpk_by_path(rtwdev, dpk_txagc, path);
rtwdev           2943 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	if (!rtw8822c_dpk_check_pass(rtwdev, dpk_fail, dpk_txagc, path))
rtwdev           2944 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_err(rtwdev, "failed to do dpk calibration\n");
rtwdev           2946 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_dbg(rtwdev, RTW_DBG_RFK, "[DPK] s%d dpk finish\n", path);
rtwdev           2952 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_path_select(struct rtw_dev *rtwdev)
rtwdev           2954 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_calibrate(rtwdev, RF_PATH_A);
rtwdev           2955 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_calibrate(rtwdev, RF_PATH_B);
rtwdev           2956 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_on(rtwdev, RF_PATH_A);
rtwdev           2957 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_on(rtwdev, RF_PATH_B);
rtwdev           2958 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_cal_coef1(rtwdev);
rtwdev           2961 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_enable_disable(struct rtw_dev *rtwdev)
rtwdev           2963 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2966 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0xc);
rtwdev           2968 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DPD_CTL1_S0, BIT_DPD_EN,
rtwdev           2970 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev, REG_DPD_CTL1_S1, BIT_DPD_EN,
rtwdev           2974 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL1_S0, mask, 0x0);
rtwdev           2975 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write8(rtwdev, REG_DPD_CTL0_S0, dpk_info->dpk_gs[RF_PATH_A]);
rtwdev           2978 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_DPD_CTL1_S1, mask, 0x0);
rtwdev           2979 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write8(rtwdev, REG_DPD_CTL0_S1, dpk_info->dpk_gs[RF_PATH_B]);
rtwdev           2983 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_dpk_reload_data(struct rtw_dev *rtwdev)
rtwdev           2985 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           2993 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
rtwdev           2994 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE,
rtwdev           2997 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32(rtwdev, REG_DPD_LUT3, 0x1f100000);
rtwdev           2999 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32(rtwdev, REG_DPD_LUT3, 0x1f0d0000);
rtwdev           3001 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write8(rtwdev, REG_DPD_AGC, dpk_info->dpk_txagc[path]);
rtwdev           3003 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dpk_coef_write(rtwdev, path,
rtwdev           3006 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dpk_one_shot(rtwdev, path, RTW_DPK_DPK_ON);
rtwdev           3008 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE, 0xc);
rtwdev           3011 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_DPD_CTL0_S0, BIT_GS_PWSF,
rtwdev           3014 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_DPD_CTL0_S1, BIT_GS_PWSF,
rtwdev           3017 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_cal_coef1(rtwdev);
rtwdev           3020 drivers/net/wireless/realtek/rtw88/rtw8822c.c static bool rtw8822c_dpk_reload(struct rtw_dev *rtwdev)
rtwdev           3022 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           3027 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	channel = (u8)(rtw_read_rf(rtwdev, RF_PATH_A, 0x18, RFREG_MASK) & 0xff);
rtwdev           3030 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK,
rtwdev           3032 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dpk_reload_data(rtwdev);
rtwdev           3039 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_do_dpk(struct rtw_dev *rtwdev)
rtwdev           3041 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           3053 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw_dbg(rtwdev, RTW_DBG_RFK, "[DPK] Skip DPK due to DPD PWR off\n");
rtwdev           3055 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	} else if (rtw8822c_dpk_reload(rtwdev)) {
rtwdev           3062 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_information(rtwdev);
rtwdev           3064 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_backup_registers(rtwdev, bb_reg, DPK_BB_REG_NUM, bckp);
rtwdev           3065 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_backup_rf_registers(rtwdev, rf_reg, rf_reg_backup);
rtwdev           3067 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_mac_bb_setting(rtwdev);
rtwdev           3068 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_afe_setting(rtwdev, true);
rtwdev           3069 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_pre_setting(rtwdev);
rtwdev           3070 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_result_reset(rtwdev);
rtwdev           3071 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_path_select(rtwdev);
rtwdev           3072 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_afe_setting(rtwdev, false);
rtwdev           3073 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_enable_disable(rtwdev);
rtwdev           3075 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_reload_rf_registers(rtwdev, rf_reg, rf_reg_backup);
rtwdev           3076 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	for (path = 0; path < rtwdev->hal.rf_path_num; path++)
rtwdev           3077 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		rtw8822c_dpk_rxbb_dc_cal(rtwdev, path);
rtwdev           3078 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_dpk_restore_registers(rtwdev, DPK_BB_REG_NUM, bckp);
rtwdev           3081 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_phy_calibration(struct rtw_dev *rtwdev)
rtwdev           3083 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_do_iqk(rtwdev);
rtwdev           3084 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_do_dpk(rtwdev);
rtwdev           3087 drivers/net/wireless/realtek/rtw88/rtw8822c.c void rtw8822c_dpk_track(struct rtw_dev *rtwdev)
rtwdev           3089 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dpk_info *dpk_info = &rtwdev->dm_info.dpk_info;
rtwdev           3098 drivers/net/wireless/realtek/rtw88/rtw8822c.c 		thermal_value[path] = rtw8822c_dpk_thermal_read(rtwdev, path);
rtwdev           3110 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, REG_NCTL0, BIT_SUBPAGE,
rtwdev           3112 drivers/net/wireless/realtek/rtw88/rtw8822c.c 			rtw_write32_mask(rtwdev, 0x1b58, GENMASK(6, 0),
rtwdev           3136 drivers/net/wireless/realtek/rtw88/rtw8822c.c rtw8822c_phy_cck_pd_set_reg(struct rtw_dev *rtwdev,
rtwdev           3144 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	pd = rtw_read32_mask(rtwdev,
rtwdev           3147 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	cs = rtw_read32_mask(rtwdev,
rtwdev           3158 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev,
rtwdev           3162 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw_write32_mask(rtwdev,
rtwdev           3168 drivers/net/wireless/realtek/rtw88/rtw8822c.c static void rtw8822c_phy_cck_pd_set(struct rtw_dev *rtwdev, u8 new_lvl)
rtwdev           3170 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	struct rtw_dm_info *dm_info = &rtwdev->dm_info;
rtwdev           3176 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	nrx = (u8)rtw_read32_mask(rtwdev, 0x1a2c, 0x60000);
rtwdev           3177 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	bw = (u8)rtw_read32_mask(rtwdev, 0x9b0, 0xc);
rtwdev           3187 drivers/net/wireless/realtek/rtw88/rtw8822c.c 	rtw8822c_phy_cck_pd_set_reg(rtwdev,
rtwdev            118 drivers/net/wireless/realtek/rtw88/rtw8822c.h void rtw8822c_parse_tbl_dpk(struct rtw_dev *rtwdev,
rtwdev              9 drivers/net/wireless/realtek/rtw88/rx.c void rtw_rx_stats(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
rtwdev             22 drivers/net/wireless/realtek/rtw88/rx.c 		rtwdev->stats.rx_unicast += skb->len;
rtwdev             23 drivers/net/wireless/realtek/rtw88/rx.c 		rtwdev->stats.rx_cnt++;
rtwdev             29 drivers/net/wireless/realtek/rtw88/rx.c 				rtw_leave_lps_irqsafe(rtwdev, rtwvif);
rtwdev             36 drivers/net/wireless/realtek/rtw88/rx.c 	struct rtw_dev *rtwdev;
rtwdev             48 drivers/net/wireless/realtek/rtw88/rx.c 	struct rtw_dev *rtwdev = iter_data->rtwdev;
rtwdev             56 drivers/net/wireless/realtek/rtw88/rx.c 		sta = ieee80211_find_sta_by_ifaddr(rtwdev->hw, hdr->addr2,
rtwdev             68 drivers/net/wireless/realtek/rtw88/rx.c static void rtw_rx_addr_match(struct rtw_dev *rtwdev,
rtwdev             78 drivers/net/wireless/realtek/rtw88/rx.c 	data.rtwdev = rtwdev;
rtwdev             83 drivers/net/wireless/realtek/rtw88/rx.c 	rtw_iterate_vifs_atomic(rtwdev, rtw_rx_addr_match_iter, &data);
rtwdev             86 drivers/net/wireless/realtek/rtw88/rx.c void rtw_rx_fill_rx_status(struct rtw_dev *rtwdev,
rtwdev             92 drivers/net/wireless/realtek/rtw88/rx.c 	struct ieee80211_hw *hw = rtwdev->hw;
rtwdev            150 drivers/net/wireless/realtek/rtw88/rx.c 	for (path = 0; path < rtwdev->hal.rf_path_num; path++) {
rtwdev            155 drivers/net/wireless/realtek/rtw88/rx.c 	rtw_rx_addr_match(rtwdev, pkt_stat, hdr);
rtwdev             33 drivers/net/wireless/realtek/rtw88/rx.h void rtw_rx_stats(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
rtwdev             35 drivers/net/wireless/realtek/rtw88/rx.h void rtw_rx_fill_rx_status(struct rtw_dev *rtwdev,
rtwdev             22 drivers/net/wireless/realtek/rtw88/sec.c void rtw_sec_write_cam(struct rtw_dev *rtwdev,
rtwdev             73 drivers/net/wireless/realtek/rtw88/sec.c 		rtw_write32(rtwdev, RTW_SEC_WRITE_REG, content);
rtwdev             74 drivers/net/wireless/realtek/rtw88/sec.c 		rtw_write32(rtwdev, RTW_SEC_CMD_REG, command);
rtwdev             78 drivers/net/wireless/realtek/rtw88/sec.c void rtw_sec_clear_cam(struct rtw_dev *rtwdev,
rtwdev             95 drivers/net/wireless/realtek/rtw88/sec.c 	rtw_write32(rtwdev, RTW_SEC_WRITE_REG, 0);
rtwdev             96 drivers/net/wireless/realtek/rtw88/sec.c 	rtw_write32(rtwdev, RTW_SEC_CMD_REG, command);
rtwdev             99 drivers/net/wireless/realtek/rtw88/sec.c void rtw_sec_enable_sec_engine(struct rtw_dev *rtwdev)
rtwdev            101 drivers/net/wireless/realtek/rtw88/sec.c 	struct rtw_sec_desc *sec = &rtwdev->sec;
rtwdev            108 drivers/net/wireless/realtek/rtw88/sec.c 	ctrl_reg = rtw_read16(rtwdev, REG_CR);
rtwdev            110 drivers/net/wireless/realtek/rtw88/sec.c 	rtw_write16(rtwdev, REG_CR, ctrl_reg);
rtwdev            112 drivers/net/wireless/realtek/rtw88/sec.c 	sec_config = rtw_read16(rtwdev, RTW_SEC_CONFIG);
rtwdev            119 drivers/net/wireless/realtek/rtw88/sec.c 	rtw_write16(rtwdev, RTW_SEC_CONFIG, sec_config);
rtwdev             29 drivers/net/wireless/realtek/rtw88/sec.h void rtw_sec_write_cam(struct rtw_dev *rtwdev,
rtwdev             34 drivers/net/wireless/realtek/rtw88/sec.h void rtw_sec_clear_cam(struct rtw_dev *rtwdev,
rtwdev             37 drivers/net/wireless/realtek/rtw88/sec.h void rtw_sec_enable_sec_engine(struct rtw_dev *rtwdev);
rtwdev             11 drivers/net/wireless/realtek/rtw88/tx.c void rtw_tx_stats(struct rtw_dev *rtwdev, struct ieee80211_vif *vif,
rtwdev             24 drivers/net/wireless/realtek/rtw88/tx.c 		rtwdev->stats.tx_unicast += skb->len;
rtwdev             25 drivers/net/wireless/realtek/rtw88/tx.c 		rtwdev->stats.tx_cnt++;
rtwdev             31 drivers/net/wireless/realtek/rtw88/tx.c 				rtw_leave_lps_irqsafe(rtwdev, rtwvif);
rtwdev             80 drivers/net/wireless/realtek/rtw88/tx.c static u8 get_highest_ht_tx_rate(struct rtw_dev *rtwdev,
rtwdev             85 drivers/net/wireless/realtek/rtw88/tx.c 	if (rtwdev->hal.rf_type == RF_2T2R && sta->ht_cap.mcs.rx_mask[1] != 0)
rtwdev             93 drivers/net/wireless/realtek/rtw88/tx.c static u8 get_highest_vht_tx_rate(struct rtw_dev *rtwdev,
rtwdev             96 drivers/net/wireless/realtek/rtw88/tx.c 	struct rtw_efuse *efuse = &rtwdev->efuse;
rtwdev            134 drivers/net/wireless/realtek/rtw88/tx.c static void rtw_tx_report_enable(struct rtw_dev *rtwdev,
rtwdev            137 drivers/net/wireless/realtek/rtw88/tx.c 	struct rtw_tx_report *tx_report = &rtwdev->tx_report;
rtwdev            149 drivers/net/wireless/realtek/rtw88/tx.c 	struct rtw_dev *rtwdev = from_timer(rtwdev, t, tx_report.purge_timer);
rtwdev            150 drivers/net/wireless/realtek/rtw88/tx.c 	struct rtw_tx_report *tx_report = &rtwdev->tx_report;
rtwdev            163 drivers/net/wireless/realtek/rtw88/tx.c void rtw_tx_report_enqueue(struct rtw_dev *rtwdev, struct sk_buff *skb, u8 sn)
rtwdev            165 drivers/net/wireless/realtek/rtw88/tx.c 	struct rtw_tx_report *tx_report = &rtwdev->tx_report;
rtwdev            181 drivers/net/wireless/realtek/rtw88/tx.c static void rtw_tx_report_tx_status(struct rtw_dev *rtwdev,
rtwdev            193 drivers/net/wireless/realtek/rtw88/tx.c 	ieee80211_tx_status_irqsafe(rtwdev->hw, skb);
rtwdev            196 drivers/net/wireless/realtek/rtw88/tx.c void rtw_tx_report_handle(struct rtw_dev *rtwdev, struct sk_buff *skb)
rtwdev            198 drivers/net/wireless/realtek/rtw88/tx.c 	struct rtw_tx_report *tx_report = &rtwdev->tx_report;
rtwdev            215 drivers/net/wireless/realtek/rtw88/tx.c 			rtw_tx_report_tx_status(rtwdev, cur, st == 0);
rtwdev            222 drivers/net/wireless/realtek/rtw88/tx.c static void rtw_tx_mgmt_pkt_info_update(struct rtw_dev *rtwdev,
rtwdev            232 drivers/net/wireless/realtek/rtw88/tx.c static void rtw_tx_data_pkt_info_update(struct rtw_dev *rtwdev,
rtwdev            264 drivers/net/wireless/realtek/rtw88/tx.c 		rate = get_highest_vht_tx_rate(rtwdev, sta);
rtwdev            266 drivers/net/wireless/realtek/rtw88/tx.c 		rate = get_highest_ht_tx_rate(rtwdev, sta);
rtwdev            291 drivers/net/wireless/realtek/rtw88/tx.c void rtw_tx_pkt_info_update(struct rtw_dev *rtwdev,
rtwdev            296 drivers/net/wireless/realtek/rtw88/tx.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev            311 drivers/net/wireless/realtek/rtw88/tx.c 		rtw_tx_mgmt_pkt_info_update(rtwdev, pkt_info, control, skb);
rtwdev            313 drivers/net/wireless/realtek/rtw88/tx.c 		rtw_tx_data_pkt_info_update(rtwdev, pkt_info, control, skb);
rtwdev            336 drivers/net/wireless/realtek/rtw88/tx.c 		rtw_tx_report_enable(rtwdev, pkt_info);
rtwdev            346 drivers/net/wireless/realtek/rtw88/tx.c 	rtw_tx_stats(rtwdev, vif, skb);
rtwdev            349 drivers/net/wireless/realtek/rtw88/tx.c void rtw_rsvd_page_pkt_info_update(struct rtw_dev *rtwdev,
rtwdev            353 drivers/net/wireless/realtek/rtw88/tx.c 	struct rtw_chip_info *chip = rtwdev->chip;
rtwdev             78 drivers/net/wireless/realtek/rtw88/tx.h void rtw_tx_pkt_info_update(struct rtw_dev *rtwdev,
rtwdev             83 drivers/net/wireless/realtek/rtw88/tx.h void rtw_tx_report_enqueue(struct rtw_dev *rtwdev, struct sk_buff *skb, u8 sn);
rtwdev             84 drivers/net/wireless/realtek/rtw88/tx.h void rtw_tx_report_handle(struct rtw_dev *rtwdev, struct sk_buff *skb);
rtwdev             85 drivers/net/wireless/realtek/rtw88/tx.h void rtw_rsvd_page_pkt_info_update(struct rtw_dev *rtwdev,
rtwdev              9 drivers/net/wireless/realtek/rtw88/util.c bool check_hw_ready(struct rtw_dev *rtwdev, u32 addr, u32 mask, u32 target)
rtwdev             14 drivers/net/wireless/realtek/rtw88/util.c 		if (rtw_read32_mask(rtwdev, addr, mask) == target)
rtwdev             23 drivers/net/wireless/realtek/rtw88/util.c bool ltecoex_read_reg(struct rtw_dev *rtwdev, u16 offset, u32 *val)
rtwdev             25 drivers/net/wireless/realtek/rtw88/util.c 	if (!check_hw_ready(rtwdev, LTECOEX_ACCESS_CTRL, LTECOEX_READY, 1))
rtwdev             28 drivers/net/wireless/realtek/rtw88/util.c 	rtw_write32(rtwdev, LTECOEX_ACCESS_CTRL, 0x800F0000 | offset);
rtwdev             29 drivers/net/wireless/realtek/rtw88/util.c 	*val = rtw_read32(rtwdev, LTECOEX_READ_DATA);
rtwdev             34 drivers/net/wireless/realtek/rtw88/util.c bool ltecoex_reg_write(struct rtw_dev *rtwdev, u16 offset, u32 value)
rtwdev             36 drivers/net/wireless/realtek/rtw88/util.c 	if (!check_hw_ready(rtwdev, LTECOEX_ACCESS_CTRL, LTECOEX_READY, 1))
rtwdev             39 drivers/net/wireless/realtek/rtw88/util.c 	rtw_write32(rtwdev, LTECOEX_WRITE_DATA, value);
rtwdev             40 drivers/net/wireless/realtek/rtw88/util.c 	rtw_write32(rtwdev, LTECOEX_ACCESS_CTRL, 0xC00F0000 | offset);
rtwdev             45 drivers/net/wireless/realtek/rtw88/util.c void rtw_restore_reg(struct rtw_dev *rtwdev,
rtwdev             60 drivers/net/wireless/realtek/rtw88/util.c 			rtw_write8(rtwdev, reg, (u8)val);
rtwdev             63 drivers/net/wireless/realtek/rtw88/util.c 			rtw_write16(rtwdev, reg, (u16)val);
rtwdev             66 drivers/net/wireless/realtek/rtw88/util.c 			rtw_write32(rtwdev, reg, (u32)val);
rtwdev             10 drivers/net/wireless/realtek/rtw88/util.h #define rtw_iterate_vifs(rtwdev, iterator, data)                               \
rtwdev             11 drivers/net/wireless/realtek/rtw88/util.h 	ieee80211_iterate_active_interfaces(rtwdev->hw,                        \
rtwdev             13 drivers/net/wireless/realtek/rtw88/util.h #define rtw_iterate_vifs_atomic(rtwdev, iterator, data)                        \
rtwdev             14 drivers/net/wireless/realtek/rtw88/util.h 	ieee80211_iterate_active_interfaces_atomic(rtwdev->hw,                 \
rtwdev             16 drivers/net/wireless/realtek/rtw88/util.h #define rtw_iterate_stas_atomic(rtwdev, iterator, data)                        \
rtwdev             17 drivers/net/wireless/realtek/rtw88/util.h 	ieee80211_iterate_stations_atomic(rtwdev->hw, iterator, data)