Home
last modified time | relevance | path

Searched full:wcn (Results 1 – 25 of 29) sorted by relevance

12

/kernel/linux/linux-6.6/drivers/net/wireless/ath/wcn36xx/
Ddxe.c30 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 …]
Dmain.c50 /* The wcn firmware expects channel values to matching
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()
[all …]
Dsmd.c182 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 …]
Dsmd.h56 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 …]
Ddebug.c31 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 …]
Dtxrx.c275 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 …]
Dtestmode.c43 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()
Dpmc.c23 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()
Ddxe.h138 #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 …]
Ddebug.h37 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
Dpmc.h27 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,
Dwcn36xx.h301 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()
/kernel/linux/linux-5.10/drivers/net/wireless/ath/wcn36xx/
Ddxe.c30 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 …]
Dmain.c49 /* The wcn firmware expects channel values to matching
261 static void wcn36xx_feat_caps_info(struct wcn36xx *wcn) in wcn36xx_feat_caps_info() argument
266 if (get_feat_caps(wcn->fw_feat_caps, i)) in wcn36xx_feat_caps_info()
273 struct wcn36xx *wcn = hw->priv; in wcn36xx_start() local
279 ret = wcn36xx_smd_open(wcn); in wcn36xx_start()
286 ret = wcn36xx_dxe_allocate_mem_pools(wcn); in wcn36xx_start()
292 ret = wcn36xx_dxe_alloc_ctl_blks(wcn); in wcn36xx_start()
298 ret = wcn36xx_smd_load_nv(wcn); in wcn36xx_start()
304 ret = wcn36xx_smd_start(wcn); in wcn36xx_start()
310 if (!wcn36xx_is_fw_version(wcn, 1, 2, 2, 24)) { in wcn36xx_start()
[all …]
Dsmd.c179 static int put_cfg_tlv_u32(struct wcn36xx *wcn, size_t *len, u32 id, u32 value) in put_cfg_tlv_u32() argument
189 entry = (struct wcn36xx_hal_cfg *) (wcn->hal_buf + *len); in put_cfg_tlv_u32()
203 static void wcn36xx_smd_set_bss_nw_type(struct wcn36xx *wcn, in wcn36xx_smd_set_bss_nw_type() argument
207 if (NL80211_BAND_5GHZ == WCN36XX_BAND(wcn)) in wcn36xx_smd_set_bss_nw_type()
283 static void wcn36xx_smd_set_sta_vht_params(struct wcn36xx *wcn, in wcn36xx_smd_set_sta_vht_params() argument
293 if (get_feat_caps(wcn->fw_feat_caps, MU_MIMO)) { in wcn36xx_smd_set_sta_vht_params()
330 static void wcn36xx_smd_set_sta_default_vht_params(struct wcn36xx *wcn, in wcn36xx_smd_set_sta_default_vht_params() argument
333 if (wcn->rf_id == RF_IRIS_WCN3680) { in wcn36xx_smd_set_sta_default_vht_params()
346 static void wcn36xx_smd_set_sta_default_ht_ldpc_params(struct wcn36xx *wcn, in wcn36xx_smd_set_sta_default_ht_ldpc_params() argument
349 if (wcn->rf_id == RF_IRIS_WCN3680) in wcn36xx_smd_set_sta_default_ht_ldpc_params()
[all …]
Dsmd.h56 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 …]
Ddebug.c30 struct wcn36xx *wcn = file->private_data; in read_file_bool_bmps() local
35 list_for_each_entry(vif_priv, &wcn->vif_list, list) { in read_file_bool_bmps()
55 struct wcn36xx *wcn = file->private_data; in write_file_bool_bmps() local
70 list_for_each_entry(vif_priv, &wcn->vif_list, list) { in write_file_bool_bmps()
73 wcn36xx_enable_keep_alive_null_packet(wcn, vif); in write_file_bool_bmps()
74 wcn36xx_pmc_enter_bmps_state(wcn, vif); in write_file_bool_bmps()
81 list_for_each_entry(vif_priv, &wcn->vif_list, list) { in write_file_bool_bmps()
84 wcn36xx_pmc_exit_bmps_state(wcn, vif); in write_file_bool_bmps()
102 struct wcn36xx *wcn = file->private_data; in write_file_dump() local
129 wcn36xx_smd_dump_cmd_req(wcn, arg[0], arg[1], arg[2], arg[3], arg[4]); in write_file_dump()
[all …]
Dtestmode.c43 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()
Dpmc.c21 int wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn, in wcn36xx_pmc_enter_bmps_state() argument
27 ret = wcn36xx_smd_enter_bmps(wcn, vif); in wcn36xx_pmc_enter_bmps_state()
43 int wcn36xx_pmc_exit_bmps_state(struct wcn36xx *wcn, in wcn36xx_pmc_exit_bmps_state() argument
54 wcn36xx_smd_exit_bmps(wcn, vif); in wcn36xx_pmc_exit_bmps_state()
60 int wcn36xx_enable_keep_alive_null_packet(struct wcn36xx *wcn, in wcn36xx_enable_keep_alive_null_packet() argument
64 return wcn36xx_smd_keep_alive_req(wcn, vif, in wcn36xx_enable_keep_alive_null_packet()
Dtxrx.c234 int wcn36xx_rx_skb(struct wcn36xx *wcn, struct sk_buff *skb) in wcn36xx_rx_skb() argument
287 status.band = WCN36XX_BAND(wcn); in wcn36xx_rx_skb()
288 status.freq = WCN36XX_CENTER_FREQ(wcn); in wcn36xx_rx_skb()
330 ieee80211_rx_irqsafe(wcn->hw, skb); in wcn36xx_rx_skb()
348 static inline struct wcn36xx_vif *get_vif_by_addr(struct wcn36xx *wcn, in get_vif_by_addr() argument
353 list_for_each_entry(vif_priv, &wcn->vif_list, list) { in get_vif_by_addr()
362 static void wcn36xx_tx_start_ampdu(struct wcn36xx *wcn, in wcn36xx_tx_start_ampdu() argument
370 if (!conf_is_ht(&wcn->hw->conf)) in wcn36xx_tx_start_ampdu()
398 struct wcn36xx *wcn, in wcn36xx_set_tx_data() argument
432 __vif_priv = get_vif_by_addr(wcn, hdr->addr2); in wcn36xx_set_tx_data()
[all …]
Ddebug.h36 void wcn36xx_debugfs_init(struct wcn36xx *wcn);
37 void wcn36xx_debugfs_exit(struct wcn36xx *wcn);
40 static inline void wcn36xx_debugfs_init(struct wcn36xx *wcn) in wcn36xx_debugfs_init() argument
43 static inline void wcn36xx_debugfs_exit(struct wcn36xx *wcn) in wcn36xx_debugfs_exit() argument
Ddxe.h456 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);
464 int wcn36xx_dxe_tx_frame(struct wcn36xx *wcn,
469 void wcn36xx_dxe_tx_ack_ind(struct wcn36xx *wcn, u32 status);
Dpmc.h27 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,
Dwcn36xx.h268 static inline bool wcn36xx_is_fw_version(struct wcn36xx *wcn, in wcn36xx_is_fw_version() argument
274 return (wcn->fw_major == major && in wcn36xx_is_fw_version()
275 wcn->fw_minor == minor && in wcn36xx_is_fw_version()
276 wcn->fw_version == version && in wcn36xx_is_fw_version()
277 wcn->fw_revision == revision); in wcn36xx_is_fw_version()
Dtxrx.h163 int wcn36xx_rx_skb(struct wcn36xx *wcn, struct sk_buff *skb);
164 int wcn36xx_start_tx(struct wcn36xx *wcn,

12