Lines Matching full:ab
179 ath11k_wmi_tlv_iter(struct ath11k_base *ab, const void *ptr, size_t len, in ath11k_wmi_tlv_iter() argument
180 int (*iter)(struct ath11k_base *ab, u16 tag, u16 len, in ath11k_wmi_tlv_iter() argument
191 ath11k_err(ab, "wmi tlv parse failure at byte %zd (%zu bytes left, %zu expected)\n", in ath11k_wmi_tlv_iter()
203 ath11k_err(ab, "wmi tlv parse failure of tag %u at byte %zd (%zu bytes left, %u expected)\n", in ath11k_wmi_tlv_iter()
211 …ath11k_err(ab, "wmi tlv parse failure of tag %u at byte %zd (%u bytes is less than min length %zu)… in ath11k_wmi_tlv_iter()
217 ret = iter(ab, tlv_tag, tlv_len, ptr, data); in ath11k_wmi_tlv_iter()
228 static int ath11k_wmi_tlv_iter_parse(struct ath11k_base *ab, u16 tag, u16 len, in ath11k_wmi_tlv_iter_parse() argument
246 const void **ath11k_wmi_tlv_parse_alloc(struct ath11k_base *ab, in ath11k_wmi_tlv_parse_alloc() argument
256 ret = ath11k_wmi_tlv_parse(ab, tb, skb->data, skb->len); in ath11k_wmi_tlv_parse_alloc()
269 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_cmd_send_nowait() local
282 trace_ath11k_wmi_cmd(ab, cmd_id, skb->data, skb->len); in ath11k_wmi_cmd_send_nowait()
285 ret = ath11k_htc_send(&ab->htc, wmi->eid, skb); in ath11k_wmi_cmd_send_nowait()
302 struct ath11k_base *ab = wmi_ab->ab; in ath11k_wmi_cmd_send() local
306 if (ab->hw_params.credit_flow) { in ath11k_wmi_cmd_send()
311 &wmi_ab->ab->dev_flags)) in ath11k_wmi_cmd_send()
321 &wmi_ab->ab->dev_flags)) in ath11k_wmi_cmd_send()
329 ath11k_warn(wmi_ab->ab, "wmi command %d timeout\n", cmd_id); in ath11k_wmi_cmd_send()
332 ath11k_warn(wmi_ab->ab, "ce desc not available for wmi command %d\n", in ath11k_wmi_cmd_send()
368 struct ath11k_base *ab = wmi_handle->wmi_ab->ab; in ath11k_pull_mac_phy_cap_svc_ready_ext() local
400 ab->target_pdev_ids[ab->target_pdev_count].supported_bands = in ath11k_pull_mac_phy_cap_svc_ready_ext()
402 ab->target_pdev_ids[ab->target_pdev_count].pdev_id = mac_phy_caps->pdev_id; in ath11k_pull_mac_phy_cap_svc_ready_ext()
403 ab->target_pdev_count++; in ath11k_pull_mac_phy_cap_svc_ready_ext()
517 static int ath11k_pull_service_ready_tlv(struct ath11k_base *ab, in ath11k_pull_service_ready_tlv() argument
524 ath11k_err(ab, "%s: failed by NULL param\n", in ath11k_pull_service_ready_tlv()
567 static int ath11k_wmi_tlv_svc_rdy_parse(struct ath11k_base *ab, u16 tag, u16 len, in ath11k_wmi_tlv_svc_rdy_parse() argument
571 struct ath11k_pdev_wmi *wmi_handle = &ab->wmi_ab.wmi[0]; in ath11k_wmi_tlv_svc_rdy_parse()
576 if (ath11k_pull_service_ready_tlv(ab, ptr, &ab->target_caps)) in ath11k_wmi_tlv_svc_rdy_parse()
584 ath11k_warn(ab, "invalid len %d for the tag 0x%x\n", in ath11k_wmi_tlv_svc_rdy_parse()
601 static int ath11k_service_ready_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_service_ready_event() argument
606 ret = ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_service_ready_event()
610 ath11k_warn(ab, "failed to parse tlv %d\n", ret); in ath11k_service_ready_event()
614 ath11k_dbg(ab, ATH11K_DBG_WMI, "event service ready"); in ath11k_service_ready_event()
622 struct ath11k_base *ab = wmi_ab->ab; in ath11k_wmi_alloc_skb() local
625 skb = ath11k_htc_alloc_skb(ab, WMI_SKB_HEADROOM + round_len); in ath11k_wmi_alloc_skb()
631 ath11k_warn(ab, "unaligned WMI skb data\n"); in ath11k_wmi_alloc_skb()
642 struct ath11k_base *ab = ar->ab; in ath11k_wmi_mgmt_get_freq() local
645 if (ab->hw_params.support_off_channel_tx && in ath11k_wmi_mgmt_get_freq()
695 ath11k_warn(ar->ab, in ath11k_wmi_mgmt_send()
700 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd mgmt tx send"); in ath11k_wmi_mgmt_send()
772 ath11k_warn(ar->ab, in ath11k_wmi_vdev_create()
777 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_vdev_create()
803 ath11k_warn(ar->ab, "failed to submit WMI_VDEV_DELETE_CMDID\n"); in ath11k_wmi_vdev_delete()
807 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd vdev delete id %d\n", vdev_id); in ath11k_wmi_vdev_delete()
831 ath11k_warn(ar->ab, "failed to submit WMI_VDEV_STOP cmd\n"); in ath11k_wmi_vdev_stop()
835 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd vdev stop id 0x%x\n", vdev_id); in ath11k_wmi_vdev_stop()
859 ath11k_warn(ar->ab, "failed to submit WMI_VDEV_DOWN cmd\n"); in ath11k_wmi_vdev_down()
863 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd vdev down id 0x%x\n", vdev_id); in ath11k_wmi_vdev_down()
971 if (test_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED, &ar->ab->dev_flags)) in ath11k_wmi_vdev_start()
1001 ath11k_warn(ar->ab, "failed to submit vdev_%s cmd\n", in ath11k_wmi_vdev_start()
1006 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd vdev %s id 0x%x freq 0x%x mode 0x%x\n", in ath11k_wmi_vdev_start()
1056 ath11k_warn(ar->ab, "failed to submit WMI_VDEV_UP cmd\n"); in ath11k_wmi_vdev_up()
1060 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_vdev_up()
1089 ath11k_warn(ar->ab, "failed to submit WMI_PEER_CREATE cmd\n"); in ath11k_wmi_send_peer_create_cmd()
1093 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_peer_create_cmd()
1121 ath11k_warn(ar->ab, "failed to send WMI_PEER_DELETE cmd\n"); in ath11k_wmi_send_peer_delete_cmd()
1125 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_peer_delete_cmd()
1159 ath11k_warn(ar->ab, in ath11k_wmi_send_pdev_set_regdomain()
1164 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_pdev_set_regdomain()
1194 ath11k_warn(ar->ab, "failed to send WMI_PEER_SET_PARAM cmd\n"); in ath11k_wmi_set_peer_param()
1198 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_set_peer_param()
1228 ath11k_warn(ar->ab, in ath11k_wmi_send_peer_flush_tids_cmd()
1233 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_peer_flush_tids_cmd()
1271 ath11k_warn(ar->ab, in ath11k_wmi_peer_rx_reorder_queue_setup()
1276 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_peer_rx_reorder_queue_setup()
1308 ath11k_warn(ar->ab, in ath11k_wmi_rx_reord_queue_remove()
1313 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_rx_reord_queue_remove()
1341 ath11k_warn(ar->ab, "failed to send WMI_PDEV_SET_PARAM cmd\n"); in ath11k_wmi_pdev_set_param()
1345 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_set_param()
1372 ath11k_warn(ar->ab, "failed to send WMI_PDEV_SET_PARAM cmd\n"); in ath11k_wmi_pdev_set_ps_mode()
1376 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_set_ps_mode()
1405 ath11k_warn(ar->ab, "failed to send WMI_PDEV_SUSPEND cmd\n"); in ath11k_wmi_pdev_suspend()
1409 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_suspend()
1434 ath11k_warn(ar->ab, "failed to send WMI_PDEV_RESUME cmd\n"); in ath11k_wmi_pdev_resume()
1438 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_resume()
1471 ath11k_warn(ar->ab, in ath11k_wmi_pdev_bss_chan_info_request()
1476 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_bss_chan_info_request()
1505 ath11k_warn(ar->ab, in ath11k_wmi_send_set_ap_ps_param_cmd()
1510 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_set_ap_ps_param_cmd()
1540 ath11k_warn(ar->ab, "failed to send WMI_STA_POWERSAVE_PARAM_CMDID"); in ath11k_wmi_set_sta_ps_param()
1544 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_set_sta_ps_param()
1574 ath11k_warn(ar->ab, "Failed to send WMI_FORCE_FW_HANG_CMDID"); in ath11k_wmi_force_fw_hang_cmd()
1578 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd force fw hang"); in ath11k_wmi_force_fw_hang_cmd()
1605 ath11k_warn(ar->ab, in ath11k_wmi_vdev_set_param_cmd()
1610 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_vdev_set_param_cmd()
1639 ath11k_warn(ar->ab, "failed to send WMI_REQUEST_STATS cmd\n"); in ath11k_wmi_send_stats_request_cmd()
1643 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_stats_request_cmd()
1668 ath11k_warn(ar->ab, "failed to send WMI_PDEV_GET_TEMPERATURE cmd\n"); in ath11k_wmi_send_pdev_temperature_cmd()
1672 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_pdev_temperature_cmd()
1700 ath11k_warn(ar->ab, in ath11k_wmi_send_bcn_offload_control_cmd()
1705 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_bcn_offload_control_cmd()
1744 ath11k_warn(ar->ab, "failed to send WMI_P2P_GO_SET_BEACON_IE\n"); in ath11k_wmi_p2p_go_bcn_ie()
1767 ath11k_warn(ar->ab, "failed to find arvif with vdev id %d\n", vdev_id); in ath11k_wmi_bcn_tmpl()
1813 ath11k_warn(ar->ab, "failed to send WMI_BCN_TMPL_CMDID\n"); in ath11k_wmi_bcn_tmpl()
1817 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd bcn tmpl"); in ath11k_wmi_bcn_tmpl()
1862 ath11k_warn(ar->ab, in ath11k_wmi_vdev_install_key()
1867 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_vdev_install_key()
2001 &ar->ab->dev_flags)); in ath11k_wmi_send_peer_assoc_cmd()
2098 ath11k_warn(ar->ab, in ath11k_wmi_send_peer_assoc_cmd()
2103 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_peer_assoc_cmd()
2148 ar->ab->wmi_ab.svc_map)) in ath11k_wmi_start_scan_init()
2417 ath11k_warn(ar->ab, "failed to send WMI_START_SCAN_CMDID\n"); in ath11k_wmi_send_scan_start_cmd()
2421 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd start scan"); in ath11k_wmi_send_scan_start_cmd()
2455 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_vdev_set_tpc_power()
2476 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "tpc chan freq %d TX power %d\n", in ath11k_wmi_send_vdev_set_tpc_power()
2482 ath11k_warn(ar->ab, "failed to send WMI_VDEV_SET_TPC_POWER_CMDID\n"); in ath11k_wmi_send_vdev_set_tpc_power()
2522 ath11k_warn(ar->ab, "invalid scan cancel param %d", in ath11k_wmi_send_scan_stop_cmd()
2531 ath11k_warn(ar->ab, "failed to send WMI_STOP_SCAN_CMDID\n"); in ath11k_wmi_send_scan_stop_cmd()
2535 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd stop scan"); in ath11k_wmi_send_scan_stop_cmd()
2580 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_scan_chan_list_cmd()
2639 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_scan_chan_list_cmd()
2650 ath11k_warn(ar->ab, "failed to send WMI_SCAN_CHAN_LIST cmd\n"); in ath11k_wmi_send_scan_chan_list_cmd()
2655 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd scan chan list channels %d", in ath11k_wmi_send_scan_chan_list_cmd()
2716 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_wmm_update_cmd_tlv()
2725 ath11k_warn(ar->ab, in ath11k_wmi_send_wmm_update_cmd_tlv()
2730 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd vdev set wmm params"); in ath11k_wmi_send_wmm_update_cmd_tlv()
2758 ath11k_warn(ar->ab, in ath11k_wmi_send_dfs_phyerr_offload_enable_cmd()
2763 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_dfs_phyerr_offload_enable_cmd()
2793 ath11k_warn(ar->ab, in ath11k_wmi_delba_send()
2798 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_delba_send()
2829 ath11k_warn(ar->ab, in ath11k_wmi_addba_set_resp()
2834 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_addba_set_resp()
2864 ath11k_warn(ar->ab, in ath11k_wmi_addba_send()
2869 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_addba_send()
2897 ath11k_warn(ar->ab, in ath11k_wmi_addba_clear_resp()
2902 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_addba_clear_resp()
2950 ath11k_warn(ar->ab, "failed to send WMI_PDEV_PKTLOG_ENABLE_CMDID\n"); in ath11k_wmi_pdev_peer_pktlog_filter()
2954 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd pdev pktlog filter"); in ath11k_wmi_pdev_peer_pktlog_filter()
2995 ath11k_warn(ar->ab, "unknown cc params flags: 0x%x", in ath11k_wmi_send_init_country_cmd()
3004 ath11k_warn(ar->ab, in ath11k_wmi_send_init_country_cmd()
3010 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd set init country"); in ath11k_wmi_send_init_country_cmd()
3041 ath11k_warn(ar->ab, in ath11k_wmi_send_set_current_country_cmd()
3046 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_set_current_country_cmd()
3107 ath11k_warn(ar->ab, "failed to send THERM_THROT_SET_CONF cmd\n"); in ath11k_wmi_send_thermal_mitigation_param_cmd()
3111 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_thermal_mitigation_param_cmd()
3142 ath11k_warn(ar->ab, in ath11k_wmi_send_11d_scan_start_cmd()
3147 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_11d_scan_start_cmd()
3176 ath11k_warn(ar->ab, in ath11k_wmi_send_11d_scan_stop_cmd()
3181 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_11d_scan_stop_cmd()
3211 ath11k_warn(ar->ab, "failed to send WMI_PDEV_PKTLOG_ENABLE_CMDID\n"); in ath11k_wmi_pdev_pktlog_enable()
3215 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd pdev pktlog enable"); in ath11k_wmi_pdev_pktlog_enable()
3241 ath11k_warn(ar->ab, "failed to send WMI_PDEV_PKTLOG_ENABLE_CMDID\n"); in ath11k_wmi_pdev_pktlog_disable()
3245 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd pdev pktlog disable"); in ath11k_wmi_pdev_pktlog_disable()
3280 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_twt_enable_cmd() local
3314 ath11k_warn(ab, "Failed to send WMI_TWT_ENABLE_CMDID"); in ath11k_wmi_send_twt_enable_cmd()
3321 ath11k_dbg(ab, ATH11K_DBG_WMI, "cmd twt enable"); in ath11k_wmi_send_twt_enable_cmd()
3330 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_twt_disable_cmd() local
3348 ath11k_warn(ab, "Failed to send WMI_TWT_DISABLE_CMDID"); in ath11k_wmi_send_twt_disable_cmd()
3353 ath11k_dbg(ab, ATH11K_DBG_WMI, "cmd twt disable"); in ath11k_wmi_send_twt_disable_cmd()
3364 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_twt_add_dialog_cmd() local
3398 ath11k_warn(ab, in ath11k_wmi_send_twt_add_dialog_cmd()
3405 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_twt_add_dialog_cmd()
3418 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_twt_del_dialog_cmd() local
3439 ath11k_warn(ab, in ath11k_wmi_send_twt_del_dialog_cmd()
3446 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_twt_del_dialog_cmd()
3457 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_twt_pause_dialog_cmd() local
3479 ath11k_warn(ab, in ath11k_wmi_send_twt_pause_dialog_cmd()
3486 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_twt_pause_dialog_cmd()
3497 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_twt_resume_dialog_cmd() local
3521 ath11k_warn(ab, in ath11k_wmi_send_twt_resume_dialog_cmd()
3528 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_twt_resume_dialog_cmd()
3541 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_obss_spr_cmd() local
3564 ath11k_warn(ab, in ath11k_wmi_send_obss_spr_cmd()
3570 ath11k_dbg(ab, ATH11K_DBG_WMI, "cmd pdev obss pd spatial reuse"); in ath11k_wmi_send_obss_spr_cmd()
3579 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_pdev_set_srg_bss_color_bitmap() local
3600 ath11k_warn(ab, in ath11k_wmi_pdev_set_srg_bss_color_bitmap()
3606 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_set_srg_bss_color_bitmap()
3617 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_pdev_set_srg_patial_bssid_bitmap() local
3639 ath11k_warn(ab, in ath11k_wmi_pdev_set_srg_patial_bssid_bitmap()
3645 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_set_srg_patial_bssid_bitmap()
3656 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_pdev_srg_obss_color_enable_bitmap() local
3678 ath11k_warn(ab, in ath11k_wmi_pdev_srg_obss_color_enable_bitmap()
3684 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_srg_obss_color_enable_bitmap()
3695 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_pdev_srg_obss_bssid_enable_bitmap() local
3717 ath11k_warn(ab, in ath11k_wmi_pdev_srg_obss_bssid_enable_bitmap()
3723 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_srg_obss_bssid_enable_bitmap()
3734 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_pdev_non_srg_obss_color_enable_bitmap() local
3756 ath11k_warn(ab, in ath11k_wmi_pdev_non_srg_obss_color_enable_bitmap()
3762 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_non_srg_obss_color_enable_bitmap()
3773 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_pdev_non_srg_obss_bssid_enable_bitmap() local
3795 ath11k_warn(ab, in ath11k_wmi_pdev_non_srg_obss_bssid_enable_bitmap()
3801 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_non_srg_obss_bssid_enable_bitmap()
3814 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_obss_color_collision_cfg_cmd() local
3841 ath11k_warn(ab, "Failed to send WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID"); in ath11k_wmi_send_obss_color_collision_cfg_cmd()
3846 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_obss_color_collision_cfg_cmd()
3858 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_wmi_send_bss_color_change_enable_cmd() local
3878 ath11k_warn(ab, "Failed to send WMI_BSS_COLOR_CHANGE_ENABLE_CMDID"); in ath11k_wmi_send_bss_color_change_enable_cmd()
3883 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_bss_color_change_enable_cmd()
3903 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_fils_discovery_tmpl()
3925 ath11k_warn(ar->ab, in ath11k_wmi_fils_discovery_tmpl()
3932 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd fils discovery tmpl"); in ath11k_wmi_fils_discovery_tmpl()
3948 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_probe_resp_tmpl()
3982 ath11k_warn(ar->ab, in ath11k_wmi_probe_resp_tmpl()
3989 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd "); in ath11k_wmi_probe_resp_tmpl()
4001 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_fils_discovery()
4021 ath11k_warn(ar->ab, in ath11k_wmi_fils_discovery()
4028 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd enable fils"); in ath11k_wmi_fils_discovery()
4034 ath11k_wmi_obss_color_collision_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_wmi_obss_color_collision_event() argument
4041 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_wmi_obss_color_collision_event()
4044 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_wmi_obss_color_collision_event()
4048 ath11k_dbg(ab, ATH11K_DBG_WMI, "event obss color collision"); in ath11k_wmi_obss_color_collision_event()
4054 ath11k_warn(ab, "failed to fetch obss color collision ev"); in ath11k_wmi_obss_color_collision_event()
4058 arvif = ath11k_mac_get_arvif_by_vdev_id(ab, ev->vdev_id); in ath11k_wmi_obss_color_collision_event()
4060 ath11k_warn(ab, "failed to find arvif with vedv id %d in obss_color_collision_event\n", in ath11k_wmi_obss_color_collision_event()
4069 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_obss_color_collision_event()
4078 ath11k_warn(ab, "received unknown obss color collision detection event\n"); in ath11k_wmi_obss_color_collision_event()
4192 struct ath11k_base *ab = wmi->wmi_ab->ab; in ath11k_init_cmd_send() local
4243 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_init_cmd_send()
4296 ath11k_warn(ab, "failed to send WMI_INIT_CMDID\n"); in ath11k_init_cmd_send()
4301 ath11k_dbg(ab, ATH11K_DBG_WMI, "cmd wmi init"); in ath11k_init_cmd_send()
4328 ath11k_warn(ar->ab, in ath11k_wmi_pdev_lro_cfg()
4333 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_lro_cfg()
4341 int ath11k_wmi_wait_for_service_ready(struct ath11k_base *ab) in ath11k_wmi_wait_for_service_ready() argument
4345 time_left = wait_for_completion_timeout(&ab->wmi_ab.service_ready, in ath11k_wmi_wait_for_service_ready()
4353 int ath11k_wmi_wait_for_unified_ready(struct ath11k_base *ab) in ath11k_wmi_wait_for_unified_ready() argument
4357 time_left = wait_for_completion_timeout(&ab->wmi_ab.unified_ready, in ath11k_wmi_wait_for_unified_ready()
4365 int ath11k_wmi_set_hw_mode(struct ath11k_base *ab, in ath11k_wmi_set_hw_mode() argument
4370 struct ath11k_wmi_base *wmi_ab = &ab->wmi_ab; in ath11k_wmi_set_hw_mode()
4390 ath11k_warn(ab, "failed to send WMI_PDEV_SET_HW_MODE_CMDID\n"); in ath11k_wmi_set_hw_mode()
4395 ath11k_dbg(ab, ATH11K_DBG_WMI, "cmd pdev set hw mode %d", cmd->hw_mode_index); in ath11k_wmi_set_hw_mode()
4400 int ath11k_wmi_cmd_init(struct ath11k_base *ab) in ath11k_wmi_cmd_init() argument
4402 struct ath11k_wmi_base *wmi_ab = &ab->wmi_ab; in ath11k_wmi_cmd_init()
4409 ab->hw_params.hw_ops->wmi_init_config(ab, &config); in ath11k_wmi_cmd_init()
4412 ab->wmi_ab.svc_map)) in ath11k_wmi_cmd_init()
4422 if (ab->hw_params.single_pdev_only) in ath11k_wmi_cmd_init()
4425 init_param.num_band_to_mac = ab->num_radios; in ath11k_wmi_cmd_init()
4426 ath11k_fill_band_to_mac_param(ab, init_param.band_to_mac); in ath11k_wmi_cmd_init()
4452 ath11k_warn(ar->ab, in ath11k_wmi_vdev_spectral_conf()
4457 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_vdev_spectral_conf()
4490 ath11k_warn(ar->ab, in ath11k_wmi_vdev_spectral_enable()
4495 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_vdev_spectral_enable()
4536 ath11k_warn(ar->ab, in ath11k_wmi_pdev_dma_ring_cfg()
4541 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_dma_ring_cfg()
4583 static int ath11k_wmi_tlv_dma_buf_parse(struct ath11k_base *ab, in ath11k_wmi_tlv_dma_buf_parse() argument
4601 ret = ath11k_wmi_tlv_iter(ab, ptr, len, in ath11k_wmi_tlv_dma_buf_parse()
4605 ath11k_warn(ab, "failed to parse dma buf entry tlv %d\n", in ath11k_wmi_tlv_dma_buf_parse()
4615 ret = ath11k_wmi_tlv_iter(ab, ptr, len, in ath11k_wmi_tlv_dma_buf_parse()
4619 ath11k_warn(ab, "failed to parse dma buf meta tlv %d\n", in ath11k_wmi_tlv_dma_buf_parse()
4633 static void ath11k_wmi_pdev_dma_ring_buf_release_event(struct ath11k_base *ab, in ath11k_wmi_pdev_dma_ring_buf_release_event() argument
4640 ret = ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_wmi_pdev_dma_ring_buf_release_event()
4644 ath11k_warn(ab, "failed to parse dma buf release tlv %d\n", ret); in ath11k_wmi_pdev_dma_ring_buf_release_event()
4648 ath11k_dbg(ab, ATH11K_DBG_WMI, "event pdev dma ring buf release"); in ath11k_wmi_pdev_dma_ring_buf_release_event()
4656 ret = ath11k_dbring_buffer_release_event(ab, ¶m); in ath11k_wmi_pdev_dma_ring_buf_release_event()
4658 ath11k_warn(ab, "failed to handle dma buf release event %d\n", ret); in ath11k_wmi_pdev_dma_ring_buf_release_event()
4884 static int ath11k_wmi_alloc_dbring_caps(struct ath11k_base *ab, in ath11k_wmi_alloc_dbring_caps() argument
4895 ab->db_caps = ptr; in ath11k_wmi_alloc_dbring_caps()
4896 ab->num_db_cap = num_cap; in ath11k_wmi_alloc_dbring_caps()
4901 static void ath11k_wmi_free_dbring_caps(struct ath11k_base *ab) in ath11k_wmi_free_dbring_caps() argument
4903 kfree(ab->db_caps); in ath11k_wmi_free_dbring_caps()
4904 ab->db_caps = NULL; in ath11k_wmi_free_dbring_caps()
4905 ab->num_db_cap = 0; in ath11k_wmi_free_dbring_caps()
4908 static int ath11k_wmi_tlv_dma_ring_caps(struct ath11k_base *ab, in ath11k_wmi_tlv_dma_ring_caps() argument
4919 ret = ath11k_wmi_tlv_iter(ab, ptr, len, in ath11k_wmi_tlv_dma_ring_caps()
4923 ath11k_warn(ab, "failed to parse dma ring caps tlv %d\n", ret); in ath11k_wmi_tlv_dma_ring_caps()
4930 if (ab->num_db_cap) { in ath11k_wmi_tlv_dma_ring_caps()
4931 ath11k_warn(ab, "Already processed, so ignoring dma ring caps\n"); in ath11k_wmi_tlv_dma_ring_caps()
4935 ret = ath11k_wmi_alloc_dbring_caps(ab, dma_caps_parse->n_dma_ring_caps); in ath11k_wmi_tlv_dma_ring_caps()
4939 dir_buff_caps = ab->db_caps; in ath11k_wmi_tlv_dma_ring_caps()
4942 ath11k_warn(ab, "Invalid module id %d\n", dma_caps[i].module_id); in ath11k_wmi_tlv_dma_ring_caps()
4957 ath11k_wmi_free_dbring_caps(ab); in ath11k_wmi_tlv_dma_ring_caps()
4961 static int ath11k_wmi_tlv_svc_rdy_ext_parse(struct ath11k_base *ab, in ath11k_wmi_tlv_svc_rdy_ext_parse() argument
4965 struct ath11k_pdev_wmi *wmi_handle = &ab->wmi_ab.wmi[0]; in ath11k_wmi_tlv_svc_rdy_ext_parse()
4974 ath11k_warn(ab, "unable to extract ext params\n"); in ath11k_wmi_tlv_svc_rdy_ext_parse()
4985 ret = ath11k_wmi_tlv_ext_soc_hal_reg_caps_parse(ab, len, ptr, in ath11k_wmi_tlv_svc_rdy_ext_parse()
4993 ret = ath11k_wmi_tlv_hw_mode_caps(ab, len, ptr, in ath11k_wmi_tlv_svc_rdy_ext_parse()
5001 ret = ath11k_wmi_tlv_iter(ab, ptr, len, in ath11k_wmi_tlv_svc_rdy_ext_parse()
5005 ath11k_warn(ab, "failed to parse tlv %d\n", ret); in ath11k_wmi_tlv_svc_rdy_ext_parse()
5011 ret = ath11k_wmi_tlv_ext_hal_reg_caps(ab, len, ptr, in ath11k_wmi_tlv_svc_rdy_ext_parse()
5024 ret = ath11k_wmi_tlv_dma_ring_caps(ab, len, ptr, in ath11k_wmi_tlv_svc_rdy_ext_parse()
5039 static int ath11k_service_ready_ext_event(struct ath11k_base *ab, in ath11k_service_ready_ext_event() argument
5045 ret = ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_service_ready_ext_event()
5049 ath11k_warn(ab, "failed to parse tlv %d\n", ret); in ath11k_service_ready_ext_event()
5053 ath11k_dbg(ab, ATH11K_DBG_WMI, "event service ready ext"); in ath11k_service_ready_ext_event()
5055 if (!test_bit(WMI_TLV_SERVICE_EXT2_MSG, ab->wmi_ab.svc_map)) in ath11k_service_ready_ext_event()
5056 complete(&ab->wmi_ab.service_ready); in ath11k_service_ready_ext_event()
5062 ath11k_wmi_free_dbring_caps(ab); in ath11k_service_ready_ext_event()
5066 static int ath11k_wmi_tlv_svc_rdy_ext2_parse(struct ath11k_base *ab, in ath11k_wmi_tlv_svc_rdy_ext2_parse() argument
5076 ret = ath11k_wmi_tlv_dma_ring_caps(ab, len, ptr, in ath11k_wmi_tlv_svc_rdy_ext2_parse()
5091 static int ath11k_service_ready_ext2_event(struct ath11k_base *ab, in ath11k_service_ready_ext2_event() argument
5097 ret = ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_service_ready_ext2_event()
5101 ath11k_warn(ab, "failed to parse ext2 event tlv %d\n", ret); in ath11k_service_ready_ext2_event()
5105 ath11k_dbg(ab, ATH11K_DBG_WMI, "event service ready ext2"); in ath11k_service_ready_ext2_event()
5107 complete(&ab->wmi_ab.service_ready); in ath11k_service_ready_ext2_event()
5112 ath11k_wmi_free_dbring_caps(ab); in ath11k_service_ready_ext2_event()
5116 static int ath11k_pull_vdev_start_resp_tlv(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_vdev_start_resp_tlv() argument
5123 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_vdev_start_resp_tlv()
5126 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_vdev_start_resp_tlv()
5132 ath11k_warn(ab, "failed to fetch vdev start resp ev"); in ath11k_pull_vdev_start_resp_tlv()
5154 static void ath11k_print_reg_rule(struct ath11k_base *ab, const char *band, in ath11k_print_reg_rule() argument
5161 ath11k_dbg(ab, ATH11K_DBG_WMI, "number of reg rules in %s band: %d\n", in ath11k_print_reg_rule()
5165 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_print_reg_rule()
5211 static int ath11k_pull_reg_chan_list_update_ev(struct ath11k_base *ab, in ath11k_pull_reg_chan_list_update_ev() argument
5221 ath11k_dbg(ab, ATH11K_DBG_WMI, "processing regulatory channel list\n"); in ath11k_pull_reg_chan_list_update_ev()
5223 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_reg_chan_list_update_ev()
5226 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_reg_chan_list_update_ev()
5232 ath11k_warn(ab, "failed to fetch reg chan list update ev\n"); in ath11k_pull_reg_chan_list_update_ev()
5241 ath11k_warn(ab, "No regulatory rules available in the event info\n"); in ath11k_pull_reg_chan_list_update_ev()
5255 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_update_ev()
5272 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_update_ev()
5278 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_update_ev()
5293 ath11k_warn(ab, "Unable to Allocate memory for 2 GHz rules\n"); in ath11k_pull_reg_chan_list_update_ev()
5297 ath11k_print_reg_rule(ab, "2 GHz", in ath11k_pull_reg_chan_list_update_ev()
5309 ath11k_warn(ab, "Unable to Allocate memory for 5 GHz rules\n"); in ath11k_pull_reg_chan_list_update_ev()
5313 ath11k_print_reg_rule(ab, "5 GHz", in ath11k_pull_reg_chan_list_update_ev()
5318 ath11k_dbg(ab, ATH11K_DBG_WMI, "processed regulatory channel list\n"); in ath11k_pull_reg_chan_list_update_ev()
5384 static int ath11k_pull_reg_chan_list_ext_update_ev(struct ath11k_base *ab, in ath11k_pull_reg_chan_list_ext_update_ev() argument
5397 ath11k_dbg(ab, ATH11K_DBG_WMI, "processing regulatory ext channel list\n"); in ath11k_pull_reg_chan_list_ext_update_ev()
5399 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_reg_chan_list_ext_update_ev()
5402 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_reg_chan_list_ext_update_ev()
5408 ath11k_warn(ab, "failed to fetch reg chan list ext update ev\n"); in ath11k_pull_reg_chan_list_ext_update_ev()
5439 …ath11k_warn(ab, "Num reg rules for 2.4 GHz/5 GHz exceeds max limit (num_2ghz_reg_rules: %d num_5gh… in ath11k_pull_reg_chan_list_ext_update_ev()
5449 …ath11k_warn(ab, "Num 6 GHz reg rules for AP mode(%d) exceeds max limit (num_6ghz_reg_rules_ap: %d,… in ath11k_pull_reg_chan_list_ext_update_ev()
5476 ath11k_warn(ab, in ath11k_pull_reg_chan_list_ext_update_ev()
5485 ath11k_warn(ab, "No reg rules available\n"); in ath11k_pull_reg_chan_list_ext_update_ev()
5499 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5526 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5549 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5560 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5567 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5571 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5578 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5585 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5601 ath11k_warn(ab, "Unable to Allocate memory for 2 GHz rules\n"); in ath11k_pull_reg_chan_list_ext_update_ev()
5605 ath11k_print_reg_rule(ab, "2 GHz", in ath11k_pull_reg_chan_list_ext_update_ev()
5624 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5640 ath11k_warn(ab, "Unable to Allocate memory for 5 GHz rules\n"); in ath11k_pull_reg_chan_list_ext_update_ev()
5644 ath11k_print_reg_rule(ab, "5 GHz", in ath11k_pull_reg_chan_list_ext_update_ev()
5663 ath11k_warn(ab, "Unable to Allocate memory for 6 GHz AP rules\n"); in ath11k_pull_reg_chan_list_ext_update_ev()
5667 ath11k_print_reg_rule(ab, ath11k_6ghz_ap_type_to_str(i), in ath11k_pull_reg_chan_list_ext_update_ev()
5675 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5685 ath11k_warn(ab, "Unable to Allocate memory for 6 GHz client rules\n"); in ath11k_pull_reg_chan_list_ext_update_ev()
5689 ath11k_print_reg_rule(ab, in ath11k_pull_reg_chan_list_ext_update_ev()
5709 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5726 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5737 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pull_reg_chan_list_ext_update_ev()
5742 ath11k_dbg(ab, ATH11K_DBG_WMI, "processed regulatory ext channel list\n"); in ath11k_pull_reg_chan_list_ext_update_ev()
5748 static int ath11k_pull_peer_del_resp_ev(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_peer_del_resp_ev() argument
5755 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_peer_del_resp_ev()
5758 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_peer_del_resp_ev()
5764 ath11k_warn(ab, "failed to fetch peer delete resp ev"); in ath11k_pull_peer_del_resp_ev()
5779 static int ath11k_pull_vdev_del_resp_ev(struct ath11k_base *ab, in ath11k_pull_vdev_del_resp_ev() argument
5787 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_vdev_del_resp_ev()
5790 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_vdev_del_resp_ev()
5796 ath11k_warn(ab, "failed to fetch vdev delete resp ev"); in ath11k_pull_vdev_del_resp_ev()
5807 static int ath11k_pull_bcn_tx_status_ev(struct ath11k_base *ab, in ath11k_pull_bcn_tx_status_ev() argument
5815 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_bcn_tx_status_ev()
5818 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_bcn_tx_status_ev()
5824 ath11k_warn(ab, "failed to fetch bcn tx status ev"); in ath11k_pull_bcn_tx_status_ev()
5836 static int ath11k_pull_vdev_stopped_param_tlv(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_vdev_stopped_param_tlv() argument
5843 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_vdev_stopped_param_tlv()
5846 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_vdev_stopped_param_tlv()
5852 ath11k_warn(ab, "failed to fetch vdev stop ev"); in ath11k_pull_vdev_stopped_param_tlv()
5863 static int ath11k_wmi_tlv_mgmt_rx_parse(struct ath11k_base *ab, in ath11k_wmi_tlv_mgmt_rx_parse() argument
5883 static int ath11k_pull_mgmt_rx_params_tlv(struct ath11k_base *ab, in ath11k_pull_mgmt_rx_params_tlv() argument
5892 ret = ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_pull_mgmt_rx_params_tlv()
5896 ath11k_warn(ab, "failed to parse mgmt rx tlv %d\n", in ath11k_pull_mgmt_rx_params_tlv()
5905 ath11k_warn(ab, "failed to fetch mgmt rx hdr"); in ath11k_pull_mgmt_rx_params_tlv()
5923 ath11k_warn(ab, "invalid length in mgmt rx hdr ev"); in ath11k_pull_mgmt_rx_params_tlv()
5950 ath11k_warn(ar->ab, "received mgmt tx compl for invalid msdu_id: %d\n", in wmi_process_mgmt_tx_comp()
5960 dma_unmap_single(ar->ab->dev, skb_cb->paddr, msdu->len, DMA_TO_DEVICE); in wmi_process_mgmt_tx_comp()
5967 ar->ab->wmi_ab.svc_map)) in wmi_process_mgmt_tx_comp()
5979 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in wmi_process_mgmt_tx_comp()
5989 static int ath11k_pull_mgmt_tx_compl_param_tlv(struct ath11k_base *ab, in ath11k_pull_mgmt_tx_compl_param_tlv() argument
5997 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_mgmt_tx_compl_param_tlv()
6000 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_mgmt_tx_compl_param_tlv()
6006 ath11k_warn(ab, "failed to fetch mgmt tx compl ev"); in ath11k_pull_mgmt_tx_compl_param_tlv()
6028 ath11k_warn(ar->ab, "received scan started event in an invalid scan state: %s (%d)\n", in ath11k_wmi_event_scan_started()
6049 ath11k_warn(ar->ab, "received scan start failed event in an invalid scan state: %s (%d)\n", in ath11k_wmi_event_scan_start_failed()
6075 ath11k_warn(ar->ab, "received scan completed event in an invalid scan state: %s (%d)\n", in ath11k_wmi_event_scan_completed()
6093 ath11k_warn(ar->ab, "received scan bss chan event in an invalid scan state: %s (%d)\n", in ath11k_wmi_event_scan_bss_chan()
6111 ath11k_warn(ar->ab, "received scan foreign chan event in an invalid scan state: %s (%d)\n", in ath11k_wmi_event_scan_foreign_chan()
6166 static int ath11k_pull_scan_ev(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_scan_ev() argument
6173 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_scan_ev()
6176 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_scan_ev()
6182 ath11k_warn(ab, "failed to fetch scan ev"); in ath11k_pull_scan_ev()
6199 static int ath11k_pull_peer_sta_kickout_ev(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_peer_sta_kickout_ev() argument
6206 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_peer_sta_kickout_ev()
6209 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_peer_sta_kickout_ev()
6215 ath11k_warn(ab, "failed to fetch peer sta kickout ev"); in ath11k_pull_peer_sta_kickout_ev()
6226 static int ath11k_pull_roam_ev(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_roam_ev() argument
6233 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_roam_ev()
6236 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_roam_ev()
6242 ath11k_warn(ab, "failed to fetch roam ev"); in ath11k_pull_roam_ev()
6274 static int ath11k_pull_chan_info_ev(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_chan_info_ev() argument
6281 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_chan_info_ev()
6284 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_chan_info_ev()
6290 ath11k_warn(ab, "failed to fetch chan info ev"); in ath11k_pull_chan_info_ev()
6313 ath11k_pull_pdev_bss_chan_info_ev(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_pdev_bss_chan_info_ev() argument
6320 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_pdev_bss_chan_info_ev()
6323 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_pdev_bss_chan_info_ev()
6329 ath11k_warn(ab, "failed to fetch pdev bss chan info ev"); in ath11k_pull_pdev_bss_chan_info_ev()
6353 ath11k_pull_vdev_install_key_compl_ev(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_vdev_install_key_compl_ev() argument
6360 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_vdev_install_key_compl_ev()
6363 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_vdev_install_key_compl_ev()
6369 ath11k_warn(ab, "failed to fetch vdev install key compl ev"); in ath11k_pull_vdev_install_key_compl_ev()
6384 static int ath11k_pull_peer_assoc_conf_ev(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_pull_peer_assoc_conf_ev() argument
6391 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pull_peer_assoc_conf_ev()
6394 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pull_peer_assoc_conf_ev()
6400 ath11k_warn(ab, "failed to fetch peer assoc conf ev"); in ath11k_pull_peer_assoc_conf_ev()
6526 static int ath11k_wmi_tlv_rssi_chain_parse(struct ath11k_base *ab, in ath11k_wmi_tlv_rssi_chain_parse() argument
6545 ar = ath11k_mac_get_ar_by_pdev_id(ab, ev->pdev_id); in ath11k_wmi_tlv_rssi_chain_parse()
6548 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_rssi_chain_parse()
6554 ath11k_warn(ab, "not found vif for vdev id %d\n", in ath11k_wmi_tlv_rssi_chain_parse()
6560 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_rssi_chain_parse()
6568 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_rssi_chain_parse()
6581 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_rssi_chain_parse()
6594 static int ath11k_wmi_tlv_fw_stats_data_parse(struct ath11k_base *ab, in ath11k_wmi_tlv_fw_stats_data_parse() argument
6609 ath11k_warn(ab, "failed to fetch update stats ev"); in ath11k_wmi_tlv_fw_stats_data_parse()
6617 ar = ath11k_mac_get_ar_by_pdev_id(ab, ev->pdev_id); in ath11k_wmi_tlv_fw_stats_data_parse()
6664 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_fw_stats_data_parse()
6668 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_fw_stats_data_parse()
6713 static int ath11k_wmi_tlv_fw_stats_parse(struct ath11k_base *ab, in ath11k_wmi_tlv_fw_stats_parse() argument
6726 ret = ath11k_wmi_tlv_fw_stats_data_parse(ab, parse, ptr, len); in ath11k_wmi_tlv_fw_stats_parse()
6734 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_fw_stats_parse()
6741 ret = ath11k_wmi_tlv_iter(ab, ptr, len, in ath11k_wmi_tlv_fw_stats_parse()
6745 ath11k_warn(ab, "failed to parse rssi chain %d\n", in ath11k_wmi_tlv_fw_stats_parse()
6758 int ath11k_wmi_pull_fw_stats(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_wmi_pull_fw_stats() argument
6766 return ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_wmi_pull_fw_stats()
7021 ath11k_warn(ar->ab, "invalid vdev id %d in bcn stats", in ath11k_wmi_fw_bcn_stats_fill()
7060 ath11k_warn(ar->ab, "failed to get pdev stats\n"); in ath11k_wmi_fw_stats_fill()
7102 static void ath11k_wmi_op_ep_tx_credits(struct ath11k_base *ab) in ath11k_wmi_op_ep_tx_credits() argument
7105 wake_up(&ab->wmi_ab.tx_credits_wq); in ath11k_wmi_op_ep_tx_credits()
7108 static int ath11k_reg_11d_new_cc_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_reg_11d_new_cc_event() argument
7116 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_reg_11d_new_cc_event()
7119 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_reg_11d_new_cc_event()
7126 ath11k_warn(ab, "failed to fetch 11d new cc ev"); in ath11k_reg_11d_new_cc_event()
7130 spin_lock_bh(&ab->base_lock); in ath11k_reg_11d_new_cc_event()
7131 memcpy(&ab->new_alpha2, &ev->new_alpha2, 2); in ath11k_reg_11d_new_cc_event()
7132 spin_unlock_bh(&ab->base_lock); in ath11k_reg_11d_new_cc_event()
7134 ath11k_dbg(ab, ATH11K_DBG_WMI, "event 11d new cc %c%c\n", in ath11k_reg_11d_new_cc_event()
7135 ab->new_alpha2[0], in ath11k_reg_11d_new_cc_event()
7136 ab->new_alpha2[1]); in ath11k_reg_11d_new_cc_event()
7140 for (i = 0; i < ab->num_radios; i++) { in ath11k_reg_11d_new_cc_event()
7141 pdev = &ab->pdevs[i]; in ath11k_reg_11d_new_cc_event()
7147 queue_work(ab->workqueue, &ab->update_11d_work); in ath11k_reg_11d_new_cc_event()
7152 static void ath11k_wmi_htc_tx_complete(struct ath11k_base *ab, in ath11k_wmi_htc_tx_complete() argument
7166 wmi_ep_count = ab->htc.wmi_ep_count; in ath11k_wmi_htc_tx_complete()
7167 if (wmi_ep_count > ab->hw_params.max_radios) in ath11k_wmi_htc_tx_complete()
7170 for (i = 0; i < ab->htc.wmi_ep_count; i++) { in ath11k_wmi_htc_tx_complete()
7171 if (ab->wmi_ab.wmi[i].eid == eid) { in ath11k_wmi_htc_tx_complete()
7172 wmi = &ab->wmi_ab.wmi[i]; in ath11k_wmi_htc_tx_complete()
7181 static int ath11k_reg_chan_list_event(struct ath11k_base *ab, struct sk_buff *skb, in ath11k_reg_chan_list_event() argument
7192 ret = ath11k_pull_reg_chan_list_update_ev(ab, skb, reg_info); in ath11k_reg_chan_list_event()
7194 ret = ath11k_pull_reg_chan_list_ext_update_ev(ab, skb, reg_info); in ath11k_reg_chan_list_event()
7197 ath11k_warn(ab, "failed to extract regulatory info\n"); in ath11k_reg_chan_list_event()
7201 ret = ath11k_reg_handle_chan_list(ab, reg_info, IEEE80211_REG_UNSET_AP); in ath11k_reg_chan_list_event()
7203 ath11k_warn(ab, "failed to process regulatory info %d\n", ret); in ath11k_reg_chan_list_event()
7216 static int ath11k_wmi_tlv_rdy_parse(struct ath11k_base *ab, u16 tag, u16 len, in ath11k_wmi_tlv_rdy_parse() argument
7234 ether_addr_copy(ab->mac_addr, in ath11k_wmi_tlv_rdy_parse()
7236 ab->pktlog_defs_checksum = fixed_param.pktlog_defs_checksum; in ath11k_wmi_tlv_rdy_parse()
7242 if (!(ab->num_radios > 1 && num_mac_addr >= ab->num_radios)) in ath11k_wmi_tlv_rdy_parse()
7245 for (i = 0; i < ab->num_radios; i++) { in ath11k_wmi_tlv_rdy_parse()
7246 pdev = &ab->pdevs[i]; in ath11k_wmi_tlv_rdy_parse()
7249 ab->pdevs_macaddr_valid = true; in ath11k_wmi_tlv_rdy_parse()
7258 static int ath11k_ready_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_ready_event() argument
7263 ret = ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_ready_event()
7266 ath11k_warn(ab, "failed to parse tlv %d\n", ret); in ath11k_ready_event()
7270 ath11k_dbg(ab, ATH11K_DBG_WMI, "event ready"); in ath11k_ready_event()
7272 complete(&ab->wmi_ab.unified_ready); in ath11k_ready_event()
7276 static void ath11k_peer_delete_resp_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_peer_delete_resp_event() argument
7281 if (ath11k_pull_peer_del_resp_ev(ab, skb, &peer_del_resp) != 0) { in ath11k_peer_delete_resp_event()
7282 ath11k_warn(ab, "failed to extract peer delete resp"); in ath11k_peer_delete_resp_event()
7286 ath11k_dbg(ab, ATH11K_DBG_WMI, "event peer delete resp"); in ath11k_peer_delete_resp_event()
7289 ar = ath11k_mac_get_ar_by_vdev_id(ab, peer_del_resp.vdev_id); in ath11k_peer_delete_resp_event()
7291 ath11k_warn(ab, "invalid vdev id in peer delete resp ev %d", in ath11k_peer_delete_resp_event()
7299 ath11k_dbg(ab, ATH11K_DBG_WMI, "peer delete resp for vdev id %d addr %pM\n", in ath11k_peer_delete_resp_event()
7303 static void ath11k_vdev_delete_resp_event(struct ath11k_base *ab, in ath11k_vdev_delete_resp_event() argument
7309 if (ath11k_pull_vdev_del_resp_ev(ab, skb, &vdev_id) != 0) { in ath11k_vdev_delete_resp_event()
7310 ath11k_warn(ab, "failed to extract vdev delete resp"); in ath11k_vdev_delete_resp_event()
7315 ar = ath11k_mac_get_ar_by_vdev_id(ab, vdev_id); in ath11k_vdev_delete_resp_event()
7317 ath11k_warn(ab, "invalid vdev id in vdev delete resp ev %d", in ath11k_vdev_delete_resp_event()
7327 ath11k_dbg(ab, ATH11K_DBG_WMI, "event vdev delete resp for vdev id %d\n", in ath11k_vdev_delete_resp_event()
7347 static void ath11k_vdev_start_resp_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_vdev_start_resp_event() argument
7353 if (ath11k_pull_vdev_start_resp_tlv(ab, skb, &vdev_start_resp) != 0) { in ath11k_vdev_start_resp_event()
7354 ath11k_warn(ab, "failed to extract vdev start resp"); in ath11k_vdev_start_resp_event()
7358 ath11k_dbg(ab, ATH11K_DBG_WMI, "event start resp event"); in ath11k_vdev_start_resp_event()
7361 ar = ath11k_mac_get_ar_by_vdev_id(ab, vdev_start_resp.vdev_id); in ath11k_vdev_start_resp_event()
7363 ath11k_warn(ab, "invalid vdev id in vdev start resp ev %d", in ath11k_vdev_start_resp_event()
7374 ath11k_warn(ab, "vdev start resp error status %d (%s)\n", in ath11k_vdev_start_resp_event()
7383 ath11k_dbg(ab, ATH11K_DBG_WMI, "vdev start resp for vdev id %d", in ath11k_vdev_start_resp_event()
7387 static void ath11k_bcn_tx_status_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_bcn_tx_status_event() argument
7392 if (ath11k_pull_bcn_tx_status_ev(ab, skb, &vdev_id, &tx_status) != 0) { in ath11k_bcn_tx_status_event()
7393 ath11k_warn(ab, "failed to extract bcn tx status"); in ath11k_bcn_tx_status_event()
7397 ath11k_dbg(ab, ATH11K_DBG_WMI, "event offload bcn tx status"); in ath11k_bcn_tx_status_event()
7400 arvif = ath11k_mac_get_arvif_by_vdev_id(ab, vdev_id); in ath11k_bcn_tx_status_event()
7402 ath11k_warn(ab, "invalid vdev id %d in bcn_tx_status", in ath11k_bcn_tx_status_event()
7408 queue_work(ab->workqueue, &arvif->bcn_tx_work); in ath11k_bcn_tx_status_event()
7413 static void ath11k_wmi_event_peer_sta_ps_state_chg(struct ath11k_base *ab, in ath11k_wmi_event_peer_sta_ps_state_chg() argument
7425 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_wmi_event_peer_sta_ps_state_chg()
7428 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_wmi_event_peer_sta_ps_state_chg()
7434 ath11k_warn(ab, "failed to fetch sta ps change ev"); in ath11k_wmi_event_peer_sta_ps_state_chg()
7439 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_event_peer_sta_ps_state_chg()
7447 spin_lock_bh(&ab->base_lock); in ath11k_wmi_event_peer_sta_ps_state_chg()
7449 peer = ath11k_peer_find_by_addr(ab, ev->peer_macaddr.addr); in ath11k_wmi_event_peer_sta_ps_state_chg()
7452 spin_unlock_bh(&ab->base_lock); in ath11k_wmi_event_peer_sta_ps_state_chg()
7453 ath11k_warn(ab, "peer not found %pM\n", ev->peer_macaddr.addr); in ath11k_wmi_event_peer_sta_ps_state_chg()
7457 ar = ath11k_mac_get_ar_by_vdev_id(ab, peer->vdev_id); in ath11k_wmi_event_peer_sta_ps_state_chg()
7460 spin_unlock_bh(&ab->base_lock); in ath11k_wmi_event_peer_sta_ps_state_chg()
7461 ath11k_warn(ab, "invalid vdev id in peer sta ps state change ev %d", in ath11k_wmi_event_peer_sta_ps_state_chg()
7469 spin_unlock_bh(&ab->base_lock); in ath11k_wmi_event_peer_sta_ps_state_chg()
7472 ath11k_warn(ab, "failed to find station entry %pM\n", in ath11k_wmi_event_peer_sta_ps_state_chg()
7486 ar->ab->wmi_ab.svc_map)) { in ath11k_wmi_event_peer_sta_ps_state_chg()
7514 static void ath11k_vdev_stopped_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_vdev_stopped_event() argument
7519 if (ath11k_pull_vdev_stopped_param_tlv(ab, skb, &vdev_id) != 0) { in ath11k_vdev_stopped_event()
7520 ath11k_warn(ab, "failed to extract vdev stopped event"); in ath11k_vdev_stopped_event()
7524 ath11k_dbg(ab, ATH11K_DBG_WMI, "event vdev stopped"); in ath11k_vdev_stopped_event()
7527 ar = ath11k_mac_get_ar_by_vdev_id(ab, vdev_id); in ath11k_vdev_stopped_event()
7529 ath11k_warn(ab, "invalid vdev id in vdev stopped ev %d", in ath11k_vdev_stopped_event()
7539 ath11k_dbg(ab, ATH11K_DBG_WMI, "vdev stopped for vdev id %d", vdev_id); in ath11k_vdev_stopped_event()
7542 static void ath11k_mgmt_rx_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_mgmt_rx_event() argument
7551 if (ath11k_pull_mgmt_rx_params_tlv(ab, skb, &rx_ev) != 0) { in ath11k_mgmt_rx_event()
7552 ath11k_warn(ab, "failed to extract mgmt rx event"); in ath11k_mgmt_rx_event()
7559 ath11k_dbg(ab, ATH11K_DBG_MGMT, "event mgmt rx status %08x\n", in ath11k_mgmt_rx_event()
7563 ar = ath11k_mac_get_ar_by_pdev_id(ab, rx_ev.pdev_id); in ath11k_mgmt_rx_event()
7566 ath11k_warn(ab, "invalid pdev_id %d in mgmt_rx_event\n", in ath11k_mgmt_rx_event()
7601 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_mgmt_rx_event()
7641 ath11k_dbg(ab, ATH11K_DBG_MGMT, in ath11k_mgmt_rx_event()
7646 ath11k_dbg(ab, ATH11K_DBG_MGMT, in ath11k_mgmt_rx_event()
7657 static void ath11k_mgmt_tx_compl_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_mgmt_tx_compl_event() argument
7662 if (ath11k_pull_mgmt_tx_compl_param_tlv(ab, skb, &tx_compl_param) != 0) { in ath11k_mgmt_tx_compl_event()
7663 ath11k_warn(ab, "failed to extract mgmt tx compl event"); in ath11k_mgmt_tx_compl_event()
7668 ar = ath11k_mac_get_ar_by_pdev_id(ab, tx_compl_param.pdev_id); in ath11k_mgmt_tx_compl_event()
7670 ath11k_warn(ab, "invalid pdev id %d in mgmt_tx_compl_event\n", in ath11k_mgmt_tx_compl_event()
7677 ath11k_dbg(ab, ATH11K_DBG_MGMT, in ath11k_mgmt_tx_compl_event()
7686 static struct ath11k *ath11k_get_ar_on_scan_state(struct ath11k_base *ab, in ath11k_get_ar_on_scan_state() argument
7694 for (i = 0; i < ab->num_radios; i++) { in ath11k_get_ar_on_scan_state()
7695 pdev = rcu_dereference(ab->pdevs_active[i]); in ath11k_get_ar_on_scan_state()
7711 static void ath11k_scan_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_scan_event() argument
7716 if (ath11k_pull_scan_ev(ab, skb, &scan_ev) != 0) { in ath11k_scan_event()
7717 ath11k_warn(ab, "failed to extract scan event"); in ath11k_scan_event()
7731 ar = ath11k_get_ar_on_scan_state(ab, scan_ev.vdev_id, in ath11k_scan_event()
7734 ar = ath11k_get_ar_on_scan_state(ab, scan_ev.vdev_id, in ath11k_scan_event()
7737 ar = ath11k_mac_get_ar_by_vdev_id(ab, scan_ev.vdev_id); in ath11k_scan_event()
7741 ath11k_warn(ab, "Received scan event for unknown vdev"); in ath11k_scan_event()
7748 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_scan_event()
7769 ath11k_warn(ab, "received scan start failure event\n"); in ath11k_scan_event()
7787 static void ath11k_peer_sta_kickout_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_peer_sta_kickout_event() argument
7795 if (ath11k_pull_peer_sta_kickout_ev(ab, skb, &arg) != 0) { in ath11k_peer_sta_kickout_event()
7796 ath11k_warn(ab, "failed to extract peer sta kickout event"); in ath11k_peer_sta_kickout_event()
7802 spin_lock_bh(&ab->base_lock); in ath11k_peer_sta_kickout_event()
7804 peer = ath11k_peer_find_by_addr(ab, arg.mac_addr); in ath11k_peer_sta_kickout_event()
7807 ath11k_warn(ab, "peer not found %pM\n", in ath11k_peer_sta_kickout_event()
7809 spin_unlock_bh(&ab->base_lock); in ath11k_peer_sta_kickout_event()
7815 spin_unlock_bh(&ab->base_lock); in ath11k_peer_sta_kickout_event()
7817 ar = ath11k_mac_get_ar_by_vdev_id(ab, vdev_id); in ath11k_peer_sta_kickout_event()
7819 ath11k_warn(ab, "invalid vdev id in peer sta kickout ev %d", in ath11k_peer_sta_kickout_event()
7827 ath11k_warn(ab, "Spurious quick kickout for STA %pM\n", in ath11k_peer_sta_kickout_event()
7832 ath11k_dbg(ab, ATH11K_DBG_WMI, "event peer sta kickout %pM", in ath11k_peer_sta_kickout_event()
7841 static void ath11k_roam_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_roam_event() argument
7846 if (ath11k_pull_roam_ev(ab, skb, &roam_ev) != 0) { in ath11k_roam_event()
7847 ath11k_warn(ab, "failed to extract roam event"); in ath11k_roam_event()
7851 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_roam_event()
7856 ar = ath11k_mac_get_ar_by_vdev_id(ab, roam_ev.vdev_id); in ath11k_roam_event()
7858 ath11k_warn(ab, "invalid vdev id in roam ev %d", in ath11k_roam_event()
7865 ath11k_warn(ab, "ignoring unknown roam event reason %d on vdev %i\n", in ath11k_roam_event()
7876 ath11k_warn(ab, "ignoring not implemented roam event reason %d on vdev %i\n", in ath11k_roam_event()
7884 static void ath11k_chan_info_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_chan_info_event() argument
7891 u32 cc_freq_hz = ab->cc_freq_hz; in ath11k_chan_info_event()
7893 if (ath11k_pull_chan_info_ev(ab, skb, &ch_info_ev) != 0) { in ath11k_chan_info_event()
7894 ath11k_warn(ab, "failed to extract chan info event"); in ath11k_chan_info_event()
7898 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_chan_info_event()
7906 ath11k_dbg(ab, ATH11K_DBG_WMI, "chan info report completed\n"); in ath11k_chan_info_event()
7911 ar = ath11k_mac_get_ar_by_vdev_id(ab, ch_info_ev.vdev_id); in ath11k_chan_info_event()
7913 ath11k_warn(ab, "invalid vdev id in chan info ev %d", in ath11k_chan_info_event()
7923 ath11k_warn(ab, "received chan info event without a scan request, ignoring\n"); in ath11k_chan_info_event()
7932 ath11k_warn(ab, "chan info: invalid frequency %d (idx %d out of bounds)\n", in ath11k_chan_info_event()
7958 ath11k_pdev_bss_chan_info_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_pdev_bss_chan_info_event() argument
7963 u32 cc_freq_hz = ab->cc_freq_hz; in ath11k_pdev_bss_chan_info_event()
7967 if (ath11k_pull_pdev_bss_chan_info_ev(ab, skb, &bss_ch_info_ev) != 0) { in ath11k_pdev_bss_chan_info_event()
7968 ath11k_warn(ab, "failed to extract pdev bss chan info event"); in ath11k_pdev_bss_chan_info_event()
7987 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pdev_bss_chan_info_event()
7994 ar = ath11k_mac_get_ar_by_pdev_id(ab, bss_ch_info_ev.pdev_id); in ath11k_pdev_bss_chan_info_event()
7997 ath11k_warn(ab, "invalid pdev id %d in bss_chan_info event\n", in ath11k_pdev_bss_chan_info_event()
8006 ath11k_warn(ab, "bss chan info: invalid frequency %d (idx %d out of bounds)\n", in ath11k_pdev_bss_chan_info_event()
8030 static void ath11k_vdev_install_key_compl_event(struct ath11k_base *ab, in ath11k_vdev_install_key_compl_event() argument
8036 if (ath11k_pull_vdev_install_key_compl_ev(ab, skb, &install_key_compl) != 0) { in ath11k_vdev_install_key_compl_event()
8037 ath11k_warn(ab, "failed to extract install key compl event"); in ath11k_vdev_install_key_compl_event()
8041 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_vdev_install_key_compl_event()
8047 ar = ath11k_mac_get_ar_by_vdev_id(ab, install_key_compl.vdev_id); in ath11k_vdev_install_key_compl_event()
8049 ath11k_warn(ab, "invalid vdev id in install key compl ev %d", in ath11k_vdev_install_key_compl_event()
8058 ath11k_warn(ab, "install key failed for %pM status %d\n", in ath11k_vdev_install_key_compl_event()
8067 static int ath11k_wmi_tlv_services_parser(struct ath11k_base *ab, in ath11k_wmi_tlv_services_parser() argument
8084 set_bit(j, ab->wmi_ab.svc_map); in ath11k_wmi_tlv_services_parser()
8088 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_services_parser()
8103 set_bit(j, ab->wmi_ab.svc_map); in ath11k_wmi_tlv_services_parser()
8107 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_services_parser()
8116 static void ath11k_service_available_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_service_available_event() argument
8120 ret = ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_service_available_event()
8124 ath11k_warn(ab, "failed to parse services available tlv %d\n", ret); in ath11k_service_available_event()
8126 ath11k_dbg(ab, ATH11K_DBG_WMI, "event service available"); in ath11k_service_available_event()
8129 static void ath11k_peer_assoc_conf_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_peer_assoc_conf_event() argument
8134 if (ath11k_pull_peer_assoc_conf_ev(ab, skb, &peer_assoc_conf) != 0) { in ath11k_peer_assoc_conf_event()
8135 ath11k_warn(ab, "failed to extract peer assoc conf event"); in ath11k_peer_assoc_conf_event()
8139 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_peer_assoc_conf_event()
8144 ar = ath11k_mac_get_ar_by_vdev_id(ab, peer_assoc_conf.vdev_id); in ath11k_peer_assoc_conf_event()
8147 ath11k_warn(ab, "invalid vdev id in peer assoc conf ev %d", in ath11k_peer_assoc_conf_event()
8157 static void ath11k_update_stats_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_update_stats_event() argument
8167 ret = ath11k_wmi_pull_fw_stats(ab, skb, &stats); in ath11k_update_stats_event()
8169 ath11k_warn(ab, "failed to pull fw stats: %d\n", ret); in ath11k_update_stats_event()
8173 ath11k_dbg(ab, ATH11K_DBG_WMI, "event update stats"); in ath11k_update_stats_event()
8176 ar = ath11k_mac_get_ar_by_pdev_id(ab, stats.pdev_id); in ath11k_update_stats_event()
8179 ath11k_warn(ab, "failed to get ar for pdev_id %d: %d\n", in ath11k_update_stats_event()
8218 static void ath11k_pdev_ctl_failsafe_check_event(struct ath11k_base *ab, in ath11k_pdev_ctl_failsafe_check_event() argument
8225 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_pdev_ctl_failsafe_check_event()
8228 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_pdev_ctl_failsafe_check_event()
8234 ath11k_warn(ab, "failed to fetch pdev ctl failsafe check ev"); in ath11k_pdev_ctl_failsafe_check_event()
8239 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_pdev_ctl_failsafe_check_event()
8247 ath11k_warn(ab, "pdev ctl failsafe failure status %d", in ath11k_pdev_ctl_failsafe_check_event()
8254 ath11k_wmi_process_csa_switch_count_event(struct ath11k_base *ab, in ath11k_wmi_process_csa_switch_count_event() argument
8267 arvif = ath11k_mac_get_arvif_by_vdev_id(ab, vdev_ids[i]); in ath11k_wmi_process_csa_switch_count_event()
8270 ath11k_warn(ab, "Recvd csa status for unknown vdev %d", in ath11k_wmi_process_csa_switch_count_event()
8282 ath11k_wmi_pdev_csa_switch_count_status_event(struct ath11k_base *ab, in ath11k_wmi_pdev_csa_switch_count_status_event() argument
8290 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_wmi_pdev_csa_switch_count_status_event()
8293 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_wmi_pdev_csa_switch_count_status_event()
8301 ath11k_warn(ab, "failed to fetch pdev csa switch count ev"); in ath11k_wmi_pdev_csa_switch_count_status_event()
8306 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_csa_switch_count_status_event()
8311 ath11k_wmi_process_csa_switch_count_event(ab, ev, vdev_ids); in ath11k_wmi_pdev_csa_switch_count_status_event()
8317 ath11k_wmi_pdev_dfs_radar_detected_event(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_wmi_pdev_dfs_radar_detected_event() argument
8324 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_wmi_pdev_dfs_radar_detected_event()
8327 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_wmi_pdev_dfs_radar_detected_event()
8334 ath11k_warn(ab, "failed to fetch pdev dfs radar detected ev"); in ath11k_wmi_pdev_dfs_radar_detected_event()
8339 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_pdev_dfs_radar_detected_event()
8347 ar = ath11k_mac_get_ar_by_pdev_id(ab, ev->pdev_id); in ath11k_wmi_pdev_dfs_radar_detected_event()
8350 ath11k_warn(ab, "radar detected in invalid pdev %d\n", in ath11k_wmi_pdev_dfs_radar_detected_event()
8355 ath11k_dbg(ar->ab, ATH11K_DBG_REG, "DFS Radar Detected in pdev %d\n", in ath11k_wmi_pdev_dfs_radar_detected_event()
8359 ath11k_info(ab, "DFS Radar detected, but ignored as requested\n"); in ath11k_wmi_pdev_dfs_radar_detected_event()
8370 ath11k_wmi_pdev_temperature_event(struct ath11k_base *ab, in ath11k_wmi_pdev_temperature_event() argument
8378 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_wmi_pdev_temperature_event()
8381 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_wmi_pdev_temperature_event()
8387 ath11k_warn(ab, "failed to fetch pdev temp ev"); in ath11k_wmi_pdev_temperature_event()
8392 ath11k_dbg(ab, ATH11K_DBG_WMI, "event pdev temperature ev temp %d pdev_id %d\n", in ath11k_wmi_pdev_temperature_event()
8397 ar = ath11k_mac_get_ar_by_pdev_id(ab, ev->pdev_id); in ath11k_wmi_pdev_temperature_event()
8399 ath11k_warn(ab, "invalid pdev id in pdev temperature ev %d", ev->pdev_id); in ath11k_wmi_pdev_temperature_event()
8411 static void ath11k_fils_discovery_event(struct ath11k_base *ab, in ath11k_fils_discovery_event() argument
8418 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_fils_discovery_event()
8421 ath11k_warn(ab, in ath11k_fils_discovery_event()
8427 ath11k_dbg(ab, ATH11K_DBG_WMI, "event fils discovery"); in ath11k_fils_discovery_event()
8431 ath11k_warn(ab, "failed to fetch FILS discovery event\n"); in ath11k_fils_discovery_event()
8436 ath11k_warn(ab, in ath11k_fils_discovery_event()
8443 static void ath11k_probe_resp_tx_status_event(struct ath11k_base *ab, in ath11k_probe_resp_tx_status_event() argument
8450 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_probe_resp_tx_status_event()
8453 ath11k_warn(ab, in ath11k_probe_resp_tx_status_event()
8459 ath11k_dbg(ab, ATH11K_DBG_WMI, "event probe resp tx status"); in ath11k_probe_resp_tx_status_event()
8463 ath11k_warn(ab, in ath11k_probe_resp_tx_status_event()
8470 ath11k_warn(ab, in ath11k_probe_resp_tx_status_event()
8477 static int ath11k_wmi_tlv_wow_wakeup_host_parse(struct ath11k_base *ab, in ath11k_wmi_tlv_wow_wakeup_host_parse() argument
8488 ath11k_dbg(ab, ATH11K_DBG_WMI, "wow wakeup host reason %d %s\n", in ath11k_wmi_tlv_wow_wakeup_host_parse()
8498 ath11k_dbg(ab, ATH11K_DBG_WMI, "wow data_len = %d\n", in ath11k_wmi_tlv_wow_wakeup_host_parse()
8500 ath11k_dbg_dump(ab, ATH11K_DBG_WMI, in ath11k_wmi_tlv_wow_wakeup_host_parse()
8514 static void ath11k_wmi_event_wow_wakeup_host(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_wmi_event_wow_wakeup_host() argument
8519 ret = ath11k_wmi_tlv_iter(ab, skb->data, skb->len, in ath11k_wmi_event_wow_wakeup_host()
8523 ath11k_warn(ab, "failed to parse wmi wow tlv: %d\n", ret); in ath11k_wmi_event_wow_wakeup_host()
8527 ath11k_dbg(ab, ATH11K_DBG_WMI, "event wow wakeup host"); in ath11k_wmi_event_wow_wakeup_host()
8529 complete(&ab->wow.wakeup_completed); in ath11k_wmi_event_wow_wakeup_host()
8533 ath11k_wmi_diag_event(struct ath11k_base *ab, in ath11k_wmi_diag_event() argument
8536 ath11k_dbg(ab, ATH11K_DBG_WMI, "event diag"); in ath11k_wmi_diag_event()
8538 trace_ath11k_wmi_diag(ab, skb->data, skb->len); in ath11k_wmi_diag_event()
8569 static void ath11k_wmi_twt_add_dialog_event(struct ath11k_base *ab, in ath11k_wmi_twt_add_dialog_event() argument
8576 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_wmi_twt_add_dialog_event()
8579 ath11k_warn(ab, in ath11k_wmi_twt_add_dialog_event()
8585 ath11k_dbg(ab, ATH11K_DBG_WMI, "event twt add dialog"); in ath11k_wmi_twt_add_dialog_event()
8589 ath11k_warn(ab, "failed to fetch twt add dialog wmi event\n"); in ath11k_wmi_twt_add_dialog_event()
8594 ath11k_warn(ab, in ath11k_wmi_twt_add_dialog_event()
8603 static void ath11k_wmi_gtk_offload_status_event(struct ath11k_base *ab, in ath11k_wmi_gtk_offload_status_event() argument
8613 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_wmi_gtk_offload_status_event()
8616 ath11k_warn(ab, "failed to parse tlv: %d\n", ret); in ath11k_wmi_gtk_offload_status_event()
8622 ath11k_warn(ab, "failed to fetch gtk offload status ev"); in ath11k_wmi_gtk_offload_status_event()
8629 arvif = ath11k_mac_get_arvif_by_vdev_id(ab, ev->vdev_id); in ath11k_wmi_gtk_offload_status_event()
8631 ath11k_warn(ab, "failed to get arvif for vdev_id:%d\n", in ath11k_wmi_gtk_offload_status_event()
8636 ath11k_dbg(ab, ATH11K_DBG_WMI, "event gtk offload refresh_cnt %d\n", in ath11k_wmi_gtk_offload_status_event()
8638 ath11k_dbg_dump(ab, ATH11K_DBG_WMI, "replay_cnt", in ath11k_wmi_gtk_offload_status_event()
8656 static void ath11k_wmi_p2p_noa_event(struct ath11k_base *ab, in ath11k_wmi_p2p_noa_event() argument
8666 tb = ath11k_wmi_tlv_parse_alloc(ab, skb, GFP_ATOMIC); in ath11k_wmi_p2p_noa_event()
8668 ath11k_warn(ab, "failed to parse tlv: %ld\n", PTR_ERR(tb)); in ath11k_wmi_p2p_noa_event()
8683 ath11k_warn(ab, "invalid descriptor num %d in P2P NoA event\n", in ath11k_wmi_p2p_noa_event()
8688 ath11k_dbg(ab, ATH11K_DBG_WMI, in ath11k_wmi_p2p_noa_event()
8693 ar = ath11k_mac_get_ar_by_vdev_id(ab, vdev_id); in ath11k_wmi_p2p_noa_event()
8695 ath11k_warn(ab, "invalid vdev id %d in P2P NoA event\n", in ath11k_wmi_p2p_noa_event()
8708 static void ath11k_wmi_tlv_op_rx(struct ath11k_base *ab, struct sk_buff *skb) in ath11k_wmi_tlv_op_rx() argument
8716 trace_ath11k_wmi_event(ab, id, skb->data, skb->len); in ath11k_wmi_tlv_op_rx()
8724 ath11k_service_ready_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8727 ath11k_service_ready_ext_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8730 ath11k_service_ready_ext2_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8733 ath11k_reg_chan_list_event(ab, skb, WMI_REG_CHAN_LIST_CC_ID); in ath11k_wmi_tlv_op_rx()
8736 ath11k_reg_chan_list_event(ab, skb, WMI_REG_CHAN_LIST_CC_EXT_ID); in ath11k_wmi_tlv_op_rx()
8739 ath11k_ready_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8742 ath11k_peer_delete_resp_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8745 ath11k_vdev_start_resp_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8748 ath11k_bcn_tx_status_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8751 ath11k_vdev_stopped_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8754 ath11k_mgmt_rx_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8758 ath11k_mgmt_tx_compl_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8761 ath11k_scan_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8764 ath11k_peer_sta_kickout_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8767 ath11k_roam_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8770 ath11k_chan_info_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8773 ath11k_pdev_bss_chan_info_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8776 ath11k_vdev_install_key_compl_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8779 ath11k_service_available_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8782 ath11k_peer_assoc_conf_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8785 ath11k_update_stats_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8788 ath11k_pdev_ctl_failsafe_check_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8791 ath11k_wmi_pdev_csa_switch_count_status_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8794 ath11k_tm_wmi_event(ab, id, skb); in ath11k_wmi_tlv_op_rx()
8797 ath11k_wmi_pdev_temperature_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8800 ath11k_wmi_pdev_dma_ring_buf_release_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8803 ath11k_fils_discovery_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8806 ath11k_probe_resp_tx_status_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8809 ath11k_wmi_obss_color_collision_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8812 ath11k_wmi_twt_add_dialog_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8815 ath11k_wmi_pdev_dfs_radar_detected_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8818 ath11k_vdev_delete_resp_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8821 ath11k_wmi_event_wow_wakeup_host(ab, skb); in ath11k_wmi_tlv_op_rx()
8824 ath11k_reg_11d_new_cc_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8827 ath11k_wmi_diag_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8830 ath11k_wmi_event_peer_sta_ps_state_chg(ab, skb); in ath11k_wmi_tlv_op_rx()
8833 ath11k_wmi_gtk_offload_status_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8836 ath11k_wmi_p2p_noa_event(ab, skb); in ath11k_wmi_tlv_op_rx()
8839 ath11k_dbg(ab, ATH11K_DBG_WMI, "unsupported event id 0x%x\n", id); in ath11k_wmi_tlv_op_rx()
8847 static int ath11k_connect_pdev_htc_service(struct ath11k_base *ab, in ath11k_connect_pdev_htc_service() argument
8869 status = ath11k_htc_connect_service(&ab->htc, &conn_req, &conn_resp); in ath11k_connect_pdev_htc_service()
8871 ath11k_warn(ab, "failed to connect to WMI CONTROL service status: %d\n", in ath11k_connect_pdev_htc_service()
8876 ab->wmi_ab.wmi_endpoint_id[pdev_idx] = conn_resp.eid; in ath11k_connect_pdev_htc_service()
8877 ab->wmi_ab.wmi[pdev_idx].eid = conn_resp.eid; in ath11k_connect_pdev_htc_service()
8878 ab->wmi_ab.max_msg_len[pdev_idx] = conn_resp.max_msg_len; in ath11k_connect_pdev_htc_service()
8879 init_waitqueue_head(&ab->wmi_ab.wmi[pdev_idx].tx_ce_desc_wq); in ath11k_connect_pdev_htc_service()
8930 ath11k_warn(ar->ab, "failed to send WMI_UNIT_TEST CMD :%d\n", in ath11k_wmi_send_unit_test_cmd()
8935 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_send_unit_test_cmd()
8973 ath11k_dbg(ar->ab, ATH11K_DBG_REG, "Triggering Radar Simulation\n"); in ath11k_wmi_simulate_radar()
9024 ath11k_warn(ar->ab, in ath11k_wmi_fw_dbglog_cfg()
9029 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "cmd dbglog cfg"); in ath11k_wmi_fw_dbglog_cfg()
9034 int ath11k_wmi_connect(struct ath11k_base *ab) in ath11k_wmi_connect() argument
9039 wmi_ep_count = ab->htc.wmi_ep_count; in ath11k_wmi_connect()
9040 if (wmi_ep_count > ab->hw_params.max_radios) in ath11k_wmi_connect()
9044 ath11k_connect_pdev_htc_service(ab, i); in ath11k_wmi_connect()
9049 static void ath11k_wmi_pdev_detach(struct ath11k_base *ab, u8 pdev_id) in ath11k_wmi_pdev_detach() argument
9057 int ath11k_wmi_pdev_attach(struct ath11k_base *ab, in ath11k_wmi_pdev_attach() argument
9062 if (pdev_id >= ab->hw_params.max_radios) in ath11k_wmi_pdev_attach()
9065 wmi_handle = &ab->wmi_ab.wmi[pdev_id]; in ath11k_wmi_pdev_attach()
9067 wmi_handle->wmi_ab = &ab->wmi_ab; in ath11k_wmi_pdev_attach()
9069 ab->wmi_ab.ab = ab; in ath11k_wmi_pdev_attach()
9075 int ath11k_wmi_attach(struct ath11k_base *ab) in ath11k_wmi_attach() argument
9079 ret = ath11k_wmi_pdev_attach(ab, 0); in ath11k_wmi_attach()
9083 ab->wmi_ab.ab = ab; in ath11k_wmi_attach()
9084 ab->wmi_ab.preferred_hw_mode = WMI_HOST_HW_MODE_MAX; in ath11k_wmi_attach()
9087 if (ab->hw_params.single_pdev_only && ab->hw_params.num_rxdma_per_pdev > 1) in ath11k_wmi_attach()
9088 ab->wmi_ab.preferred_hw_mode = WMI_HOST_HW_MODE_SINGLE; in ath11k_wmi_attach()
9091 init_completion(&ab->wmi_ab.service_ready); in ath11k_wmi_attach()
9092 init_completion(&ab->wmi_ab.unified_ready); in ath11k_wmi_attach()
9097 void ath11k_wmi_detach(struct ath11k_base *ab) in ath11k_wmi_detach() argument
9103 for (i = 0; i < ab->htc.wmi_ep_count; i++) in ath11k_wmi_detach()
9104 ath11k_wmi_pdev_detach(ab, i); in ath11k_wmi_detach()
9106 ath11k_wmi_free_dbring_caps(ab); in ath11k_wmi_detach()
9135 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_hw_data_filter_cmd()
9158 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "tlv wow host wakeup ind\n"); in ath11k_wmi_wow_host_wakeup_ind()
9180 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "tlv wow enable\n"); in ath11k_wmi_wow_enable()
9207 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "scan prob req oui %d\n", in ath11k_wmi_scan_prob_req_oui()
9234 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "tlv wow add wakeup event %s enable %d vdev_id %d\n", in ath11k_wmi_wow_add_wakeup_event()
9339 …ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "tlv wow add pattern vdev_id %d pattern_id %d pattern_offset %d… in ath11k_wmi_wow_add_pattern()
9365 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "tlv wow del pattern vdev_id %d pattern_id %d\n", in ath11k_wmi_wow_del_pattern()
9478 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "tlv start pno config vdev_id %d\n", in ath11k_wmi_op_gen_config_pno_start()
9503 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_op_gen_config_pno_stop()
9580 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_fill_ns_offload()
9619 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "arp offload address %pI4", in ath11k_wmi_fill_arp_offload()
9717 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "offload gtk rekey vdev: %d %d\n", in ath11k_wmi_gtk_rekey_offload()
9741 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, "get gtk rekey vdev_id: %d\n", in ath11k_wmi_gtk_rekey_getinfo()
9851 ath11k_dbg(ar->ab, ATH11K_DBG_WMI, in ath11k_wmi_sta_keepalive()
9861 ar->ab->wmi_ab.svc_map) && ar->supports_6ghz; in ath11k_wmi_supports_6ghz_cc_ext()