Lines Matching refs:mvm

75 void iwl_mvm_rx_rx_phy_cmd(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)  in iwl_mvm_rx_rx_phy_cmd()  argument
79 memcpy(&mvm->last_phy_info, pkt->data, sizeof(mvm->last_phy_info)); in iwl_mvm_rx_rx_phy_cmd()
80 mvm->ampdu_ref++; in iwl_mvm_rx_rx_phy_cmd()
83 if (mvm->last_phy_info.phy_flags & cpu_to_le16(RX_RES_PHY_FLAGS_AGG)) { in iwl_mvm_rx_rx_phy_cmd()
84 spin_lock(&mvm->drv_stats_lock); in iwl_mvm_rx_rx_phy_cmd()
85 mvm->drv_rx_stats.ampdu_count++; in iwl_mvm_rx_rx_phy_cmd()
86 spin_unlock(&mvm->drv_stats_lock); in iwl_mvm_rx_rx_phy_cmd()
96 static void iwl_mvm_pass_packet_to_mac80211(struct iwl_mvm *mvm, in iwl_mvm_pass_packet_to_mac80211() argument
131 ieee80211_rx_napi(mvm->hw, skb, napi); in iwl_mvm_pass_packet_to_mac80211()
140 static void iwl_mvm_get_signal_strength(struct iwl_mvm *mvm, in iwl_mvm_get_signal_strength() argument
161 IWL_DEBUG_STATS(mvm, "energy In A %d B %d C %d , and max %d\n", in iwl_mvm_get_signal_strength()
182 static u32 iwl_mvm_set_mac80211_rx_flag(struct iwl_mvm *mvm, in iwl_mvm_set_mac80211_rx_flag() argument
232 IWL_ERR(mvm, "Unhandled alg: 0x%x\n", rx_pkt_status); in iwl_mvm_set_mac80211_rx_flag()
256 void iwl_mvm_rx_rx_mpdu(struct iwl_mvm *mvm, struct napi_struct *napi, in iwl_mvm_rx_rx_mpdu() argument
272 phy_info = &mvm->last_phy_info; in iwl_mvm_rx_rx_mpdu()
284 IWL_ERR(mvm, "alloc_skb failed\n"); in iwl_mvm_rx_rx_mpdu()
293 if (iwl_mvm_set_mac80211_rx_flag(mvm, hdr, rx_status, rx_pkt_status, in iwl_mvm_rx_rx_mpdu()
295 IWL_DEBUG_DROP(mvm, "Bad decryption results 0x%08x\n", in iwl_mvm_rx_rx_mpdu()
307 IWL_DEBUG_RX(mvm, "Bad CRC or FIFO: 0x%08X.\n", rx_pkt_status); in iwl_mvm_rx_rx_mpdu()
329 iwl_mvm_get_signal_strength(mvm, phy_info, rx_status); in iwl_mvm_rx_rx_mpdu()
331 IWL_DEBUG_STATS_LIMIT(mvm, "Rssi %d, TSF %llu\n", rx_status->signal, in iwl_mvm_rx_rx_mpdu()
339 if (unlikely(mvm->csa_tx_block_bcn_timeout)) { in iwl_mvm_rx_rx_mpdu()
341 rcu_dereference(mvm->csa_tx_blocked_vif), hdr->addr2); in iwl_mvm_rx_rx_mpdu()
343 iwl_mvm_sta_modify_disable_tx_ap(mvm, sta, false); in iwl_mvm_rx_rx_mpdu()
347 sta = ieee80211_find_sta_by_ifaddr(mvm->hw, hdr->addr2, NULL); in iwl_mvm_rx_rx_mpdu()
351 rs_update_last_rssi(mvm, &mvmsta->lq_sta, rx_status); in iwl_mvm_rx_rx_mpdu()
353 if (iwl_fw_dbg_trigger_enabled(mvm->fw, FW_DBG_TRIGGER_RSSI) && in iwl_mvm_rx_rx_mpdu()
360 trig = iwl_fw_dbg_get_trigger(mvm->fw, in iwl_mvm_rx_rx_mpdu()
366 iwl_fw_dbg_trigger_check_stop(mvm, mvmsta->vif, in iwl_mvm_rx_rx_mpdu()
369 iwl_mvm_fw_dbg_collect_trig(mvm, trig, NULL); in iwl_mvm_rx_rx_mpdu()
389 rx_status->ampdu_reference = mvm->ampdu_ref; in iwl_mvm_rx_rx_mpdu()
436 iwl_mvm_update_frame_stats(mvm, rate_n_flags, in iwl_mvm_rx_rx_mpdu()
439 iwl_mvm_pass_packet_to_mac80211(mvm, napi, skb, hdr, len, ampdu_status, in iwl_mvm_rx_rx_mpdu()
443 static void iwl_mvm_update_rx_statistics(struct iwl_mvm *mvm, in iwl_mvm_update_rx_statistics() argument
446 lockdep_assert_held(&mvm->mutex); in iwl_mvm_update_rx_statistics()
448 mvm->rx_stats = *rx_stats; in iwl_mvm_update_rx_statistics()
452 struct iwl_mvm *mvm; member
462 struct iwl_mvm *mvm = data->mvm; in iwl_mvm_stat_iterator() local
488 IWL_DEBUG_RX(mvm, "RSSI is 0 - skip signal based decision\n"); in iwl_mvm_stat_iterator()
502 IWL_DEBUG_RX(mvm, "cqm_iterator bt coex high %d\n", in iwl_mvm_stat_iterator()
504 iwl_mvm_bt_rssi_event(mvm, vif, RSSI_EVENT_HIGH); in iwl_mvm_stat_iterator()
509 IWL_DEBUG_RX(mvm, "cqm_iterator bt coex low %d\n", in iwl_mvm_stat_iterator()
511 iwl_mvm_bt_rssi_event(mvm, vif, RSSI_EVENT_LOW); in iwl_mvm_stat_iterator()
523 IWL_DEBUG_RX(mvm, "cqm_iterator cqm low %d\n", in iwl_mvm_stat_iterator()
532 IWL_DEBUG_RX(mvm, "cqm_iterator cqm high %d\n", in iwl_mvm_stat_iterator()
542 iwl_mvm_rx_stats_check_trigger(struct iwl_mvm *mvm, struct iwl_rx_packet *pkt) in iwl_mvm_rx_stats_check_trigger() argument
548 if (!iwl_fw_dbg_trigger_enabled(mvm->fw, FW_DBG_TRIGGER_STATS)) in iwl_mvm_rx_stats_check_trigger()
551 trig = iwl_fw_dbg_get_trigger(mvm->fw, FW_DBG_TRIGGER_STATS); in iwl_mvm_rx_stats_check_trigger()
554 if (!iwl_fw_dbg_trigger_check_stop(mvm, NULL, trig)) in iwl_mvm_rx_stats_check_trigger()
566 iwl_mvm_fw_dbg_collect_trig(mvm, trig, NULL); in iwl_mvm_rx_stats_check_trigger()
569 void iwl_mvm_handle_rx_statistics(struct iwl_mvm *mvm, in iwl_mvm_handle_rx_statistics() argument
574 .mvm = mvm, in iwl_mvm_handle_rx_statistics()
586 iwl_mvm_update_rx_statistics(mvm, &stats->rx); in iwl_mvm_handle_rx_statistics()
588 mvm->radio_stats.rx_time = le64_to_cpu(stats->general.rx_time); in iwl_mvm_handle_rx_statistics()
589 mvm->radio_stats.tx_time = le64_to_cpu(stats->general.tx_time); in iwl_mvm_handle_rx_statistics()
590 mvm->radio_stats.on_time_rf = in iwl_mvm_handle_rx_statistics()
592 mvm->radio_stats.on_time_scan = in iwl_mvm_handle_rx_statistics()
597 iwl_mvm_rx_stats_check_trigger(mvm, pkt); in iwl_mvm_handle_rx_statistics()
599 ieee80211_iterate_active_interfaces(mvm->hw, in iwl_mvm_handle_rx_statistics()
605 IWL_ERR(mvm, "received invalid statistics size (%d)!\n", in iwl_mvm_handle_rx_statistics()
609 void iwl_mvm_rx_statistics(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb) in iwl_mvm_rx_statistics() argument
611 iwl_mvm_handle_rx_statistics(mvm, rxb_addr(rxb)); in iwl_mvm_rx_statistics()