Lines Matching refs:ab

587 		ath11k_warn(ar->ab, "No VIF found for vdev %d\n", vdev_id);
594 struct ath11k_vif *ath11k_mac_get_arvif_by_vdev_id(struct ath11k_base *ab,
601 for (i = 0; i < ab->num_radios; i++) {
602 pdev = rcu_dereference(ab->pdevs_active[i]);
614 struct ath11k *ath11k_mac_get_ar_by_vdev_id(struct ath11k_base *ab, u32 vdev_id)
619 for (i = 0; i < ab->num_radios; i++) {
620 pdev = rcu_dereference(ab->pdevs_active[i]);
630 struct ath11k *ath11k_mac_get_ar_by_pdev_id(struct ath11k_base *ab, u32 pdev_id)
635 if (ab->hw_params.single_pdev_only) {
636 pdev = rcu_dereference(ab->pdevs_active[0]);
640 if (WARN_ON(pdev_id > ab->num_radios))
643 for (i = 0; i < ab->num_radios; i++) {
644 if (ab->fw_mode == ATH11K_FIRMWARE_MODE_FTM)
645 pdev = &ab->pdevs[i];
647 pdev = rcu_dereference(ab->pdevs_active[i]);
656 struct ath11k_vif *ath11k_mac_get_vif_up(struct ath11k_base *ab)
663 for (i = 0; i < ab->num_radios; i++) {
664 pdev = &ab->pdevs[i];
685 struct ath11k_base *ab = ar->ab;
689 u8 pdev_id = ab->target_pdev_ids[0].pdev_id;
697 for (i = 0; i < ab->target_pdev_count; i++) {
698 if (ath11k_mac_band_match(band, ab->target_pdev_ids[i].supported_bands))
699 return ab->target_pdev_ids[i].pdev_id;
709 arvif = ath11k_mac_get_vif_up(ar->ab);
714 return ar->ab->target_pdev_ids[0].pdev_id;
719 struct ath11k_base *ab = ar->ab;
721 ar->max_tx_power = ab->target_caps.hw_max_tx_power;
723 /* FIXME Set min_tx_power to ab->target_caps.hw_min_tx_power.
761 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "txpower to set in hw %d\n",
787 ath11k_warn(ar->ab, "failed to recalc txpower limit %d using pdev param %d: %d\n",
819 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev %d recalc rts/cts prot %d\n",
825 ath11k_warn(ar->ab, "failed to recalculate rts/cts prot for vdev %d: %d\n",
841 ath11k_warn(ar->ab, "failed to set kickout threshold on vdev %i: %d\n",
850 ath11k_warn(ar->ab, "failed to set keepalive minimum idle time on vdev %i: %d\n",
859 ath11k_warn(ar->ab, "failed to set keepalive maximum idle time on vdev %i: %d\n",
868 ath11k_warn(ar->ab, "failed to set keepalive maximum unresponsive time on vdev %i: %d\n",
879 struct ath11k_base *ab = ar->ab;
883 mutex_lock(&ab->tbl_mtx_lock);
884 spin_lock_bh(&ab->base_lock);
885 list_for_each_entry_safe(peer, tmp, &ab->peers, list) {
887 ath11k_peer_rhash_delete(ab, peer);
891 spin_unlock_bh(&ab->base_lock);
892 mutex_unlock(&ab->tbl_mtx_lock);
902 if (test_bit(ATH11K_FLAG_CRASH_FLUSH, &ar->ab->dev_flags))
956 ath11k_warn(ar->ab, "failed to request monitor vdev %i start: %d\n",
963 ath11k_warn(ar->ab, "failed to synchronize setup for monitor vdev %i start: %d\n",
970 ath11k_warn(ar->ab, "failed to put up monitor vdev %i: %d\n",
975 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "monitor vdev %i started\n",
985 ath11k_warn(ar->ab, "failed to stop monitor vdev %i after start failure: %d\n",
992 ath11k_warn(ar->ab, "failed to synchronize setup for vdev %i stop: %d\n",
1010 ath11k_warn(ar->ab, "failed to request monitor vdev %i stop: %d\n",
1017 ath11k_warn(ar->ab, "failed to synchronize monitor vdev %i stop: %d\n",
1024 ath11k_warn(ar->ab, "failed to put down monitor vdev %i: %d\n",
1029 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "monitor vdev %i stopped\n",
1048 if (ar->ab->free_vdev_map == 0) {
1049 ath11k_warn(ar->ab, "failed to find free vdev id for monitor vdev\n");
1053 bit = __ffs64(ar->ab->free_vdev_map);
1073 ath11k_warn(ar->ab, "failed to request monitor vdev %i creation: %d\n",
1083 ath11k_warn(ar->ab, "failed to set vdev %d chainmask 0x%x, nss %d :%d\n",
1090 ath11k_warn(ar->ab, "failed to recalc txpower for monitor vdev %d: %d\n",
1096 ar->ab->free_vdev_map &= ~(1LL << ar->monitor_vdev_id);
1100 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "monitor vdev %d created\n",
1125 ath11k_warn(ar->ab, "failed to request wmi monitor vdev %i removal: %d\n",
1133 ath11k_warn(ar->ab, "Timeout in receiving vdev delete response\n");
1135 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "monitor vdev %d deleted\n",
1139 ar->ab->free_vdev_map |= 1LL << (ar->monitor_vdev_id);
1166 ath11k_warn(ar->ab, "failed to start monitor vdev: %d\n", ret);
1176 ath11k_warn(ar->ab, "failed to configure htt monitor mode ring during start: %d",
1181 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "monitor started\n");
1197 ath11k_warn(ar->ab, "failed to stop monitor vdev: %d\n", ret);
1206 ath11k_warn(ar->ab, "failed to configure htt monitor mode ring during stop: %d",
1211 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "monitor stopped ret %d\n", ret);
1247 ath11k_warn(ar->ab, "failed to set inactivity time for vdev %d: %i\n",
1255 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev %d psmode %s\n",
1260 ath11k_warn(ar->ab, "failed to set sta power save mode %d for vdev %d: %d\n",
1278 ath11k_warn(ar->ab, "failed to setup powersave: %d\n", ret);
1304 ath11k_warn(ar->ab, "failed to create monitor vdev: %d",
1311 ath11k_warn(ar->ab, "failed to start monitor: %d",
1324 ath11k_warn(ar->ab, "failed to stop monitor: %d",
1331 ath11k_warn(ar->ab, "failed to delete monitor vdev: %d",
1444 ath11k_warn(ar->ab, "failed to submit P2P GO bcn ie for vdev %i: %d\n",
1484 struct ath11k_base *ab = arvif->ar->ab;
1510 ath11k_warn(ab, "failed to setup P2P GO bcn ie: %d\n",
1524 ath11k_warn(ab, "failed to remove P2P vendor ie: %d\n",
1546 ath11k_warn(arvif->ar->ab,
1573 ath11k_warn(tx_arvif->ar->ab,
1591 struct ath11k_base *ab = ar->ab;
1603 ab = ar->ab;
1611 ath11k_warn(ab, "failed to get beacon template from mac80211\n");
1626 ath11k_warn(ab, "failed to submit beacon template command: %d\n",
1685 ath11k_warn(ar->ab, "failed to down vdev_id %i: %d\n",
1695 ath11k_warn(ar->ab, "failed to update bcn tmpl during vdev up: %d\n",
1715 ath11k_warn(ar->ab, "failed to bring up vdev %d: %i\n",
1722 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev %d up\n", arvif->vdev_id);
1861 ath11k_dbg(ar->ab, ATH11K_DBG_WMI,
1867 ath11k_dbg(ar->ab, ATH11K_DBG_WMI,
2045 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "ht peer %pM mcs cnt %d nss %d\n",
2122 ath11k_warn(ar->ab, "WMI_NSS_RATIO_3BY4_NSS not supported\n");
2128 ath11k_warn(ar->ab, "WMI_NSS_RATIO_2_NSS not supported\n");
2131 ath11k_warn(ar->ab, "invalid nss ratio received from firmware: %d\n",
2209 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "setting vht range mcs value to peer supported nss %d for peer %pM\n",
2253 ath11k_warn(ar->ab, "invalid max_nss\n");
2265 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
2495 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "setting he range mcs value to peer supported nss %d for peer %pM\n",
2563 ath11k_warn(ar->ab, "invalid max_nss\n");
2575 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
2696 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "peer %pM qos %d\n",
2713 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "uapsd_queues 0x%x max_sp %d\n",
2762 ath11k_warn(ar->ab, "failed to set ap ps peer param %d for vdev %i: %d\n",
2899 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "peer %pM phymode %s\n",
2995 ath11k_warn(ar->ab, "failed to set vdev %d HE MU mode: %d\n",
3007 ath11k_warn(ar->ab, "failed to set vdev %d sounding mode: %d\n",
3067 ath11k_warn(ar->ab, "failed to submit vdev param txbf 0x%x: %d\n",
3090 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev %i assoc bssid %pM aid %d\n",
3097 ath11k_warn(ar->ab, "failed to find station entry for bss %pM vdev %i\n",
3111 ath11k_warn(ar->ab, "failed to recalc he txbf for vdev %i on bss %pM\n",
3120 ath11k_warn(ar->ab, "failed to run peer assoc for %pM vdev %i: %d\n",
3126 ath11k_warn(ar->ab, "failed to get peer assoc conf event for %pM vdev %i\n",
3135 ath11k_warn(ar->ab, "failed to setup peer SMPS for vdev %d: %d\n",
3148 ath11k_warn(ar->ab, "failed to set vdev %d up: %d\n",
3156 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3160 spin_lock_bh(&ar->ab->base_lock);
3162 peer = ath11k_peer_find(ar->ab, arvif->vdev_id, arvif->bssid);
3166 spin_unlock_bh(&ar->ab->base_lock);
3174 ath11k_warn(ar->ab, "Unable to authorize BSS peer: %d\n", ret);
3180 ath11k_warn(ar->ab, "failed to set vdev %i OBSS PD parameters: %d\n",
3187 ath11k_warn(ar->ab, "failed to set vdev %d dtim policy: %d\n",
3190 ath11k_mac_11d_scan_stop_all(ar->ab);
3202 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev %i disassoc bssid %pM\n",
3207 ath11k_warn(ar->ab, "failed to down vdev %i: %d\n",
3262 ath11k_warn(ar->ab, "bitrate not supported %d\n", bitrate);
3270 ath11k_warn(ar->ab, "failed to set mgmt tx rate %d\n", ret);
3281 ath11k_warn(ar->ab, "failed to set beacon tx rate %d\n", ret);
3314 ath11k_warn(ar->ab,
3344 ath11k_warn(ar->ab,
3350 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3376 ar->ab->wmi_ab.svc_map)) {
3389 ath11k_warn(ar->ab,
3400 ath11k_warn(ar->ab,
3412 ath11k_warn(ar->ab, "failed to set sr_prohibit for pdev: %u\n",
3418 ar->ab->wmi_ab.svc_map))
3425 ath11k_warn(ar->ab,
3435 ath11k_warn(ar->ab,
3446 ath11k_warn(ar->ab,
3455 ath11k_warn(ar->ab,
3464 ath11k_warn(ar->ab,
3473 ath11k_warn(ar->ab,
3487 test_bit(WMI_TLV_SERVICE_EXT_TPC_REG_SUPPORT, ar->ab->wmi_ab.svc_map) &&
3524 ath11k_warn(ar->ab, "Failed to set beacon interval for VDEV: %d\n",
3527 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3538 ath11k_warn(ar->ab, "Failed to set beacon mode for VDEV: %d\n",
3541 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3548 ath11k_warn(ar->ab, "failed to update bcn template: %d\n",
3562 ath11k_warn(ar->ab,
3566 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3581 ath11k_warn(ar->ab, "Failed to set dtim period for VDEV %d: %i\n",
3584 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3612 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3617 ath11k_warn(ar->ab, "Failed to set he oper params %x for VDEV %d: %i\n",
3632 ath11k_warn(ar->ab, "Failed to set CTS prot for VDEV: %d\n",
3635 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "Set CTS prot: %d for VDEV: %d\n",
3638 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "defer protection mode setup, vdev is not ready yet\n");
3655 ath11k_warn(ar->ab, "Failed to set erp slot for VDEV: %d\n",
3658 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3675 ath11k_warn(ar->ab, "Failed to set preamble for VDEV: %d\n",
3678 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3691 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev_id %i txpower %d\n",
3698 ar->ab->hw_params.supports_sta_ps) {
3703 ath11k_warn(ar->ab, "failed to setup ps on vdev %i: %d\n",
3730 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3738 ath11k_warn(ar->ab,
3746 ath11k_warn(ar->ab,
3777 ath11k_warn(ar->ab, "failed to set bss color collision on vdev %i: %d\n",
3791 ath11k_warn(ar->ab,
3795 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
3803 ath11k_warn(ar->ab, "failed to enable bss color change on vdev %i: %d\n",
3809 ath11k_warn(ar->ab, "failed to set bss color collision on vdev %i: %d\n",
3816 test_bit(WMI_TLV_SERVICE_RTT, ar->ab->wmi_ab.svc_map) &&
3824 ath11k_warn(ar->ab, "Failed to set ftm responder %i: %d\n",
3840 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "arp_addr_cnt %d vif->addr %pM, offload_addr %pI4\n",
3903 ath11k_warn(ar->ab, "failed to stop wmi scan: %d\n", ret);
3909 ath11k_warn(ar->ab,
3948 ath11k_warn(ar->ab, "refusing scan abortion due to invalid scan state: %d\n",
3957 ath11k_warn(ar->ab, "failed to abort scan: %d\n", ret);
3991 if (test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ar->ab->wmi_ab.svc_map)) {
4002 ath11k_warn(ar->ab, "failed to stop scan: %d\n", ret);
4042 ar->ab->wmi_ab.svc_map))
4079 if (ar->ab->hw_params.single_pdev_only)
4114 ar->ab->wmi_ab.svc_map)) {
4165 ath11k_warn(ar->ab, "failed to start hw scan: %d\n", ret);
4221 if (test_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED, &ar->ab->dev_flags))
4249 ath11k_warn(ar->ab, "cipher %d is not supported\n", key->cipher);
4253 if (test_bit(ATH11K_FLAG_RAW_MODE, &ar->ab->dev_flags))
4273 struct ath11k_base *ab = ar->ab;
4282 spin_lock_bh(&ab->base_lock);
4283 peer = ath11k_peer_find(ab, arvif->vdev_id, addr);
4284 spin_unlock_bh(&ab->base_lock);
4300 ath11k_warn(ab, "failed to remove peer key %d: %d\n",
4303 spin_lock_bh(&ab->base_lock);
4305 spin_unlock_bh(&ab->base_lock);
4316 struct ath11k_base *ab = ar->ab;
4331 if (test_bit(ATH11K_FLAG_HW_CRYPTO_DISABLED, &ar->ab->dev_flags))
4351 spin_lock_bh(&ab->base_lock);
4352 peer = ath11k_peer_find(ab, arvif->vdev_id, peer_addr);
4359 spin_unlock_bh(&ab->base_lock);
4363 ath11k_warn(ab, "cannot install key for non-existent peer %pM\n",
4382 ath11k_warn(ab, "ath11k_install_key failed (%d)\n", ret);
4388 ath11k_warn(ab, "failed to offload PN replay detection %d\n", ret);
4392 spin_lock_bh(&ab->base_lock);
4393 peer = ath11k_peer_find(ab, arvif->vdev_id, peer_addr);
4411 ath11k_warn(ab, "peer %pM disappeared!\n", peer_addr);
4433 spin_unlock_bh(&ab->base_lock);
4505 ath11k_warn(ar->ab, "No single VHT Fixed rate found to set for %pM",
4514 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
4525 ath11k_warn(ar->ab,
4555 ath11k_warn(ar->ab, "No single he fixed rate found to set for %pM",
4564 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
4576 ath11k_warn(ar->ab,
4604 ath11k_warn(ar->ab, "No single HT Fixed rate found to set for %pM",
4613 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
4624 ath11k_warn(ar->ab,
4657 ath11k_warn(ar->ab, "failed to run peer assoc for STA %pM vdev %i: %d\n",
4663 ath11k_warn(ar->ab, "failed to get peer assoc conf event for %pM vdev %i\n",
4704 ath11k_warn(ar->ab, "failed to setup peer SMPS for vdev %d: %d\n",
4719 ath11k_warn(ar->ab, "failed to set qos params for STA %pM for vdev %i: %d\n",
4746 ath11k_warn(ar->ab, "failed to clear all peer keys for vdev %i: %d\n",
4813 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "update sta %pM peer bw %d phymode %d\n",
4820 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "BW upgrade for sta %pM new BW %d, old BW %d\n",
4827 ath11k_warn(ar->ab, "failed to update STA %pM peer phymode %d: %d\n",
4836 ath11k_warn(ar->ab, "failed to update STA %pM peer bw %d: %d\n",
4842 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "BW downgrade for sta %pM new BW %d,old BW %d\n",
4849 ath11k_warn(ar->ab, "failed to update STA %pM peer bw %d: %d\n",
4858 ath11k_warn(ar->ab, "failed to update STA %pM peer phymode %d: %d\n",
4864 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "update sta %pM nss %d\n",
4870 ath11k_warn(ar->ab, "failed to update STA %pM nss %d: %d\n",
4875 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "update sta %pM smps %d\n",
4881 ath11k_warn(ar->ab, "failed to update STA %pM smps %d: %d\n",
4926 ath11k_warn(ar->ab,
4936 ath11k_warn(ar->ab, "failed to run peer assoc for STA %pM vdev %i: %d\n",
4940 ath11k_warn(ar->ab, "failed to get peer assoc conf event for %pM vdev %i\n",
4962 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
4970 ath11k_warn(ar->ab, "failed to set peer %pM 4addr capability: %d\n",
5024 ath11k_warn(ar->ab, "Invalid bandwidth %d for %pM\n",
5058 ath11k_warn(ar->ab, "failed to set tx power for station ret: %d\n",
5092 spin_lock_bh(&ar->ab->base_lock);
5094 peer = ath11k_peer_find(ar->ab, arvif->vdev_id, sta->addr);
5096 spin_unlock_bh(&ar->ab->base_lock);
5097 ath11k_warn(ar->ab, "mac sta rc update failed to find peer %pM on vdev %i\n",
5102 spin_unlock_bh(&ar->ab->base_lock);
5104 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
5136 ath11k_warn(ar->ab, "Invalid smps %d in sta rc update for %pM\n",
5190 ath11k_warn(ar->ab, "could not set uapsd params %d\n", ret);
5203 ath11k_warn(ar->ab, "could not set rx wake param %d\n", ret);
5249 ath11k_warn(ar->ab, "failed to set wmm params: %d\n", ret);
5256 ath11k_warn(ar->ab, "failed to set sta uapsd: %d\n", ret);
5497 (ar->ab->hw_params.single_pdev_only ||
5820 ath11k_warn(ar->ab, "failed to set tx-chainmask: %d, req 0x%x\n",
5830 ath11k_warn(ar->ab, "failed to set rx-chainmask: %d, req 0x%x\n",
5871 dma_unmap_single(ar->ab->dev, ATH11K_SKB_CB(msdu)->paddr, msdu->len,
5904 struct ath11k_base *ab = ar->ab;
5918 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
5934 paddr = dma_map_single(ab->dev, skb->data, skb->len, DMA_TO_DEVICE);
5935 if (dma_mapping_error(ab->dev, paddr)) {
5936 ath11k_warn(ab, "failed to DMA map mgmt Tx buffer\n");
5945 ath11k_warn(ar->ab, "failed to send mgmt frame: %d\n", ret);
5952 dma_unmap_single(ab->dev, ATH11K_SKB_CB(skb)->paddr,
5981 ath11k_warn(ar->ab, "no vif found for mgmt frame\n");
5991 ath11k_warn(ar->ab, "failed to tx mgmt frame, vdev_id %d :%d\n",
5995 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
6000 ath11k_warn(ar->ab,
6015 if (test_bit(ATH11K_FLAG_CRASH_FLUSH, &ar->ab->dev_flags))
6025 ath11k_warn(ar->ab,
6031 ath11k_warn(ar->ab, "mgmt tx queue is full\n");
6037 queue_work(ar->ab->workqueue_aux, &ar->wmi_mgmt_tx_work);
6072 ath11k_warn(ar->ab, "failed to queue management frame %d\n",
6084 ath11k_warn(ar->ab, "failed to transmit frame %d\n", ret);
6101 struct ath11k_base *ab = ar->ab;
6111 for (i = 0; i < ab->hw_params.num_rxmda_per_pdev; i++) {
6113 ret = ath11k_dp_tx_htt_rx_filter_setup(ar->ab, ring_id,
6120 if (enable && !ar->ab->hw_params.rxdma1_enable)
6121 mod_timer(&ar->ab->mon_reap_timer, jiffies +
6127 static void ath11k_mac_wait_reconfigure(struct ath11k_base *ab)
6131 if (!ab->is_reset)
6134 recovery_start_count = atomic_inc_return(&ab->recovery_start_count);
6135 ath11k_dbg(ab, ATH11K_DBG_MAC, "recovery start count %d\n", recovery_start_count);
6137 if (recovery_start_count == ab->num_radios) {
6138 complete(&ab->recovery_start);
6139 ath11k_dbg(ab, ATH11K_DBG_MAC, "recovery started success\n");
6142 ath11k_dbg(ab, ATH11K_DBG_MAC, "waiting reconfigure...\n");
6144 wait_for_completion_timeout(&ab->reconfigure_complete,
6151 struct ath11k_base *ab = ar->ab;
6156 ath11k_warn(ab, "mac operations not supported in factory test mode\n");
6169 ath11k_mac_wait_reconfigure(ab);
6184 ath11k_err(ar->ab, "failed to enable PMF QOS: (%d\n", ret);
6191 ath11k_err(ar->ab, "failed to enable dynamic bw: %d\n", ret);
6198 ath11k_err(ab, "failed to set prob req oui: %i\n", ret);
6206 ath11k_err(ab, "failed to set ac override for ARP: %d\n",
6213 ath11k_err(ab, "failed to offload radar detection: %d\n",
6221 ath11k_err(ab, "failed to req ppdu stats: %d\n", ret);
6229 ath11k_err(ar->ab, "failed to enable MESH MCAST ENABLE: (%d\n", ret);
6249 ath11k_err(ab, "failed to configure monitor status ring with default rx_filter: (%d)\n",
6258 if (ab->hw_params.idle_ps) {
6262 ath11k_err(ab, "failed to enable idle ps: %d\n", ret);
6269 rcu_assign_pointer(ab->pdevs_active[ar->pdev_idx],
6270 &ab->pdevs[ar->pdev_idx]);
6292 ath11k_err(ar->ab, "failed to clear rx_filter for monitor status ring: (%d)\n",
6301 cancel_work_sync(&ar->ab->update_11d_work);
6315 rcu_assign_pointer(ar->ab->pdevs_active[ar->pdev_idx], NULL);
6371 ar->ab->wmi_ab.svc_map)) {
6399 struct ath11k_base *ab = ar->ab;
6413 else if (test_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags))
6421 ath11k_warn(ab, "failed to set vdev %d tx encap mode: %d\n",
6429 else if (test_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags))
6437 ath11k_warn(ab, "failed to set vdev %d rx decap mode: %d\n",
6443 static bool ath11k_mac_vif_ap_active_any(struct ath11k_base *ab)
6450 for (i = 0; i < ab->num_radios; i++) {
6451 pdev = &ab->pdevs[i];
6466 mutex_lock(&ar->ab->vdev_id_11d_lock);
6468 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev id for 11d scan %d\n",
6477 if (!test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ar->ab->wmi_ab.svc_map))
6480 if (ath11k_mac_vif_ap_active_any(ar->ab))
6487 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "start 11d scan\n");
6491 ath11k_warn(ar->ab, "failed to start 11d scan vdev %d ret: %d\n",
6505 mutex_unlock(&ar->ab->vdev_id_11d_lock);
6513 if (!test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ar->ab->wmi_ab.svc_map))
6516 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "stop 11d scan\n");
6518 mutex_lock(&ar->ab->vdev_id_11d_lock);
6520 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "stop 11d vdev id %d\n",
6533 ath11k_warn(ar->ab,
6542 mutex_unlock(&ar->ab->vdev_id_11d_lock);
6545 void ath11k_mac_11d_scan_stop_all(struct ath11k_base *ab)
6551 ath11k_dbg(ab, ATH11K_DBG_MAC, "stop soc 11d scan\n");
6553 for (i = 0; i < ab->num_radios; i++) {
6554 pdev = &ab->pdevs[i];
6573 ath11k_warn(ar->ab, "failed to delete WMI vdev %d: %d\n",
6581 ath11k_warn(ar->ab, "Timeout in receiving vdev delete response\n");
6585 ar->ab->free_vdev_map |= 1LL << (arvif->vdev_id);
6589 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev %pM deleted, vdev_id %d\n",
6599 struct ath11k_base *ab = ar->ab;
6615 ath11k_warn(ab, "failed to create vdev due to insufficient peer entry resource in firmware\n");
6620 if (ar->num_created_vdevs > (TARGET_NUM_VDEVS(ab) - 1)) {
6621 ath11k_warn(ab, "failed to create vdev %u, reached max vdev limit %d\n",
6622 ar->num_created_vdevs, TARGET_NUM_VDEVS(ab));
6647 bit = __ffs64(ab->free_vdev_map);
6681 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "add interface id %d type %d subtype %d map %llx\n",
6683 ab->free_vdev_map);
6691 ath11k_warn(ab, "failed to create vdev parameters %d: %d\n",
6698 ath11k_warn(ab, "failed to create WMI vdev %d: %d\n",
6704 ath11k_dbg(ab, ATH11K_DBG_MAC, "vdev %pM created, vdev_id %d\n",
6707 ab->free_vdev_map &= ~(1LL << arvif->vdev_id);
6719 ath11k_warn(ab, "failed to set vdev %d chainmask 0x%x, nss %d :%d\n",
6731 ath11k_warn(ab, "failed to vdev %d create peer for AP: %d\n",
6738 ath11k_warn(ar->ab, "failed to set vdev %i kickout parameters: %d\n",
6743 ath11k_mac_11d_scan_stop_all(ar->ab);
6751 ath11k_warn(ar->ab, "failed to set vdev %d RX wake policy: %d\n",
6761 ath11k_warn(ar->ab, "failed to set vdev %d TX wake threshold: %d\n",
6771 ath11k_warn(ar->ab, "failed to set vdev %d pspoll count: %d\n",
6779 ath11k_warn(ar->ab, "failed to disable vdev %d ps mode: %d\n",
6784 if (test_bit(WMI_TLV_SERVICE_11D_OFFLOAD, ab->wmi_ab.svc_map)) {
6806 ath11k_warn(ar->ab, "failed to set rts threshold for vdev %d: %d\n",
6816 ath11k_warn(ar->ab, "failed to create monitor vdev during add interface: %d",
6823 reg_info = &ab->reg_info_store[ar->pdev_idx];
6824 ath11k_dbg(ab, ATH11K_DBG_MAC, "interface added to change reg rules\n");
6825 ath11k_reg_handle_chan_list(ab, reg_info, IEEE80211_REG_LPI_AP);
6836 ath11k_warn(ar->ab, "fallback fail to delete peer addr %pM vdev_id %d ret %d\n",
6870 struct ath11k_base *ab = ar->ab;
6878 ath11k_dbg(ab, ATH11K_DBG_MAC, "remove interface (vdev %d)\n",
6883 ath11k_warn(ab, "failed to stop spectral for vdev %i: %d\n",
6892 ath11k_warn(ab, "failed to submit AP self-peer removal on vdev %d: %d\n",
6898 ath11k_warn(ab, "failed to delete vdev %d: %d\n",
6911 ath11k_warn(ar->ab, "failed to delete vdev monitor during remove interface: %d",
6925 for (i = 0; i < ab->hw_params.max_tx_ring; i++) {
6926 spin_lock_bh(&ab->dp.tx_ring[i].tx_idr_lock);
6927 idr_for_each(&ab->dp.tx_ring[i].txbuf_idr,
6929 spin_unlock_bh(&ab->dp.tx_ring[i].tx_idr_lock);
7028 struct ath11k_base *ab = ar->ab;
7030 ath11k_dbg(ab, ATH11K_DBG_MAC,
7052 struct ath11k_base *ab = ar->ab;
7054 ath11k_dbg(ab, ATH11K_DBG_MAC,
7076 struct ath11k_base *ab = ar->ab;
7107 ar->ab->wmi_ab.svc_map)) {
7128 spin_lock_bh(&ab->base_lock);
7129 arg.regdomain = ar->ab->dfs_region;
7130 spin_unlock_bh(&ab->base_lock);
7135 ath11k_dbg(ab, ATH11K_DBG_MAC,
7142 ath11k_warn(ar->ab, "failed to %s WMI vdev %i\n",
7149 ath11k_warn(ab, "failed to synchronize setup for vdev %i %s: %d\n",
7166 ath11k_dbg(ab, ATH11K_DBG_MAC, "vdev %pM started, vdev_id %d\n",
7180 ath11k_dbg(ab, ATH11K_DBG_MAC,
7188 ath11k_warn(ab, "failed to set txbf conf for vdev %d: %d\n",
7205 ath11k_warn(ar->ab, "failed to stop WMI vdev %i: %d\n",
7212 ath11k_warn(ar->ab, "failed to synchronize setup for vdev %i: %d\n",
7220 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "vdev %pM stopped, vdev_id %d\n",
7225 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "CAC Stopped for vdev %d\n",
7290 struct ath11k_base *ab = ar->ab;
7321 ath11k_warn(ab, "failed to restart vdev %d: %d\n",
7328 ath11k_warn(ab, "failed to stop vdev %d: %d\n",
7335 ath11k_warn(ab, "failed to start vdev %d: %d\n",
7343 ath11k_warn(ab, "failed to update bcn tmpl during csa: %d\n",
7356 ath11k_warn(ab, "failed to bring vdev up %d: %d\n",
7367 ath11k_warn(ar->ab, "failed to stop monitor during vif channel update: %d",
7374 ath11k_warn(ar->ab, "failed to start monitor during vif channel update: %d",
7415 struct ath11k_base *ab = ar->ab;
7419 ath11k_dbg(ab, ATH11K_DBG_MAC,
7443 struct ath11k_base *ab = ar->ab;
7452 ath11k_warn(ab, "failed to start vdev %i addr %pM on freq %d: %d\n",
7466 ath11k_warn(ar->ab, "failed to set mgmt tx rate %d\n", ret);
7475 ath11k_warn(ab, "failed put monitor up: %d\n", ret);
7490 struct ath11k_base *ab = ar->ab;
7499 ath11k_warn(ab, "failed to stop vdev %i: %d\n",
7684 struct ath11k_base *ab = ar->ab;
7812 ath11k_dbg(ab, ATH11K_DBG_MAC,
7823 if (ar->max_allowed_tx_power && ab->hw_params.idle_ps)
7836 if (ar->max_allowed_tx_power && ab->hw_params.idle_ps)
7858 struct ath11k_base *ab = ar->ab;
7869 reg_info = &ab->reg_info_store[ar->pdev_idx];
7890 ath11k_warn(ab,
7944 ath11k_dbg(ab, ATH11K_DBG_MAC,
7960 ath11k_dbg(ab, ATH11K_DBG_MAC,
7972 ath11k_dbg(ab, ATH11K_DBG_MAC,
7988 struct ath11k_base *ab = ar->ab;
7996 ath11k_dbg(ab, ATH11K_DBG_MAC,
8003 reg_info = &ab->reg_info_store[ar->pdev_idx];
8006 ath11k_dbg(ab, ATH11K_DBG_MAC, "chanctx power type %d\n", power_type);
8013 ath11k_reg_handle_chan_list(ab, reg_info, power_type);
8019 if (ab->hw_params.vdev_start_delay &&
8022 !ath11k_peer_find_by_vdev_id(ab, arvif->vdev_id)) {
8036 ath11k_warn(ar->ab, "failed to start monitor during vif channel context assignment: %d",
8048 ath11k_warn(ab, "failed to start vdev %i addr %pM on freq %d: %d\n",
8061 ath11k_warn(ar->ab, "failed to start monitor during vif channel context assignment: %d",
8084 struct ath11k_base *ab = ar->ab;
8091 ath11k_dbg(ab, ATH11K_DBG_MAC,
8095 if (ab->hw_params.vdev_start_delay &&
8097 spin_lock_bh(&ab->base_lock);
8098 peer = ath11k_peer_find_by_addr(ab, ar->mac_addr);
8099 spin_unlock_bh(&ab->base_lock);
8107 ath11k_warn(ar->ab, "failed to stop monitor during vif channel context unassignment: %d",
8121 ath11k_warn(ab, "failed to stop vdev %i: %d\n",
8127 if (ab->hw_params.vdev_start_delay &&
8137 ath11k_warn(ar->ab, "failed to stop monitor during vif channel context unassignment: %d",
8157 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
8175 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "setting mac vdev %d param %d value %d\n",
8181 ath11k_warn(ar->ab, "failed to set param %d for vdev %d: %d\n",
8225 ath11k_warn(ar->ab, "failed to flush transmit queue, data pkts pending %d\n",
8234 ath11k_warn(ar->ab, "failed to flush mgmt transmit queue, mgmt pkts pending %d\n",
8411 ath11k_warn(ar->ab, "failed to set he gi %d: %d\n",
8422 ath11k_warn(ar->ab, "failed to set he ltf %d: %d\n",
8449 ath11k_warn(ar->ab, "invalid he gi: %d\n", he_gi);
8466 ath11k_warn(ar->ab, "invalid he ltf: %d\n", he_ltf);
8476 ath11k_warn(ar->ab,
8495 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
8505 ath11k_warn(ar->ab, "failed to set fixed rate param 0x%02x: %d\n",
8515 ath11k_warn(ar->ab, "failed to set nss param %d: %d\n",
8524 ath11k_warn(ar->ab, "failed to set ldpc param %d: %d\n",
8534 ath11k_warn(ar->ab, "failed to set fixed rate gi ltf: %d\n",
8542 ath11k_warn(ar->ab, "failed to set auto rate gi ltf: %d\n",
8552 ath11k_warn(ar->ab, "failed to set sgi param %d: %d\n",
8637 ath11k_warn(ar->ab,
8669 spin_lock_bh(&ar->ab->base_lock);
8670 list_for_each_entry(peer, &ar->ab->peers, list) {
8689 spin_unlock_bh(&ar->ab->base_lock);
8747 ath11k_warn(ar->ab, "failed to get single legacy rate for vdev %i: %d\n",
8768 ath11k_warn(ar->ab,
8801 ath11k_warn(ar->ab,
8814 ath11k_warn(ar->ab,
8837 ath11k_warn(ar->ab, "failed to set rate params on vdev %i: %d\n",
8851 struct ath11k_base *ab = ar->ab;
8861 ath11k_warn(ar->ab, "pdev %d successfully recovered\n",
8866 if (ar->ab->hw_params.current_cc_support &&
8874 if (ab->is_reset) {
8875 recovery_count = atomic_inc_return(&ab->recovery_count);
8876 ath11k_dbg(ab, ATH11K_DBG_BOOT,
8881 if (recovery_count == ab->num_radios) {
8882 atomic_dec(&ab->reset_count);
8883 complete(&ab->reset_complete);
8884 ab->is_reset = false;
8885 atomic_set(&ab->fail_cont_count, 0);
8886 ath11k_dbg(ab, ATH11K_DBG_BOOT, "reset success\n");
8889 if (ar->ab->hw_params.support_fw_mac_sequence) {
8909 if (!test_bit(WMI_TLV_SERVICE_BSS_CHANNEL_INFO_64, ar->ab->wmi_ab.svc_map) ||
8914 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
8923 ath11k_warn(ar->ab, "failed to send pdev bss chan info request\n");
8929 ath11k_warn(ar->ab, "bss channel survey timed out\n");
8998 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
9021 ar->ab->wmi_ab.svc_map);
9048 ar->ab->hw_params.supports_rssi_stats &&
9057 ar->ab->hw_params.supports_rssi_stats &&
9062 ath11k_dbg(ar->ab, ATH11K_DBG_MAC,
9093 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "NS solicited addr %pI6\n",
9110 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "op ipv6 changed\n");
9136 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "count %d ipv6 uc %pI6 scope %d\n",
9141 ath11k_warn(ar->ab, "Unsupported ipv6 scope: %d\n", scope);
9157 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "count %d ipv6 ac %pI6 scope %d\n",
9162 ath11k_warn(ar->ab, "Unsupported ipv scope: %d\n", scope);
9183 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "set rekey data vdev %d\n",
9198 ath11k_dbg_dump(ar->ab, ATH11K_DBG_MAC, "kck", NULL,
9200 ath11k_dbg_dump(ar->ab, ATH11K_DBG_MAC, "kek", NULL,
9202 ath11k_dbg_dump(ar->ab, ATH11K_DBG_MAC, "replay ctr", NULL,
9223 if (!test_bit(WMI_TLV_SERVICE_BIOS_SAR_SUPPORT, ar->ab->wmi_ab.svc_map) ||
9224 !ar->ab->hw_params.bios_sar_capa) {
9231 ath11k_warn(ar->ab, "failed to set geo table: %d\n", ret);
9244 ath11k_warn(ar->ab, "Ignore bad frequency index %u, max allowed %u\n",
9253 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "sar tbl[%d] = %d\n",
9260 ath11k_warn(ar->ab, "failed to set sar power: %d", ret);
9352 if (!ar->ab->hw_params.single_pdev_only)
9357 ath11k_warn(ar->ab, "failed to start roc scan: %d\n", ret);
9367 ath11k_warn(ar->ab, "failed to switch to channel for roc scan\n");
9370 ath11k_warn(ar->ab, "failed to stop scan: %d\n", ret);
9392 struct ath11k_base *ab = ar->ab;
9407 ath11k_warn(ab, "could not request fw stats (%d)\n",
9426 struct ath11k_base *ab = ar->ab;
9455 ath11k_warn(ab, "failed to request fw pdev stats: %d\n", ret);
9473 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "txpower from firmware %d, reported %d dBm\n",
9481 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "txpower from firmware NaN, reported %d dBm\n",
9490 struct ath11k_base *ab = ar->ab;
9500 ath11k_warn(ab, "refusing to associate station: too many connected already (%d)\n",
9517 ath11k_warn(ab, "Failed to add peer: %pM for VDEV: %d\n",
9522 ath11k_dbg(ab, ATH11K_DBG_MAC, "Added peer: %pM for VDEV: %d\n",
9534 ath11k_dbg(ab, ATH11K_DBG_MAC,
9540 ath11k_warn(ab, "failed to set mesh STA %pM 4addr capability: %d\n",
9548 ath11k_warn(ab, "failed to setup dp for peer %pM on vdev %i (%d)\n",
9553 if (ab->hw_params.vdev_start_delay &&
9558 ath11k_warn(ab, "failed to delay vdev start: %d\n", ret);
9584 struct ath11k_base *ab = ar->ab;
9589 if (ab->hw_params.vdev_start_delay &&
9594 ath11k_warn(ab, "failed to do early vdev stop: %d\n", ret);
9603 ath11k_warn(ab, "Failed to delete peer: %pM for VDEV: %d\n",
9606 ath11k_dbg(ab, ATH11K_DBG_MAC, "Removed peer: %pM for VDEV: %d\n",
9651 ath11k_warn(ar->ab, "Failed to add station: %pM for VDEV: %d\n",
9657 ath11k_warn(ar->ab, "Failed to remove station: %pM for VDEV: %d\n",
9660 mutex_lock(&ar->ab->tbl_mtx_lock);
9661 spin_lock_bh(&ar->ab->base_lock);
9662 peer = ath11k_peer_find(ar->ab, arvif->vdev_id, sta->addr);
9664 ath11k_warn(ar->ab, "Found peer entry %pM n vdev %i after it was supposedly removed\n",
9666 ath11k_peer_rhash_delete(ar->ab, peer);
9672 spin_unlock_bh(&ar->ab->base_lock);
9673 mutex_unlock(&ar->ab->tbl_mtx_lock);
9681 ath11k_warn(ar->ab, "Failed to associate station: %pM\n",
9691 spin_lock_bh(&ar->ab->base_lock);
9693 peer = ath11k_peer_find(ar->ab, arvif->vdev_id, sta->addr);
9697 spin_unlock_bh(&ar->ab->base_lock);
9705 ath11k_warn(ar->ab, "Unable to authorize peer %pM vdev %d: %d\n",
9710 spin_lock_bh(&ar->ab->base_lock);
9712 peer = ath11k_peer_find(ar->ab, arvif->vdev_id, sta->addr);
9716 spin_unlock_bh(&ar->ab->base_lock);
9724 ath11k_warn(ar->ab, "Failed to disassociate station: %pM\n",
9818 ath11k_warn(ar->ab, "unsupported phy cap:%d\n", band);
9836 reg_cap = &ar->ab->hal_reg_cap[ar->pdev_idx];
9854 if (ar->ab->hw_params.single_pdev_only) {
9856 temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
9881 if (ar->ab->hw_params.single_pdev_only) {
9883 temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
9909 if (ar->ab->hw_params.single_pdev_only) {
9911 temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
9929 if (!ar->ab->hw_params.support_dual_stations)
9932 n_addresses = ar->ab->hw_params.num_vdevs;
9952 struct ath11k_base *ab = ar->ab;
9958 p2p = ab->hw_params.interface_modes & BIT(NL80211_IFTYPE_P2P_DEVICE);
9978 ab->hw_params.interface_modes & BIT(NL80211_IFTYPE_MESH_POINT))
9986 if (ab->hw_params.support_dual_stations) {
9990 combinations[0].max_interfaces = ab->hw_params.num_vdevs;
10081 void ath11k_mac_unregister(struct ath11k_base *ab)
10087 for (i = 0; i < ab->num_radios; i++) {
10088 pdev = &ab->pdevs[i];
10096 ath11k_peer_rhash_tbl_destroy(ab);
10101 struct ath11k_base *ab = ar->ab;
10122 SET_IEEE80211_DEV(ar->hw, ab->dev);
10135 ath11k_err(ar->ab, "failed to setup interface combinations: %d\n", ret);
10142 ar->hw->wiphy->interface_modes = ab->hw_params.interface_modes;
10144 if (ab->hw_params.single_pdev_only && ar->supports_6ghz)
10147 if (ab->hw_params.supports_multi_bssid) {
10192 (ar->supports_6ghz && ab->hw_params.supports_dynamic_smps_6ghz))
10208 ar->max_num_stations = TARGET_NUM_STATIONS(ab);
10209 ar->max_num_peers = TARGET_NUM_PEERS_PDEV(ab);
10232 ath11k_warn(ar->ab, "failed to init wow: %d\n", ret);
10237 ar->ab->wmi_ab.svc_map))
10252 ar->ab->wmi_ab.svc_map)) {
10275 if (test_bit(WMI_TLV_SERVICE_RTT, ar->ab->wmi_ab.svc_map))
10279 ar->hw->wiphy->mbssid_max_interfaces = TARGET_NUM_VDEVS(ab);
10284 if (!test_bit(ATH11K_FLAG_RAW_MODE, &ab->dev_flags)) {
10290 if (test_bit(WMI_TLV_SERVICE_BIOS_SAR_SUPPORT, ar->ab->wmi_ab.svc_map) &&
10291 ab->hw_params.bios_sar_capa)
10292 ar->hw->wiphy->sar_capa = ab->hw_params.bios_sar_capa;
10296 ath11k_err(ar->ab, "ieee80211 registration failed: %d\n", ret);
10300 if (!ab->hw_params.supports_monitor)
10311 ath11k_err(ar->ab, "ath11k regd update failed: %d\n", ret);
10315 if (ab->hw_params.current_cc_support && ab->new_alpha2[0]) {
10318 memcpy(&set_current_param.alpha2, ab->new_alpha2, 2);
10319 memcpy(&ar->alpha2, ab->new_alpha2, 2);
10322 ath11k_warn(ar->ab,
10328 ath11k_err(ar->ab, "debugfs registration failed: %d\n", ret);
10351 int ath11k_mac_register(struct ath11k_base *ab)
10359 if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags))
10363 ab->cc_freq_hz = IPQ8074_CC_FREQ_HERTZ;
10364 ab->free_vdev_map = (1LL << (ab->num_radios * TARGET_NUM_VDEVS(ab))) - 1;
10366 ret = ath11k_peer_rhash_tbl_init(ab);
10370 device_get_mac_address(ab->dev, mac_addr);
10372 for (i = 0; i < ab->num_radios; i++) {
10373 pdev = &ab->pdevs[i];
10375 if (ab->pdevs_macaddr_valid) {
10379 ether_addr_copy(ar->mac_addr, ab->mac_addr);
10399 pdev = &ab->pdevs[i];
10404 ath11k_peer_rhash_tbl_destroy(ab);
10409 int ath11k_mac_allocate(struct ath11k_base *ab)
10417 if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags))
10420 for (i = 0; i < ab->num_radios; i++) {
10421 pdev = &ab->pdevs[i];
10424 ath11k_warn(ab, "failed to allocate mac80211 hw device\n");
10431 ar->ab = ab;
10434 ar->lmac_id = ath11k_hw_get_mac_from_pdev_id(&ab->hw_params, i);
10436 ar->wmi = &ab->wmi_ab.wmi[i];
10440 ath11k_wmi_pdev_attach(ab, i);
10482 ath11k_mac_destroy(ab);
10487 void ath11k_mac_destroy(struct ath11k_base *ab)
10493 for (i = 0; i < ab->num_radios; i++) {
10494 pdev = &ab->pdevs[i];
10518 if (!test_bit(WMI_TLV_SERVICE_STA_KEEP_ALIVE, ar->ab->wmi_ab.svc_map))
10528 ath11k_warn(ar->ab, "failed to set keepalive on vdev %i: %d\n",