/Linux-v6.6/drivers/net/wireless/ath/wcn36xx/ |
D | dxe.c | 30 static void wcn36xx_ccu_write_register(struct wcn36xx *wcn, int addr, int data) in wcn36xx_ccu_write_register() argument 36 writel(data, wcn->ccu_base + addr); in wcn36xx_ccu_write_register() 39 static void wcn36xx_dxe_write_register(struct wcn36xx *wcn, int addr, int data) in wcn36xx_dxe_write_register() argument 45 writel(data, wcn->dxe_base + addr); in wcn36xx_dxe_write_register() 48 static void wcn36xx_dxe_read_register(struct wcn36xx *wcn, int addr, int *data) in wcn36xx_dxe_read_register() argument 50 *data = readl(wcn->dxe_base + addr); in wcn36xx_dxe_read_register() 101 int wcn36xx_dxe_alloc_ctl_blks(struct wcn36xx *wcn) in wcn36xx_dxe_alloc_ctl_blks() argument 105 wcn->dxe_tx_l_ch.ch_type = WCN36XX_DXE_CH_TX_L; in wcn36xx_dxe_alloc_ctl_blks() 106 wcn->dxe_tx_h_ch.ch_type = WCN36XX_DXE_CH_TX_H; in wcn36xx_dxe_alloc_ctl_blks() 107 wcn->dxe_rx_l_ch.ch_type = WCN36XX_DXE_CH_RX_L; in wcn36xx_dxe_alloc_ctl_blks() [all …]
|
D | main.c | 195 static void wcn36xx_feat_caps_info(struct wcn36xx *wcn) in wcn36xx_feat_caps_info() argument 200 if (wcn36xx_firmware_get_feat_caps(wcn->fw_feat_caps, i)) { in wcn36xx_feat_caps_info() 209 struct wcn36xx *wcn = hw->priv; in wcn36xx_start() local 215 ret = wcn36xx_smd_open(wcn); in wcn36xx_start() 222 ret = wcn36xx_dxe_allocate_mem_pools(wcn); in wcn36xx_start() 228 ret = wcn36xx_dxe_alloc_ctl_blks(wcn); in wcn36xx_start() 234 ret = wcn36xx_smd_load_nv(wcn); in wcn36xx_start() 240 ret = wcn36xx_smd_start(wcn); in wcn36xx_start() 246 if (!wcn36xx_is_fw_version(wcn, 1, 2, 2, 24)) { in wcn36xx_start() 247 ret = wcn36xx_smd_feature_caps_exchange(wcn); in wcn36xx_start() [all …]
|
D | smd.h | 56 int wcn36xx_smd_open(struct wcn36xx *wcn); 57 void wcn36xx_smd_close(struct wcn36xx *wcn); 59 int wcn36xx_smd_load_nv(struct wcn36xx *wcn); 60 int wcn36xx_smd_start(struct wcn36xx *wcn); 61 int wcn36xx_smd_stop(struct wcn36xx *wcn); 62 int wcn36xx_smd_start_scan(struct wcn36xx *wcn, u8 scan_channel); 63 int wcn36xx_smd_end_scan(struct wcn36xx *wcn, u8 scan_channel); 64 int wcn36xx_smd_finish_scan(struct wcn36xx *wcn, enum wcn36xx_hal_sys_mode mode, 66 int wcn36xx_smd_init_scan(struct wcn36xx *wcn, enum wcn36xx_hal_sys_mode mode, 69 int wcn36xx_smd_update_scan_params(struct wcn36xx *wcn, u8 *channels, size_t channel_count); [all …]
|
D | smd.c | 182 static int put_cfg_tlv_u32(struct wcn36xx *wcn, size_t *len, u32 id, u32 value) in put_cfg_tlv_u32() argument 192 entry = (struct wcn36xx_hal_cfg *) (wcn->hal_buf + *len); in put_cfg_tlv_u32() 206 static void wcn36xx_smd_set_bss_nw_type(struct wcn36xx *wcn, in wcn36xx_smd_set_bss_nw_type() argument 210 if (NL80211_BAND_5GHZ == WCN36XX_BAND(wcn)) in wcn36xx_smd_set_bss_nw_type() 289 static void wcn36xx_smd_set_sta_vht_params(struct wcn36xx *wcn, in wcn36xx_smd_set_sta_vht_params() argument 299 if (wcn36xx_firmware_get_feat_caps(wcn->fw_feat_caps, MU_MIMO)) { in wcn36xx_smd_set_sta_vht_params() 337 static void wcn36xx_smd_set_sta_default_vht_params(struct wcn36xx *wcn, in wcn36xx_smd_set_sta_default_vht_params() argument 340 if (wcn->rf_id == RF_IRIS_WCN3680) { in wcn36xx_smd_set_sta_default_vht_params() 353 static void wcn36xx_smd_set_sta_default_ht_ldpc_params(struct wcn36xx *wcn, in wcn36xx_smd_set_sta_default_ht_ldpc_params() argument 356 if (wcn->rf_id == RF_IRIS_WCN3680) in wcn36xx_smd_set_sta_default_ht_ldpc_params() [all …]
|
D | debug.c | 31 struct wcn36xx *wcn = file->private_data; in read_file_bool_bmps() local 36 list_for_each_entry(vif_priv, &wcn->vif_list, list) { in read_file_bool_bmps() 56 struct wcn36xx *wcn = file->private_data; in write_file_bool_bmps() local 71 list_for_each_entry(vif_priv, &wcn->vif_list, list) { in write_file_bool_bmps() 74 wcn36xx_enable_keep_alive_null_packet(wcn, vif); in write_file_bool_bmps() 75 wcn36xx_pmc_enter_bmps_state(wcn, vif); in write_file_bool_bmps() 82 list_for_each_entry(vif_priv, &wcn->vif_list, list) { in write_file_bool_bmps() 85 wcn36xx_pmc_exit_bmps_state(wcn, vif); in write_file_bool_bmps() 103 struct wcn36xx *wcn = file->private_data; in write_file_dump() local 130 wcn36xx_smd_dump_cmd_req(wcn, arg[0], arg[1], arg[2], arg[3], arg[4]); in write_file_dump() [all …]
|
D | txrx.c | 275 static void wcn36xx_update_survey(struct wcn36xx *wcn, int rssi, int snr, in wcn36xx_update_survey() argument 286 idx = wcn->hw->wiphy->bands[NL80211_BAND_2GHZ]->n_channels; in wcn36xx_update_survey() 288 sband = wcn->hw->wiphy->bands[band]; in wcn36xx_update_survey() 298 spin_lock(&wcn->survey_lock); in wcn36xx_update_survey() 299 wcn->chan_survey[idx].rssi = rssi; in wcn36xx_update_survey() 300 wcn->chan_survey[idx].snr = snr; in wcn36xx_update_survey() 301 spin_unlock(&wcn->survey_lock); in wcn36xx_update_survey() 306 int wcn36xx_rx_skb(struct wcn36xx *wcn, struct sk_buff *skb) in wcn36xx_rx_skb() argument 379 status.band = WCN36XX_BAND(wcn); in wcn36xx_rx_skb() 380 status.freq = WCN36XX_CENTER_FREQ(wcn); in wcn36xx_rx_skb() [all …]
|
D | testmode.c | 43 static int wcn36xx_tm_cmd_ptt(struct wcn36xx *wcn, struct ieee80211_vif *vif, in wcn36xx_tm_cmd_ptt() argument 70 body->drv_major = wcn->fw_major; in wcn36xx_tm_cmd_ptt() 71 body->drv_minor = wcn->fw_minor; in wcn36xx_tm_cmd_ptt() 72 body->drv_patch = wcn->fw_version; in wcn36xx_tm_cmd_ptt() 73 body->drv_build = wcn->fw_revision; in wcn36xx_tm_cmd_ptt() 84 msg->resp_status = wcn36xx_smd_process_ptt_msg(wcn, vif, msg, in wcn36xx_tm_cmd_ptt() 104 skb = cfg80211_testmode_alloc_reply_skb(wcn->hw->wiphy, in wcn36xx_tm_cmd_ptt() 129 struct wcn36xx *wcn = hw->priv; in wcn36xx_tm_cmd() local 148 return wcn36xx_tm_cmd_ptt(wcn, vif, tb); in wcn36xx_tm_cmd()
|
D | dxe.h | 138 #define WCN36XX_DXE_WQ_TX_L(wcn) ((wcn)->is_pronto_v3 ? 0x6 : 0x17) argument 139 #define WCN36XX_DXE_WQ_TX_H(wcn) ((wcn)->is_pronto_v3 ? 0x6 : 0x17) argument 456 int wcn36xx_dxe_allocate_mem_pools(struct wcn36xx *wcn); 457 void wcn36xx_dxe_free_mem_pools(struct wcn36xx *wcn); 458 void wcn36xx_dxe_rx_frame(struct wcn36xx *wcn); 459 int wcn36xx_dxe_alloc_ctl_blks(struct wcn36xx *wcn); 460 void wcn36xx_dxe_free_ctl_blks(struct wcn36xx *wcn); 461 int wcn36xx_dxe_init(struct wcn36xx *wcn); 462 void wcn36xx_dxe_deinit(struct wcn36xx *wcn); 463 int wcn36xx_dxe_init_channels(struct wcn36xx *wcn); [all …]
|
D | pmc.c | 23 int wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn, in wcn36xx_pmc_enter_bmps_state() argument 29 ret = wcn36xx_smd_enter_bmps(wcn, vif); in wcn36xx_pmc_enter_bmps_state() 51 int wcn36xx_pmc_exit_bmps_state(struct wcn36xx *wcn, in wcn36xx_pmc_exit_bmps_state() argument 62 wcn36xx_smd_exit_bmps(wcn, vif); in wcn36xx_pmc_exit_bmps_state() 68 int wcn36xx_enable_keep_alive_null_packet(struct wcn36xx *wcn, in wcn36xx_enable_keep_alive_null_packet() argument 72 return wcn36xx_smd_keep_alive_req(wcn, vif, in wcn36xx_enable_keep_alive_null_packet()
|
D | debug.h | 37 void wcn36xx_debugfs_init(struct wcn36xx *wcn); 38 void wcn36xx_debugfs_exit(struct wcn36xx *wcn); 41 static inline void wcn36xx_debugfs_init(struct wcn36xx *wcn) in wcn36xx_debugfs_init() argument 44 static inline void wcn36xx_debugfs_exit(struct wcn36xx *wcn) in wcn36xx_debugfs_exit() argument
|
D | pmc.h | 27 int wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn, 29 int wcn36xx_pmc_exit_bmps_state(struct wcn36xx *wcn, 31 int wcn36xx_enable_keep_alive_null_packet(struct wcn36xx *wcn,
|
D | wcn36xx.h | 301 static inline bool wcn36xx_is_fw_version(struct wcn36xx *wcn, in wcn36xx_is_fw_version() argument 307 return (wcn->fw_major == major && in wcn36xx_is_fw_version() 308 wcn->fw_minor == minor && in wcn36xx_is_fw_version() 309 wcn->fw_version == version && in wcn36xx_is_fw_version() 310 wcn->fw_revision == revision); in wcn36xx_is_fw_version()
|
D | txrx.h | 163 int wcn36xx_rx_skb(struct wcn36xx *wcn, struct sk_buff *skb); 164 int wcn36xx_start_tx(struct wcn36xx *wcn,
|